Example #1
0
        public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            if (!(step is ContentDefinitionDeploymentStep contentDefinitionStep))
            {
                return;
            }

            var contentTypeDefinitionRecord = await _contentDefinitionStore.LoadContentDefinitionAsync();

            var contentTypes = contentDefinitionStep.IncludeAll
                ? contentTypeDefinitionRecord.ContentTypeDefinitionRecords
                : contentTypeDefinitionRecord.ContentTypeDefinitionRecords
                               .Where(x => contentDefinitionStep.ContentTypes.Contains(x.Name));

            var contentParts = contentDefinitionStep.IncludeAll
                ? contentTypeDefinitionRecord.ContentPartDefinitionRecords
                : contentTypeDefinitionRecord.ContentPartDefinitionRecords
                               .Where(x => contentDefinitionStep.ContentParts.Contains(x.Name));

            result.Steps.Add(new JObject(
                                 new JProperty("name", "ContentDefinition"),
                                 new JProperty("ContentTypes", JArray.FromObject(contentTypes)),
                                 new JProperty("ContentParts", JArray.FromObject(contentParts))
                                 ));

            return;
        }
Example #2
0
        public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            var allRolesState = step as AllRolesDeploymentStep;

            if (allRolesState == null)
            {
                return;
            }

            // Get all roles
            var allRoleNames = await _roleService.GetRoleNamesAsync();

            var permissions = new JArray();
            var tasks       = new List <Task>();

            foreach (var roleName in allRoleNames)
            {
                var role = (Role)await _roleManager.FindByNameAsync(_roleManager.NormalizeKey(roleName));

                if (role != null)
                {
                    permissions.Add(JObject.FromObject(
                                        new RolesStepRoleModel
                    {
                        Name        = role.NormalizedRoleName,
                        Permissions = role.RoleClaims.Where(x => x.ClaimType == Permission.ClaimType).Select(x => x.ClaimValue).ToArray()
                    }));
                }
            }

            result.Steps.Add(new JObject(
                                 new JProperty("name", "Roles"),
                                 new JProperty("Roles", permissions)
                                 ));
        }
Example #3
0
        public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            var settingsStep = step as SiteSettingsPropertyDeploymentStep <TModel>;

            if (settingsStep == null)
            {
                return;
            }

            var siteSettings = await _siteService.GetSiteSettingsAsync();

            var settingJProperty = new JProperty(typeof(TModel).Name, JObject.FromObject(siteSettings.As <TModel>()));

            var settingsStepJObject = result.Steps.FirstOrDefault(s => s["name"]?.ToString() == "Settings");

            if (settingsStepJObject != null)
            {
                settingsStepJObject.Add(settingJProperty);
            }
            else
            {
                result.Steps.Add(new JObject(
                                     new JProperty("name", "Settings"),
                                     new JProperty(settingJProperty)
                                     ));
            }
        }
        public async Task ProcessDeploymentStepAsync(DeploymentStep deploymentStep, DeploymentPlanResult result)
        {
            if (!(deploymentStep is DeploymentPlanDeploymentStep deploymentPlanStep))
            {
                return;
            }

            if (!await _deploymentPlanService.DoesUserHavePermissionsAsync())
            {
                return;
            }

            var deploymentPlans = deploymentPlanStep.IncludeAll
                ? (await _deploymentPlanService.GetAllDeploymentPlansAsync()).ToArray()
                : (await _deploymentPlanService.GetDeploymentPlansAsync(deploymentPlanStep.DeploymentPlanNames)).ToArray();

            var plans = (from plan in deploymentPlans
                         select new
            {
                plan.Name,
                Steps = (from step in plan.DeploymentSteps
                         select new
                {
                    Type = step.GetType().Name,
                    Step = step
                }).ToArray()
            }).ToArray();

            // Adding deployment plans
            result.Steps.Add(new JObject(
                                 new JProperty("name", "deployment"),
                                 new JProperty("Plans", JArray.FromObject(plans))
                                 ));
        }
