public static async Task BackupSiteAsync(IPathManager pathManager, IDatabaseManager databaseManager, CacheUtils caching, Site site, string filePath) { var exportObject = new ExportObject(pathManager, databaseManager, caching, site); var siteTemplateDir = PathUtils.GetFileNameWithoutExtension(filePath); var siteTemplatePath = PathUtils.Combine(DirectoryUtils.GetDirectoryPath(filePath), siteTemplateDir); DirectoryUtils.DeleteDirectoryIfExists(siteTemplatePath); FileUtils.DeleteFileIfExists(filePath); var metadataPath = pathManager.GetSiteTemplateMetadataPath(siteTemplatePath, string.Empty); await exportObject.ExportFilesToSiteAsync(siteTemplatePath, true, null, null, true); var siteContentDirectoryPath = PathUtils.Combine(metadataPath, DirectoryUtils.SiteFiles.SiteTemplates.SiteContent); await exportObject.ExportSiteContentAsync(siteContentDirectoryPath, true, true, new List <int>()); var templateFilePath = PathUtils.Combine(metadataPath, DirectoryUtils.SiteFiles.SiteTemplates.FileTemplate); await exportObject.ExportTemplatesAsync(templateFilePath); var tableDirectoryPath = PathUtils.Combine(metadataPath, DirectoryUtils.SiteFiles.SiteTemplates.Table); await exportObject.ExportTablesAndStylesAsync(tableDirectoryPath); var configurationFilePath = PathUtils.Combine(metadataPath, DirectoryUtils.SiteFiles.SiteTemplates.FileConfiguration); await exportObject.ExportConfigurationAsync(configurationFilePath); exportObject.ExportMetadata(site.SiteName, await pathManager.GetWebUrlAsync(site), string.Empty, string.Empty, metadataPath); pathManager.CreateZip(filePath, siteTemplatePath); DirectoryUtils.DeleteDirectoryIfExists(siteTemplatePath); }
public static async Task BackupChannelsAndContentsAsync(IPathManager pathManager, IDatabaseManager databaseManager, CacheUtils caching, Site site, string filePath) { var exportObject = new ExportObject(pathManager, databaseManager, caching, site); var channelIdList = await databaseManager.ChannelRepository.GetChannelIdsAsync(site.Id, site.Id, ScopeType.Children); await exportObject.ExportChannelsAsync(channelIdList, filePath); }
public static async Task BackupFilesAsync(IPathManager pathManager, IDatabaseManager databaseManager, CacheUtils caching, Site site, string filePath) { var exportObject = new ExportObject(pathManager, databaseManager, caching, site); await exportObject.ExportFilesAsync(filePath); }