diff --git a/Oqtane.Client/Services/Interfaces/IDatabaseService.cs b/Oqtane.Client/Services/Interfaces/IDatabaseService.cs index 9d6b8bf0..94ca3f77 100644 --- a/Oqtane.Client/Services/Interfaces/IDatabaseService.cs +++ b/Oqtane.Client/Services/Interfaces/IDatabaseService.cs @@ -4,8 +4,15 @@ using System.Threading.Tasks; namespace Oqtane.Services { + /// + /// Service to retrieve information. + /// public interface IDatabaseService { + /// + /// Returns a list of databases + /// + /// Task> GetDatabasesAsync(); } } diff --git a/Oqtane.Client/Services/Interfaces/IInstallationService.cs b/Oqtane.Client/Services/Interfaces/IInstallationService.cs index e9eb961b..e3239b76 100644 --- a/Oqtane.Client/Services/Interfaces/IInstallationService.cs +++ b/Oqtane.Client/Services/Interfaces/IInstallationService.cs @@ -4,12 +4,42 @@ using Oqtane.Shared; namespace Oqtane.Services { + + /// + /// Service to manage (install master database / upgrade version / etc.) the installation + /// public interface IInstallationService { + /// + /// Returns a status/message object with the current installation state + /// + /// Task IsInstalled(); + + /// + /// Starts the installation process + /// + /// connectionString, database type, alias etc. + /// internal status/message object Task Install(InstallConfig config); + + /// + /// Starts the upgrade process + /// + /// internal status/message object Task Upgrade(); + + /// + /// Restarts the installation + /// + /// internal status/message object Task RestartAsync(); + + /// + /// Registers a new + /// + /// Email of the user to be registered + /// Task RegisterAsync(string email); } } diff --git a/Oqtane.Client/Services/Interfaces/IJobLogService.cs b/Oqtane.Client/Services/Interfaces/IJobLogService.cs index e198bf9f..3f56473b 100644 --- a/Oqtane.Client/Services/Interfaces/IJobLogService.cs +++ b/Oqtane.Client/Services/Interfaces/IJobLogService.cs @@ -4,10 +4,22 @@ using System.Threading.Tasks; namespace Oqtane.Services { + /// + /// Service to read the job schedule log + /// public interface IJobLogService { + /// + /// Return a list of all entries + /// + /// Task> GetJobLogsAsync(); + /// + /// Return a entry for the given Id + /// + /// + /// Task GetJobLogAsync(int jobLogId); } } diff --git a/Oqtane.Client/Services/Interfaces/IJobService.cs b/Oqtane.Client/Services/Interfaces/IJobService.cs index d6f0decf..984f4b59 100644 --- a/Oqtane.Client/Services/Interfaces/IJobService.cs +++ b/Oqtane.Client/Services/Interfaces/IJobService.cs @@ -1,23 +1,61 @@ -using Oqtane.Models; +using Oqtane.Models; using System.Collections.Generic; using System.Threading.Tasks; namespace Oqtane.Services { + + /// + /// Service to manage jobs () + /// public interface IJobService { + /// + /// Returns a list of all jobs + /// + /// Task> GetJobsAsync(); + /// + /// Return a specific job + /// + /// + /// Task GetJobAsync(int jobId); + /// + /// Adds a new job + /// + /// + /// Task AddJobAsync(Job job); + /// + /// Updates an existing job + /// + /// + /// Task UpdateJobAsync(Job job); + /// + /// Delete an existing job + /// + /// + /// Task DeleteJobAsync(int jobId); + /// + /// Starts the given job + /// + /// + /// Task StartJobAsync(int jobId); + /// + /// Stops the given job + /// + /// + /// Task StopJobAsync(int jobId); } } diff --git a/Oqtane.Client/Services/Interfaces/ILanguageService.cs b/Oqtane.Client/Services/Interfaces/ILanguageService.cs index 82fbcc78..fd062d81 100644 --- a/Oqtane.Client/Services/Interfaces/ILanguageService.cs +++ b/Oqtane.Client/Services/Interfaces/ILanguageService.cs @@ -4,14 +4,38 @@ using System.Threading.Tasks; namespace Oqtane.Services { + + /// + /// Service to manage entries + /// public interface ILanguageService { + /// + /// Returns a list of all available languages for the given + /// + /// + /// Task> GetLanguagesAsync(int siteId); + /// + /// Returns the given language + /// + /// + /// Task GetLanguageAsync(int languageId); + /// + /// Adds the given language + /// + /// + /// Task AddLanguageAsync(Language language); + /// + /// Deletes the given language + /// + /// + /// Task DeleteLanguageAsync(int languageId); } } diff --git a/Oqtane.Client/Services/Interfaces/ILocalizationService.cs b/Oqtane.Client/Services/Interfaces/ILocalizationService.cs index b6cd7da0..04069213 100644 --- a/Oqtane.Client/Services/Interfaces/ILocalizationService.cs +++ b/Oqtane.Client/Services/Interfaces/ILocalizationService.cs @@ -4,8 +4,15 @@ using Oqtane.Models; namespace Oqtane.Services { + /// + /// Service to retrieve localizations () + /// public interface ILocalizationService { + /// + /// Returns a collection of supported cultures + /// + /// Task> GetCulturesAsync(); } } diff --git a/Oqtane.Client/Services/Interfaces/ILogService.cs b/Oqtane.Client/Services/Interfaces/ILogService.cs index 30867c72..2a821359 100644 --- a/Oqtane.Client/Services/Interfaces/ILogService.cs +++ b/Oqtane.Client/Services/Interfaces/ILogService.cs @@ -1,4 +1,4 @@ -using Oqtane.Models; +using Oqtane.Models; using Oqtane.Shared; using System; using System.Collections.Generic; @@ -7,11 +7,59 @@ using Oqtane.Enums; namespace Oqtane.Services { + /// + /// Service to retrieve and store entries + /// public interface ILogService { + /// + /// Returns a list of log entires for the given params + /// + /// + /// + /// + /// + /// Task> GetLogsAsync(int siteId, string level, string function, int rows); + + /// + /// Returns a specific log entry for the given id + /// + /// + /// Task GetLogAsync(int logId); + + /// + /// Creates a new log entry + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// Task Log(int? pageId, int? moduleId, int? userId, string category, string feature, LogFunction function, LogLevel level, Exception exception, string message, params object[] args); + + /// + /// Creates a new log entry + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// Task Log(Alias alias, int? pageId, int? moduleId, int? userId, string category, string feature, LogFunction function, LogLevel level, Exception exception, string message, params object[] args); } } diff --git a/Oqtane.Client/Services/Interfaces/IModuleDefinitionService.cs b/Oqtane.Client/Services/Interfaces/IModuleDefinitionService.cs index 2cf732ff..0d8d8333 100644 --- a/Oqtane.Client/Services/Interfaces/IModuleDefinitionService.cs +++ b/Oqtane.Client/Services/Interfaces/IModuleDefinitionService.cs @@ -5,14 +5,60 @@ using System.Threading.Tasks; namespace Oqtane.Services { + + /// + /// Service to manage a + /// public interface IModuleDefinitionService { + /// + /// Returns a list of module definitions for the given site + /// + /// + /// Task> GetModuleDefinitionsAsync(int siteId); + + /// + /// Returns a specific module definition + /// + /// + /// + /// Task GetModuleDefinitionAsync(int moduleDefinitionId, int siteId); + + /// + /// Updates a existing module definition + /// + /// + /// Task UpdateModuleDefinitionAsync(ModuleDefinition moduleDefinition); + + + /// + /// Installs all module definitions located in //TODO: 2dm where? + /// + /// Task InstallModuleDefinitionsAsync(); + + /// + /// Deletes a module definition + /// + /// + /// + /// Task DeleteModuleDefinitionAsync(int moduleDefinitionId, int siteId); + + /// + /// Creates a new module definition + /// + /// + /// Task CreateModuleDefinitionAsync(ModuleDefinition moduleDefinition); + + /// + /// Returns a list of module definition templates + /// + /// Task> GetModuleDefinitionTemplatesAsync(); } } diff --git a/Oqtane.Client/Services/Interfaces/IModuleService.cs b/Oqtane.Client/Services/Interfaces/IModuleService.cs index 27f11dff..b8718a66 100644 --- a/Oqtane.Client/Services/Interfaces/IModuleService.cs +++ b/Oqtane.Client/Services/Interfaces/IModuleService.cs @@ -1,17 +1,62 @@ -using Oqtane.Models; +using Oqtane.Models; using System.Collections.Generic; using System.Threading.Tasks; namespace Oqtane.Services { + /// + /// Service to retreive and store modules () + /// public interface IModuleService { + /// + /// Returns a list of modules for the given site + /// + /// + /// Task> GetModulesAsync(int siteId); + + /// + /// Returns a specific module + /// + /// + /// Task GetModuleAsync(int moduleId); + + /// + /// Adds a new module + /// + /// + /// Task AddModuleAsync(Module module); + + /// + /// Updates an existing module + /// + /// + /// Task UpdateModuleAsync(Module module); + + /// + /// Deletes a module + /// + /// + /// Task DeleteModuleAsync(int moduleId); + + /// + /// Imports a module + /// + /// + /// module in JSON format + /// Task ImportModuleAsync(int moduleId, string content); + + /// + /// Exports a given module + /// + /// + /// module in JSON Task ExportModuleAsync(int moduleId); } } diff --git a/Oqtane.Client/Services/Interfaces/INotificationService.cs b/Oqtane.Client/Services/Interfaces/INotificationService.cs index bd52b7d0..d1be32a2 100644 --- a/Oqtane.Client/Services/Interfaces/INotificationService.cs +++ b/Oqtane.Client/Services/Interfaces/INotificationService.cs @@ -1,19 +1,49 @@ -using Oqtane.Models; +using Oqtane.Models; using System.Collections.Generic; using System.Threading.Tasks; namespace Oqtane.Services -{ +{ + /// + /// Service to store and retreive notifications () + /// public interface INotificationService { + /// + /// Return a list of notifications + /// + /// + /// + /// + /// Task> GetNotificationsAsync(int siteId, string direction, int userId); + /// + /// Returns a specific notifications + /// + /// + /// Task GetNotificationAsync(int notificationId); + /// + /// Creates a new notification + /// + /// + /// Task AddNotificationAsync(Notification notification); + /// + /// Updates a existing notification + /// + /// + /// Task UpdateNotificationAsync(Notification notification); + /// + /// Deletes a notification + /// + /// + /// Task DeleteNotificationAsync(int notificationId); } } diff --git a/Oqtane.Client/Services/Interfaces/IPackageService.cs b/Oqtane.Client/Services/Interfaces/IPackageService.cs index e09f89f9..f8617439 100644 --- a/Oqtane.Client/Services/Interfaces/IPackageService.cs +++ b/Oqtane.Client/Services/Interfaces/IPackageService.cs @@ -4,12 +4,50 @@ using System.Threading.Tasks; namespace Oqtane.Services { + + /// + /// Service to manage packages () + /// public interface IPackageService { + /// + /// Returns a list of packages matching the given parameters + /// + /// + /// Task> GetPackagesAsync(string type); + + /// + /// Returns a list of packages matching the given parameters + /// + /// + /// + /// + /// + /// Task> GetPackagesAsync(string type, string search, string price, string package); + + /// + /// Returns a specific package + /// + /// + /// + /// Task GetPackageAsync(string packageId, string version); + + /// + /// Downloads a specific package as .nupkg file + /// + /// + /// + /// + /// Task DownloadPackageAsync(string packageId, string version, string folder); + + /// + /// Installs all packages located in //TODO: 2dm where? + /// + /// Task InstallPackagesAsync(); } } diff --git a/Oqtane.Client/Services/Interfaces/IPageModuleService.cs b/Oqtane.Client/Services/Interfaces/IPageModuleService.cs index f51c56a8..dd42060a 100644 --- a/Oqtane.Client/Services/Interfaces/IPageModuleService.cs +++ b/Oqtane.Client/Services/Interfaces/IPageModuleService.cs @@ -1,15 +1,56 @@ -using Oqtane.Models; +using Oqtane.Models; using System.Threading.Tasks; namespace Oqtane.Services { + /// + /// Service to store and retreive a + /// public interface IPageModuleService { + + /// + /// Returns a specific page module + /// + /// + /// Task GetPageModuleAsync(int pageModuleId); + + /// + /// Return a specific page module + /// + /// + /// + /// Task GetPageModuleAsync(int pageId, int moduleId); + + /// + /// Creates a new page module + /// + /// + /// Task AddPageModuleAsync(PageModule pageModule); + + /// + /// Updates a existing page module + /// + /// + /// Task UpdatePageModuleAsync(PageModule pageModule); + + /// + /// Updates order of all page modules in the given pane + /// + /// + /// + /// Task UpdatePageModuleOrderAsync(int pageId, string pane); + + /// + /// Deletes a page module + /// + /// + /// Task DeletePageModuleAsync(int pageModuleId); } } diff --git a/Oqtane.Client/Services/Interfaces/IPageService.cs b/Oqtane.Client/Services/Interfaces/IPageService.cs index 60f1d86e..9981f373 100644 --- a/Oqtane.Client/Services/Interfaces/IPageService.cs +++ b/Oqtane.Client/Services/Interfaces/IPageService.cs @@ -1,19 +1,79 @@ -using Oqtane.Models; +using Oqtane.Models; using System.Collections.Generic; using System.Threading.Tasks; namespace Oqtane.Services { + /// + /// Services to store and retrieve a + /// public interface IPageService { + /// + /// Retuns a list of pages + /// + /// + /// Task> GetPagesAsync(int siteId); + + /// + /// Returns a specific page + /// + /// + /// Task GetPageAsync(int pageId); + + /// + /// Returns a specific page personalized for the given user + /// + /// + /// + /// Task GetPageAsync(int pageId, int userId); + + /// + /// Returns a specific page by its defined path + /// + /// + /// + /// Task GetPageAsync(string path, int siteId); + + /// + /// Adds a new page + /// + /// + /// Task AddPageAsync(Page page); + + /// + /// Adds a new page + /// + /// + /// Task AddPageAsync(int pageId, int userId); + + /// + /// Updates a existing page + /// + /// + /// Task UpdatePageAsync(Page page); + + /// + /// Updates order of all page modules in the given parent + /// + /// + /// + /// + /// Task UpdatePageOrderAsync(int siteId, int pageId, int? parentId); + + /// + /// Deletes a page + /// + /// + /// Task DeletePageAsync(int pageId); } } diff --git a/Oqtane.Client/Services/Interfaces/IProfileService.cs b/Oqtane.Client/Services/Interfaces/IProfileService.cs index cc079f3c..2059e8d1 100644 --- a/Oqtane.Client/Services/Interfaces/IProfileService.cs +++ b/Oqtane.Client/Services/Interfaces/IProfileService.cs @@ -1,19 +1,48 @@ -using Oqtane.Models; +using Oqtane.Models; using System.Collections.Generic; using System.Threading.Tasks; namespace Oqtane.Services { + /// + /// Service to store and retreive entries + /// public interface IProfileService { + + /// + /// Returns a list of profile entries + /// + /// + /// Task> GetProfilesAsync(int siteId); + /// + /// Returns a specific profile entry + /// + /// + /// Task GetProfileAsync(int profileId); + /// + /// Creates a new profile entry + /// + /// + /// Task AddProfileAsync(Profile profile); + /// + /// Updates an existing profile entry + /// + /// + /// Task UpdateProfileAsync(Profile profile); + /// + /// Deletes a profile entry + /// + /// + /// Task DeleteProfileAsync(int profileId); } } diff --git a/Oqtane.Client/Services/Interfaces/ISettingService.cs b/Oqtane.Client/Services/Interfaces/ISettingService.cs index 97c6266d..385549b9 100644 --- a/Oqtane.Client/Services/Interfaces/ISettingService.cs +++ b/Oqtane.Client/Services/Interfaces/ISettingService.cs @@ -1,55 +1,180 @@ -using Oqtane.Models; +using Oqtane.Models; using System.Collections.Generic; using System.Threading.Tasks; namespace Oqtane.Services { + /// + /// Service to manage s + /// public interface ISettingService { + /// + /// Returns a key-value dictionary of all tenant settings + /// + /// Task> GetTenantSettingsAsync(); + /// + /// Updates a tenant setting + /// + /// + /// Task UpdateTenantSettingsAsync(Dictionary tenantSettings); + /// + /// Returns a key-value dictionary of all site settings for the given site + /// + /// + /// Task> GetSiteSettingsAsync(int siteId); + /// + /// Updates a site setting + /// + /// + /// + /// Task UpdateSiteSettingsAsync(Dictionary siteSettings, int siteId); + /// + /// Returns a key-value dictionary of all page settings for the given page + /// + /// + /// Task> GetPageSettingsAsync(int pageId); + /// + /// Updates a page setting + /// + /// + /// + /// Task UpdatePageSettingsAsync(Dictionary pageSettings, int pageId); + /// + /// Returns a key-value dictionary of all page module settings for the given page module + /// + /// + /// Task> GetPageModuleSettingsAsync(int pageModuleId); + /// + /// Updates a page module setting + /// + /// + /// + /// Task UpdatePageModuleSettingsAsync(Dictionary pageModuleSettings, int pageModuleId); + /// + /// Returns a key-value dictionary of all module settings for the given module + /// + /// + /// Task> GetModuleSettingsAsync(int moduleId); + /// + /// Updates a module setting + /// + /// + /// + /// Task UpdateModuleSettingsAsync(Dictionary moduleSettings, int moduleId); + /// + /// Returns a key-value dictionary of all user settings for the given user + /// + /// + /// Task> GetUserSettingsAsync(int userId); + /// + /// Updates a user setting + /// + /// + /// + /// Task UpdateUserSettingsAsync(Dictionary userSettings, int userId); + /// + /// Returns a key-value dictionary of all folder settings for the given folder + /// + /// + /// Task> GetFolderSettingsAsync(int folderId); + + /// + /// Updates a folder setting + /// + /// + /// + /// Task UpdateFolderSettingsAsync(Dictionary folderSettings, int folderId); + /// + /// Returns a key-value dictionary of all settings for the given entityName + /// + /// + /// Task> GetSettingsAsync(string entityName, int entityId); + + /// + /// Updates settings for a given entityName and Id + /// + /// + /// + /// + /// Task UpdateSettingsAsync(Dictionary settings, string entityName, int entityId); - + /// + /// Returns a specific setting + /// + /// + /// Task GetSettingAsync(int settingId); + + /// + /// Creates a new setting + /// + /// + /// Task AddSettingAsync(Setting setting); + /// + /// Updates a existing setting + /// + /// + /// Task UpdateSettingAsync(Setting setting); + /// + /// Deletes a setting + /// + /// + /// Task DeleteSettingAsync(int settingId); - + /// + /// Gets the value of the given settingName (key) from the given key-value dictionary + /// + /// + /// + /// + /// string GetSetting(Dictionary settings, string settingName, string defaultValue); + /// + /// Sets the value of the given settingName (key) in the given key-value dictionary + /// + /// + /// + /// + /// Dictionary SetSetting(Dictionary settings, string settingName, string settingValue); } } diff --git a/Oqtane.Client/Services/Interfaces/ISiteService.cs b/Oqtane.Client/Services/Interfaces/ISiteService.cs index 669d5554..9534b51f 100644 --- a/Oqtane.Client/Services/Interfaces/ISiteService.cs +++ b/Oqtane.Client/Services/Interfaces/ISiteService.cs @@ -1,3 +1,4 @@ +using Oqtane.Documentation; using Oqtane.Models; using System; using System.Collections.Generic; @@ -5,18 +6,47 @@ using System.Threading.Tasks; namespace Oqtane.Services { + /// + /// Service to store and retreive entries + /// public interface ISiteService { + + /// + /// Returns a list of sites + /// + /// Task> GetSitesAsync(); + /// + /// Returns a specific site + /// + /// + /// Task GetSiteAsync(int siteId); + /// + /// Creates a new site + /// + /// + /// Task AddSiteAsync(Site site); + /// + /// Updates an existing site + /// + /// + /// Task UpdateSiteAsync(Site site); + /// + /// Deletes a site + /// + /// + /// Task DeleteSiteAsync(int siteId); + [PrivateApi] [Obsolete("This method is deprecated.", false)] void SetAlias(Alias alias); } diff --git a/Oqtane.Client/Services/Interfaces/ISiteTemplateService.cs b/Oqtane.Client/Services/Interfaces/ISiteTemplateService.cs index abb9a6c1..8068ee4e 100644 --- a/Oqtane.Client/Services/Interfaces/ISiteTemplateService.cs +++ b/Oqtane.Client/Services/Interfaces/ISiteTemplateService.cs @@ -1,11 +1,18 @@ -using Oqtane.Models; +using Oqtane.Models; using System.Collections.Generic; using System.Threading.Tasks; namespace Oqtane.Services { + /// + /// Service to retreive entries + /// public interface ISiteTemplateService { + /// + /// Returns a list of site templates + /// + /// Task> GetSiteTemplatesAsync(); } } diff --git a/Oqtane.Client/Services/Interfaces/ISqlService.cs b/Oqtane.Client/Services/Interfaces/ISqlService.cs index f563a795..a6b0ad86 100644 --- a/Oqtane.Client/Services/Interfaces/ISqlService.cs +++ b/Oqtane.Client/Services/Interfaces/ISqlService.cs @@ -1,10 +1,18 @@ -using Oqtane.Models; +using Oqtane.Models; using System.Threading.Tasks; namespace Oqtane.Services { + /// + /// Service to execute a against the backend database + /// public interface ISqlService { + /// + /// Executes a sql query and returns its result + /// + /// + /// Task ExecuteQueryAsync(SqlQuery sqlquery); } } diff --git a/Oqtane.Client/Services/Interfaces/ISystemService.cs b/Oqtane.Client/Services/Interfaces/ISystemService.cs index f710b524..cc7bf00a 100644 --- a/Oqtane.Client/Services/Interfaces/ISystemService.cs +++ b/Oqtane.Client/Services/Interfaces/ISystemService.cs @@ -3,10 +3,22 @@ using System.Threading.Tasks; namespace Oqtane.Services { + /// + /// Service to retrieve and update system information. + /// public interface ISystemService { + /// + /// returns a key-value directory with the current system information (os-version, clr-version, etc.) + /// + /// Task> GetSystemInfoAsync(); + /// + /// Updates system information + /// + /// + /// Task UpdateSystemInfoAsync(Dictionary settings); } } diff --git a/Oqtane.Client/Services/Interfaces/IThemeService.cs b/Oqtane.Client/Services/Interfaces/IThemeService.cs index a366ac95..31bd63d4 100644 --- a/Oqtane.Client/Services/Interfaces/IThemeService.cs +++ b/Oqtane.Client/Services/Interfaces/IThemeService.cs @@ -4,15 +4,65 @@ using System.Threading.Tasks; namespace Oqtane.Services { + /// + /// Service to manage entries + /// public interface IThemeService { + + /// + /// Returns a list of available themes + /// + /// Task> GetThemesAsync(); + + /// + /// Returns a list of s from the given themes + /// + /// + /// List GetThemeControls(List themes); + + /// + /// Returns a list of layouts () from the given themes with a matching theme name + /// + /// + /// + /// List GetLayoutControls(List themes, string themeName); + + /// + /// Returns a list of containers () from the given themes with a matching theme name + /// + /// + /// + /// List GetContainerControls(List themes, string themeName); + + /// + /// Installs all themes located in //TODO: 2dm where? + /// + /// Task InstallThemesAsync(); + + /// + /// Deletes a theme + /// + /// + /// Task DeleteThemeAsync(string themeName); + + /// + /// Creates a new theme + /// + /// + /// Task CreateThemeAsync(Theme theme); + + /// + /// Returns a list of theme templates () + /// + /// Task> GetThemeTemplatesAsync(); } }