Example #5
0
        public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            var adminMenuStep = step as AdminMenuDeploymentStep;

            if (adminMenuStep == null)
            {
                return;
            }

            var data = new JArray();

            result.Steps.Add(new JObject(
                                 new JProperty("name", "AdminMenu"),
                                 new JProperty("data", data)
                                 ));

            // For each AdminNode, store info about its concrete type: linkAdminNode, contentTypesAdminNode etc...
            var serializer = new JsonSerializer()
            {
                TypeNameHandling = TypeNameHandling.Auto
            };

            foreach (var adminMenu in (await _adminMenuService.GetAdminMenuListAsync()).AdminMenu)
            {
                var objectData = JObject.FromObject(adminMenu, serializer);
                data.Add(objectData);
            }

            return;
        }
        public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            var allContentStep = step as AllWorkflowTypeDeploymentStep;

            if (allContentStep == null)
            {
                return;
            }

            var data = new JArray();

            result.Steps.Add(new JObject(
                                 new JProperty("name", "WorkflowType"),
                                 new JProperty("data", data)
                                 ));

            foreach (var workflow in await _workflowTypeStore.ListAsync())
            {
                var objectData = JObject.FromObject(workflow);

                // Don't serialize the Id as it could be interpreted as an updated object when added back to YesSql
                objectData.Remove(nameof(workflow.Id));
                data.Add(objectData);
            }

            return;
        }
        public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            var luceneIndexStep = step as LuceneIndexDeploymentStep;

            if (luceneIndexStep == null)
            {
                return;
            }

            var indexSettings = await _luceneIndexSettingsService.GetSettingsAsync();

            var data         = new JArray();
            var indicesToAdd = luceneIndexStep.IncludeAll ? indexSettings.Select(x => x.IndexName).ToArray() : luceneIndexStep.IndexNames;

            foreach (var index in indexSettings)
            {
                if (indicesToAdd.Contains(index.IndexName))
                {
                    var indexSettingsDict = new Dictionary <string, LuceneIndexSettings>();
                    indexSettingsDict.Add(index.IndexName, index);
                    data.Add(JObject.FromObject(indexSettingsDict));
                }
            }

            // Adding Lucene settings
            result.Steps.Add(new JObject(
                                 new JProperty("name", "lucene-index"),
                                 new JProperty("Indices", data)
                                 ));
        }
        public async Task <IActionResult> Execute(int id)
        {
            if (!await _authorizationService.AuthorizeAsync(User, Permissions.Export))
            {
                return(Unauthorized());
            }

            var deploymentPlan = await _session.GetAsync <DeploymentPlan>(id);

            if (deploymentPlan == null)
            {
                return(NotFound());
            }

            string archiveFileName;
            var    filename = deploymentPlan.Name.ToSafeName() + ".zip";

            using (var fileBuilder = new TemporaryFileBuilder())
            {
                archiveFileName = PathExtensions.Combine(Path.GetTempPath(), filename);

                var deploymentPlanResult = new DeploymentPlanResult(fileBuilder);
                await _deploymentManager.ExecuteDeploymentPlanAsync(deploymentPlan, deploymentPlanResult);

                ZipFile.CreateFromDirectory(fileBuilder.Folder, archiveFileName);
            }

            return(new PhysicalFileResult(archiveFileName, "application/zip")
            {
                FileDownloadName = filename
            });
        }
Example #9
0
        public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            var customSettingsStep = step as CustomSettingsDeploymentStep;

            if (customSettingsStep == null)
            {
                return;
            }

            var settingsList = new List <JProperty> {
                new JProperty("name", "custom-settings")
            };

            var settingsTypes = customSettingsStep.IncludeAll
                ? _customSettingsService.GetAllSettingsTypes().ToArray()
                : _customSettingsService.GetSettingsTypes(customSettingsStep.SettingsTypeNames).ToArray();

            foreach (var settingsType in settingsTypes)
            {
                if (!await _customSettingsService.CanUserCreateSettingsAsync(settingsType))
                {
                    return;
                }
            }

            foreach (var settingsType in settingsTypes)
            {
                var settings = await _customSettingsService.GetSettingsAsync(settingsType);

                settingsList.Add(new JProperty(settings.ContentType, JObject.FromObject(settings)));
            }

            // Adding custom settings
            result.Steps.Add(new JObject(settingsList.ToArray()));
        }
