Document most core interfaces

This commit is contained in:
ijungleboy 2021-05-21 18:28:14 +02:00
parent 4474d49c6a
commit e4b12aa87f
5 changed files with 83 additions and 15 deletions

View File

@ -1,12 +1,30 @@
using System; using System;
namespace Oqtane.Models namespace Oqtane.Models
{ {
/// <summary>
/// Basic create/edit information - used in many objects.
/// </summary>
public interface IAuditable public interface IAuditable
{ {
/// <summary>
/// Username of the creator of this Object.
/// </summary>
string CreatedBy { get; set; } string CreatedBy { get; set; }
/// <summary>
/// Created Timestamp for this Object.
/// </summary>
DateTime CreatedOn { get; set; } DateTime CreatedOn { get; set; }
/// <summary>
/// Username of the last user who modified this Object.
/// </summary>
string ModifiedBy { get; set; } string ModifiedBy { get; set; }
/// <summary>
/// Modified Timestamp for this Object.
/// </summary>
DateTime ModifiedOn { get; set; } DateTime ModifiedOn { get; set; }
} }
} }

View File

@ -1,11 +1,25 @@
using System; using System;
namespace Oqtane.Models namespace Oqtane.Models
{ {
/// <summary>
/// Audit information for things than can be deleted.
/// </summary>
public interface IDeletable public interface IDeletable
{ {
/// <summary>
/// <see cref="User"/> who deleted this object.
/// </summary>
string DeletedBy { get; set; } string DeletedBy { get; set; }
/// <summary>
/// Timestamp when it was deleted.
/// </summary>
DateTime? DeletedOn { get; set; } DateTime? DeletedOn { get; set; }
/// <summary>
/// If something is deleted, this will be true.
/// </summary>
bool IsDeleted { get; set; } bool IsDeleted { get; set; }
} }
} }

View File

@ -1,4 +1,4 @@
using Oqtane.Models; using Oqtane.Models;
using Oqtane.Shared; using Oqtane.Shared;
using System.Collections.Generic; using System.Collections.Generic;
@ -6,10 +6,29 @@ namespace Oqtane.Modules
{ {
public interface IModuleControl public interface IModuleControl
{ {
SecurityAccessLevel SecurityAccessLevel { get; } // defines the security access level for this control - defaults to View /// <summary>
string Title { get; } // title to display for this control - defaults to module title /// Defines the security access level for this control - defaults to View
string Actions { get; } // allows for routing by configuration rather than by convention ( comma delimited ) - defaults to using component file name /// </summary>
bool UseAdminContainer { get; } // container for embedding module control - defaults to true. false will suppress the default modal UI popup behavior and render the component in the page. SecurityAccessLevel SecurityAccessLevel { get; }
List<Resource> Resources { get; } // identifies all resources in a module
/// <summary>
/// Title to display for this control - defaults to module title
/// </summary>
string Title { get; }
/// <summary>
/// Allows for routing by configuration rather than by convention ( comma delimited ) - defaults to using component file name
/// </summary>
string Actions { get; }
/// <summary>
/// Container for embedding module control - defaults to true. false will suppress the default modal UI popup behavior and render the component in the page.
/// </summary>
bool UseAdminContainer { get; }
/// <summary>
/// Identifies all resources in a module
/// </summary>
List<Resource> Resources { get; }
} }
} }

View File

@ -1,7 +1,9 @@
namespace Oqtane.Modules namespace Oqtane.Modules
{ {
/// <summary>
/// Empty interface used to decorate module services for auto registration
/// </summary>
public interface IService public interface IService
{ {
// empty interface used to decorate module services for auto registration
} }
} }

View File

@ -1,13 +1,28 @@
using Oqtane.Models; using Oqtane.Models;
using System.Collections.Generic; using System.Collections.Generic;
namespace Oqtane.Themes namespace Oqtane.Themes
{ {
public interface IThemeControl public interface IThemeControl
{ {
string Name { get; } // friendly name for a theme /// <summary>
string Thumbnail { get; } // screen shot of a theme - assumed to be in the ThemePath() folder /// Friendly name for a theme
string Panes { get; } // identifies all panes in a theme ( delimited by "," or ";") - assumed to be a layout if no panes specified /// </summary>
List<Resource> Resources { get; } // identifies all resources in a theme string Name { get; }
/// <summary>
/// Screen shot of a theme - assumed to be in the ThemePath() folder
/// </summary>
string Thumbnail { get; }
/// <summary>
/// Identifies all panes in a theme ( delimited by "," or ";") - assumed to be a layout if no panes specified
/// </summary>
string Panes { get; }
/// <summary>
/// Identifies all resources in a theme
/// </summary>
List<Resource> Resources { get; }
} }
} }