diff --git a/AyCode.Database/AyCode.Database.csproj b/AyCode.Database/AyCode.Database.csproj index c43ad25..3e8ca8f 100644 --- a/AyCode.Database/AyCode.Database.csproj +++ b/AyCode.Database/AyCode.Database.csproj @@ -22,4 +22,8 @@ + + + + diff --git a/AyCode.Database/PermissionViewSql.cs b/AyCode.Database/PermissionViewSql.cs new file mode 100644 index 0000000..21a98a7 --- /dev/null +++ b/AyCode.Database/PermissionViewSql.cs @@ -0,0 +1,11 @@ +namespace AyCode.Database; + +public static class PermissionSqls +{ + public const string PermissionViewSql = "select distinct pcm.Id, pcm.ContextId, pgum.SubjectId SubjectId, pcm.Permissions, pcm.IsBuiltin, 10 SubjectType, pcm.Created, pcm.Modified " + + "from PermissionGroupUserMapping as pgum " + + "left join PermissionGroups as pg on (pgum.PermissionGroupId = pg.Id) " + + "left join PermissionContextMapping as pcm on (pg.Id = pcm.SubjectId) " + + "union " + + "select Id, ContextId, SubjectId, Permissions, IsBuiltin, 5 SubjectType, Created, Modified from PermissionContextMapping pcm"; +} \ No newline at end of file diff --git a/AyCode.Database/SqlScripts/PermissionViewQuery.sql b/AyCode.Database/SqlScripts/PermissionViewQuery.sql new file mode 100644 index 0000000..fb46de4 --- /dev/null +++ b/AyCode.Database/SqlScripts/PermissionViewQuery.sql @@ -0,0 +1,7 @@ +select distinct pcm.Id, pcm.ContextId, pgum.SubjectId SubjectId, pcm.Permissions, pcm.IsBuiltin, 10 SubjectType, pcm.Created, pcm.Modified from PermissionGroupUserMapping as pgum left join PermissionGroups as pg on (pgum.PermissionGroupId = pg.Id) +left join PermissionContextMapping as pcm on (pg.Id = pcm.SubjectId) +union +select pcm.Id, pcm.ContextId, pcm.SubjectId, pcm.Permissions, pcm.IsBuiltin, 5 SubjectType, Created, Modified from PermissionContextMapping pcm + +--group by pcm.ContextId, pcm.SubjectId, pcm.Permissions + diff --git a/AyCode.Entities/PermissionContextMappingSubjectType.cs b/AyCode.Entities/PermissionContextMappingSubjectType.cs index f945fb7..12854d4 100644 --- a/AyCode.Entities/PermissionContextMappingSubjectType.cs +++ b/AyCode.Entities/PermissionContextMappingSubjectType.cs @@ -9,7 +9,8 @@ namespace AyCode.Models.Enums public enum PermissionContextMappingSubjectType { - User = 1, - Group = 2 + NotDefined = 0, + User = 5, + Group = 10 } }