Example #10
0
        public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            // TODO: Batch and create separate content files in the result.

            var contentState = step as ContentDeploymentStep;

            if (contentState == null)
            {
                return;
            }

            var data = new JArray();

            foreach (var contentItem in await _session.Query <ContentItem, ContentItemIndex>(x => x.Published && x.ContentType.IsIn(contentState.ContentTypes)).ListAsync())
            {
                var objectData = JObject.FromObject(contentItem);

                // Don't serialize the Id as it could be interpreted as an updated object when added back to YesSql.
                objectData.Remove(nameof(ContentItem.Id));
                data.Add(objectData);
            }

            if (data.HasValues)
            {
                var jobj = new JObject
                {
                    ["name"] = "content",
                    ["data"] = data
                };

                result.Steps.Add(jobj);
            }
        }
        public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            // TODO: Batch and create separate content files in the result

            var contentState = step as ContentTypeDeploymentStep;

            if (contentState == null)
            {
                return;
            }

            var data = new JArray();

            foreach (var contentItem in await _session.QueryAsync <ContentItem, ContentItemIndex>(x => x.Published && x.ContentType.IsIn(contentState.ContentTypes)).List())
            {
                data.Add(JObject.FromObject(contentItem));
            }

            if (data.HasValues)
            {
                var jobj = new JObject();
                jobj["name"] = "content";
                jobj["data"] = data;

                result.Steps.Add(jobj);
            }

            return;
        }
        public Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            var settingsStep = step as SettingsDeploymentStep;

            if (settingsStep == null || (!settingsStep.IncludeAzureHubSettings && !settingsStep.IncludeSignalHubSettings))
            {
                return(Task.CompletedTask);
            }

            if (settingsStep.IncludeAzureHubSettings)
            {
                var options = new AzureHubSettings();
                _azureHubOptions.Configure(options);

                var data = new JArray();
                result.Steps.Add(new JObject(
                                     new JProperty("name", nameof(AzureHubSettings)),
                                     new JProperty("settings", JObject.FromObject(options))
                                     ));
            }

            if (settingsStep.IncludeSignalHubSettings)
            {
                var options = new SignalHubSettings();
                _signalHubOptions.Configure(options);

                var data = new JArray();
                result.Steps.Add(new JObject(
                                     new JProperty("name", nameof(SignalHubSettings)),
                                     new JProperty("settings", JObject.FromObject(options))
                                     ));
            }

            return(Task.CompletedTask);
        }
        public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            var allContentState = step as AllContentDeploymentStep;

            if (allContentState == null)
            {
                return;
            }

            var data = new JArray();

            result.Steps.Add(new JObject(
                                 new JProperty("name", "Content"),
                                 new JProperty("data", data)
                                 ));

            foreach (var contentItem in await _session.Query <ContentItem, ContentItemIndex>(x => x.Published).ListAsync())
            {
                var objectData = JObject.FromObject(contentItem);

                // Don't serialize the Id as it could be interpreted as an updated object when added back to YesSql
                objectData.Remove(nameof(ContentItem.Id));
                data.Add(objectData);
            }

            return;
        }
        public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            var openIdServerStep = step as OpenIdServerDeploymentStep;

            if (openIdServerStep == null)
            {
                return;
            }

            var settings = await _openIdServerService
                           .GetSettingsAsync();

            var settingsModel = new OpenIdServerSettingsStepModel
            {
                AccessTokenFormat = settings.AccessTokenFormat,
                Authority         = settings.Authority?.AbsoluteUri,

                EncryptionCertificateStoreLocation = settings.EncryptionCertificateStoreLocation,
                EncryptionCertificateStoreName     = settings.EncryptionCertificateStoreName,
                EncryptionCertificateThumbprint    = settings.EncryptionCertificateThumbprint,

                SigningCertificateStoreLocation = settings.SigningCertificateStoreLocation,
                SigningCertificateStoreName     = settings.SigningCertificateStoreName,
                SigningCertificateThumbprint    = settings.SigningCertificateThumbprint,

                // The recipe step only reads these flags, and uses constants for the paths.
                // Conversely, we export true for endpoints with a path, false for those without.
                EnableAuthorizationEndpoint = !string.IsNullOrWhiteSpace(settings.AuthorizationEndpointPath),
                EnableLogoutEndpoint        = !string.IsNullOrWhiteSpace(settings.LogoutEndpointPath),
                EnableTokenEndpoint         = !string.IsNullOrWhiteSpace(settings.TokenEndpointPath),
                EnableUserInfoEndpoint      = !string.IsNullOrWhiteSpace(settings.UserinfoEndpointPath),
                EnableIntrospectionEndpoint = !string.IsNullOrWhiteSpace(settings.IntrospectionEndpointPath),
                EnableRevocationEndpoint    = !string.IsNullOrWhiteSpace(settings.RevocationEndpointPath),

                AllowAuthorizationCodeFlow = settings.AllowAuthorizationCodeFlow,
                AllowClientCredentialsFlow = settings.AllowClientCredentialsFlow,
                AllowHybridFlow            = settings.AllowHybridFlow,
                AllowImplicitFlow          = settings.AllowImplicitFlow,
                AllowPasswordFlow          = settings.AllowPasswordFlow,
                AllowRefreshTokenFlow      = settings.AllowRefreshTokenFlow,

                DisableAccessTokenEncryption   = settings.DisableAccessTokenEncryption,
                DisableRollingRefreshTokens    = settings.DisableRollingRefreshTokens,
                UseReferenceAccessTokens       = settings.UseReferenceAccessTokens,
                RequireProofKeyForCodeExchange = settings.RequireProofKeyForCodeExchange,
            };

            // Use nameof(OpenIdServerSettings) as name,
            // to match the recipe step.
            var obj = new JObject(
                new JProperty(
                    "name",
                    nameof(OpenIdServerSettings)));

            obj.Merge(JObject.FromObject(settingsModel));

            result.Steps.Add(obj);
        }
        public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            if (!(step is MediaDeploymentStep mediaStep))
            {
                return;
            }

            List <string> paths;

            if (mediaStep.IncludeAll)
            {
                var fileStoreEntries = await _mediaFileStore.GetDirectoryContentAsync(null, true);

                paths =
                    (
                        from fileStoreEntry in fileStoreEntries
                        where !fileStoreEntry.IsDirectory
                        select fileStoreEntry.Path
                    ).ToList();
            }
            else
            {
                paths = new List <string>(mediaStep.FilePaths ?? Array.Empty <string>());

                foreach (var directoryPath in mediaStep.DirectoryPaths ?? Array.Empty <string>())
                {
                    var fileStoreEntries = await _mediaFileStore.GetDirectoryContentAsync(directoryPath, true);

                    paths.AddRange(
                        from fileStoreEntry in fileStoreEntries
                        where !fileStoreEntry.IsDirectory
                        select fileStoreEntry.Path);
                }

                paths.Sort();
            }

            foreach (var path in paths)
            {
                var stream = await _mediaFileStore.GetFileStreamAsync(path);

                await result.FileBuilder.SetFileAsync(path, stream);
            }

            // Adding media files
            result.Steps.Add(new JObject(
                                 new JProperty("name", "media"),
                                 new JProperty("Files", JArray.FromObject(
                                                   (from path in paths
                                                    select new
            {
                SourcePath = path,
                TargetPath = path
            }).ToArray()
                                                   ))
                                 ));
        }
