refactoring of site groups

This commit is contained in:
sbwalker
2026-02-09 13:58:38 -05:00
parent c0e191537f
commit ddd6dfc475
26 changed files with 789 additions and 886 deletions

View File

@@ -1,49 +1,30 @@
using System;
using System.ComponentModel.DataAnnotations.Schema;
namespace Oqtane.Models
{
public class SiteGroup : ModelBase
{
/// <summary>
/// ID to identify the site group
/// ID to identify the group
/// </summary>
public int SiteGroupId { get; set; }
/// <summary>
/// Reference to the <see cref="SiteGroupDefinition"/>.
/// Name of the group
/// </summary>
public int SiteGroupDefinitionId { get; set; }
public string Name { get; set; }
/// <summary>
/// Reference to the <see cref="Site"/>.
/// Group type ie. Synchronization, Localization
/// </summary>
public int SiteId { get; set; }
public string Type { get; set; }
/// <summary>
/// Specifies the site synchronization approach (false = compare, true = update)
/// SiteId of the primary site in the group
/// </summary>
public bool Synchronize { get; set; }
public int PrimarySiteId { get; set; }
/// <summary>
/// Indicates if the site administrator should be notified of any synchronization activity
/// Specifies if the group should be synchronized
/// </summary>
public bool Notify { get; set; }
/// <summary>
/// The last date/time the site was synchronized
/// </summary>
public DateTime? SynchronizedOn { get; set; }
/// <summary>
/// The <see cref="SiteGroupDefinition"/> itself.
/// </summary>
public SiteGroupDefinition SiteGroupDefinition { get; set; }
/// <summary>
/// The primary alias for the site
/// </summary>
[NotMapped]
public string AliasName { get; set; }
public bool Synchronize{ get; set; }
}
}

View File

@@ -1,35 +0,0 @@
namespace Oqtane.Models
{
public class SiteGroupDefinition : ModelBase
{
/// <summary>
/// ID to identify the group
/// </summary>
public int SiteGroupDefinitionId { get; set; }
/// <summary>
/// Name of the group
/// </summary>
public string Name { get; set; }
/// <summary>
/// SiteId of the primary site in the group
/// </summary>
public int PrimarySiteId { get; set; }
/// <summary>
/// Indicates if the group supports synchronization
/// </summary>
public bool Synchronization { get; set; }
/// <summary>
/// Specifies if the group needs to be synchronized
/// </summary>
public bool Synchronize { get; set; }
/// <summary>
/// Indicates if the group supports localization
/// </summary>
public bool Localization { get; set; }
}
}

View File

@@ -0,0 +1,44 @@
using System;
using System.ComponentModel.DataAnnotations.Schema;
namespace Oqtane.Models
{
public class SiteGroupMember : ModelBase
{
/// <summary>
/// ID to identify the site group
/// </summary>
public int SiteGroupMemberId { get; set; }
/// <summary>
/// Reference to the <see cref="SiteGroup"/>.
/// </summary>
public int SiteGroupId { get; set; }
/// <summary>
/// Reference to the <see cref="Site"/>.
/// </summary>
public int SiteId { get; set; }
/// <summary>
/// Indicates if the site administrator should be notified of any synchronization activity
/// </summary>
public bool Notify { get; set; }
/// <summary>
/// The last date/time the site was synchronized
/// </summary>
public DateTime? SynchronizedOn { get; set; }
/// <summary>
/// The <see cref="SiteGroup"/> itself.
/// </summary>
public SiteGroup SiteGroup { get; set; }
/// <summary>
/// The primary alias for the site
/// </summary>
[NotMapped]
public string AliasName { get; set; }
}
}