コード例 #1
0
        protected void ConfigureApiKey(Database.DocumentDatabase database, string Name, string Secret, string resourceName = null, bool isAdmin = false)
        {
            var allowedResources = new List <ResourceAccess>
            {
                new ResourceAccess {
                    TenantId = resourceName, Admin = isAdmin
                }
            };

            if (isAdmin)
            {
                allowedResources.Add(new ResourceAccess {
                    TenantId = Constants.SystemDatabase, Admin = true
                });
            }

            var apiKeyDefinition = RavenJObject.FromObject(new ApiKeyDefinition
            {
                Name      = Name,
                Secret    = Secret,
                Enabled   = true,
                Databases = allowedResources
            });

            database.Documents.Put("Raven/ApiKeys/" + Name, null, apiKeyDefinition, new RavenJObject(), null);
        }
コード例 #2
0
        protected override void ConfigureDatabase(Database.DocumentDatabase database)
        {
            var isApiDatabase = _databaseCounter % 2 == 0;

            if (isApiDatabase)
            {
                database.Put(
                    "Raven/ApiKeys/" + apiKey.Split('/')[0],
                    null,
                    RavenJObject.FromObject(
                        new ApiKeyDefinition
                {
                    Name      = apiKey.Split('/')[0],
                    Secret    = apiKey.Split('/')[1],
                    Enabled   = true,
                    Databases =
                        new List <DatabaseAccess>
                    {
                        new DatabaseAccess {
                            TenantId = "*"
                        },
                        new DatabaseAccess {
                            TenantId = Constants.SystemDatabase
                        },
                    }
                }),
                    new RavenJObject(),
                    null);
            }
            else
            {
                database.Put("Raven/Authorization/WindowsSettings", null,
                             RavenJObject.FromObject(new WindowsAuthDocument
                {
                    RequiredUsers = new List <WindowsAuthData>
                    {
                        new WindowsAuthData()
                        {
                            Name      = username,
                            Enabled   = true,
                            Databases = new List <DatabaseAccess>
                            {
                                new DatabaseAccess {
                                    TenantId = "*"
                                },
                                new DatabaseAccess {
                                    TenantId = Constants.SystemDatabase
                                },
                            }
                        }
                    }
                }), new RavenJObject(), null);
            }

            _databaseCounter++;
        }
コード例 #3
0
        protected override void ConfigureDatabase(Database.DocumentDatabase database, string databaseName = null)
		{
			var apiKey = apiKeys[databaseCounter++];
			database.Documents.Put("Raven/ApiKeys/" + apiKey.Split('/')[0], null, RavenJObject.FromObject(new ApiKeyDefinition
			{
				Name = apiKey.Split('/')[0],
				Secret = apiKey.Split('/')[1],
				Enabled = true,
				Databases = new List<DatabaseAccess>
				{
					new DatabaseAccess {TenantId = "*"},
					new DatabaseAccess {TenantId = Constants.SystemDatabase},
                    new DatabaseAccess {TenantId = databaseName}
				}
			}), new RavenJObject(), null);
		}
コード例 #4
0
 protected override void ConfigureDatabase(Database.DocumentDatabase database)
 {
     database.Put("Raven/ApiKeys/test", null, RavenJObject.FromObject(new ApiKeyDefinition
     {
         Name      = "test",
         Secret    = "ThisIsMySecret",
         Enabled   = true,
         Databases = new List <DatabaseAccess>
         {
             new DatabaseAccess {
                 TenantId = "*"
             },
             new DatabaseAccess {
                 TenantId = Constants.SystemDatabase
             },
         }
     }), new RavenJObject(), null);
 }
コード例 #5
0
 public void Execute(Database.DocumentDatabase database)
 {
     try
     {
         services = Services.GetServices(database);
         services.IsShutDownInProgress = false;
         db = database;
         this.db.PutIndex(UpdateCascadeOperation.ByStatusIndexName, UpdateCascadeOperation.GetByStatusIndexDefinition());
         Task.Factory.StartNew(services.RunningOperationsCoordinator.RestartNotCompletedOperations).ContinueWith(t =>
         {
             if (t.Status == TaskStatus.Faulted && t.Exception != null)
             {
                 log.ErrorException("Failed to restart not completed operations", t.Exception);
             }
         });
     }
     catch (Exception ex)
     {
         log.FatalException("Failed to execute UpdateCascadeStartupTask", ex);
     }
 }
コード例 #6
0
ファイル: RavenDB-3974.cs プロジェクト: xinix00/ravendb
        protected override void ConfigureDatabase(Database.DocumentDatabase database, string databaseName = null)
        {
            database.Documents.Put("Raven/ApiKeys/ReadWrite", null, RavenJObject.FromObject(new ApiKeyDefinition
            {
                Name      = "ReadWrite",
                Secret    = "JKaPAMUsASEifLuZNDeFXuUj5jy",
                Enabled   = true,
                Databases = new List <ResourceAccess>
                {
                    new ResourceAccess {
                        TenantId = "*"
                    },
                    new ResourceAccess {
                        TenantId = Constants.SystemDatabase
                    },
                    new ResourceAccess {
                        TenantId = databaseName, Admin = true
                    }
                }
            }), new RavenJObject(), null);

            database.Documents.Put("Raven/ApiKeys/OnlyReadOnly", null, RavenJObject.FromObject(new ApiKeyDefinition
            {
                Name      = "OnlyReadOnly",
                Secret    = "JKaPAMUsASEifLuZNDeFXuUj5jy",
                Enabled   = true,
                Databases = new List <ResourceAccess>
                {
                    new ResourceAccess {
                        TenantId = Constants.SystemDatabase, Admin = false, ReadOnly = true
                    },
                    new ResourceAccess {
                        TenantId = databaseName, Admin = false, ReadOnly = true
                    }
                }
            }), new RavenJObject(), null);
        }
コード例 #7
0
 public void StartBackupOperation(Database.DocumentDatabase database, string backupDestinationDirectory)
 {
     throw new NotImplementedException();
 }