Example #16
0
        public async Task ServerDeploymentSourceIsReadableByRecipe()
        {
            // Arrange
            var recipeFile = "Recipe.json";

            var expectedSettings        = CreateSettings("https://deploy.localhost", TokenFormat.JsonWebToken, true);
            var deployServerServiceMock = CreateServerServiceWithSettingsMock(expectedSettings);

            var actualSettings          = CreateSettings("https://recipe.localhost", TokenFormat.DataProtection, false);
            var recipeServerServiceMock = CreateServerServiceWithSettingsMock(actualSettings);

            var settingsProperties = typeof(OpenIdServerSettings)
                                     .GetProperties();

            foreach (var property in settingsProperties)
            {
                Assert.NotEqual(
                    property.GetValue(expectedSettings),
                    property.GetValue(actualSettings));
            }

            var fileBuilder = new MemoryFileBuilder();
            var descriptor  = new RecipeDescriptor();
            var result      = new DeploymentPlanResult(fileBuilder, descriptor);

            var deploymentSource = new OpenIdServerDeploymentSource(deployServerServiceMock.Object);

            // Act
            await deploymentSource.ProcessDeploymentStepAsync(new OpenIdServerDeploymentStep(), result);

            await result.FinalizeAsync();

            var deploy = JObject.Parse(
                fileBuilder.GetFileContents(
                    recipeFile,
                    Encoding.UTF8));

            var recipeContext = new RecipeExecutionContext
            {
                RecipeDescriptor = descriptor,
                Name             = deploy.Property("steps").Value.First.Value <string>("name"),
                Step             = (JObject)deploy.Property("steps").Value.First,
            };

            var recipeStep = new OpenIdServerSettingsStep(recipeServerServiceMock.Object);
            await recipeStep.ExecuteAsync(recipeContext);

            // Assert
            foreach (var property in settingsProperties)
            {
                Assert.Equal(
                    property.GetValue(expectedSettings),
                    property.GetValue(actualSettings));
            }
        }
        public Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            var customFile = step as CustomFileDeploymentStep;

            if (customFile == null)
            {
                return(Task.CompletedTask);
            }

            return(result.FileBuilder.SetFileAsync(customFile.FileName, Encoding.UTF8.GetBytes(customFile.FileContent)));
        }
        public Task ProcessDeploymentStepAsync(DeploymentStep deploymentStep, DeploymentPlanResult result)
        {
            if (!(deploymentStep is JsonRecipeDeploymentStep jsonRecipeStep))
            {
                return(Task.CompletedTask);
            }

            result.Steps.Add(JObject.Parse(jsonRecipeStep.Json));

            return(Task.CompletedTask);
        }
        public async Task ExecuteDeploymentPlanAsync(DeploymentPlan deploymentPlan, DeploymentPlanResult result)
        {
            foreach (var step in deploymentPlan.DeploymentSteps)
            {
                foreach (var source in _deploymentSources)
                {
                    await source.ProcessDeploymentStepAsync(step, result);
                }
            }

            await result.FinalizeAsync();
        }
        public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            var themesState = step as ThemesDeploymentStep;

            if (themesState == null)
            {
                return;
            }

            result.Steps.Add(new JObject(
                                 new JProperty("name", "Themes"),
                                 new JProperty(nameof(ThemeStepModel.Site), await _siteThemeService.GetCurrentThemeNameAsync()),
                                 new JProperty(nameof(ThemeStepModel.Admin), await _adminThemeService.GetAdminThemeNameAsync())
                                 ));
        }
Example #21
0
        public Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            if (!(step is DeleteContentDefinitionDeploymentStep deleteContentDefinitionStep))
            {
                return(Task.CompletedTask);
            }

            result.Steps.Add(new JObject(
                                 new JProperty("name", "DeleteContentDefinition"),
                                 new JProperty("ContentTypes", JArray.FromObject(deleteContentDefinitionStep.ContentTypes)),
                                 new JProperty("ContentParts", JArray.FromObject(deleteContentDefinitionStep.ContentParts))
                                 ));

            return(Task.CompletedTask);
        }
Example #22
0
        public async Task <IActionResult> Execute(int id)
        {
            if (!await _authorizationService.AuthorizeAsync(User, Permissions.Export))
            {
                return(Forbid());
            }

            var deploymentPlan = await _session.GetAsync <DeploymentPlan>(id);

            if (deploymentPlan == null)
            {
                return(NotFound());
            }

            string archiveFileName;
            var    filename = deploymentPlan.Name.ToSafeName() + ".zip";

            using (var fileBuilder = new TemporaryFileBuilder())
            {
                archiveFileName = fileBuilder.Folder + ".zip";

                var recipeDescriptor         = new RecipeDescriptor();
                var recipeFileDeploymentStep = deploymentPlan.DeploymentSteps.FirstOrDefault(ds => ds.Name == nameof(RecipeFileDeploymentStep)) as RecipeFileDeploymentStep;

                if (recipeFileDeploymentStep != null)
                {
                    recipeDescriptor.Name          = recipeFileDeploymentStep.RecipeName;
                    recipeDescriptor.DisplayName   = recipeFileDeploymentStep.DisplayName;
                    recipeDescriptor.Description   = recipeFileDeploymentStep.Description;
                    recipeDescriptor.Author        = recipeFileDeploymentStep.Author;
                    recipeDescriptor.WebSite       = recipeFileDeploymentStep.WebSite;
                    recipeDescriptor.Version       = recipeFileDeploymentStep.Version;
                    recipeDescriptor.IsSetupRecipe = recipeFileDeploymentStep.IsSetupRecipe;
                    recipeDescriptor.Categories    = (recipeFileDeploymentStep.Categories ?? "").Split(',', StringSplitOptions.RemoveEmptyEntries);
                    recipeDescriptor.Tags          = (recipeFileDeploymentStep.Tags ?? "").Split(',', StringSplitOptions.RemoveEmptyEntries);
                }

                var deploymentPlanResult = new DeploymentPlanResult(fileBuilder, recipeDescriptor);
                await _deploymentManager.ExecuteDeploymentPlanAsync(deploymentPlan, deploymentPlanResult);

                ZipFile.CreateFromDirectory(fileBuilder.Folder, archiveFileName);
            }

            return(new PhysicalFileResult(archiveFileName, "application/zip")
            {
                FileDownloadName = filename
            });
        }
        public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            var azureADStep = step as AzureADDeploymentStep;

            if (azureADStep == null)
            {
                return;
            }

            var settings = await _azureADService.GetSettingsAsync();

            result.Steps.Add(new JObject(
                                 new JProperty("name", "AzureAD"),
                                 new JProperty("AzureAD", JObject.FromObject(settings))
                                 ));
        }
Example #24
0
        public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            if (!(step is AllSitemapsDeploymentStep))
            {
                return;
            }

            var sitemaps = await _sitemapManager.GetSitemapsAsync();

            var jArray = JArray.FromObject(sitemaps, Serializer);

            result.Steps.Add(new JObject(
                                 new JProperty("name", "Sitemaps"),
                                 new JProperty("data", jArray)
                                 ));
        }
        public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            var openIdValidationStep = step as OpenIdValidationDeploymentStep;

            if (openIdValidationStep == null)
            {
                return;
            }

            var validationSettings = await _openIdValidationService.GetSettingsAsync();

            result.Steps.Add(new JObject(
                                 new JProperty("name", "OpenIdValidation"),
                                 new JProperty("OpenIdValidation", JObject.FromObject(validationSettings))
                                 ));
        }
Example #26
0
        public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            var robotsState = step as RobotsDeploymentStep;

            if (robotsState == null)
            {
                return;
            }

            var siteSettings = await _siteService.GetSiteSettingsAsync();

            result.Steps.Add(new JObject(
                                 new JProperty("name", "Settings"),
                                 new JProperty("RobotsSettings", JObject.FromObject(siteSettings.As <RobotsSettings>()))
                                 ));
        }
Example #27
0
        public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            var allQueriesStep = step as AllQueriesDeploymentStep;

            if (allQueriesStep == null)
            {
                return;
            }

            var queries = await _queryManager.ListQueriesAsync();

            result.Steps.Add(new JObject(
                                 new JProperty("name", "Queries"),
                                 new JProperty("Queries", queries.Select(JObject.FromObject))
                                 ));
        }
        public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            var facebookLoginStep = step as FacebookLoginDeploymentStep;

            if (facebookLoginStep == null)
            {
                return;
            }

            var settings = await _facebookService.GetSettingsAsync();

            result.Steps.Add(new JObject(
                                 new JProperty("name", "FacebookLogin"),
                                 new JProperty("FacebookLogin", JObject.FromObject(settings))
                                 ));
        }
Example #29
0
        public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            var allMediaProfilesStep = step as AllMediaProfilesDeploymentStep;

            if (allMediaProfilesStep == null)
            {
                return;
            }

            var mediaProfiles = await _mediaProfilesManager.GetMediaProfilesDocumentAsync();

            result.Steps.Add(new JObject(
                                 new JProperty("name", "MediaProfiles"),
                                 new JProperty("MediaProfiles", JObject.FromObject(mediaProfiles.MediaProfiles))
                                 ));
        }
        public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
        {
            var allLayersState = step as AllLayersDeploymentStep;

            if (allLayersState == null)
            {
                return;
            }

            var layers = await _layerService.GetLayersAsync();

            result.Steps.Add(new JObject(
                                 new JProperty("name", "Layers"),
                                 new JProperty("Layers", layers.Layers.Select(JObject.FromObject))
                                 ));
        }