diff --git "a/backend/\345\220\216\347\253\257\351\241\271\347\233\256.test" b/backend/.editorconfig similarity index 100% rename from "backend/\345\220\216\347\253\257\351\241\271\347\233\256.test" rename to backend/.editorconfig diff --git a/backend/.gitignore b/backend/.gitignore deleted file mode 100644 index 1aba69a3760d493755fe0855c9a4dd1d853a7a4b..0000000000000000000000000000000000000000 --- a/backend/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -# 操作系统 -.Ds_Store - -# 编辑器 -.vscode -.vs - -# 前端 -node_modules - - -# 后端 -bin -obj diff --git a/backend/Admin.sln b/backend/Admin.sln new file mode 100644 index 0000000000000000000000000000000000000000..3a60e83e1403ba2b9fe218ff64f3fc02577d2237 --- /dev/null +++ b/backend/Admin.sln @@ -0,0 +1,48 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.31903.59 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{F7FDEDA6-68D0-4654-8A95-0495A9D7ED9A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Admin.api", "src\Admin.api\Admin.api.csproj", "{3AC811B3-98F4-4B0C-B49D-A81FCA3E0160}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Admin.application", "src\Admin.application\Admin.application.csproj", "{BE471490-3194-4422-A2F1-1D35F356FDA8}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Admin.Domain", "src\Admin.Domain\Admin.Domain.csproj", "{0A78E7C8-521F-458A-BD5A-2910EC2AB5C4}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Admin.Infrastructure", "src\Admin.Infrastructure\Admin.Infrastructure.csproj", "{11FA3CE8-AD27-4EF4-8EC1-BBDFE6A2B265}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {3AC811B3-98F4-4B0C-B49D-A81FCA3E0160}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3AC811B3-98F4-4B0C-B49D-A81FCA3E0160}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3AC811B3-98F4-4B0C-B49D-A81FCA3E0160}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3AC811B3-98F4-4B0C-B49D-A81FCA3E0160}.Release|Any CPU.Build.0 = Release|Any CPU + {BE471490-3194-4422-A2F1-1D35F356FDA8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BE471490-3194-4422-A2F1-1D35F356FDA8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BE471490-3194-4422-A2F1-1D35F356FDA8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BE471490-3194-4422-A2F1-1D35F356FDA8}.Release|Any CPU.Build.0 = Release|Any CPU + {0A78E7C8-521F-458A-BD5A-2910EC2AB5C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0A78E7C8-521F-458A-BD5A-2910EC2AB5C4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0A78E7C8-521F-458A-BD5A-2910EC2AB5C4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0A78E7C8-521F-458A-BD5A-2910EC2AB5C4}.Release|Any CPU.Build.0 = Release|Any CPU + {11FA3CE8-AD27-4EF4-8EC1-BBDFE6A2B265}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {11FA3CE8-AD27-4EF4-8EC1-BBDFE6A2B265}.Debug|Any CPU.Build.0 = Debug|Any CPU + {11FA3CE8-AD27-4EF4-8EC1-BBDFE6A2B265}.Release|Any CPU.ActiveCfg = Release|Any CPU + {11FA3CE8-AD27-4EF4-8EC1-BBDFE6A2B265}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {3AC811B3-98F4-4B0C-B49D-A81FCA3E0160} = {F7FDEDA6-68D0-4654-8A95-0495A9D7ED9A} + {BE471490-3194-4422-A2F1-1D35F356FDA8} = {F7FDEDA6-68D0-4654-8A95-0495A9D7ED9A} + {0A78E7C8-521F-458A-BD5A-2910EC2AB5C4} = {F7FDEDA6-68D0-4654-8A95-0495A9D7ED9A} + {11FA3CE8-AD27-4EF4-8EC1-BBDFE6A2B265} = {F7FDEDA6-68D0-4654-8A95-0495A9D7ED9A} + EndGlobalSection +EndGlobal diff --git a/backend/UniversalAdmin.sln b/backend/UniversalAdmin.sln deleted file mode 100644 index d9b81751a8ba1dd2a0d99dbba1d4e377a5394605..0000000000000000000000000000000000000000 --- a/backend/UniversalAdmin.sln +++ /dev/null @@ -1,99 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.31903.59 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{827E0CD3-B72D-47B6-A68D-7590B98EB39B}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalAdmin.Api", "src\UniversalAdmin.Api\UniversalAdmin.Api.csproj", "{2FECD51B-9A3E-4288-B1EB-F8AF82AF261D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalAdmin.Application", "src\UniversalAdmin.Application\UniversalAdmin.Application.csproj", "{2564B049-C699-434A-A8FF-B061AF2B3FA6}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalAdmin.Domain", "src\UniversalAdmin.Domain\UniversalAdmin.Domain.csproj", "{D03EBE0F-3626-48B8-84D8-D0E7EDA72684}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalAdmin.Infrastructure", "src\UniversalAdmin.Infrastructure\UniversalAdmin.Infrastructure.csproj", "{BEC9794B-D87F-45E5-8E18-CEF847D42F45}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalAdmin.Shared", "src\UniversalAdmin.Shared\UniversalAdmin.Shared.csproj", "{D4BA446A-C7D5-427D-B578-B3D01F9300E7}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|Any CPU = Release|Any CPU - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {2FECD51B-9A3E-4288-B1EB-F8AF82AF261D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2FECD51B-9A3E-4288-B1EB-F8AF82AF261D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2FECD51B-9A3E-4288-B1EB-F8AF82AF261D}.Debug|x64.ActiveCfg = Debug|Any CPU - {2FECD51B-9A3E-4288-B1EB-F8AF82AF261D}.Debug|x64.Build.0 = Debug|Any CPU - {2FECD51B-9A3E-4288-B1EB-F8AF82AF261D}.Debug|x86.ActiveCfg = Debug|Any CPU - {2FECD51B-9A3E-4288-B1EB-F8AF82AF261D}.Debug|x86.Build.0 = Debug|Any CPU - {2FECD51B-9A3E-4288-B1EB-F8AF82AF261D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2FECD51B-9A3E-4288-B1EB-F8AF82AF261D}.Release|Any CPU.Build.0 = Release|Any CPU - {2FECD51B-9A3E-4288-B1EB-F8AF82AF261D}.Release|x64.ActiveCfg = Release|Any CPU - {2FECD51B-9A3E-4288-B1EB-F8AF82AF261D}.Release|x64.Build.0 = Release|Any CPU - {2FECD51B-9A3E-4288-B1EB-F8AF82AF261D}.Release|x86.ActiveCfg = Release|Any CPU - {2FECD51B-9A3E-4288-B1EB-F8AF82AF261D}.Release|x86.Build.0 = Release|Any CPU - {2564B049-C699-434A-A8FF-B061AF2B3FA6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2564B049-C699-434A-A8FF-B061AF2B3FA6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2564B049-C699-434A-A8FF-B061AF2B3FA6}.Debug|x64.ActiveCfg = Debug|Any CPU - {2564B049-C699-434A-A8FF-B061AF2B3FA6}.Debug|x64.Build.0 = Debug|Any CPU - {2564B049-C699-434A-A8FF-B061AF2B3FA6}.Debug|x86.ActiveCfg = Debug|Any CPU - {2564B049-C699-434A-A8FF-B061AF2B3FA6}.Debug|x86.Build.0 = Debug|Any CPU - {2564B049-C699-434A-A8FF-B061AF2B3FA6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2564B049-C699-434A-A8FF-B061AF2B3FA6}.Release|Any CPU.Build.0 = Release|Any CPU - {2564B049-C699-434A-A8FF-B061AF2B3FA6}.Release|x64.ActiveCfg = Release|Any CPU - {2564B049-C699-434A-A8FF-B061AF2B3FA6}.Release|x64.Build.0 = Release|Any CPU - {2564B049-C699-434A-A8FF-B061AF2B3FA6}.Release|x86.ActiveCfg = Release|Any CPU - {2564B049-C699-434A-A8FF-B061AF2B3FA6}.Release|x86.Build.0 = Release|Any CPU - {D03EBE0F-3626-48B8-84D8-D0E7EDA72684}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D03EBE0F-3626-48B8-84D8-D0E7EDA72684}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D03EBE0F-3626-48B8-84D8-D0E7EDA72684}.Debug|x64.ActiveCfg = Debug|Any CPU - {D03EBE0F-3626-48B8-84D8-D0E7EDA72684}.Debug|x64.Build.0 = Debug|Any CPU - {D03EBE0F-3626-48B8-84D8-D0E7EDA72684}.Debug|x86.ActiveCfg = Debug|Any CPU - {D03EBE0F-3626-48B8-84D8-D0E7EDA72684}.Debug|x86.Build.0 = Debug|Any CPU - {D03EBE0F-3626-48B8-84D8-D0E7EDA72684}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D03EBE0F-3626-48B8-84D8-D0E7EDA72684}.Release|Any CPU.Build.0 = Release|Any CPU - {D03EBE0F-3626-48B8-84D8-D0E7EDA72684}.Release|x64.ActiveCfg = Release|Any CPU - {D03EBE0F-3626-48B8-84D8-D0E7EDA72684}.Release|x64.Build.0 = Release|Any CPU - {D03EBE0F-3626-48B8-84D8-D0E7EDA72684}.Release|x86.ActiveCfg = Release|Any CPU - {D03EBE0F-3626-48B8-84D8-D0E7EDA72684}.Release|x86.Build.0 = Release|Any CPU - {BEC9794B-D87F-45E5-8E18-CEF847D42F45}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BEC9794B-D87F-45E5-8E18-CEF847D42F45}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BEC9794B-D87F-45E5-8E18-CEF847D42F45}.Debug|x64.ActiveCfg = Debug|Any CPU - {BEC9794B-D87F-45E5-8E18-CEF847D42F45}.Debug|x64.Build.0 = Debug|Any CPU - {BEC9794B-D87F-45E5-8E18-CEF847D42F45}.Debug|x86.ActiveCfg = Debug|Any CPU - {BEC9794B-D87F-45E5-8E18-CEF847D42F45}.Debug|x86.Build.0 = Debug|Any CPU - {BEC9794B-D87F-45E5-8E18-CEF847D42F45}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BEC9794B-D87F-45E5-8E18-CEF847D42F45}.Release|Any CPU.Build.0 = Release|Any CPU - {BEC9794B-D87F-45E5-8E18-CEF847D42F45}.Release|x64.ActiveCfg = Release|Any CPU - {BEC9794B-D87F-45E5-8E18-CEF847D42F45}.Release|x64.Build.0 = Release|Any CPU - {BEC9794B-D87F-45E5-8E18-CEF847D42F45}.Release|x86.ActiveCfg = Release|Any CPU - {BEC9794B-D87F-45E5-8E18-CEF847D42F45}.Release|x86.Build.0 = Release|Any CPU - {D4BA446A-C7D5-427D-B578-B3D01F9300E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D4BA446A-C7D5-427D-B578-B3D01F9300E7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D4BA446A-C7D5-427D-B578-B3D01F9300E7}.Debug|x64.ActiveCfg = Debug|Any CPU - {D4BA446A-C7D5-427D-B578-B3D01F9300E7}.Debug|x64.Build.0 = Debug|Any CPU - {D4BA446A-C7D5-427D-B578-B3D01F9300E7}.Debug|x86.ActiveCfg = Debug|Any CPU - {D4BA446A-C7D5-427D-B578-B3D01F9300E7}.Debug|x86.Build.0 = Debug|Any CPU - {D4BA446A-C7D5-427D-B578-B3D01F9300E7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D4BA446A-C7D5-427D-B578-B3D01F9300E7}.Release|Any CPU.Build.0 = Release|Any CPU - {D4BA446A-C7D5-427D-B578-B3D01F9300E7}.Release|x64.ActiveCfg = Release|Any CPU - {D4BA446A-C7D5-427D-B578-B3D01F9300E7}.Release|x64.Build.0 = Release|Any CPU - {D4BA446A-C7D5-427D-B578-B3D01F9300E7}.Release|x86.ActiveCfg = Release|Any CPU - {D4BA446A-C7D5-427D-B578-B3D01F9300E7}.Release|x86.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {2FECD51B-9A3E-4288-B1EB-F8AF82AF261D} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B} - {2564B049-C699-434A-A8FF-B061AF2B3FA6} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B} - {D03EBE0F-3626-48B8-84D8-D0E7EDA72684} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B} - {BEC9794B-D87F-45E5-8E18-CEF847D42F45} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B} - {D4BA446A-C7D5-427D-B578-B3D01F9300E7} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B} - EndGlobalSection -EndGlobal diff --git a/backend/server.js b/backend/server.js deleted file mode 100644 index c2642fb9a04ee24bba4d3de51b5a087f77b85f36..0000000000000000000000000000000000000000 --- a/backend/server.js +++ /dev/null @@ -1,35 +0,0 @@ -import express from 'express';// 引入 Express 框架 -import jwt from 'jsonwebtoken';// 引入 JWT 模块 -import bodyParser from 'body-parser';// 引入请求体解析 -import axios from 'axios' - -const app = express(); -const port = 3000; - -app.use(bodyParser.json()); // 使用 JSON 格式解析请求体 - -// 秘钥,用于生成和验证 JWT -const secretKey = 'your-secret-key'; - -// 模拟用户数据 -const users = [ - { username: 'admin', password: 'password123' }, -]; - -// 登录接口 - -app.post('/login', async (req, res) => { - const { username, password } = req.body - try { - const { data } = await axios.post('https://your-idp.com/api/validate', { - username, password - }) - - if (!data.valid) return res.status(401).json({ message: '账号或密码错误' }) - - const token = jwt.sign({ username }, 'secret', { expiresIn: '1h' }) - res.json({ token }) - } catch (err) { - res.status(500).json({ message: '验证服务异常' }) - } - }) \ No newline at end of file diff --git a/backend/src/UniversalAdmin.Shared/UniversalAdmin.Shared.csproj b/backend/src/Admin.Domain/Admin.Domain.csproj similarity index 68% rename from backend/src/UniversalAdmin.Shared/UniversalAdmin.Shared.csproj rename to backend/src/Admin.Domain/Admin.Domain.csproj index 71231c90ce03ae1c88555ca4dc3105d54acec3d9..fa71b7ae6a34999a3f96c40d9a0b870b311d11dd 100644 --- a/backend/src/UniversalAdmin.Shared/UniversalAdmin.Shared.csproj +++ b/backend/src/Admin.Domain/Admin.Domain.csproj @@ -1,10 +1,7 @@  - - - - net9.0 + net8.0 enable enable diff --git a/backend/src/UniversalAdmin.Shared/Class1.cs b/backend/src/Admin.Domain/Class1.cs similarity index 41% rename from backend/src/UniversalAdmin.Shared/Class1.cs rename to backend/src/Admin.Domain/Class1.cs index 27c0eeb4b5415dcedceca739c316132901ceae6b..bc68b6f8c8d853cbd6646efdbee2e3a4adf1b65a 100644 --- a/backend/src/UniversalAdmin.Shared/Class1.cs +++ b/backend/src/Admin.Domain/Class1.cs @@ -1,4 +1,4 @@ -namespace UniversalAdmin.Shared; +namespace Admin.Domain; public class Class1 { diff --git a/backend/src/UniversalAdmin.Domain/Common/Events/PageRequest.cs b/backend/src/Admin.Domain/Common/PageRequest.cs similarity index 30% rename from backend/src/UniversalAdmin.Domain/Common/Events/PageRequest.cs rename to backend/src/Admin.Domain/Common/PageRequest.cs index d211a9c9276f6f583b6367c416a6b196fd06bcf9..0822f9c2b09a9637148cefb37f6e1e211ef4c89b 100644 --- a/backend/src/UniversalAdmin.Domain/Common/Events/PageRequest.cs +++ b/backend/src/Admin.Domain/Common/PageRequest.cs @@ -1,8 +1,8 @@ -namespace UniversalAdmin.Domain.common; +namespace Admin.Domain.Common; -public class PageRequest +public class PagedRequest { - public int pageIndex { get; set; } = 1; + public int PageIndex { get; set; } = 1; public int PageSize { get; set; } = 20; - } \ No newline at end of file +} \ No newline at end of file diff --git a/backend/src/UniversalAdmin.Domain/Common/Events/PageResult.cs b/backend/src/Admin.Domain/Common/PageResult.cs similarity index 34% rename from backend/src/UniversalAdmin.Domain/Common/Events/PageResult.cs rename to backend/src/Admin.Domain/Common/PageResult.cs index 040adf8e89d64df54c29c02fca1dba916e788867..dede285209bbf1d6ffe9554e58293e67c4007313 100644 --- a/backend/src/UniversalAdmin.Domain/Common/Events/PageResult.cs +++ b/backend/src/Admin.Domain/Common/PageResult.cs @@ -1,8 +1,7 @@ -namespace UniversalAdmin.Domain.common; +namespace Admin.Domain.Common; - -public class PageResult +public class PagedResult { - public int TotalCunt { get; set; } + public int TotalCount { get; set; } public IEnumerable Items { get; set; } = []; } \ No newline at end of file diff --git a/backend/src/UniversalAdmin.Domain/Entities/App/AppFile.cs b/backend/src/Admin.Domain/Entities/App/AppFile.cs similarity index 95% rename from backend/src/UniversalAdmin.Domain/Entities/App/AppFile.cs rename to backend/src/Admin.Domain/Entities/App/AppFile.cs index f40fc9d6d596ef3f4136901458dda807f2a66f20..26a0577cc498f1ca748bba37a08d47d219bfe21a 100644 --- a/backend/src/UniversalAdmin.Domain/Entities/App/AppFile.cs +++ b/backend/src/Admin.Domain/Entities/App/AppFile.cs @@ -1,4 +1,4 @@ -namespace UniversalAdmin.Domain.Entities; +namespace Admin.Domain.Entities; diff --git a/backend/src/Admin.Domain/Entities/App/AppPemission.cs b/backend/src/Admin.Domain/Entities/App/AppPemission.cs new file mode 100644 index 0000000000000000000000000000000000000000..3f297d9b4ac7634fd64458a84fd08869c7ebd02d --- /dev/null +++ b/backend/src/Admin.Domain/Entities/App/AppPemission.cs @@ -0,0 +1,22 @@ +namespace Admin.Domain.Entities.App; +public class AppPemission : EntityBase +{ + public string Name { get; set; } + + public string Description { get; set; } + public string Code { get; set; } + +#pragma warning disable CS8618 + protected AppPemission() { } + + public AppPemission(string name, string description, string code) + { + + Name = name; + Description = description; + Code = code; + } + + + +} \ No newline at end of file diff --git a/backend/src/UniversalAdmin.Domain/Entities/App/AppRole.cs b/backend/src/Admin.Domain/Entities/App/AppRole.cs similarity index 64% rename from backend/src/UniversalAdmin.Domain/Entities/App/AppRole.cs rename to backend/src/Admin.Domain/Entities/App/AppRole.cs index f991095eaaffb894314a8edaad1e813b902401f2..3e4193dd128ee64b9469a886c2b24d6f454c1c15 100644 --- a/backend/src/UniversalAdmin.Domain/Entities/App/AppRole.cs +++ b/backend/src/Admin.Domain/Entities/App/AppRole.cs @@ -1,5 +1,5 @@ -namespace UniversalAdmin.Domain.Entities.App; +namespace Admin.Domain.Entities.App; @@ -8,8 +8,8 @@ public class AppRole : EntityBase { public string Name { get; set; } - private readonly List _rolePermission = new(); - public IReadOnlyCollection RolePemission => _rolePermission.AsReadOnly(); + private readonly List _rolePermission = new(); + public IReadOnlyCollection RolePemission => _rolePermission.AsReadOnly(); #pragma warning disable CS8618 // 在退出构造函数时,不可为 null 的字段必须包含非 null 值。请考虑添加 "required" 修饰符或声明为可为 null。 @@ -22,15 +22,15 @@ public class AppRole : EntityBase Name = name; } //分配权限 - public void GreantPermission(AppPermission pemission) + public void GreantPermission(AppPemission pemission) { if (_rolePermission.Any(rq => rq.PermissionId == pemission.Id)) return; - _rolePermission.Add(new AppRolePermission(this, pemission)); + _rolePermission.Add(new AppRolePemission(this, pemission)); } //收回权限 - public void RevokePermission(AppPermission appPemission) + public void RevokePermission(AppPemission appPemission) { var rq = _rolePermission.FirstOrDefault(rp => rp.PermissionId == appPemission.Id); if (rq != null) _rolePermission.Remove(rq); @@ -39,6 +39,6 @@ public class AppRole : EntityBase public bool HasPemission(string permissionName) { - return _rolePermission.Any(rp => rp.Permission.Name == permissionName); + return _rolePermission.Any(rp => rp.Pemission.Name == permissionName); } } \ No newline at end of file diff --git a/backend/src/Admin.Domain/Entities/App/AppRolePemission.cs b/backend/src/Admin.Domain/Entities/App/AppRolePemission.cs new file mode 100644 index 0000000000000000000000000000000000000000..6f7e4f96a4252755b49bf759d77f7ff938307dc7 --- /dev/null +++ b/backend/src/Admin.Domain/Entities/App/AppRolePemission.cs @@ -0,0 +1,31 @@ +namespace Admin.Domain.Entities.App; + + + + +public class AppRolePemission : EntityBase +{ + + + + public Guid RoleId { get; private set; } + public AppRole Role { get; private set; } + public Guid PermissionId { get; private set; } + + public AppPemission Pemission { get; private set; } + + + + + protected AppRolePemission() { } + + public AppRolePemission(AppRole role, AppPemission permission) + { + Role = role; + RoleId = role.Id; + + Pemission = permission; + + PermissionId = permission.Id; + } + } \ No newline at end of file diff --git a/backend/src/UniversalAdmin.Domain/Entities/App/AppUser.cs b/backend/src/Admin.Domain/Entities/App/AppUser.cs similarity index 73% rename from backend/src/UniversalAdmin.Domain/Entities/App/AppUser.cs rename to backend/src/Admin.Domain/Entities/App/AppUser.cs index f64a5d803ac9d7dfe8b8e427dd417f18ff5b88bc..b6b9c59477710c455ed4c9efdd9c8cebe127bd77 100644 --- a/backend/src/UniversalAdmin.Domain/Entities/App/AppUser.cs +++ b/backend/src/Admin.Domain/Entities/App/AppUser.cs @@ -1,4 +1,6 @@ -namespace UniversalAdmin.Domain.Entities.App; +using System.Numerics; + +namespace Admin.Domain.Entities.App; @@ -8,29 +10,51 @@ public class AppUser : EntityBase public string UserName { get; private set; } public string Password { get; private set; } public string Salt { get; private set; } - public string? Nickname { get; set; } public string? Avatar { get; set; } public string? Telephone { get; set; } - public string? Email { get; set; } private readonly List _userRoles = new(); public IReadOnlyCollection UserRoles => _userRoles.AsReadOnly(); -#pragma warning disable CS8618 // 在退出构造函数时,不可为 null 的字段必须包含非 null 值。请考虑添加 "required" 修饰符或声明为可为 null。 protected AppUser() { } -#pragma warning restore CS8618 // 在退出构造函数时,不可为 null 的字段必须包含非 null 值。请考虑添加 "required" 修饰符或声明为可为 null。 - public AppUser(string userName, string password, string salt) + public AppUser(string userName, string password, string telephone, string email, string salt) + { + + UserName = userName; + Password = password; + Salt = salt; + Telephone = telephone; + Email = email; + + + + Email = Email; + + + + } + + + + public AppUser(string userName, string password, string email, string salt) + + + { + UserName = userName; + Email = email; + Password = password; Salt = salt; + } diff --git a/backend/src/UniversalAdmin.Domain/Entities/App/AppUserRole.cs b/backend/src/Admin.Domain/Entities/App/AppUserRole.cs similarity index 84% rename from backend/src/UniversalAdmin.Domain/Entities/App/AppUserRole.cs rename to backend/src/Admin.Domain/Entities/App/AppUserRole.cs index 6408a6877652ce05a366c3a027df64fd432d48bf..64a77095b45dcf2d457b90b9abc9496c0087dad3 100644 --- a/backend/src/UniversalAdmin.Domain/Entities/App/AppUserRole.cs +++ b/backend/src/Admin.Domain/Entities/App/AppUserRole.cs @@ -1,5 +1,5 @@ -using UniversalAdmin.Domain.Entities; -namespace UniversalAdmin.Domain.Entities.App; +using Admin.Domain.Entities; +namespace Admin.Domain.Entities.App; diff --git a/backend/src/Admin.Domain/Entities/App/Menu.cs b/backend/src/Admin.Domain/Entities/App/Menu.cs new file mode 100644 index 0000000000000000000000000000000000000000..9c522bef5d697434a8ebdf8d0f662a610b3aa911 --- /dev/null +++ b/backend/src/Admin.Domain/Entities/App/Menu.cs @@ -0,0 +1,63 @@ +using Admin.Domain.Entities; +//聚合根 +public class Menu : EntityBase +{ + public string Name { get; private set; } + public virtual ICollection MenuItems { get; private set; } + + public Menu(string name) + { + Id = Guid.NewGuid(); + Name = name; + MenuItems = new List(); + } +//更新菜单 + public void Update(string name) + { + Name = name; + } +//新增菜单项 + public void AddMenuItem(Menus menuItem) + { + System.Console.WriteLine(123456); + if (MenuItems.Any(m => m.Name != menuItem.Name)) + { + throw new ArgumentException("新增菜单项失败,请查看实体"); + } + MenuItems.Add(menuItem); + } +//移除菜单项 + public void RemoveMenuItem(Menus menuItem) + { + if (!MenuItems.Remove(menuItem)) + { + throw new ArgumentException("移除菜单项失败,请查看实体"); + } + } +//获取菜单项 + public Menus GetMenuItem(Guid id) + { + + return MenuItems.FirstOrDefault(m => m.Id == id); + } +//获取菜单树 + public IEnumerable GetMenuTree() + { + return GetMenuItemsRecursive(MenuItems); + } +//获取菜单树递归 + private IEnumerable GetMenuItemsRecursive(IEnumerable menuItems) + { + foreach (var menuItem in menuItems) + { + yield return menuItem; + if (menuItem.Children.Any()) + { + foreach (var child in GetMenuItemsRecursive(menuItem.Children)) + { + yield return child; + } + } + } + } +} \ No newline at end of file diff --git a/backend/src/Admin.Domain/Entities/App/Menus.cs b/backend/src/Admin.Domain/Entities/App/Menus.cs new file mode 100644 index 0000000000000000000000000000000000000000..8a6e5fdbad849fb1434a379e84822bc4548feefb --- /dev/null +++ b/backend/src/Admin.Domain/Entities/App/Menus.cs @@ -0,0 +1,26 @@ +using Admin.Domain.Entities; + +public class Menus : EntityBase +{ + public string Name { get; private set; } + public string Url { get; private set; } + public Guid? ParentId { get; private set; } + public virtual Menus Parent { get; private set; } + public virtual ICollection Children { get; private set; } +//构造函数,用于初始化菜单项的基本属性。 + public Menus(string name, string url, Guid? parentId = null) + { + Id = Guid.NewGuid(); + Name = name; + Url = url; + ParentId = parentId; + Children = new List(); + } + + public void Update(string name, string url, Guid? parentId) + { + Name = name; + Url = url; + ParentId = parentId; + } +} \ No newline at end of file diff --git a/backend/src/UniversalAdmin.Domain/Entities/EntityBase.cs b/backend/src/Admin.Domain/Entities/EntityBase.cs similarity index 88% rename from backend/src/UniversalAdmin.Domain/Entities/EntityBase.cs rename to backend/src/Admin.Domain/Entities/EntityBase.cs index d3d197d37d301268d423aeb443becff52a0e360a..3fe4622f3e610210541918783ce82af6dda770de 100644 --- a/backend/src/UniversalAdmin.Domain/Entities/EntityBase.cs +++ b/backend/src/Admin.Domain/Entities/EntityBase.cs @@ -1,10 +1,12 @@ +using System.Reflection.Metadata; -namespace UniversalAdmin.Domain.Entities; +namespace Admin.Domain.Entities; public abstract class EntityBase { public Guid Id { get; set; } //分为long int Gui + public bool IsActived { get; set; } = true; public bool IsDeleted { get; set; } = false; diff --git a/backend/src/UniversalAdmin.Domain/Event/FileUploadEvent.cs b/backend/src/Admin.Domain/Event/FileUploadEvent.cs similarity index 92% rename from backend/src/UniversalAdmin.Domain/Event/FileUploadEvent.cs rename to backend/src/Admin.Domain/Event/FileUploadEvent.cs index b0132f938ae5b606e302bfc980bd00436352c6ce..feaf45dffb201140186925c65d02ba3d54d0baef 100644 --- a/backend/src/UniversalAdmin.Domain/Event/FileUploadEvent.cs +++ b/backend/src/Admin.Domain/Event/FileUploadEvent.cs @@ -1,4 +1,4 @@ -namespace UniversalAdmin.Domain.Event; +namespace Admin.Domain.Event; public class FileUploadedEvent : IDomainEvent diff --git a/backend/src/UniversalAdmin.Domain/Event/IDomainEvent.cs b/backend/src/Admin.Domain/Event/IDomainEvent.cs similarity index 63% rename from backend/src/UniversalAdmin.Domain/Event/IDomainEvent.cs rename to backend/src/Admin.Domain/Event/IDomainEvent.cs index 29004d0de16bb9a3010cb1dece369de202eefc0f..4e12300ddae4d5ed06883673a5eac39364ce7b65 100644 --- a/backend/src/UniversalAdmin.Domain/Event/IDomainEvent.cs +++ b/backend/src/Admin.Domain/Event/IDomainEvent.cs @@ -1,4 +1,4 @@ -namespace UniversalAdmin.Domain.Event; +namespace Admin.Domain.Event; public interface IDomainEvent diff --git a/backend/src/Admin.Domain/Repositories/IMenuRepository.cs b/backend/src/Admin.Domain/Repositories/IMenuRepository.cs new file mode 100644 index 0000000000000000000000000000000000000000..6b7545bb13948004ca3ce3b614e8a08626369337 --- /dev/null +++ b/backend/src/Admin.Domain/Repositories/IMenuRepository.cs @@ -0,0 +1,8 @@ +public interface IMenuRepository +{ + Task GetByIdAsync(Guid id); + Task AddAsync(Menu menu); + Task UpdateAsync(Menu menu); + Task DeleteAsync(Menu menu); + +} \ No newline at end of file diff --git a/backend/src/UniversalAdmin.Domain/Repositories/IRepository.cs b/backend/src/Admin.Domain/Repositories/IRepository.cs similarity index 66% rename from backend/src/UniversalAdmin.Domain/Repositories/IRepository.cs rename to backend/src/Admin.Domain/Repositories/IRepository.cs index 657710076b6e52968660b659c9c9927bf1e97ae7..74cc05456fba2914b54ee30262e99ecae60ab541 100644 --- a/backend/src/UniversalAdmin.Domain/Repositories/IRepository.cs +++ b/backend/src/Admin.Domain/Repositories/IRepository.cs @@ -1,6 +1,6 @@ -using UniversalAdmin.Domain.common; +using Admin.Domain.Common; -namespace UniversalAdmin.Domain.Repositories; +namespace Admin.Domain.Entities; public interface IRepository { @@ -9,7 +9,7 @@ public interface IRepository Task> GetAllAsync(); Task GetByIdAsync(Guid id); - Task> GetPageAsync(int pageIndex,int PageSize); + Task> GetPageAsync(int pageIndex,int PageSize); Task CreateAsync(T entity); diff --git a/backend/src/UniversalAdmin.Domain/Repositories/IUserRepository.cs b/backend/src/Admin.Domain/Repositories/IUserRepository.cs similarity index 73% rename from backend/src/UniversalAdmin.Domain/Repositories/IUserRepository.cs rename to backend/src/Admin.Domain/Repositories/IUserRepository.cs index 0ed2e0a00903a9f1d2c42aafb9e55df14b63ad9a..46daf9493c9d8aba6f25bbb9ce897e8ec5deb637 100644 --- a/backend/src/UniversalAdmin.Domain/Repositories/IUserRepository.cs +++ b/backend/src/Admin.Domain/Repositories/IUserRepository.cs @@ -1,5 +1,7 @@ -namespace UniversalAdmin.Domain.Repositories; -//用户抽象仓储接口定义 +using System.Numerics; + +namespace Admin.Domain.Entities; + public interface IUserRepository { //抽象 @@ -18,7 +20,9 @@ public interface IUserRepository Task EnableUser(Guid id); - + // Task SelectUserAsync(string UserName,BigInteger telephone,string Email ); + + diff --git a/backend/src/UniversalAdmin.Infrastructure/UniversalAdmin.Infrastructure.csproj b/backend/src/Admin.Infrastructure/Admin.Infrastructure.csproj similarity index 34% rename from backend/src/UniversalAdmin.Infrastructure/UniversalAdmin.Infrastructure.csproj rename to backend/src/Admin.Infrastructure/Admin.Infrastructure.csproj index 014dab797344f3a0fa5f075476508ea869ca1a61..b3c064fe57f23d8a9a3d653f83788bce3f75badf 100644 --- a/backend/src/UniversalAdmin.Infrastructure/UniversalAdmin.Infrastructure.csproj +++ b/backend/src/Admin.Infrastructure/Admin.Infrastructure.csproj @@ -1,21 +1,23 @@  - - net9.0 - enable - enable - - - - - + + - - + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + net8.0 + enable + enable + diff --git a/backend/src/UniversalAdmin.Domain/Class1.cs b/backend/src/Admin.Infrastructure/Class1.cs similarity index 41% rename from backend/src/UniversalAdmin.Domain/Class1.cs rename to backend/src/Admin.Infrastructure/Class1.cs index e664930996224d63f35cf08d057de15e7beba463..d30c2ae735823c801bd3a5c201091bfd81021a6f 100644 --- a/backend/src/UniversalAdmin.Domain/Class1.cs +++ b/backend/src/Admin.Infrastructure/Class1.cs @@ -1,4 +1,4 @@ -namespace UniversalAdmin.Domain; +namespace Admin.Infrastructure; public class Class1 { diff --git a/backend/src/Admin.Infrastructure/Data/AdminDbContext.cs b/backend/src/Admin.Infrastructure/Data/AdminDbContext.cs new file mode 100644 index 0000000000000000000000000000000000000000..0439dbaff39048f234f7cd3226cfa2b76a52d46c --- /dev/null +++ b/backend/src/Admin.Infrastructure/Data/AdminDbContext.cs @@ -0,0 +1,46 @@ +using Admin.Domain.Entities; +using Admin.Domain.Entities.App; +using Microsoft.EntityFrameworkCore; + +namespace Admin.Infrastructure.Data; + + +public class AdminDbContext : DbContext +{ + public AdminDbContext(DbContextOptions options) : base(options) { } + + + public DbSet AppUser { get; set; } + public DbSet AppRole { get; set; } + + public DbSet AppPemission { get; set; } + public DbSet AppRolePemission { get; set; } + + public DbSet AppUserRole { get; set; } + public DbSet AppFile { get; set; } + + public DbSet Menus { get; set; } + public DbSet Menu { get; set; } + + + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + base.OnModelCreating(modelBuilder); + } + +// protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) +// { +// optionsBuilder +// .UseNpgsql( +// @"Host=www.mingyuy.cn;Port=5432;Database=postgres;Username=postgres;Password= mingyuy.", +// o => o.UseQuerySplittingBehavior(QuerySplittingBehavior.SplitQuery)) +// .LogTo(Console.WriteLine) +// .EnableSensitiveDataLogging(); +// } + + + + + +} \ No newline at end of file diff --git a/backend/src/Admin.Infrastructure/Migrations/20250702230021_oneInit.Designer.cs b/backend/src/Admin.Infrastructure/Migrations/20250702230021_oneInit.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..0b23dce3a6600a46d2bb6a1e57d6419852ded820 --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/20250702230021_oneInit.Designer.cs @@ -0,0 +1,287 @@ +// +using System; +using Admin.Infrastructure.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + [DbContext(typeof(AdminDbContext))] + [Migration("20250702230021_oneInit")] + partial class oneInit + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppPemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppPemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("PermissionId") + .HasColumnType("uuid"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AppRolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Password") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("Salt") + .IsRequired() + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserName") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("AppUser"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.HasIndex("UserId"); + + b.ToTable("AppUserRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany("RolePemission") + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Admin.Domain.Entities.App.AppUser", "User") + .WithMany("UserRoles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Role"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Navigation("RolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Navigation("UserRoles"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/backend/src/UniversalAdmin.Infrastructure/Migrations/20250724091731_InitCreate.cs b/backend/src/Admin.Infrastructure/Migrations/20250702230021_oneInit.cs similarity index 68% rename from backend/src/UniversalAdmin.Infrastructure/Migrations/20250724091731_InitCreate.cs rename to backend/src/Admin.Infrastructure/Migrations/20250702230021_oneInit.cs index f7aa577275c81437e72c6b11e66d993c749ae01f..fe9bea895dd4e9ccd57df72a8e42cce50a2fc10e 100644 --- a/backend/src/UniversalAdmin.Infrastructure/Migrations/20250724091731_InitCreate.cs +++ b/backend/src/Admin.Infrastructure/Migrations/20250702230021_oneInit.cs @@ -3,49 +3,21 @@ using Microsoft.EntityFrameworkCore.Migrations; #nullable disable -namespace UniversalAdmin.Infrastructure.Migrations +namespace Admin.Infrastructure.Migrations { /// - public partial class InitCreate : Migration + public partial class oneInit : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( - name: "AppFile", - columns: table => new - { - Id = table.Column(type: "uuid", nullable: false), - OriginFileName = table.Column(type: "text", nullable: false), - StoredFileName = table.Column(type: "text", nullable: false), - FileExtension = table.Column(type: "text", nullable: false), - ContentType = table.Column(type: "text", nullable: false), - FileSize = table.Column(type: "bigint", nullable: false), - StoragePath = table.Column(type: "text", nullable: false), - UserId = table.Column(type: "uuid", nullable: true), - Code = table.Column(type: "text", nullable: true), - IsActived = table.Column(type: "boolean", nullable: false), - IsDeleted = table.Column(type: "boolean", nullable: false), - CreateAt = table.Column(type: "timestamp with time zone", nullable: false), - UpdateAt = table.Column(type: "timestamp with time zone", nullable: false), - CreateBy = table.Column(type: "uuid", nullable: false), - UPdateBy = table.Column(type: "uuid", nullable: false), - DisplayOrder = table.Column(type: "integer", nullable: false), - Remarks = table.Column(type: "text", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AppFile", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AppPermission", + name: "AppPemission", columns: table => new { Id = table.Column(type: "uuid", nullable: false), Name = table.Column(type: "text", nullable: false), Description = table.Column(type: "text", nullable: false), - Code = table.Column(type: "text", nullable: true), IsActived = table.Column(type: "boolean", nullable: false), IsDeleted = table.Column(type: "boolean", nullable: false), CreateAt = table.Column(type: "timestamp with time zone", nullable: false), @@ -57,7 +29,7 @@ namespace UniversalAdmin.Infrastructure.Migrations }, constraints: table => { - table.PrimaryKey("PK_AppPermission", x => x.Id); + table.PrimaryKey("PK_AppPemission", x => x.Id); }); migrationBuilder.CreateTable( @@ -66,7 +38,6 @@ namespace UniversalAdmin.Infrastructure.Migrations { Id = table.Column(type: "uuid", nullable: false), Name = table.Column(type: "text", nullable: false), - Code = table.Column(type: "text", nullable: true), IsActived = table.Column(type: "boolean", nullable: false), IsDeleted = table.Column(type: "boolean", nullable: false), CreateAt = table.Column(type: "timestamp with time zone", nullable: false), @@ -89,11 +60,6 @@ namespace UniversalAdmin.Infrastructure.Migrations UserName = table.Column(type: "text", nullable: false), Password = table.Column(type: "text", nullable: false), Salt = table.Column(type: "text", nullable: false), - Nickname = table.Column(type: "text", nullable: true), - Avatar = table.Column(type: "text", nullable: true), - Telephone = table.Column(type: "text", nullable: true), - Email = table.Column(type: "text", nullable: true), - Code = table.Column(type: "text", nullable: true), IsActived = table.Column(type: "boolean", nullable: false), IsDeleted = table.Column(type: "boolean", nullable: false), CreateAt = table.Column(type: "timestamp with time zone", nullable: false), @@ -109,13 +75,12 @@ namespace UniversalAdmin.Infrastructure.Migrations }); migrationBuilder.CreateTable( - name: "AppRolePermission", + name: "AppRolePemission", columns: table => new { Id = table.Column(type: "uuid", nullable: false), RoleId = table.Column(type: "uuid", nullable: false), PermissionId = table.Column(type: "uuid", nullable: false), - Code = table.Column(type: "text", nullable: true), IsActived = table.Column(type: "boolean", nullable: false), IsDeleted = table.Column(type: "boolean", nullable: false), CreateAt = table.Column(type: "timestamp with time zone", nullable: false), @@ -127,15 +92,9 @@ namespace UniversalAdmin.Infrastructure.Migrations }, constraints: table => { - table.PrimaryKey("PK_AppRolePermission", x => x.Id); - table.ForeignKey( - name: "FK_AppRolePermission_AppPermission_PermissionId", - column: x => x.PermissionId, - principalTable: "AppPermission", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); + table.PrimaryKey("PK_AppRolePemission", x => x.Id); table.ForeignKey( - name: "FK_AppRolePermission_AppRole_RoleId", + name: "FK_AppRolePemission_AppRole_RoleId", column: x => x.RoleId, principalTable: "AppRole", principalColumn: "Id", @@ -149,7 +108,6 @@ namespace UniversalAdmin.Infrastructure.Migrations Id = table.Column(type: "uuid", nullable: false), UserId = table.Column(type: "uuid", nullable: false), RoleId = table.Column(type: "uuid", nullable: false), - Code = table.Column(type: "text", nullable: true), IsActived = table.Column(type: "boolean", nullable: false), IsDeleted = table.Column(type: "boolean", nullable: false), CreateAt = table.Column(type: "timestamp with time zone", nullable: false), @@ -177,13 +135,8 @@ namespace UniversalAdmin.Infrastructure.Migrations }); migrationBuilder.CreateIndex( - name: "IX_AppRolePermission_PermissionId", - table: "AppRolePermission", - column: "PermissionId"); - - migrationBuilder.CreateIndex( - name: "IX_AppRolePermission_RoleId", - table: "AppRolePermission", + name: "IX_AppRolePemission_RoleId", + table: "AppRolePemission", column: "RoleId"); migrationBuilder.CreateIndex( @@ -201,17 +154,14 @@ namespace UniversalAdmin.Infrastructure.Migrations protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( - name: "AppFile"); + name: "AppPemission"); migrationBuilder.DropTable( - name: "AppRolePermission"); + name: "AppRolePemission"); migrationBuilder.DropTable( name: "AppUserRole"); - migrationBuilder.DropTable( - name: "AppPermission"); - migrationBuilder.DropTable( name: "AppRole"); diff --git a/backend/src/Admin.Infrastructure/Migrations/20250704093001_TwoInit.Designer.cs b/backend/src/Admin.Infrastructure/Migrations/20250704093001_TwoInit.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..bec58a7d28a54a584ecbe104e0752b4b24c03339 --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/20250704093001_TwoInit.Designer.cs @@ -0,0 +1,300 @@ +// +using System; +using Admin.Infrastructure.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + [DbContext(typeof(AdminDbContext))] + [Migration("20250704093001_TwoInit")] + partial class TwoInit + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppPemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppPemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("PemissionId") + .HasColumnType("uuid"); + + b.Property("PermissionId") + .HasColumnType("uuid"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("PemissionId"); + + b.HasIndex("RoleId"); + + b.ToTable("AppRolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Password") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("Salt") + .IsRequired() + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserName") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("AppUser"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.HasIndex("UserId"); + + b.ToTable("AppUserRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.HasOne("Admin.Domain.Entities.App.AppPemission", "Pemission") + .WithMany() + .HasForeignKey("PemissionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany("RolePemission") + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Pemission"); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Admin.Domain.Entities.App.AppUser", "User") + .WithMany("UserRoles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Role"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Navigation("RolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Navigation("UserRoles"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/backend/src/Admin.Infrastructure/Migrations/20250704093001_TwoInit.cs b/backend/src/Admin.Infrastructure/Migrations/20250704093001_TwoInit.cs new file mode 100644 index 0000000000000000000000000000000000000000..7f1a6739a73a20e4451e7ee23270b3580616d4f5 --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/20250704093001_TwoInit.cs @@ -0,0 +1,51 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + /// + public partial class TwoInit : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "PemissionId", + table: "AppRolePemission", + type: "uuid", + nullable: false, + defaultValue: new Guid("00000000-0000-0000-0000-000000000000")); + + migrationBuilder.CreateIndex( + name: "IX_AppRolePemission_PemissionId", + table: "AppRolePemission", + column: "PemissionId"); + + migrationBuilder.AddForeignKey( + name: "FK_AppRolePemission_AppPemission_PemissionId", + table: "AppRolePemission", + column: "PemissionId", + principalTable: "AppPemission", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_AppRolePemission_AppPemission_PemissionId", + table: "AppRolePemission"); + + migrationBuilder.DropIndex( + name: "IX_AppRolePemission_PemissionId", + table: "AppRolePemission"); + + migrationBuilder.DropColumn( + name: "PemissionId", + table: "AppRolePemission"); + } + } +} diff --git a/backend/src/Admin.Infrastructure/Migrations/20250704093046_ThreeInit.Designer.cs b/backend/src/Admin.Infrastructure/Migrations/20250704093046_ThreeInit.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..42a90964335e73576abaaa187def4985e8f87e42 --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/20250704093046_ThreeInit.Designer.cs @@ -0,0 +1,300 @@ +// +using System; +using Admin.Infrastructure.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + [DbContext(typeof(AdminDbContext))] + [Migration("20250704093046_ThreeInit")] + partial class ThreeInit + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppPemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppPemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("PemissionId") + .HasColumnType("uuid"); + + b.Property("PermissionId") + .HasColumnType("uuid"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("PemissionId"); + + b.HasIndex("RoleId"); + + b.ToTable("AppRolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Password") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("Salt") + .IsRequired() + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserName") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("AppUser"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.HasIndex("UserId"); + + b.ToTable("AppUserRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.HasOne("Admin.Domain.Entities.App.AppPemission", "Pemission") + .WithMany() + .HasForeignKey("PemissionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany("RolePemission") + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Pemission"); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Admin.Domain.Entities.App.AppUser", "User") + .WithMany("UserRoles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Role"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Navigation("RolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Navigation("UserRoles"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/backend/src/Admin.Infrastructure/Migrations/20250704093046_ThreeInit.cs b/backend/src/Admin.Infrastructure/Migrations/20250704093046_ThreeInit.cs new file mode 100644 index 0000000000000000000000000000000000000000..4f58a2ae4fdd7dae3ce75a03e1579d01214ad840 --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/20250704093046_ThreeInit.cs @@ -0,0 +1,22 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + /// + public partial class ThreeInit : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + + } + } +} diff --git a/backend/src/Admin.Infrastructure/Migrations/20250710014039_fiveInit.Designer.cs b/backend/src/Admin.Infrastructure/Migrations/20250710014039_fiveInit.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..5346987147d0dc1163365deca290861903be6103 --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/20250710014039_fiveInit.Designer.cs @@ -0,0 +1,312 @@ +// +using System; +using Admin.Infrastructure.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + [DbContext(typeof(AdminDbContext))] + [Migration("20250710014039_fiveInit")] + partial class fiveInit + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppPemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppPemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("PemissionId") + .HasColumnType("uuid"); + + b.Property("PermissionId") + .HasColumnType("uuid"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("PemissionId"); + + b.HasIndex("RoleId"); + + b.ToTable("AppRolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Avatar") + .HasColumnType("text"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("Email") + .HasColumnType("text"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Nickname") + .HasColumnType("text"); + + b.Property("Password") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("Salt") + .IsRequired() + .HasColumnType("text"); + + b.Property("Telephone") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserName") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("AppUser"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.HasIndex("UserId"); + + b.ToTable("AppUserRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.HasOne("Admin.Domain.Entities.App.AppPemission", "Pemission") + .WithMany() + .HasForeignKey("PemissionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany("RolePemission") + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Pemission"); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Admin.Domain.Entities.App.AppUser", "User") + .WithMany("UserRoles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Role"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Navigation("RolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Navigation("UserRoles"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/backend/src/Admin.Infrastructure/Migrations/20250710014039_fiveInit.cs b/backend/src/Admin.Infrastructure/Migrations/20250710014039_fiveInit.cs new file mode 100644 index 0000000000000000000000000000000000000000..8f1a5e2288a612586b462facf44ca1c26ddb8220 --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/20250710014039_fiveInit.cs @@ -0,0 +1,58 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + /// + public partial class fiveInit : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "Avatar", + table: "AppUser", + type: "text", + nullable: true); + + migrationBuilder.AddColumn( + name: "Email", + table: "AppUser", + type: "text", + nullable: true); + + migrationBuilder.AddColumn( + name: "Nickname", + table: "AppUser", + type: "text", + nullable: true); + + migrationBuilder.AddColumn( + name: "Telephone", + table: "AppUser", + type: "text", + nullable: true); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "Avatar", + table: "AppUser"); + + migrationBuilder.DropColumn( + name: "Email", + table: "AppUser"); + + migrationBuilder.DropColumn( + name: "Nickname", + table: "AppUser"); + + migrationBuilder.DropColumn( + name: "Telephone", + table: "AppUser"); + } + } +} diff --git a/backend/src/Admin.Infrastructure/Migrations/20250714031713_sixInit.Designer.cs b/backend/src/Admin.Infrastructure/Migrations/20250714031713_sixInit.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..10ffec9566bf0bee2e29213240f2dd607be3eaf3 --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/20250714031713_sixInit.Designer.cs @@ -0,0 +1,373 @@ +// +using System; +using Admin.Infrastructure.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + [DbContext(typeof(AdminDbContext))] + [Migration("20250714031713_sixInit")] + partial class sixInit + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppPemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppPemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("PemissionId") + .HasColumnType("uuid"); + + b.Property("PermissionId") + .HasColumnType("uuid"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("PemissionId"); + + b.HasIndex("RoleId"); + + b.ToTable("AppRolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Avatar") + .HasColumnType("text"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("Email") + .HasColumnType("text"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Nickname") + .HasColumnType("text"); + + b.Property("Password") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("Salt") + .IsRequired() + .HasColumnType("text"); + + b.Property("Telephone") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserName") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("AppUser"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.HasIndex("UserId"); + + b.ToTable("AppUserRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.AppFile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ContentType") + .IsRequired() + .HasColumnType("text"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("FileExtension") + .IsRequired() + .HasColumnType("text"); + + b.Property("FileSize") + .HasColumnType("bigint"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("OriginFileName") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("StoragePath") + .IsRequired() + .HasColumnType("text"); + + b.Property("StoredFileName") + .IsRequired() + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.ToTable("AppFile"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.HasOne("Admin.Domain.Entities.App.AppPemission", "Pemission") + .WithMany() + .HasForeignKey("PemissionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany("RolePemission") + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Pemission"); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Admin.Domain.Entities.App.AppUser", "User") + .WithMany("UserRoles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Role"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Navigation("RolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Navigation("UserRoles"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/backend/src/Admin.Infrastructure/Migrations/20250714031713_sixInit.cs b/backend/src/Admin.Infrastructure/Migrations/20250714031713_sixInit.cs new file mode 100644 index 0000000000000000000000000000000000000000..635bdb6b9d580eb39ed0584d03c3fe0781e8f21a --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/20250714031713_sixInit.cs @@ -0,0 +1,48 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + /// + public partial class sixInit : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "AppFile", + columns: table => new + { + Id = table.Column(type: "uuid", nullable: false), + OriginFileName = table.Column(type: "text", nullable: false), + StoredFileName = table.Column(type: "text", nullable: false), + FileExtension = table.Column(type: "text", nullable: false), + ContentType = table.Column(type: "text", nullable: false), + FileSize = table.Column(type: "bigint", nullable: false), + StoragePath = table.Column(type: "text", nullable: false), + UserId = table.Column(type: "uuid", nullable: true), + IsActived = table.Column(type: "boolean", nullable: false), + IsDeleted = table.Column(type: "boolean", nullable: false), + CreateAt = table.Column(type: "timestamp with time zone", nullable: false), + UpdateAt = table.Column(type: "timestamp with time zone", nullable: false), + CreateBy = table.Column(type: "uuid", nullable: false), + UPdateBy = table.Column(type: "uuid", nullable: false), + DisplayOrder = table.Column(type: "integer", nullable: false), + Remarks = table.Column(type: "text", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AppFile", x => x.Id); + }); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "AppFile"); + } + } +} diff --git a/backend/src/Admin.Infrastructure/Migrations/20250714080248_sevenInit.Designer.cs b/backend/src/Admin.Infrastructure/Migrations/20250714080248_sevenInit.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..478baee4292a6cf0a8c1052f293fbe5622ed76fc --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/20250714080248_sevenInit.Designer.cs @@ -0,0 +1,376 @@ +// +using System; +using Admin.Infrastructure.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + [DbContext(typeof(AdminDbContext))] + [Migration("20250714080248_sevenInit")] + partial class sevenInit + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppPemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Code") + .HasColumnType("integer"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppPemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("PemissionId") + .HasColumnType("uuid"); + + b.Property("PermissionId") + .HasColumnType("uuid"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("PemissionId"); + + b.HasIndex("RoleId"); + + b.ToTable("AppRolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Avatar") + .HasColumnType("text"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("Email") + .HasColumnType("text"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Nickname") + .HasColumnType("text"); + + b.Property("Password") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("Salt") + .IsRequired() + .HasColumnType("text"); + + b.Property("Telephone") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserName") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("AppUser"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.HasIndex("UserId"); + + b.ToTable("AppUserRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.AppFile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ContentType") + .IsRequired() + .HasColumnType("text"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("FileExtension") + .IsRequired() + .HasColumnType("text"); + + b.Property("FileSize") + .HasColumnType("bigint"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("OriginFileName") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("StoragePath") + .IsRequired() + .HasColumnType("text"); + + b.Property("StoredFileName") + .IsRequired() + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.ToTable("AppFile"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.HasOne("Admin.Domain.Entities.App.AppPemission", "Pemission") + .WithMany() + .HasForeignKey("PemissionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany("RolePemission") + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Pemission"); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Admin.Domain.Entities.App.AppUser", "User") + .WithMany("UserRoles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Role"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Navigation("RolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Navigation("UserRoles"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/backend/src/Admin.Infrastructure/Migrations/20250714080248_sevenInit.cs b/backend/src/Admin.Infrastructure/Migrations/20250714080248_sevenInit.cs new file mode 100644 index 0000000000000000000000000000000000000000..3ff22bc69bad56f2d9d37a6e94ac1be0995eb7dc --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/20250714080248_sevenInit.cs @@ -0,0 +1,29 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + /// + public partial class sevenInit : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "Code", + table: "AppPemission", + type: "integer", + nullable: false, + defaultValue: 0); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "Code", + table: "AppPemission"); + } + } +} diff --git a/backend/src/UniversalAdmin.Infrastructure/Migrations/20250724091731_InitCreate.Designer.cs b/backend/src/Admin.Infrastructure/Migrations/20250714080827_eightInit.Designer.cs similarity index 83% rename from backend/src/UniversalAdmin.Infrastructure/Migrations/20250724091731_InitCreate.Designer.cs rename to backend/src/Admin.Infrastructure/Migrations/20250714080827_eightInit.Designer.cs index 66fe1b069ca4e17912e1fae25ed7a485d2053853..a9e82ce3bd322afa856a8ca0eb5a1e4182ef6bc4 100644 --- a/backend/src/UniversalAdmin.Infrastructure/Migrations/20250724091731_InitCreate.Designer.cs +++ b/backend/src/Admin.Infrastructure/Migrations/20250714080827_eightInit.Designer.cs @@ -1,37 +1,38 @@ // using System; +using Admin.Infrastructure.Data; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; -using UniversalAdmin.Infrastructure.Data; #nullable disable -namespace UniversalAdmin.Infrastructure.Migrations +namespace Admin.Infrastructure.Migrations { - [DbContext(typeof(UniversalDbContext))] - [Migration("20250724091731_InitCreate")] - partial class InitCreate + [DbContext(typeof(AdminDbContext))] + [Migration("20250714080827_eightInit")] + partial class eightInit { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("ProductVersion", "8.0.2") + .HasAnnotation("ProductVersion", "8.0.0") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); - modelBuilder.Entity("UniversalAdmin.Domain.Entities.App.AppPermission", b => + modelBuilder.Entity("Admin.Domain.Entities.App.AppPemission", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Code") + .IsRequired() .HasColumnType("text"); b.Property("CreateAt") @@ -68,18 +69,15 @@ namespace UniversalAdmin.Infrastructure.Migrations b.HasKey("Id"); - b.ToTable("AppPermission"); + b.ToTable("AppPemission"); }); - modelBuilder.Entity("UniversalAdmin.Domain.Entities.App.AppRole", b => + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); - b.Property("Code") - .HasColumnType("text"); - b.Property("CreateAt") .HasColumnType("timestamp with time zone"); @@ -113,15 +111,12 @@ namespace UniversalAdmin.Infrastructure.Migrations b.ToTable("AppRole"); }); - modelBuilder.Entity("UniversalAdmin.Domain.Entities.App.AppRolePermission", b => + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); - b.Property("Code") - .HasColumnType("text"); - b.Property("CreateAt") .HasColumnType("timestamp with time zone"); @@ -137,6 +132,9 @@ namespace UniversalAdmin.Infrastructure.Migrations b.Property("IsDeleted") .HasColumnType("boolean"); + b.Property("PemissionId") + .HasColumnType("uuid"); + b.Property("PermissionId") .HasColumnType("uuid"); @@ -154,14 +152,14 @@ namespace UniversalAdmin.Infrastructure.Migrations b.HasKey("Id"); - b.HasIndex("PermissionId"); + b.HasIndex("PemissionId"); b.HasIndex("RoleId"); - b.ToTable("AppRolePermission"); + b.ToTable("AppRolePemission"); }); - modelBuilder.Entity("UniversalAdmin.Domain.Entities.App.AppUser", b => + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => { b.Property("Id") .ValueGeneratedOnAdd() @@ -170,9 +168,6 @@ namespace UniversalAdmin.Infrastructure.Migrations b.Property("Avatar") .HasColumnType("text"); - b.Property("Code") - .HasColumnType("text"); - b.Property("CreateAt") .HasColumnType("timestamp with time zone"); @@ -223,15 +218,12 @@ namespace UniversalAdmin.Infrastructure.Migrations b.ToTable("AppUser"); }); - modelBuilder.Entity("UniversalAdmin.Domain.Entities.App.AppUserRole", b => + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); - b.Property("Code") - .HasColumnType("text"); - b.Property("CreateAt") .HasColumnType("timestamp with time zone"); @@ -271,15 +263,12 @@ namespace UniversalAdmin.Infrastructure.Migrations b.ToTable("AppUserRole"); }); - modelBuilder.Entity("UniversalAdmin.Domain.Entities.AppFile", b => + modelBuilder.Entity("Admin.Domain.Entities.AppFile", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); - b.Property("Code") - .HasColumnType("text"); - b.Property("ContentType") .IsRequired() .HasColumnType("text"); @@ -335,34 +324,34 @@ namespace UniversalAdmin.Infrastructure.Migrations b.ToTable("AppFile"); }); - modelBuilder.Entity("UniversalAdmin.Domain.Entities.App.AppRolePermission", b => + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => { - b.HasOne("UniversalAdmin.Domain.Entities.App.AppPermission", "Permission") + b.HasOne("Admin.Domain.Entities.App.AppPemission", "Pemission") .WithMany() - .HasForeignKey("PermissionId") + .HasForeignKey("PemissionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.HasOne("UniversalAdmin.Domain.Entities.App.AppRole", "Role") + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") .WithMany("RolePemission") .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.Navigation("Permission"); + b.Navigation("Pemission"); b.Navigation("Role"); }); - modelBuilder.Entity("UniversalAdmin.Domain.Entities.App.AppUserRole", b => + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => { - b.HasOne("UniversalAdmin.Domain.Entities.App.AppRole", "Role") + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") .WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.HasOne("UniversalAdmin.Domain.Entities.App.AppUser", "User") + b.HasOne("Admin.Domain.Entities.App.AppUser", "User") .WithMany("UserRoles") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) @@ -373,12 +362,12 @@ namespace UniversalAdmin.Infrastructure.Migrations b.Navigation("User"); }); - modelBuilder.Entity("UniversalAdmin.Domain.Entities.App.AppRole", b => + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => { b.Navigation("RolePemission"); }); - modelBuilder.Entity("UniversalAdmin.Domain.Entities.App.AppUser", b => + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => { b.Navigation("UserRoles"); }); diff --git a/backend/src/Admin.Infrastructure/Migrations/20250714080827_eightInit.cs b/backend/src/Admin.Infrastructure/Migrations/20250714080827_eightInit.cs new file mode 100644 index 0000000000000000000000000000000000000000..a9c439b448a1248ec40eae6f4a828d4b387c2e45 --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/20250714080827_eightInit.cs @@ -0,0 +1,34 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + /// + public partial class eightInit : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterColumn( + name: "Code", + table: "AppPemission", + type: "text", + nullable: false, + oldClrType: typeof(int), + oldType: "integer"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterColumn( + name: "Code", + table: "AppPemission", + type: "integer", + nullable: false, + oldClrType: typeof(string), + oldType: "text"); + } + } +} diff --git a/backend/src/UniversalAdmin.Infrastructure/Migrations/UniversalDbContextModelSnapshot.cs b/backend/src/Admin.Infrastructure/Migrations/20250722061755_sixttt.Designer.cs similarity index 82% rename from backend/src/UniversalAdmin.Infrastructure/Migrations/UniversalDbContextModelSnapshot.cs rename to backend/src/Admin.Infrastructure/Migrations/20250722061755_sixttt.Designer.cs index 809ee86ee52c2de8ebc660246080ddc71b3e193d..cf439853773dbdbcb6af65a004dec8965d8d40e5 100644 --- a/backend/src/UniversalAdmin.Infrastructure/Migrations/UniversalDbContextModelSnapshot.cs +++ b/backend/src/Admin.Infrastructure/Migrations/20250722061755_sixttt.Designer.cs @@ -1,34 +1,38 @@ // using System; +using Admin.Infrastructure.Data; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; -using UniversalAdmin.Infrastructure.Data; #nullable disable -namespace UniversalAdmin.Infrastructure.Migrations +namespace Admin.Infrastructure.Migrations { - [DbContext(typeof(UniversalDbContext))] - partial class UniversalDbContextModelSnapshot : ModelSnapshot + [DbContext(typeof(AdminDbContext))] + [Migration("20250722061755_sixttt")] + partial class sixttt { - protected override void BuildModel(ModelBuilder modelBuilder) + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("ProductVersion", "8.0.2") + .HasAnnotation("ProductVersion", "8.0.0") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); - modelBuilder.Entity("UniversalAdmin.Domain.Entities.App.AppPermission", b => + modelBuilder.Entity("Admin.Domain.Entities.App.AppPemission", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Code") + .IsRequired() .HasColumnType("text"); b.Property("CreateAt") @@ -65,18 +69,15 @@ namespace UniversalAdmin.Infrastructure.Migrations b.HasKey("Id"); - b.ToTable("AppPermission"); + b.ToTable("AppPemission"); }); - modelBuilder.Entity("UniversalAdmin.Domain.Entities.App.AppRole", b => + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); - b.Property("Code") - .HasColumnType("text"); - b.Property("CreateAt") .HasColumnType("timestamp with time zone"); @@ -110,15 +111,12 @@ namespace UniversalAdmin.Infrastructure.Migrations b.ToTable("AppRole"); }); - modelBuilder.Entity("UniversalAdmin.Domain.Entities.App.AppRolePermission", b => + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); - b.Property("Code") - .HasColumnType("text"); - b.Property("CreateAt") .HasColumnType("timestamp with time zone"); @@ -134,6 +132,9 @@ namespace UniversalAdmin.Infrastructure.Migrations b.Property("IsDeleted") .HasColumnType("boolean"); + b.Property("PemissionId") + .HasColumnType("uuid"); + b.Property("PermissionId") .HasColumnType("uuid"); @@ -151,14 +152,14 @@ namespace UniversalAdmin.Infrastructure.Migrations b.HasKey("Id"); - b.HasIndex("PermissionId"); + b.HasIndex("PemissionId"); b.HasIndex("RoleId"); - b.ToTable("AppRolePermission"); + b.ToTable("AppRolePemission"); }); - modelBuilder.Entity("UniversalAdmin.Domain.Entities.App.AppUser", b => + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => { b.Property("Id") .ValueGeneratedOnAdd() @@ -167,9 +168,6 @@ namespace UniversalAdmin.Infrastructure.Migrations b.Property("Avatar") .HasColumnType("text"); - b.Property("Code") - .HasColumnType("text"); - b.Property("CreateAt") .HasColumnType("timestamp with time zone"); @@ -220,15 +218,12 @@ namespace UniversalAdmin.Infrastructure.Migrations b.ToTable("AppUser"); }); - modelBuilder.Entity("UniversalAdmin.Domain.Entities.App.AppUserRole", b => + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); - b.Property("Code") - .HasColumnType("text"); - b.Property("CreateAt") .HasColumnType("timestamp with time zone"); @@ -268,15 +263,12 @@ namespace UniversalAdmin.Infrastructure.Migrations b.ToTable("AppUserRole"); }); - modelBuilder.Entity("UniversalAdmin.Domain.Entities.AppFile", b => + modelBuilder.Entity("Admin.Domain.Entities.AppFile", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); - b.Property("Code") - .HasColumnType("text"); - b.Property("ContentType") .IsRequired() .HasColumnType("text"); @@ -332,34 +324,34 @@ namespace UniversalAdmin.Infrastructure.Migrations b.ToTable("AppFile"); }); - modelBuilder.Entity("UniversalAdmin.Domain.Entities.App.AppRolePermission", b => + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => { - b.HasOne("UniversalAdmin.Domain.Entities.App.AppPermission", "Permission") + b.HasOne("Admin.Domain.Entities.App.AppPemission", "Pemission") .WithMany() - .HasForeignKey("PermissionId") + .HasForeignKey("PemissionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.HasOne("UniversalAdmin.Domain.Entities.App.AppRole", "Role") + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") .WithMany("RolePemission") .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.Navigation("Permission"); + b.Navigation("Pemission"); b.Navigation("Role"); }); - modelBuilder.Entity("UniversalAdmin.Domain.Entities.App.AppUserRole", b => + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => { - b.HasOne("UniversalAdmin.Domain.Entities.App.AppRole", "Role") + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") .WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.HasOne("UniversalAdmin.Domain.Entities.App.AppUser", "User") + b.HasOne("Admin.Domain.Entities.App.AppUser", "User") .WithMany("UserRoles") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) @@ -370,12 +362,12 @@ namespace UniversalAdmin.Infrastructure.Migrations b.Navigation("User"); }); - modelBuilder.Entity("UniversalAdmin.Domain.Entities.App.AppRole", b => + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => { b.Navigation("RolePemission"); }); - modelBuilder.Entity("UniversalAdmin.Domain.Entities.App.AppUser", b => + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => { b.Navigation("UserRoles"); }); diff --git a/backend/src/Admin.Infrastructure/Migrations/20250722061755_sixttt.cs b/backend/src/Admin.Infrastructure/Migrations/20250722061755_sixttt.cs new file mode 100644 index 0000000000000000000000000000000000000000..81c43040f53fbd32818d6009b3582a16383803ce --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/20250722061755_sixttt.cs @@ -0,0 +1,22 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + /// + public partial class sixttt : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + + } + } +} diff --git a/backend/src/Admin.Infrastructure/Migrations/20250722061830_sixtt.Designer.cs b/backend/src/Admin.Infrastructure/Migrations/20250722061830_sixtt.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..c2d3a61026666b7d643756cf0a78b0684c103f90 --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/20250722061830_sixtt.Designer.cs @@ -0,0 +1,377 @@ +// +using System; +using Admin.Infrastructure.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + [DbContext(typeof(AdminDbContext))] + [Migration("20250722061830_sixtt")] + partial class sixtt + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppPemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Code") + .IsRequired() + .HasColumnType("text"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppPemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("PemissionId") + .HasColumnType("uuid"); + + b.Property("PermissionId") + .HasColumnType("uuid"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("PemissionId"); + + b.HasIndex("RoleId"); + + b.ToTable("AppRolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Avatar") + .HasColumnType("text"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("Email") + .HasColumnType("text"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Nickname") + .HasColumnType("text"); + + b.Property("Password") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("Salt") + .IsRequired() + .HasColumnType("text"); + + b.Property("Telephone") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserName") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("AppUser"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.HasIndex("UserId"); + + b.ToTable("AppUserRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.AppFile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ContentType") + .IsRequired() + .HasColumnType("text"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("FileExtension") + .IsRequired() + .HasColumnType("text"); + + b.Property("FileSize") + .HasColumnType("bigint"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("OriginFileName") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("StoragePath") + .IsRequired() + .HasColumnType("text"); + + b.Property("StoredFileName") + .IsRequired() + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.ToTable("AppFile"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.HasOne("Admin.Domain.Entities.App.AppPemission", "Pemission") + .WithMany() + .HasForeignKey("PemissionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany("RolePemission") + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Pemission"); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Admin.Domain.Entities.App.AppUser", "User") + .WithMany("UserRoles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Role"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Navigation("RolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Navigation("UserRoles"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/backend/src/Admin.Infrastructure/Migrations/20250722061830_sixtt.cs b/backend/src/Admin.Infrastructure/Migrations/20250722061830_sixtt.cs new file mode 100644 index 0000000000000000000000000000000000000000..92d1da637ec72f5f2e16ca99b36ac2d269f92709 --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/20250722061830_sixtt.cs @@ -0,0 +1,22 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + /// + public partial class sixtt : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + + } + } +} diff --git a/backend/src/Admin.Infrastructure/Migrations/20250725072215_menu.Designer.cs b/backend/src/Admin.Infrastructure/Migrations/20250725072215_menu.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..2eed7bdf10f9e35f6699926964aff49b9ee9a19c --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/20250725072215_menu.Designer.cs @@ -0,0 +1,492 @@ +// +using System; +using Admin.Infrastructure.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + [DbContext(typeof(AdminDbContext))] + [Migration("20250725072215_menu")] + partial class menu + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppPemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Code") + .IsRequired() + .HasColumnType("text"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppPemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("PemissionId") + .HasColumnType("uuid"); + + b.Property("PermissionId") + .HasColumnType("uuid"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("PemissionId"); + + b.HasIndex("RoleId"); + + b.ToTable("AppRolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Avatar") + .HasColumnType("text"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("Email") + .HasColumnType("text"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Nickname") + .HasColumnType("text"); + + b.Property("Password") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("Salt") + .IsRequired() + .HasColumnType("text"); + + b.Property("Telephone") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserName") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("AppUser"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.HasIndex("UserId"); + + b.ToTable("AppUserRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.AppFile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ContentType") + .IsRequired() + .HasColumnType("text"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("FileExtension") + .IsRequired() + .HasColumnType("text"); + + b.Property("FileSize") + .HasColumnType("bigint"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("OriginFileName") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("StoragePath") + .IsRequired() + .HasColumnType("text"); + + b.Property("StoredFileName") + .IsRequired() + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.ToTable("AppFile"); + }); + + modelBuilder.Entity("Menu", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("Menu"); + }); + + modelBuilder.Entity("Menus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("MenuId") + .HasColumnType("uuid"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("ParentId") + .HasColumnType("uuid"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Url") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("MenuId"); + + b.HasIndex("ParentId"); + + b.ToTable("Menus"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.HasOne("Admin.Domain.Entities.App.AppPemission", "Pemission") + .WithMany() + .HasForeignKey("PemissionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany("RolePemission") + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Pemission"); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Admin.Domain.Entities.App.AppUser", "User") + .WithMany("UserRoles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Role"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Menus", b => + { + b.HasOne("Menu", null) + .WithMany("MenuItems") + .HasForeignKey("MenuId"); + + b.HasOne("Menus", "Parent") + .WithMany("Children") + .HasForeignKey("ParentId"); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Navigation("RolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Navigation("UserRoles"); + }); + + modelBuilder.Entity("Menu", b => + { + b.Navigation("MenuItems"); + }); + + modelBuilder.Entity("Menus", b => + { + b.Navigation("Children"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/backend/src/Admin.Infrastructure/Migrations/20250725072215_menu.cs b/backend/src/Admin.Infrastructure/Migrations/20250725072215_menu.cs new file mode 100644 index 0000000000000000000000000000000000000000..2815a0c47b0a55143a9080094d873f18d93869ec --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/20250725072215_menu.cs @@ -0,0 +1,88 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + /// + public partial class menu : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "Menu", + columns: table => new + { + Id = table.Column(type: "uuid", nullable: false), + Name = table.Column(type: "text", nullable: false), + IsActived = table.Column(type: "boolean", nullable: false), + IsDeleted = table.Column(type: "boolean", nullable: false), + CreateAt = table.Column(type: "timestamp with time zone", nullable: false), + UpdateAt = table.Column(type: "timestamp with time zone", nullable: false), + CreateBy = table.Column(type: "uuid", nullable: false), + UPdateBy = table.Column(type: "uuid", nullable: false), + DisplayOrder = table.Column(type: "integer", nullable: false), + Remarks = table.Column(type: "text", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Menu", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Menus", + columns: table => new + { + Id = table.Column(type: "uuid", nullable: false), + Name = table.Column(type: "text", nullable: false), + Url = table.Column(type: "text", nullable: false), + ParentId = table.Column(type: "uuid", nullable: true), + MenuId = table.Column(type: "uuid", nullable: true), + IsActived = table.Column(type: "boolean", nullable: false), + IsDeleted = table.Column(type: "boolean", nullable: false), + CreateAt = table.Column(type: "timestamp with time zone", nullable: false), + UpdateAt = table.Column(type: "timestamp with time zone", nullable: false), + CreateBy = table.Column(type: "uuid", nullable: false), + UPdateBy = table.Column(type: "uuid", nullable: false), + DisplayOrder = table.Column(type: "integer", nullable: false), + Remarks = table.Column(type: "text", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Menus", x => x.Id); + table.ForeignKey( + name: "FK_Menus_Menu_MenuId", + column: x => x.MenuId, + principalTable: "Menu", + principalColumn: "Id"); + table.ForeignKey( + name: "FK_Menus_Menus_ParentId", + column: x => x.ParentId, + principalTable: "Menus", + principalColumn: "Id"); + }); + + migrationBuilder.CreateIndex( + name: "IX_Menus_MenuId", + table: "Menus", + column: "MenuId"); + + migrationBuilder.CreateIndex( + name: "IX_Menus_ParentId", + table: "Menus", + column: "ParentId"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "Menus"); + + migrationBuilder.DropTable( + name: "Menu"); + } + } +} diff --git a/backend/src/Admin.Infrastructure/Migrations/20250728061536_menu1.Designer.cs b/backend/src/Admin.Infrastructure/Migrations/20250728061536_menu1.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..72596a9fec0e032d237c03108e90063d978501f2 --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/20250728061536_menu1.Designer.cs @@ -0,0 +1,492 @@ +// +using System; +using Admin.Infrastructure.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + [DbContext(typeof(AdminDbContext))] + [Migration("20250728061536_menu1")] + partial class menu1 + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppPemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Code") + .IsRequired() + .HasColumnType("text"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppPemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("PemissionId") + .HasColumnType("uuid"); + + b.Property("PermissionId") + .HasColumnType("uuid"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("PemissionId"); + + b.HasIndex("RoleId"); + + b.ToTable("AppRolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Avatar") + .HasColumnType("text"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("Email") + .HasColumnType("text"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Nickname") + .HasColumnType("text"); + + b.Property("Password") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("Salt") + .IsRequired() + .HasColumnType("text"); + + b.Property("Telephone") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserName") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("AppUser"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.HasIndex("UserId"); + + b.ToTable("AppUserRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.AppFile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ContentType") + .IsRequired() + .HasColumnType("text"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("FileExtension") + .IsRequired() + .HasColumnType("text"); + + b.Property("FileSize") + .HasColumnType("bigint"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("OriginFileName") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("StoragePath") + .IsRequired() + .HasColumnType("text"); + + b.Property("StoredFileName") + .IsRequired() + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.ToTable("AppFile"); + }); + + modelBuilder.Entity("Menu", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("Menu"); + }); + + modelBuilder.Entity("Menus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("MenuId") + .HasColumnType("uuid"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("ParentId") + .HasColumnType("uuid"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Url") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("MenuId"); + + b.HasIndex("ParentId"); + + b.ToTable("Menus"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.HasOne("Admin.Domain.Entities.App.AppPemission", "Pemission") + .WithMany() + .HasForeignKey("PemissionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany("RolePemission") + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Pemission"); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Admin.Domain.Entities.App.AppUser", "User") + .WithMany("UserRoles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Role"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Menus", b => + { + b.HasOne("Menu", null) + .WithMany("MenuItems") + .HasForeignKey("MenuId"); + + b.HasOne("Menus", "Parent") + .WithMany("Children") + .HasForeignKey("ParentId"); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Navigation("RolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Navigation("UserRoles"); + }); + + modelBuilder.Entity("Menu", b => + { + b.Navigation("MenuItems"); + }); + + modelBuilder.Entity("Menus", b => + { + b.Navigation("Children"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/backend/src/Admin.Infrastructure/Migrations/20250728061536_menu1.cs b/backend/src/Admin.Infrastructure/Migrations/20250728061536_menu1.cs new file mode 100644 index 0000000000000000000000000000000000000000..24ab0f589b81e80de6bb59bdaf43237dc04dcfd7 --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/20250728061536_menu1.cs @@ -0,0 +1,22 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + /// + public partial class menu1 : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + + } + } +} diff --git a/backend/src/Admin.Infrastructure/Migrations/20250728064450_menu2.Designer.cs b/backend/src/Admin.Infrastructure/Migrations/20250728064450_menu2.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..bab1584ae1e14346eeaeb4d351b469b59eb22c2c --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/20250728064450_menu2.Designer.cs @@ -0,0 +1,492 @@ +// +using System; +using Admin.Infrastructure.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + [DbContext(typeof(AdminDbContext))] + [Migration("20250728064450_menu2")] + partial class menu2 + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppPemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Code") + .IsRequired() + .HasColumnType("text"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppPemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("PemissionId") + .HasColumnType("uuid"); + + b.Property("PermissionId") + .HasColumnType("uuid"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("PemissionId"); + + b.HasIndex("RoleId"); + + b.ToTable("AppRolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Avatar") + .HasColumnType("text"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("Email") + .HasColumnType("text"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Nickname") + .HasColumnType("text"); + + b.Property("Password") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("Salt") + .IsRequired() + .HasColumnType("text"); + + b.Property("Telephone") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserName") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("AppUser"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.HasIndex("UserId"); + + b.ToTable("AppUserRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.AppFile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ContentType") + .IsRequired() + .HasColumnType("text"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("FileExtension") + .IsRequired() + .HasColumnType("text"); + + b.Property("FileSize") + .HasColumnType("bigint"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("OriginFileName") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("StoragePath") + .IsRequired() + .HasColumnType("text"); + + b.Property("StoredFileName") + .IsRequired() + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.ToTable("AppFile"); + }); + + modelBuilder.Entity("Menu", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("Menu"); + }); + + modelBuilder.Entity("Menus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("MenuId") + .HasColumnType("uuid"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("ParentId") + .HasColumnType("uuid"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Url") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("MenuId"); + + b.HasIndex("ParentId"); + + b.ToTable("Menus"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.HasOne("Admin.Domain.Entities.App.AppPemission", "Pemission") + .WithMany() + .HasForeignKey("PemissionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany("RolePemission") + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Pemission"); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Admin.Domain.Entities.App.AppUser", "User") + .WithMany("UserRoles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Role"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Menus", b => + { + b.HasOne("Menu", null) + .WithMany("MenuItems") + .HasForeignKey("MenuId"); + + b.HasOne("Menus", "Parent") + .WithMany("Children") + .HasForeignKey("ParentId"); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Navigation("RolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Navigation("UserRoles"); + }); + + modelBuilder.Entity("Menu", b => + { + b.Navigation("MenuItems"); + }); + + modelBuilder.Entity("Menus", b => + { + b.Navigation("Children"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/backend/src/Admin.Infrastructure/Migrations/20250728064450_menu2.cs b/backend/src/Admin.Infrastructure/Migrations/20250728064450_menu2.cs new file mode 100644 index 0000000000000000000000000000000000000000..f968e5997322d9a368d692eec9e13519718d5d42 --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/20250728064450_menu2.cs @@ -0,0 +1,22 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + /// + public partial class menu2 : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + + } + } +} diff --git a/backend/src/Admin.Infrastructure/Migrations/20250728064643_menu3.Designer.cs b/backend/src/Admin.Infrastructure/Migrations/20250728064643_menu3.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..b5100d988d61f65ece3207353fd2be5c7567a2e2 --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/20250728064643_menu3.Designer.cs @@ -0,0 +1,492 @@ +// +using System; +using Admin.Infrastructure.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + [DbContext(typeof(AdminDbContext))] + [Migration("20250728064643_menu3")] + partial class menu3 + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppPemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Code") + .IsRequired() + .HasColumnType("text"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppPemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("PemissionId") + .HasColumnType("uuid"); + + b.Property("PermissionId") + .HasColumnType("uuid"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("PemissionId"); + + b.HasIndex("RoleId"); + + b.ToTable("AppRolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Avatar") + .HasColumnType("text"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("Email") + .HasColumnType("text"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Nickname") + .HasColumnType("text"); + + b.Property("Password") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("Salt") + .IsRequired() + .HasColumnType("text"); + + b.Property("Telephone") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserName") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("AppUser"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.HasIndex("UserId"); + + b.ToTable("AppUserRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.AppFile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ContentType") + .IsRequired() + .HasColumnType("text"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("FileExtension") + .IsRequired() + .HasColumnType("text"); + + b.Property("FileSize") + .HasColumnType("bigint"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("OriginFileName") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("StoragePath") + .IsRequired() + .HasColumnType("text"); + + b.Property("StoredFileName") + .IsRequired() + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.ToTable("AppFile"); + }); + + modelBuilder.Entity("Menu", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("Menu"); + }); + + modelBuilder.Entity("Menus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("MenuId") + .HasColumnType("uuid"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("ParentId") + .HasColumnType("uuid"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Url") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("MenuId"); + + b.HasIndex("ParentId"); + + b.ToTable("Menus"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.HasOne("Admin.Domain.Entities.App.AppPemission", "Pemission") + .WithMany() + .HasForeignKey("PemissionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany("RolePemission") + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Pemission"); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Admin.Domain.Entities.App.AppUser", "User") + .WithMany("UserRoles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Role"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Menus", b => + { + b.HasOne("Menu", null) + .WithMany("MenuItems") + .HasForeignKey("MenuId"); + + b.HasOne("Menus", "Parent") + .WithMany("Children") + .HasForeignKey("ParentId"); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Navigation("RolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Navigation("UserRoles"); + }); + + modelBuilder.Entity("Menu", b => + { + b.Navigation("MenuItems"); + }); + + modelBuilder.Entity("Menus", b => + { + b.Navigation("Children"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/backend/src/Admin.Infrastructure/Migrations/20250728064643_menu3.cs b/backend/src/Admin.Infrastructure/Migrations/20250728064643_menu3.cs new file mode 100644 index 0000000000000000000000000000000000000000..badefa78171d8d07d5b13905a1cc2e1d730af365 --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/20250728064643_menu3.cs @@ -0,0 +1,22 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + /// + public partial class menu3 : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + + } + } +} diff --git a/backend/src/Admin.Infrastructure/Migrations/AdminDbContextModelSnapshot.cs b/backend/src/Admin.Infrastructure/Migrations/AdminDbContextModelSnapshot.cs new file mode 100644 index 0000000000000000000000000000000000000000..c664beb10ef1e761f735db25d994dce3defd0fcf --- /dev/null +++ b/backend/src/Admin.Infrastructure/Migrations/AdminDbContextModelSnapshot.cs @@ -0,0 +1,489 @@ +// +using System; +using Admin.Infrastructure.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace Admin.Infrastructure.Migrations +{ + [DbContext(typeof(AdminDbContext))] + partial class AdminDbContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppPemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Code") + .IsRequired() + .HasColumnType("text"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppPemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("AppRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("PemissionId") + .HasColumnType("uuid"); + + b.Property("PermissionId") + .HasColumnType("uuid"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("PemissionId"); + + b.HasIndex("RoleId"); + + b.ToTable("AppRolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Avatar") + .HasColumnType("text"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("Email") + .HasColumnType("text"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Nickname") + .HasColumnType("text"); + + b.Property("Password") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("Salt") + .IsRequired() + .HasColumnType("text"); + + b.Property("Telephone") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserName") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("AppUser"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.HasIndex("UserId"); + + b.ToTable("AppUserRole"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.AppFile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ContentType") + .IsRequired() + .HasColumnType("text"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("FileExtension") + .IsRequired() + .HasColumnType("text"); + + b.Property("FileSize") + .HasColumnType("bigint"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("OriginFileName") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("StoragePath") + .IsRequired() + .HasColumnType("text"); + + b.Property("StoredFileName") + .IsRequired() + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.ToTable("AppFile"); + }); + + modelBuilder.Entity("Menu", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("Menu"); + }); + + modelBuilder.Entity("Menus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CreateBy") + .HasColumnType("uuid"); + + b.Property("DisplayOrder") + .HasColumnType("integer"); + + b.Property("IsActived") + .HasColumnType("boolean"); + + b.Property("IsDeleted") + .HasColumnType("boolean"); + + b.Property("MenuId") + .HasColumnType("uuid"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("ParentId") + .HasColumnType("uuid"); + + b.Property("Remarks") + .HasColumnType("text"); + + b.Property("UPdateBy") + .HasColumnType("uuid"); + + b.Property("UpdateAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Url") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("MenuId"); + + b.HasIndex("ParentId"); + + b.ToTable("Menus"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRolePemission", b => + { + b.HasOne("Admin.Domain.Entities.App.AppPemission", "Pemission") + .WithMany() + .HasForeignKey("PemissionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany("RolePemission") + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Pemission"); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUserRole", b => + { + b.HasOne("Admin.Domain.Entities.App.AppRole", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Admin.Domain.Entities.App.AppUser", "User") + .WithMany("UserRoles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Role"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Menus", b => + { + b.HasOne("Menu", null) + .WithMany("MenuItems") + .HasForeignKey("MenuId"); + + b.HasOne("Menus", "Parent") + .WithMany("Children") + .HasForeignKey("ParentId"); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppRole", b => + { + b.Navigation("RolePemission"); + }); + + modelBuilder.Entity("Admin.Domain.Entities.App.AppUser", b => + { + b.Navigation("UserRoles"); + }); + + modelBuilder.Entity("Menu", b => + { + b.Navigation("MenuItems"); + }); + + modelBuilder.Entity("Menus", b => + { + b.Navigation("Children"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/backend/src/Admin.Infrastructure/Repositories/EMenuRepository.cs b/backend/src/Admin.Infrastructure/Repositories/EMenuRepository.cs new file mode 100644 index 0000000000000000000000000000000000000000..89e1ece7a653b0eea0b8df8d852af8c4c7dfab02 --- /dev/null +++ b/backend/src/Admin.Infrastructure/Repositories/EMenuRepository.cs @@ -0,0 +1,39 @@ +using Admin.Infrastructure.Data; +using Microsoft.EntityFrameworkCore; + +public class MenuRepository : IMenuRepository +{ + private readonly AdminDbContext _context; + + public MenuRepository(AdminDbContext context) + { + _context = context; + } + + public async Task GetByIdAsync(Guid id) + { + System.Console.WriteLine(id); + System.Console.WriteLine( await _context.Set().Include(m => m.MenuItems).ThenInclude(MI=>MI.Children).FirstOrDefaultAsync(m=>m.Id == id)); + return await _context.Set().Include(m => m.MenuItems) + .ThenInclude(mi => mi.Children).AsSplitQuery() + .FirstOrDefaultAsync(m => m.Id == id); + } + + public async Task AddAsync(Menu menu) + { + await _context.Set().AddAsync(menu); + await _context.SaveChangesAsync(); + } + + public async Task UpdateAsync(Menu menu) + { + _context.Set().Update(menu); + await _context.SaveChangesAsync(); + } + + public async Task DeleteAsync(Menu menu) + { + _context.Set().Remove(menu); + await _context.SaveChangesAsync(); + } +} \ No newline at end of file diff --git a/backend/src/Admin.Infrastructure/Repositories/EUserRepositry.cs b/backend/src/Admin.Infrastructure/Repositories/EUserRepositry.cs new file mode 100644 index 0000000000000000000000000000000000000000..4ca6e0025a3654537a1467b5c2cdc37e052f7016 --- /dev/null +++ b/backend/src/Admin.Infrastructure/Repositories/EUserRepositry.cs @@ -0,0 +1,38 @@ +using System.Numerics; +using Admin.Domain.Entities; + +namespace Admin.Infrastructure.Repositories; + + +public class EUserRepository : IUserRepository where T : EntityBase +{ + public Task ChangePasswordAsync(string NewPassword) + { + throw new NotImplementedException(); + } + + public Task CreateUserASync(string UserName, string Password) + { + throw new NotImplementedException(); + } + + public Task EnableUser(Guid id) + { + throw new NotImplementedException(); + } + + public Task GEtUserByIdAsync(Guid id) + { + throw new NotImplementedException(); + } + + public Task RemoveRoleAsync(Guid id) + { + throw new NotImplementedException(); + } + + // public Task SelectUserAsync(string UserName, BigInteger telephone, string Email) + // { + // throw new NotImplementedException(); + // } +} \ No newline at end of file diff --git a/backend/src/UniversalAdmin.Infrastructure/Repositories/EfRepository.cs b/backend/src/Admin.Infrastructure/Repositories/EfRepository.cs similarity index 53% rename from backend/src/UniversalAdmin.Infrastructure/Repositories/EfRepository.cs rename to backend/src/Admin.Infrastructure/Repositories/EfRepository.cs index 00ec382e67a78eccf4d3f468c056b7c5232932a0..2934c0d21b8cc601deeae7b49e11aceb30a4c639 100644 --- a/backend/src/UniversalAdmin.Infrastructure/Repositories/EfRepository.cs +++ b/backend/src/Admin.Infrastructure/Repositories/EfRepository.cs @@ -1,73 +1,62 @@ +using Admin.Domain.Common; +using Admin.Domain.Entities; +using Admin.Infrastructure.Data; +using Microsoft.EntityFrameworkCore; + +namespace Admin.Infrastructure.Repositories; -using Microsoft.EntityFrameworkCore; -using UniversalAdmin.Domain.common; -using UniversalAdmin.Domain.Entities; -using UniversalAdmin.Infrastructure.Data; -namespace UniversalAdmin.Domain.Repositories; -/// -/// 实现通用仓储接口-EFCore -/// -/// public class EfRepository : IRepository where T : EntityBase { - private readonly UniversalDbContext _db; + + + private readonly AdminDbContext _db; private readonly DbSet _tb; - public EfRepository(UniversalDbContext db) + public EfRepository(AdminDbContext db) { _db = db; _tb = _db.Set(); } - public async Task CreateAsync(T entity) { var obj = await _tb.AddAsync(entity); + await _db.SaveChangesAsync(); return obj.Entity; } public async Task DeleteAsync(T entity) { - // 硬删除 - // _tb.Remove(entity); - // await _db.SaveChangesAsync(); - - // 软删除 entity.IsDeleted = true; await UpdateAsync(entity); + + + } - public async Task DeleteAsync(Guid id) + public async Task DeleteASyncId(Guid id) { var obj = await GetByIdAsync(id); if (obj == null) { return; } - await DeleteAsync(obj); - } - public Task DeleteASyncId(Guid id) - { - throw new NotImplementedException(); - } - public Task DeleteHardaAsync(Guid id) - { - throw new NotImplementedException(); + await DeleteAsync(obj); } - public async Task DeleteHardAsync(Guid id) + public async Task DeleteHardaAsync(Guid id) { - // 硬删除 var obj = await GetByIdAsync(id); if (obj == null) { return; + } _tb.Remove(obj); await _db.SaveChangesAsync(); @@ -75,7 +64,7 @@ public class EfRepository : IRepository where T : EntityBase public async Task> GetAllAsync() { - var list = await _tb.AsNoTracking().Where(x => x.IsDeleted == false).ToListAsync(); + var list = await _tb.AsNoTracking().ToListAsync(); return list; } @@ -85,30 +74,27 @@ public class EfRepository : IRepository where T : EntityBase return obj; } - public Task> GetPageAsync(int pageIndex, int PageSize) - { - throw new NotImplementedException(); - } - - public async Task> GetPagedAsync(int pageIndex, int pageSize) + public async Task> GetPageAsync(int pageIndex, int PageSize) { + var list = await _tb.AsNoTracking() .Where(x => x.IsDeleted == false) - .Skip((pageIndex - 1) * pageSize) - .Take(pageSize) + .Skip((pageIndex - 1) * PageSize) + .Take(PageSize) .ToListAsync(); var count = await _tb.CountAsync(); - var pagedResult = new PageResult { Items = list, TotalCunt = count }; + var pagedResult = new PagedResult { Items = list, TotalCount = count }; return pagedResult; - } + } public async Task UpdateAsync(T entity) { entity.UpdateAt = DateTime.UtcNow; _tb.Update(entity); + await _db.SaveChangesAsync(); } } \ No newline at end of file diff --git a/backend/src/UniversalAdmin.Infrastructure/Services/PasswordHasher.cs b/backend/src/Admin.Infrastructure/Security/PasswordHasher.cs similarity index 52% rename from backend/src/UniversalAdmin.Infrastructure/Services/PasswordHasher.cs rename to backend/src/Admin.Infrastructure/Security/PasswordHasher.cs index da062d1a4d54280787e3306cf69d7ac1ba47de95..f716eb55cb7c0c2bdeb6339b0f776e72305a583d 100644 --- a/backend/src/UniversalAdmin.Infrastructure/Services/PasswordHasher.cs +++ b/backend/src/Admin.Infrastructure/Security/PasswordHasher.cs @@ -1,9 +1,9 @@ -using UniversalAdmin.Application.Common.Interfaces; -using BCrypt.Net; +using Admin.application.conmon.Interface; -namespace UniversalAdmin.Infrastructure.Security; +namespace Admin.Infrastructure.Security; -public class PasswordHasher : IPasswordHasher + +public class passwordHasher : IPasswordHasher { public string GenerateSalt() { @@ -15,8 +15,8 @@ public class PasswordHasher : IPasswordHasher return BCrypt.Net.BCrypt.HashPassword(password + salt); } - public bool VerifyHashedPassword(string hashedPassword, string salt, string providedPassword) + public bool VerifHashePassword(string hashPassword, string salt, string providedPassword) { - return BCrypt.Net.BCrypt.Verify(providedPassword + salt, hashedPassword); + return BCrypt.Net.BCrypt.Verify(providedPassword + salt, hashPassword); } -} +} \ No newline at end of file diff --git a/backend/src/UniversalAdmin.Infrastructure/ServiceCollectionExtensions.cs b/backend/src/Admin.Infrastructure/ServiceCollectionExtensions.cs similarity index 50% rename from backend/src/UniversalAdmin.Infrastructure/ServiceCollectionExtensions.cs rename to backend/src/Admin.Infrastructure/ServiceCollectionExtensions.cs index e8139d8904831bc9521c3b24949d571dade11885..41db1d0a1e4e33f7ffb41827a59c876a40b0dcf4 100644 --- a/backend/src/UniversalAdmin.Infrastructure/ServiceCollectionExtensions.cs +++ b/backend/src/Admin.Infrastructure/ServiceCollectionExtensions.cs @@ -1,32 +1,35 @@ -using UniversalAdmin.Application.Common.Interfaces; -using UniversalAdmin.Domain.Repositories; -using UniversalAdmin.Infrastructure.Data; +using Admin.application.conmon.Interface; +using Admin.application.Service; +using Admin.Domain.Entities; +using Admin.Infrastructure.Data; +using Admin.Infrastructure.Repositories; +using Admin.Infrastructure.Security; +using Admin.Infrastructure.Token; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; -using System.Reflection; -using UniversalAdmin.Domain.Entities; -using UniversalAdmin.Infrastructure.Security; -using UniversalAdmin.Infrastructure.Token; -using UniversalAdmin.application.conmon.Interface; + +namespace Admin.Infrastructure; + -namespace UniversalAdmin.Infrastructure; public static class ServiceConllectionExtensions { public static IServiceCollection AddINfrastructure(this IServiceCollection services, IConfiguration configuration) { - services.AddDbContext(options => options.UseNpgsql(configuration.GetConnectionString("pgsql"))); + services.AddDbContext(options => options.UseNpgsql(configuration.GetConnectionString("pgsql"))); services.AddScoped(typeof(IRepository<>), typeof(EfRepository<>)); - services.AddScoped(typeof(IPasswordHasher), typeof(PasswordHasher)); + services.AddScoped(typeof(IPasswordHasher), typeof(passwordHasher)); + services.AddScoped(typeof(IMenuRepository), typeof(MenuRepository)); services.AddSingleton(); + // services.AddScoped (); - - + + return services; } diff --git a/backend/src/UniversalAdmin.Infrastructure/Token/JwtTokenGenerator.cs b/backend/src/Admin.Infrastructure/Token/JwtTokenGenerator.cs similarity index 93% rename from backend/src/UniversalAdmin.Infrastructure/Token/JwtTokenGenerator.cs rename to backend/src/Admin.Infrastructure/Token/JwtTokenGenerator.cs index 3610f4ec6f26cba3fef773501b422136a60285f0..945579981acc5688cb60e90dbf4deb1ef4e0b63c 100644 --- a/backend/src/UniversalAdmin.Infrastructure/Token/JwtTokenGenerator.cs +++ b/backend/src/Admin.Infrastructure/Token/JwtTokenGenerator.cs @@ -1,11 +1,11 @@ using System.IdentityModel.Tokens.Jwt; using System.Security.Claims; using System.Text; +using Admin.application.conmon.Interface; using Microsoft.Extensions.Configuration; using Microsoft.IdentityModel.Tokens; -using UniversalAdmin.application.conmon.Interface; -namespace UniversalAdmin.Infrastructure.Token; +namespace Admin.Infrastructure.Token; public class JwtTokenGeneerator : IJwtTokenGererator diff --git a/backend/src/UniversalAdmin.Api/UniversalAdmin.Api.csproj b/backend/src/Admin.api/Admin.api.csproj similarity index 57% rename from backend/src/UniversalAdmin.Api/UniversalAdmin.Api.csproj rename to backend/src/Admin.api/Admin.api.csproj index e1b05ef9085caa70651ce618cfb3b56d4b2ec2a3..9ca2198b6532719996b093e0fe63a36b3275f9a1 100644 --- a/backend/src/UniversalAdmin.Api/UniversalAdmin.Api.csproj +++ b/backend/src/Admin.api/Admin.api.csproj @@ -1,28 +1,25 @@ - net9.0 + net8.0 enable enable - false - - - - + + + runtime; build; native; contentfiles; analyzers; buildtransitive all - - + + - - - + + diff --git a/backend/src/Admin.api/Admin.api.http b/backend/src/Admin.api/Admin.api.http new file mode 100644 index 0000000000000000000000000000000000000000..0d264da46d040548a77ff80efe54a6ed27c78ce2 --- /dev/null +++ b/backend/src/Admin.api/Admin.api.http @@ -0,0 +1,203 @@ +@url = http://localhost:5106 +### 注册,测试成功 +post {{url}}/api/auth/register +Content-Type: application/json + +{ + "username":"1234123111", + "password":"1234711111", + "email": "15262325056132@123.com" +} + +### 登录,登录成功 +post {{url}}/api/auth/login +Content-Type: application/json + +{ + "username":"1234123111", + "password":"1234711111" +} + + + +### 删除 +DELETE {{url}}/api/auth/delete +Content-Type: application/json + +{ + "username": "12370123" +} + +########### 用户 +### 用户注册/添加用户,测试成功 +post {{url}}/api/user +Content-Type: application/json + +{ + "username":"1231113411", + "password":"1231471", + "telephone": "13265643147", + "email": "15262325056132@123.com" +} + +### 用户修改密码 +put {{url}}/api/user/6bf638df-b89e-4543-aa57-9460942a9f3d/password +Content-Type: application/json + +{ + + "newPassword":"12347123" +} +//查询单个用户 +### +get {{url}}/api/user/6bf638df-b89e-4543-aa57-9460942a9f3d HTTP/1.1 +Content-Type: application/json +//查询所有用户 +### +get {{url}}/api/user HTTP/1.1 +Content-Type: application/json + + +### 移除用户权限 +put {{url}}/api/user/6bf638df-b89e-4543-aa57-9460942a9f3d/remove-role +Content-Type: application/json + +{ + "permissionId":"123471231111" +} +### 修改用户权限 +put {{url}}/api/user/e095f670-ffd7-4bb1-863c-b1bf196e6b6f/assign-role +Content-Type: application/json + +{ + "roleId":"e095f670-ffd7-4bb1-863c-b1bf196e6b6f" + +} + +######################### 权限 + + +### 获取全部权限 +GET {{url}}/api/permission HTTP/1.1 +### 创建权限 测试成功 +POST {{url}}/api/permission HTTP/1.1 +Content-Type: application/json + +{ + "code":"eeeermission.create", + "name":"权限创建", + "description":"有无权限创造权限" +} + +### 修改权限 测试成功 +put {{url}}/api/permission/f388209b-725b-4237-9c20-b3397c79ee99 HTTP/1.1 +Content-Type: application/json + +{ + "code":"eeeermission.create", + "name":"权限创建", + "description":"有无权限创造权限" +} +###权限删除 测试成功 +DELETE {{url}}/api/permission/200718bd-6fbb-4c2c-9c5c-a636281b3f7a HTTP/1.1 +Content-Type: application/json + +### 启用 测试成功 +POST {{url}}/api/permission/7df0eb07-3c8e-4b21-a6dd-08e9a2bc87c2/enable HTTP/1.1 +Content-Type: application/json + +{ + "id":"f388209b-725b-4237-9c20-b3397c79ee99" +} + + +###禁用 测试成功 +POST {{url}}/api/permission/7df0eb07-3c8e-4b21-a6dd-08e9a2bc87c2/disable HTTP/1.1 +Content-Type: application/json + +{ + "id":"f388209b-725b-4237-9c20-b3397c79ee99" +} + + + +#######################文件上传 + +### 文件上传 +POST {{url}}/api/file HTTP/1.1 +Content-Type: application/json +{ + +} + +### +GET {{url}}/api/file/content/ HTTP/1.1 + +### +GET {{url}}/api/file/ HTTP/1.1 +### +DELETE {{url}}/api/file/ HTTP/1.1 + + + + + +#######################菜单 + + + +###创建菜单 测试成功 + + +### +POST {{url}}/api/menu HTTP/1.1 +Content-Type: application/json + +{ + "name": "文件管理111" +} +### 修改菜单 +PUT {{url}}/api/menu/db7f06e7-7759-4adf-84c5-954f62915158 HTTP/1.1 +Content-Type: application/json + +{ + "id":"4a838064-39a1-4f9f-a31c-c3643305191b", + "name": "文件管理1" + + +} +###删除菜单 +DELETE {{url}}/api/menu/5935d319-c2af-47f3-915c-272256cd2bde HTTP/1.1 +Content-Type: application/json + +{ +} +###获取菜单· +GET {{url}}/api/menu/854316c7-c171-43f2-89de-6fecd9a56cb1 HTTP/1.1 + +###获取菜单树 成功 + +GET {{url}}/api/menu/854316c7-c171-43f2-89de-6fecd9a56cb1/tree HTTP/1.1 + + + +###新增子集菜单 +POST {{url}}/api/menu/db7f06e7-7759-4adf-84c5-954f62915158/items HTTP/1.1 +Content-Type: application/json + +{ + "name":"二级菜单" +} + + + +###添加权限 测试成功 +### 修改权限 测试成功 +### 修改菜单 测试成功 + +###查询菜单 测试成功 + + + + + diff --git a/backend/src/UniversalAdmin.Api/Controllers/AuthController.cs b/backend/src/Admin.api/Controllers/AuthController.cs similarity index 77% rename from backend/src/UniversalAdmin.Api/Controllers/AuthController.cs rename to backend/src/Admin.api/Controllers/AuthController.cs index 6e78db92957360669c717a76e218f6d33f4abda4..eac25853a877d8e79e806b402a28651ac7f45534 100644 --- a/backend/src/UniversalAdmin.Api/Controllers/AuthController.cs +++ b/backend/src/Admin.api/Controllers/AuthController.cs @@ -1,25 +1,31 @@ +using Admin.application.Service; using Microsoft.AspNetCore.Identity.Data; using Microsoft.AspNetCore.Mvc; +using Admin.Domain.Entities.App; using System.IdentityModel.Tokens.Jwt; -using UniversalAdmin.application.Service; -namespace UniversalAdmin.api.Controllers; +namespace Admin.api.Controllers; [ApiController] [Route("api/[controller]")] -public class AuthController(AuthService authService) : ControllerBase +public class AuthController : ControllerBase { - private readonly AuthService _authService = authService; + private readonly AuthService _authService; + public AuthController(AuthService authService) + { + _authService = authService; + } [HttpPost("register")] public async Task Register([FromBody] RegisterRequest req) { try { - var user = await _authService.RegisterAsync(req.Username, req.Password); + var user = await _authService.RegisterAsync(req.Username, req.Password,req.Email); + - return Ok(new { user.UserName }); + return Ok(new { user.UserName, user, msg = "注册成功" }); } catch (Exception ex) { @@ -33,14 +39,12 @@ public class AuthController(AuthService authService) : ControllerBase [HttpPost("login")] public async Task Login([FromBody] LoginRequests request, [FromServices] IConfiguration configuration) { - var jwtSection = configuration.GetSection("Jwt"); var secret = jwtSection["Secret"] ?? ""; - var expire = int.TryParse(jwtSection["ExpireMinutes"], out var e) ? e : 120; - + var expire = int.TryParse(jwtSection["ExpireMinutes"], out var e) ? e : 120; var user = await _authService.LoginAsync(request.UserName, request.Password,secret,expire); - if (user == null) + if (user == null || request.UserName==""||request.Password=="") { return Unauthorized(new { message = "用户名或 密码错误" }); @@ -52,7 +56,7 @@ public class AuthController(AuthService authService) : ControllerBase } [HttpDelete("delete")] - public async Task Delete([FromBody] DeleteIdRes res) + public async Task delete([FromBody] DeleteIdRes res) { var user = await _authService.DeleteAsync(res.userName); @@ -70,7 +74,7 @@ public class AuthController(AuthService authService) : ControllerBase - + // [HttpDelete("{id}")] // public async Task DeleteId(DeleteIdRes res) // { @@ -91,6 +95,7 @@ public class AuthController(AuthService authService) : ControllerBase public required string Username { get; set; } public required string Password { get; set; } + public required string Email { get; set; } } public class LoginRequests @@ -106,4 +111,3 @@ public class AuthController(AuthService authService) : ControllerBase } } - diff --git a/backend/src/Admin.api/Controllers/FileController.cs b/backend/src/Admin.api/Controllers/FileController.cs new file mode 100644 index 0000000000000000000000000000000000000000..bcbff8af12c9e4cff516fd3c2e7e420f85709a52 --- /dev/null +++ b/backend/src/Admin.api/Controllers/FileController.cs @@ -0,0 +1,57 @@ +using Admin.application.conmon.Interface; +using Microsoft.AspNetCore.Mvc; + +namespace Admin.api.Controllers; + + +[ApiController] +[Route("api/[controller]")] +public class FileController : ControllerBase +{ + private readonly IFileService _ifileService; + public FileController(IFileService fileService) + { + _ifileService = fileService; + } + [HttpPost] + public async Task Upload(IFormFileCollection files) + { + var result = await _ifileService.UploadFiles(files); + return Ok(result); + + } + [HttpDelete("{id}")] + public async Task Download(Guid id) + { + var result = await _ifileService.GetFileSteamAsync(id); + if (result == null) + { + return NotFound("文件不存在"); + } + var (fileSteam, contentType, fileName) = result.Value; + if (fileSteam == null) + { + return NotFound("文件不存在或无法访问"); + } + + + return new FileStreamResult(fileSteam, contentType) + { + FileDownloadName = fileName //设置下载时的文件名 + }; + + } + + + + [HttpGet("content/{id}")] + public async Task GetFileContent(Guid id) + { + var result = await _ifileService.GetFileContentAsync(id); + if (result == null) return NotFound(); + var (content, contentType, fileName) = result.Value; + if (content == null) return NotFound(); + return File(content, contentType, fileName); + + } + } \ No newline at end of file diff --git a/backend/src/Admin.api/Controllers/MenuController.cs b/backend/src/Admin.api/Controllers/MenuController.cs new file mode 100644 index 0000000000000000000000000000000000000000..516d6c7bc53ac4fb53174130d65c944b20a1579a --- /dev/null +++ b/backend/src/Admin.api/Controllers/MenuController.cs @@ -0,0 +1,66 @@ +using Admin.application.conmon.Interface; +using Admin.application.Dto; +using Microsoft.AspNetCore.Mvc; + +namespace Admin.api.Controllers; +[ApiController] +[Route("api/[controller]")] +public class MenuController : ControllerBase +{ + private readonly IMenuApplicationService _menuApplicationService; + + public MenuController(IMenuApplicationService menuApplicationService) + { + _menuApplicationService = menuApplicationService; + } +//新增菜单 + [HttpPost] + public async Task CreateMenu(MenuDto menuDto) + { + + var menu = await _menuApplicationService.CreateMenuAsync(menuDto.Name); + return Ok(menu); + } +//修改菜单 + [HttpPut("{id}")] + public async Task UpdateMenu(Guid id,MenuDto menuDto ) + { + var menu = await _menuApplicationService.UpdateMenuAsync(id, menuDto.Name); + return Ok(menu); + } +//删除菜单 + [HttpDelete("{id}")] + public async Task DeleteMenu(Guid id) + { + await _menuApplicationService.DeleteMenuAsync(id); + return NoContent(); + } +//新增子集菜单 + [HttpPost("{id}/items")] + public async Task AddMenuItem(Guid id, [FromBody] MenuDto menuItemDto) + { + var menu = await _menuApplicationService.AddMenuItemAsync(id, menuItemDto.Name, menuItemDto.Url, menuItemDto.ParentId); + return Ok(menu); + } +//删除子集菜单 + [HttpDelete("{id}/items/{itemId}")] + public async Task RemoveMenuItem(Guid id, Guid itemId) + { + var menu = await _menuApplicationService.RemoveMenuItemAsync(id, itemId); + return Ok(menu); + } +//获取菜单 + [HttpGet("{id}")] + public async Task GetMenu(Guid id) + { + var menu = await _menuApplicationService.GetMenuAsync(id); + return Ok(menu); + } +//获取菜单树 + [HttpGet("{id}/tree")] + public async Task GetMenuTree(Guid id) + { + var menuTree = await _menuApplicationService.GetMenuTreeAsync(id); + return Ok(menuTree); + } +} \ No newline at end of file diff --git a/backend/src/Admin.api/Controllers/PermissionController.cs b/backend/src/Admin.api/Controllers/PermissionController.cs new file mode 100644 index 0000000000000000000000000000000000000000..21fcca11016f5cd83ed3eb18b2d08b5a4fb91f29 --- /dev/null +++ b/backend/src/Admin.api/Controllers/PermissionController.cs @@ -0,0 +1,61 @@ +using System.Security; +using Admin.application.conmon.Interface; +using Admin.application.Dtos; +using Microsoft.AspNetCore.Mvc; + +namespace Admin.api.Controllers; + +[ApiController] +[Route("api/[controller]")] +public class PermissionController : ControllerBase +{ + + public readonly IPermissionService _permissionService; + + public PermissionController(IPermissionService permissionService) + { + _permissionService = permissionService; + } + [HttpPost] + public async Task Create([FromBody] CreatePermissionDto dto) + { + var Result = await _permissionService.CreatePermissionAsync(dto); + return Ok(Result); + } + [HttpPut("{id}")] + public async Task Update(Guid id, [FromBody] CreatePermissionDto dto) + { + var Result = await _permissionService.UpdatePermissionAsync(id, dto); + return Ok(Result); + } + [HttpDelete("{id}")] + public async Task Delete(Guid id) + { + var Result = await _permissionService.DeletePermissionAsync(id); + return Ok(Result); + } + [HttpPost("{id}/enable")] + public async Task Enable(Guid id) + { + var Result = await _permissionService.EnablePermissionAsync(id); + return Ok(Result); + } + [HttpPost("{id}/disable")] + public async Task Disable(Guid id) + { + var Result = await _permissionService.DisablePermissionAsync(id); + return Ok(Result); + } + + [HttpGet] + public async Task GetAll() + { + var result = await _permissionService.GetAllPermissionAsync(); + return Ok(result); + } + + } + + + + diff --git a/backend/src/Admin.api/Controllers/UserController.cs b/backend/src/Admin.api/Controllers/UserController.cs new file mode 100644 index 0000000000000000000000000000000000000000..03022acaa27cfe541f2cd90decb255e9a7849493 --- /dev/null +++ b/backend/src/Admin.api/Controllers/UserController.cs @@ -0,0 +1,88 @@ +using Admin.application.conmon; +using Admin.application.Dtos; +using Admin.application.Service; +using Admin.Domain.Common; +using Admin.Domain.Entities; +using Admin.Domain.Entities.App; +using Microsoft.AspNetCore.Mvc; + +namespace Admin.api.Controllers; + +[ApiController] +[Route("api/[controller]")] +public class UserController : ControllerBase +{ + + + + private readonly UserServie _userServie; + private readonly IRepository _roleRepo; + + + public UserController(UserServie userServie, IRepository roleRepo) + { + _userServie = userServie; + _roleRepo = roleRepo; + } + + +//查看/编辑用户信息 + [HttpPost] + public async Task Create([FromBody] CreateUserDto dto) + { + var user = await _userServie.CreaterUserAsync(dto.UserName, dto.Password,dto.Telephone,dto.Email); + return Ok(new { user.UserName, user.Telephone,user.Email,msg="添加成功"}); + } + [HttpPut("{id}/password")] + public async Task ChangePassword(Guid id, [FromBody] ChnagePasswordDto dto) + { + await _userServie.ChangePasswordAsync(id, dto.NewPassword); + return Ok(new { msg="修改成功"}); + } + [HttpPut("{userId}/assign-role")] + public async Task AssignRole(Guid userId, [FromBody] AssginRoleDto dto) + { + + + + System.Console.WriteLine(userId); + System.Console.WriteLine( dto); + var role = await _roleRepo.GetByIdAsync(dto.RoleId); + System.Console.WriteLine(role); + if (role == null) throw new Exception("角色不村在"); + await _userServie.AsignRoleAsync(userId, role); + return Ok(); + + } + + [HttpPut("{id}/remove-role")] + public async Task RemodeRole(Guid id, [FromBody] AssginRoleDto dto) + { + var role = await _roleRepo.GetByIdAsync(dto.RoleId); + if (role == null) throw new Exception("角色不村在"); + return Ok(); + + + } + [HttpGet("{id}")] + public async Task GetById(Guid id) + { + var user = await _userServie.GetUserById(id); + if (user == null) return NotFound(); + return Ok(new UserDto(user.Id, user.UserName)); + } + + + [HttpGet] + public async Task GetAll([FromQuery] PagedRequest pagedRequest) + { + var users = await _userServie.GetPagedUsersAsync(pagedRequest.PageIndex, pagedRequest.PageSize); + var dto = new PagedResult + { + Items = users.Items.Select(x => new UserDto(x.Id, x.UserName)), + TotalCount = users.TotalCount + }; + + return Ok(dto); + } + } \ No newline at end of file diff --git a/backend/src/UniversalAdmin.Api/Program.cs b/backend/src/Admin.api/Program.cs similarity index 58% rename from backend/src/UniversalAdmin.Api/Program.cs rename to backend/src/Admin.api/Program.cs index 462c729c855b607f8edc7b84079e227753738c32..e502b543fc92137cb47b7b9b2ee69077e48dd571 100644 --- a/backend/src/UniversalAdmin.Api/Program.cs +++ b/backend/src/Admin.api/Program.cs @@ -1,11 +1,14 @@ -using UniversalAdmin.application; -using UniversalAdmin.application.Service; -using UniversalAdmin.Infrastructure; + +using Admin.application; +using Admin.Infrastructure; var builder = WebApplication.CreateBuilder(args); -//转为控制器模式 +// Add services to the container. +// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbucklebuilder.Services.AddSwaggerGen(); builder.Services.AddControllers(); +// 1. 服务 +// 1. 添加 CORS 服务 builder.Services.AddCors(options => { options.AddPolicy("AllowSpecificOrigin", policy => @@ -13,17 +16,24 @@ builder.Services.AddCors(options => .AllowAnyMethod() .AllowAnyHeader() .AllowCredentials()); // 如需携带 Cookie -});//注册基础服务 +}); + + + + builder.Services.addApplication(); + +// builder.Services.AddScoped(); builder.Services.AddINfrastructure(builder.Configuration); +var app = builder.Build(); +// Configure the HTTP request pipeline. -var app = builder.Build(); -//转为控制器模式 -app.MapControllers(); -//使用跨域中间件 +// 2. 使用 CORS 中间件 app.UseCors("AllowSpecificOrigin"); - +app.MapControllers(); app.Run(); + + diff --git a/backend/src/UniversalAdmin.Api/Properties/launchSettings.json b/backend/src/Admin.api/Properties/launchSettings.json similarity index 34% rename from backend/src/UniversalAdmin.Api/Properties/launchSettings.json rename to backend/src/Admin.api/Properties/launchSettings.json index 768b4c119d6b0ae1fec400ad2f5066a806a4bb99..f67700b8d90692ad3e6849f31d004415c284a0d3 100644 --- a/backend/src/UniversalAdmin.Api/Properties/launchSettings.json +++ b/backend/src/Admin.api/Properties/launchSettings.json @@ -1,11 +1,20 @@ { - "$schema": "https://json.schemastore.org/launchsettings.json", + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:36044", + "sslPort": 44372 + } + }, "profiles": { "http": { "commandName": "Project", "dotnetRunMessages": true, - "launchBrowser": false, - "applicationUrl": "http://localhost:5292", + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "http://localhost:5106", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } @@ -13,8 +22,17 @@ "https": { "commandName": "Project", "dotnetRunMessages": true, - "launchBrowser": false, - "applicationUrl": "https://localhost:7009;http://localhost:5292", + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "https://localhost:7248;http://localhost:5106", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "swagger", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } diff --git a/backend/src/UniversalAdmin.Api/appsettings.Development.json b/backend/src/Admin.api/appsettings.Development.json similarity index 100% rename from backend/src/UniversalAdmin.Api/appsettings.Development.json rename to backend/src/Admin.api/appsettings.Development.json diff --git a/backend/src/UniversalAdmin.Api/appsettings.json b/backend/src/Admin.api/appsettings.json similarity index 83% rename from backend/src/UniversalAdmin.Api/appsettings.json rename to backend/src/Admin.api/appsettings.json index ad22afa5520b8f7d4a1fc7c84f7f0cdecaa933c2..de2504457a5a767e1724613838bd5f2a17b215ea 100644 --- a/backend/src/UniversalAdmin.Api/appsettings.json +++ b/backend/src/Admin.api/appsettings.json @@ -5,13 +5,11 @@ "Microsoft.AspNetCore": "Warning" } }, - "AllowedHosts": "*", -"ConnectionStrings": { + "ConnectionStrings": { "pgsql":"server=www.mingyuy.cn;database = postgres;uid=postgres;pwd = mingyuy.;" }, - "jwt":{ + "jwt":{ "Secret":"YourSuperSecretKeyForAdminToken2025!", "ExpireMintes":120 } - } diff --git a/backend/src/Admin.api/pub/Admin.Domain.dll b/backend/src/Admin.api/pub/Admin.Domain.dll new file mode 100644 index 0000000000000000000000000000000000000000..2c5ef54479861e42b676ad21792c5b849d203dbf Binary files /dev/null and b/backend/src/Admin.api/pub/Admin.Domain.dll differ diff --git a/backend/src/Admin.api/pub/Admin.Domain.pdb b/backend/src/Admin.api/pub/Admin.Domain.pdb new file mode 100644 index 0000000000000000000000000000000000000000..deb0f194504be9c16ebfb9258b1b728b3f7a081e Binary files /dev/null and b/backend/src/Admin.api/pub/Admin.Domain.pdb differ diff --git a/backend/src/Admin.api/pub/Admin.Infrastructure.dll b/backend/src/Admin.api/pub/Admin.Infrastructure.dll new file mode 100644 index 0000000000000000000000000000000000000000..dbf6b210d237716efdd6c4a1eb7acec87941fa78 Binary files /dev/null and b/backend/src/Admin.api/pub/Admin.Infrastructure.dll differ diff --git a/backend/src/Admin.api/pub/Admin.Infrastructure.pdb b/backend/src/Admin.api/pub/Admin.Infrastructure.pdb new file mode 100644 index 0000000000000000000000000000000000000000..a04bc8d64de6d850f12e3f7b521b3c780036064f Binary files /dev/null and b/backend/src/Admin.api/pub/Admin.Infrastructure.pdb differ diff --git a/backend/src/Admin.api/pub/Admin.api.deps.json b/backend/src/Admin.api/pub/Admin.api.deps.json new file mode 100644 index 0000000000000000000000000000000000000000..373ac23b08f89cd44ef5b189bf9d015513ffd4ba --- /dev/null +++ b/backend/src/Admin.api/pub/Admin.api.deps.json @@ -0,0 +1,2169 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0/win-x64", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": {}, + ".NETCoreApp,Version=v8.0/win-x64": { + "Admin.api/1.0.0": { + "dependencies": { + "Admin.Infrastructure": "1.0.0", + "Admin.application": "1.0.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "8.0.0", + "Microsoft.AspNetCore.OpenApi": "8.0.17", + "Microsoft.EntityFrameworkCore.Design": "8.0.0", + "Swashbuckle.AspNetCore": "6.6.2", + "System.IdentityModel.Tokens.Jwt": "8.12.1", + "runtimepack.Microsoft.NETCore.App.Runtime.win-x64": "8.0.17", + "runtimepack.Microsoft.AspNetCore.App.Runtime.win-x64": "8.0.17" + }, + "runtime": { + "Admin.api.dll": {} + } + }, + "runtimepack.Microsoft.NETCore.App.Runtime.win-x64/8.0.17": { + "runtime": { + "Microsoft.CSharp.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "Microsoft.VisualBasic.Core.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.1725.26602" + }, + "Microsoft.VisualBasic.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "Microsoft.Win32.Primitives.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "Microsoft.Win32.Registry.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.AppContext.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Buffers.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Collections.Concurrent.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Collections.Immutable.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Collections.NonGeneric.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Collections.Specialized.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Collections.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.ComponentModel.Annotations.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.ComponentModel.DataAnnotations.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.ComponentModel.EventBasedAsync.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.ComponentModel.Primitives.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.ComponentModel.TypeConverter.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.ComponentModel.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Configuration.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Console.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Core.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Data.Common.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Data.DataSetExtensions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Data.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Diagnostics.Contracts.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Diagnostics.Debug.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Diagnostics.DiagnosticSource.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Diagnostics.FileVersionInfo.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Diagnostics.Process.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Diagnostics.StackTrace.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Diagnostics.TextWriterTraceListener.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Diagnostics.Tools.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Diagnostics.TraceSource.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Diagnostics.Tracing.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Drawing.Primitives.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Drawing.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Dynamic.Runtime.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Formats.Asn1.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Formats.Tar.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Globalization.Calendars.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Globalization.Extensions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Globalization.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.IO.Compression.Brotli.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.IO.Compression.FileSystem.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.IO.Compression.ZipFile.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.IO.Compression.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.IO.FileSystem.AccessControl.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.IO.FileSystem.DriveInfo.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.IO.FileSystem.Primitives.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.IO.FileSystem.Watcher.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.IO.FileSystem.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.IO.IsolatedStorage.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.IO.MemoryMappedFiles.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.IO.Pipes.AccessControl.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.IO.Pipes.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.IO.UnmanagedMemoryStream.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.IO.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Linq.Expressions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Linq.Parallel.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Linq.Queryable.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Linq.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Memory.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Net.Http.Json.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Net.Http.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Net.HttpListener.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Net.Mail.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Net.NameResolution.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Net.NetworkInformation.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Net.Ping.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Net.Primitives.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Net.Quic.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Net.Requests.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Net.Security.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Net.ServicePoint.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Net.Sockets.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Net.WebClient.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Net.WebHeaderCollection.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Net.WebProxy.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Net.WebSockets.Client.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Net.WebSockets.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Net.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Numerics.Vectors.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Numerics.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.ObjectModel.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Private.CoreLib.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Private.DataContractSerialization.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Private.Uri.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Private.Xml.Linq.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Private.Xml.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Reflection.DispatchProxy.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Reflection.Emit.ILGeneration.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Reflection.Emit.Lightweight.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Reflection.Emit.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Reflection.Extensions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Reflection.Metadata.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Reflection.Primitives.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Reflection.TypeExtensions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Reflection.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Resources.Reader.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Resources.ResourceManager.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Resources.Writer.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Runtime.CompilerServices.Unsafe.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Runtime.CompilerServices.VisualC.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Runtime.Extensions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Runtime.Handles.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Runtime.InteropServices.JavaScript.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Runtime.InteropServices.RuntimeInformation.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Runtime.InteropServices.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Runtime.Intrinsics.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Runtime.Loader.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Runtime.Numerics.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Runtime.Serialization.Formatters.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Runtime.Serialization.Json.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Runtime.Serialization.Primitives.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Runtime.Serialization.Xml.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Runtime.Serialization.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Runtime.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Security.AccessControl.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Security.Claims.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Security.Cryptography.Algorithms.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Security.Cryptography.Cng.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Security.Cryptography.Csp.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Security.Cryptography.Encoding.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Security.Cryptography.OpenSsl.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Security.Cryptography.Primitives.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Security.Cryptography.X509Certificates.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Security.Cryptography.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Security.Principal.Windows.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Security.Principal.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Security.SecureString.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Security.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.ServiceModel.Web.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.ServiceProcess.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Text.Encoding.CodePages.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Text.Encoding.Extensions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Text.Encoding.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Text.Encodings.Web.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Text.Json.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Text.RegularExpressions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Threading.Channels.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Threading.Overlapped.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Threading.Tasks.Dataflow.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Threading.Tasks.Extensions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Threading.Tasks.Parallel.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Threading.Tasks.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Threading.Thread.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Threading.ThreadPool.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Threading.Timer.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Threading.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Transactions.Local.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Transactions.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.ValueTuple.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Web.HttpUtility.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Web.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Windows.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Xml.Linq.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Xml.ReaderWriter.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Xml.Serialization.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Xml.XDocument.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Xml.XPath.XDocument.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Xml.XPath.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Xml.XmlDocument.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Xml.XmlSerializer.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.Xml.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "System.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "WindowsBase.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "mscorlib.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "8.0.1725.26602" + }, + "netstandard.dll": { + "assemblyVersion": "2.1.0.0", + "fileVersion": "8.0.1725.26602" + } + }, + "native": { + "Microsoft.DiaSymReader.Native.amd64.dll": { + "fileVersion": "14.42.34436.0" + }, + "System.IO.Compression.Native.dll": { + "fileVersion": "8.0.1725.26602" + }, + "clretwrc.dll": { + "fileVersion": "8.0.1725.26602" + }, + "clrgc.dll": { + "fileVersion": "8.0.1725.26602" + }, + "clrjit.dll": { + "fileVersion": "8.0.1725.26602" + }, + "coreclr.dll": { + "fileVersion": "8.0.1725.26602" + }, + "createdump.exe": { + "fileVersion": "8.0.1725.26602" + }, + "hostfxr.dll": { + "fileVersion": "8.0.1725.26602" + }, + "hostpolicy.dll": { + "fileVersion": "8.0.1725.26602" + }, + "mscordaccore.dll": { + "fileVersion": "8.0.1725.26602" + }, + "mscordaccore_amd64_amd64_8.0.1725.26602.dll": { + "fileVersion": "8.0.1725.26602" + }, + "mscordbi.dll": { + "fileVersion": "8.0.1725.26602" + }, + "mscorrc.dll": { + "fileVersion": "8.0.1725.26602" + }, + "msquic.dll": { + "fileVersion": "2.4.8.0" + } + } + }, + "runtimepack.Microsoft.AspNetCore.App.Runtime.win-x64/8.0.17": { + "runtime": { + "Microsoft.AspNetCore.Antiforgery.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Authentication.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Authentication.BearerToken.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Authentication.Cookies.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Authentication.Core.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Authentication.OAuth.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Authentication.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Authorization.Policy.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Authorization.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Components.Authorization.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Components.Endpoints.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Components.Forms.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Components.Server.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Components.Web.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Components.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Connections.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.CookiePolicy.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Cors.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Cryptography.Internal.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Cryptography.KeyDerivation.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.DataProtection.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.DataProtection.Extensions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.DataProtection.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Diagnostics.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Diagnostics.HealthChecks.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Diagnostics.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.HostFiltering.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Hosting.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Hosting.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Html.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Http.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Http.Connections.Common.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Http.Connections.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Http.Extensions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Http.Features.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Http.Results.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Http.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.HttpLogging.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.HttpOverrides.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.HttpsPolicy.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Identity.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Localization.Routing.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Localization.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Metadata.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Mvc.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Mvc.ApiExplorer.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Mvc.Core.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Mvc.Cors.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Mvc.DataAnnotations.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Mvc.Formatters.Json.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Mvc.Formatters.Xml.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Mvc.Localization.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Mvc.Razor.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Mvc.RazorPages.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Mvc.TagHelpers.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Mvc.ViewFeatures.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Mvc.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.OutputCaching.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.RateLimiting.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Razor.Runtime.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Razor.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.RequestDecompression.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.ResponseCaching.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.ResponseCaching.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.ResponseCompression.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Rewrite.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Routing.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Routing.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Server.HttpSys.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Server.IIS.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Server.IISIntegration.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Server.Kestrel.Core.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Server.Kestrel.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.Session.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.SignalR.Common.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.SignalR.Core.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.SignalR.Protocols.Json.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.SignalR.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.StaticFiles.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.WebSockets.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.WebUtilities.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.AspNetCore.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.Extensions.Caching.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + }, + "Microsoft.Extensions.Caching.Memory.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + }, + "Microsoft.Extensions.Configuration.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + }, + "Microsoft.Extensions.Configuration.Binder.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.724.31311" + }, + "Microsoft.Extensions.Configuration.CommandLine.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + }, + "Microsoft.Extensions.Configuration.FileExtensions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.724.31311" + }, + "Microsoft.Extensions.Configuration.Ini.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + }, + "Microsoft.Extensions.Configuration.Json.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + }, + "Microsoft.Extensions.Configuration.KeyPerFile.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.Extensions.Configuration.UserSecrets.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + }, + "Microsoft.Extensions.Configuration.Xml.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + }, + "Microsoft.Extensions.Configuration.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + }, + "Microsoft.Extensions.DependencyInjection.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + }, + "Microsoft.Extensions.Diagnostics.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.Extensions.Diagnostics.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + }, + "Microsoft.Extensions.Features.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.Extensions.FileProviders.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + }, + "Microsoft.Extensions.FileProviders.Composite.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + }, + "Microsoft.Extensions.FileProviders.Embedded.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.Extensions.FileProviders.Physical.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + }, + "Microsoft.Extensions.FileSystemGlobbing.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + }, + "Microsoft.Extensions.Hosting.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + }, + "Microsoft.Extensions.Hosting.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + }, + "Microsoft.Extensions.Http.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + }, + "Microsoft.Extensions.Identity.Core.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.Extensions.Identity.Stores.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.Extensions.Localization.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.Extensions.Localization.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1325.6609" + }, + "Microsoft.Extensions.Logging.Configuration.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + }, + "Microsoft.Extensions.Logging.Console.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + }, + "Microsoft.Extensions.Logging.Debug.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + }, + "Microsoft.Extensions.Logging.EventLog.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + }, + "Microsoft.Extensions.Logging.EventSource.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + }, + "Microsoft.Extensions.Logging.TraceSource.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + }, + "Microsoft.Extensions.Logging.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + }, + "Microsoft.Extensions.ObjectPool.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.Extensions.Options.ConfigurationExtensions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + }, + "Microsoft.Extensions.Options.DataAnnotations.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + }, + "Microsoft.Extensions.Options.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.224.6711" + }, + "Microsoft.Extensions.Primitives.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + }, + "Microsoft.Extensions.WebEncoders.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.JSInterop.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "Microsoft.Net.Http.Headers.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1725.26609" + }, + "System.Diagnostics.EventLog.Messages.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "0.0.0.0" + }, + "System.Diagnostics.EventLog.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1525.16413" + }, + "System.IO.Pipelines.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + }, + "System.Security.Cryptography.Pkcs.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + }, + "System.Security.Cryptography.Xml.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + }, + "System.Threading.RateLimiting.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + }, + "native": { + "aspnetcorev2_inprocess.dll": { + "fileVersion": "18.0.25136.17" + } + } + }, + "BCrypt.Net-Next/4.0.3": { + "runtime": { + "lib/net6.0/BCrypt.Net-Next.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.0.3.0" + } + } + }, + "Humanizer.Core/2.14.1": {}, + "Microsoft.AspNetCore.Authentication.JwtBearer/8.0.0": { + "dependencies": { + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "7.0.3" + }, + "runtime": { + "lib/net8.0/Microsoft.AspNetCore.Authentication.JwtBearer.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53112" + } + } + }, + "Microsoft.AspNetCore.Http.Features/5.0.17": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0", + "System.IO.Pipelines": "6.0.3" + } + }, + "Microsoft.AspNetCore.OpenApi/8.0.17": { + "dependencies": { + "Microsoft.OpenApi": "1.6.14" + }, + "runtime": { + "lib/net8.0/Microsoft.AspNetCore.OpenApi.dll": { + "assemblyVersion": "8.0.17.0", + "fileVersion": "8.0.1725.26609" + } + } + }, + "Microsoft.Bcl.AsyncInterfaces/6.0.0": {}, + "Microsoft.CodeAnalysis.Analyzers/3.3.3": {}, + "Microsoft.CodeAnalysis.Common/4.5.0": { + "dependencies": { + "Microsoft.CodeAnalysis.Analyzers": "3.3.3", + "System.Collections.Immutable": "6.0.0", + "System.Reflection.Metadata": "6.0.1", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encoding.CodePages": "6.0.0" + } + }, + "Microsoft.CodeAnalysis.CSharp/4.5.0": { + "dependencies": { + "Microsoft.CodeAnalysis.Common": "4.5.0" + } + }, + "Microsoft.CodeAnalysis.CSharp.Workspaces/4.5.0": { + "dependencies": { + "Humanizer.Core": "2.14.1", + "Microsoft.CodeAnalysis.CSharp": "4.5.0", + "Microsoft.CodeAnalysis.Common": "4.5.0", + "Microsoft.CodeAnalysis.Workspaces.Common": "4.5.0" + } + }, + "Microsoft.CodeAnalysis.Workspaces.Common/4.5.0": { + "dependencies": { + "Humanizer.Core": "2.14.1", + "Microsoft.Bcl.AsyncInterfaces": "6.0.0", + "Microsoft.CodeAnalysis.Common": "4.5.0", + "System.Composition": "6.0.0", + "System.IO.Pipelines": "6.0.3", + "System.Threading.Channels": "6.0.0" + } + }, + "Microsoft.EntityFrameworkCore/8.0.0": { + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.0", + "Microsoft.EntityFrameworkCore.Analyzers": "8.0.0", + "Microsoft.Extensions.Caching.Memory": "8.0.0", + "Microsoft.Extensions.Logging": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.EntityFrameworkCore.Abstractions/8.0.0": { + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.EntityFrameworkCore.Analyzers/8.0.0": {}, + "Microsoft.EntityFrameworkCore.Design/8.0.0": { + "dependencies": { + "Humanizer.Core": "2.14.1", + "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.5.0", + "Microsoft.EntityFrameworkCore.Relational": "8.0.0", + "Microsoft.Extensions.DependencyModel": "8.0.0", + "Mono.TextTemplating": "2.2.1" + } + }, + "Microsoft.EntityFrameworkCore.Relational/8.0.0": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.ApiDescription.Server/6.0.5": {}, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.Caching.Memory/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.6", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.6" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/9.0.6": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.625.26613" + } + } + }, + "Microsoft.Extensions.DependencyModel/8.0.0": { + "dependencies": { + "System.Text.Encodings.Web": "8.0.0", + "System.Text.Json": "8.0.0" + } + }, + "Microsoft.Extensions.Logging/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.6" + } + }, + "Microsoft.Extensions.Options/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.6", + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.Primitives/8.0.0": {}, + "Microsoft.IdentityModel.Abstractions/8.12.1": { + "runtime": { + "lib/net8.0/Microsoft.IdentityModel.Abstractions.dll": { + "assemblyVersion": "8.12.1.0", + "fileVersion": "8.12.1.60617" + } + } + }, + "Microsoft.IdentityModel.JsonWebTokens/8.12.1": { + "dependencies": { + "Microsoft.IdentityModel.Tokens": "8.12.1" + }, + "runtime": { + "lib/net8.0/Microsoft.IdentityModel.JsonWebTokens.dll": { + "assemblyVersion": "8.12.1.0", + "fileVersion": "8.12.1.60617" + } + } + }, + "Microsoft.IdentityModel.Logging/8.12.1": { + "dependencies": { + "Microsoft.IdentityModel.Abstractions": "8.12.1" + }, + "runtime": { + "lib/net8.0/Microsoft.IdentityModel.Logging.dll": { + "assemblyVersion": "8.12.1.0", + "fileVersion": "8.12.1.60617" + } + } + }, + "Microsoft.IdentityModel.Protocols/7.0.3": { + "dependencies": { + "Microsoft.IdentityModel.Logging": "8.12.1", + "Microsoft.IdentityModel.Tokens": "8.12.1" + }, + "runtime": { + "lib/net8.0/Microsoft.IdentityModel.Protocols.dll": { + "assemblyVersion": "7.0.3.0", + "fileVersion": "7.0.3.41017" + } + } + }, + "Microsoft.IdentityModel.Protocols.OpenIdConnect/7.0.3": { + "dependencies": { + "Microsoft.IdentityModel.Protocols": "7.0.3", + "System.IdentityModel.Tokens.Jwt": "8.12.1" + }, + "runtime": { + "lib/net8.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": { + "assemblyVersion": "7.0.3.0", + "fileVersion": "7.0.3.41017" + } + } + }, + "Microsoft.IdentityModel.Tokens/8.12.1": { + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.IdentityModel.Logging": "8.12.1" + }, + "runtime": { + "lib/net8.0/Microsoft.IdentityModel.Tokens.dll": { + "assemblyVersion": "8.12.1.0", + "fileVersion": "8.12.1.60617" + } + } + }, + "Microsoft.OpenApi/1.6.14": { + "runtime": { + "lib/netstandard2.0/Microsoft.OpenApi.dll": { + "assemblyVersion": "1.6.14.0", + "fileVersion": "1.6.14.0" + } + } + }, + "Mono.TextTemplating/2.2.1": { + "dependencies": { + "System.CodeDom": "4.4.0" + } + }, + "Npgsql/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Npgsql.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.0.0" + } + } + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.0": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.0", + "Microsoft.EntityFrameworkCore.Relational": "8.0.0", + "Npgsql": "8.0.0" + }, + "runtime": { + "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.0.0" + } + } + }, + "Swashbuckle.AspNetCore/6.6.2": { + "dependencies": { + "Microsoft.Extensions.ApiDescription.Server": "6.0.5", + "Swashbuckle.AspNetCore.Swagger": "6.6.2", + "Swashbuckle.AspNetCore.SwaggerGen": "6.6.2", + "Swashbuckle.AspNetCore.SwaggerUI": "6.6.2" + } + }, + "Swashbuckle.AspNetCore.Swagger/6.6.2": { + "dependencies": { + "Microsoft.OpenApi": "1.6.14" + }, + "runtime": { + "lib/net8.0/Swashbuckle.AspNetCore.Swagger.dll": { + "assemblyVersion": "6.6.2.0", + "fileVersion": "6.6.2.401" + } + } + }, + "Swashbuckle.AspNetCore.SwaggerGen/6.6.2": { + "dependencies": { + "Swashbuckle.AspNetCore.Swagger": "6.6.2" + }, + "runtime": { + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll": { + "assemblyVersion": "6.6.2.0", + "fileVersion": "6.6.2.401" + } + } + }, + "Swashbuckle.AspNetCore.SwaggerUI/6.6.2": { + "runtime": { + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll": { + "assemblyVersion": "6.6.2.0", + "fileVersion": "6.6.2.401" + } + } + }, + "System.CodeDom/4.4.0": {}, + "System.Collections.Immutable/6.0.0": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Composition/6.0.0": { + "dependencies": { + "System.Composition.AttributedModel": "6.0.0", + "System.Composition.Convention": "6.0.0", + "System.Composition.Hosting": "6.0.0", + "System.Composition.Runtime": "6.0.0", + "System.Composition.TypedParts": "6.0.0" + } + }, + "System.Composition.AttributedModel/6.0.0": {}, + "System.Composition.Convention/6.0.0": { + "dependencies": { + "System.Composition.AttributedModel": "6.0.0" + } + }, + "System.Composition.Hosting/6.0.0": { + "dependencies": { + "System.Composition.Runtime": "6.0.0" + } + }, + "System.Composition.Runtime/6.0.0": {}, + "System.Composition.TypedParts/6.0.0": { + "dependencies": { + "System.Composition.AttributedModel": "6.0.0", + "System.Composition.Hosting": "6.0.0", + "System.Composition.Runtime": "6.0.0" + } + }, + "System.IdentityModel.Tokens.Jwt/8.12.1": { + "dependencies": { + "Microsoft.IdentityModel.JsonWebTokens": "8.12.1", + "Microsoft.IdentityModel.Tokens": "8.12.1" + }, + "runtime": { + "lib/net8.0/System.IdentityModel.Tokens.Jwt.dll": { + "assemblyVersion": "8.12.1.0", + "fileVersion": "8.12.1.60617" + } + } + }, + "System.IO.Pipelines/6.0.3": {}, + "System.Reflection.Metadata/6.0.1": { + "dependencies": { + "System.Collections.Immutable": "6.0.0" + } + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": {}, + "System.Text.Encoding.CodePages/6.0.0": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Text.Encodings.Web/8.0.0": {}, + "System.Text.Json/8.0.0": { + "dependencies": { + "System.Text.Encodings.Web": "8.0.0" + } + }, + "System.Threading.Channels/6.0.0": {}, + "Admin.application/1.0.0": { + "dependencies": { + "Admin.Domain": "1.0.0", + "Microsoft.AspNetCore.Http.Features": "5.0.17", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.6", + "Microsoft.IdentityModel.Tokens": "8.12.1", + "System.IdentityModel.Tokens.Jwt": "8.12.1" + }, + "runtime": { + "Admin.application.dll": { + "assemblyVersion": "1.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Admin.Domain/1.0.0": { + "runtime": { + "Admin.Domain.dll": { + "assemblyVersion": "1.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Admin.Infrastructure/1.0.0": { + "dependencies": { + "Admin.Domain": "1.0.0", + "Admin.application": "1.0.0", + "BCrypt.Net-Next": "4.0.3", + "Npgsql.EntityFrameworkCore.PostgreSQL": "8.0.0" + }, + "runtime": { + "Admin.Infrastructure.dll": { + "assemblyVersion": "1.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Admin.api/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "runtimepack.Microsoft.NETCore.App.Runtime.win-x64/8.0.17": { + "type": "runtimepack", + "serviceable": false, + "sha512": "" + }, + "runtimepack.Microsoft.AspNetCore.App.Runtime.win-x64/8.0.17": { + "type": "runtimepack", + "serviceable": false, + "sha512": "" + }, + "BCrypt.Net-Next/4.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-W+U9WvmZQgi5cX6FS5GDtDoPzUCV4LkBLkywq/kRZhuDwcbavOzcDAr3LXJFqHUi952Yj3LEYoWW0jbEUQChsA==", + "path": "bcrypt.net-next/4.0.3", + "hashPath": "bcrypt.net-next.4.0.3.nupkg.sha512" + }, + "Humanizer.Core/2.14.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==", + "path": "humanizer.core/2.14.1", + "hashPath": "humanizer.core.2.14.1.nupkg.sha512" + }, + "Microsoft.AspNetCore.Authentication.JwtBearer/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rwxaZYHips5M9vqxRkGfJthTx+Ws4O4yCuefn17J371jL3ouC5Ker43h2hXb5yd9BMnImE9rznT75KJHm6bMgg==", + "path": "microsoft.aspnetcore.authentication.jwtbearer/8.0.0", + "hashPath": "microsoft.aspnetcore.authentication.jwtbearer.8.0.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.Http.Features/5.0.17": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3jG2xS+dx8DDCGV/F+STdPTg89lX3ao3dF/VEPvJaz3wzBIjuadipTtYNEXDIVuOPZwb6jdmhrX9jkzOIBm5cw==", + "path": "microsoft.aspnetcore.http.features/5.0.17", + "hashPath": "microsoft.aspnetcore.http.features.5.0.17.nupkg.sha512" + }, + "Microsoft.AspNetCore.OpenApi/8.0.17": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sGed2RDkJYAoi7N4gUTota56Mix/Vu6UrzCWdwqH1jZwnLnZb+eP2zdABYCaVlBEHBwzuL1zchUFtJXW4lO5LA==", + "path": "microsoft.aspnetcore.openapi/8.0.17", + "hashPath": "microsoft.aspnetcore.openapi.8.0.17.nupkg.sha512" + }, + "Microsoft.Bcl.AsyncInterfaces/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==", + "path": "microsoft.bcl.asyncinterfaces/6.0.0", + "hashPath": "microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.Analyzers/3.3.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-j/rOZtLMVJjrfLRlAMckJLPW/1rze9MT1yfWqSIbUPGRu1m1P0fuo9PmqapwsmePfGB5PJrudQLvmUOAMF0DqQ==", + "path": "microsoft.codeanalysis.analyzers/3.3.3", + "hashPath": "microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.Common/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lwAbIZNdnY0SUNoDmZHkVUwLO8UyNnyyh1t/4XsbFxi4Ounb3xszIYZaWhyj5ZjyfcwqwmtMbE7fUTVCqQEIdQ==", + "path": "microsoft.codeanalysis.common/4.5.0", + "hashPath": "microsoft.codeanalysis.common.4.5.0.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.CSharp/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-cM59oMKAOxvdv76bdmaKPy5hfj+oR+zxikWoueEB7CwTko7mt9sVKZI8Qxlov0C/LuKEG+WQwifepqL3vuTiBQ==", + "path": "microsoft.codeanalysis.csharp/4.5.0", + "hashPath": "microsoft.codeanalysis.csharp.4.5.0.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.CSharp.Workspaces/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-h74wTpmGOp4yS4hj+EvNzEiPgg/KVs2wmSfTZ81upJZOtPkJsVkgfsgtxxqmAeapjT/vLKfmYV0bS8n5MNVP+g==", + "path": "microsoft.codeanalysis.csharp.workspaces/4.5.0", + "hashPath": "microsoft.codeanalysis.csharp.workspaces.4.5.0.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.Workspaces.Common/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-l4dDRmGELXG72XZaonnOeORyD/T5RpEu5LGHOUIhnv+MmUWDY/m1kWXGwtcgQ5CJ5ynkFiRnIYzTKXYjUs7rbw==", + "path": "microsoft.codeanalysis.workspaces.common/4.5.0", + "hashPath": "microsoft.codeanalysis.workspaces.common.4.5.0.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-SoODat83pGQUpWB9xULdMX6tuKpq/RTXDuJ2WeC1ldUKcKzLkaFJD1n+I0nOLY58odez/e7z8b6zdp235G/kyg==", + "path": "microsoft.entityframeworkcore/8.0.0", + "hashPath": "microsoft.entityframeworkcore.8.0.0.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VR22s3+zoqlVI7xauFKn1znSIFHO8xuILT+noSwS8bZCKcHz0ydkTDQMuaxSa5WBaQrZmwtTz9rmRvJ7X8mSPQ==", + "path": "microsoft.entityframeworkcore.abstractions/8.0.0", + "hashPath": "microsoft.entityframeworkcore.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Analyzers/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZXxEeLs2zoZ1TA+QoMMcw4f3Tirf8PzgdDax8RoWo0dxI2KmqiEGWYjhm2B/XyWfglc6+mNRyB8rZiQSmxCpeg==", + "path": "microsoft.entityframeworkcore.analyzers/8.0.0", + "hashPath": "microsoft.entityframeworkcore.analyzers.8.0.0.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Design/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-94reKYu63jg4O75UI3LMJHwOSi8tQ6IfubiZhdnSsWcgtmAuF8OyLfjK/MIxuvaQRJZAF6E747FIuxjOtb8/og==", + "path": "microsoft.entityframeworkcore.design/8.0.0", + "hashPath": "microsoft.entityframeworkcore.design.8.0.0.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Relational/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fFKkr24cYc7Zw5T6DC4tEyOEPgPbq23BBmym1r9kn4ET9F3HKaetpOeQtV2RryYyUxEeNkJuxgfiZHTisqZc+A==", + "path": "microsoft.entityframeworkcore.relational/8.0.0", + "hashPath": "microsoft.entityframeworkcore.relational.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.ApiDescription.Server/6.0.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==", + "path": "microsoft.extensions.apidescription.server/6.0.5", + "hashPath": "microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KuSxeHoNYdxVYfg2IRZCThcrlJ1XJqIXkAWikCsbm5C/bCjv7G0WoKDyuR98Q+T607QT2Zl5GsbGRkENcV2yQ==", + "path": "microsoft.extensions.caching.abstractions/8.0.0", + "hashPath": "microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Memory/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7pqivmrZDzo1ADPkRwjy+8jtRKWRCPag9qPI+p7sgu7Q4QreWhcvbiWXsbhP+yY8XSiDvZpu2/LWdBv7PnmOpQ==", + "path": "microsoft.extensions.caching.memory/8.0.0", + "hashPath": "microsoft.extensions.caching.memory.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", + "path": "microsoft.extensions.configuration.abstractions/8.0.0", + "hashPath": "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-V8S3bsm50ig6JSyrbcJJ8bW2b9QLGouz+G1miK3UTaOWmMtFwNNNzUf4AleyDWUmTrWMLNnFSLEQtxmxgNQnNQ==", + "path": "microsoft.extensions.dependencyinjection/8.0.0", + "hashPath": "microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/9.0.6": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0Zn6nR/6g+90MxskZyOOMPQvnPnrrGu6bytPwkV+azDcTtCSuQ1+GJUrg8Klmnrjk1i6zMpw2lXijl+tw7Q3kA==", + "path": "microsoft.extensions.dependencyinjection.abstractions/9.0.6", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.9.0.6.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyModel/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NSmDw3K0ozNDgShSIpsZcbFIzBX4w28nDag+TfaQujkXGazBm+lid5onlWoCBy4VsLxqnnKjEBbGSJVWJMf43g==", + "path": "microsoft.extensions.dependencymodel/8.0.0", + "hashPath": "microsoft.extensions.dependencymodel.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tvRkov9tAJ3xP51LCv3FJ2zINmv1P8Hi8lhhtcKGqM+ImiTCC84uOPEI4z8Cdq2C3o9e+Aa0Gw0rmrsJD77W+w==", + "path": "microsoft.extensions.logging/8.0.0", + "hashPath": "microsoft.extensions.logging.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-arDBqTgFCyS0EvRV7O3MZturChstm50OJ0y9bDJvAcmEPJm0FFpFyjU/JLYyStNGGey081DvnQYlncNX5SJJGA==", + "path": "microsoft.extensions.logging.abstractions/8.0.0", + "hashPath": "microsoft.extensions.logging.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Options/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JOVOfqpnqlVLUzINQ2fox8evY2SKLYJ3BV8QDe/Jyp21u1T7r45x/R/5QdteURMR5r01GxeJSBBUOCOyaNXA3g==", + "path": "microsoft.extensions.options/8.0.0", + "hashPath": "microsoft.extensions.options.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", + "path": "microsoft.extensions.primitives/8.0.0", + "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512" + }, + "Microsoft.IdentityModel.Abstractions/8.12.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JzWhET0VOCORyJbqDc1Wtdl8Q/l+I1MjFB0I/Jko+Ma691JZll8X6o9XwZtUce8FkqGuV4uY4/V1808XZOpDVg==", + "path": "microsoft.identitymodel.abstractions/8.12.1", + "hashPath": "microsoft.identitymodel.abstractions.8.12.1.nupkg.sha512" + }, + "Microsoft.IdentityModel.JsonWebTokens/8.12.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-imi3xiRLzzKxN4m1aR9Z2X8GUmNsVH7GLA6AkwYStNnh3UzupFtHEEVk3GK1fCvnYdRbpnCGNYY6WQb9AfDAKg==", + "path": "microsoft.identitymodel.jsonwebtokens/8.12.1", + "hashPath": "microsoft.identitymodel.jsonwebtokens.8.12.1.nupkg.sha512" + }, + "Microsoft.IdentityModel.Logging/8.12.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-39HjVkU7Voe2jRLmORRB5PoTmta1ZPKzUZCc6ldlNlLzdx+um0+fAnvfk05LUQPrNxpvb5ZoqF00SrNvyO2Fzg==", + "path": "microsoft.identitymodel.logging/8.12.1", + "hashPath": "microsoft.identitymodel.logging.8.12.1.nupkg.sha512" + }, + "Microsoft.IdentityModel.Protocols/7.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BtwR+tctBYhPNygyZmt1Rnw74GFrJteW+1zcdIgyvBCjkek6cNwPPqRfdhzCv61i+lwyNomRi8+iI4QKd4YCKA==", + "path": "microsoft.identitymodel.protocols/7.0.3", + "hashPath": "microsoft.identitymodel.protocols.7.0.3.nupkg.sha512" + }, + "Microsoft.IdentityModel.Protocols.OpenIdConnect/7.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-W97TraHApDNArLwpPcXfD+FZH7njJsfEwZE9y9BoofeXMS8H0LBBobz0VOmYmMK4mLdOKxzN7SFT3Ekg0FWI3Q==", + "path": "microsoft.identitymodel.protocols.openidconnect/7.0.3", + "hashPath": "microsoft.identitymodel.protocols.openidconnect.7.0.3.nupkg.sha512" + }, + "Microsoft.IdentityModel.Tokens/8.12.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DzgPEABn3eZmIk4lhov0QPcoHkIbnAfgkyDPM7uGuWDHeockR9DdqNCD9Zy30hPfExu5VhbOXn9oPRi+tFUhEQ==", + "path": "microsoft.identitymodel.tokens/8.12.1", + "hashPath": "microsoft.identitymodel.tokens.8.12.1.nupkg.sha512" + }, + "Microsoft.OpenApi/1.6.14": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tTaBT8qjk3xINfESyOPE2rIellPvB7qpVqiWiyA/lACVvz+xOGiXhFUfohcx82NLbi5avzLW0lx+s6oAqQijfw==", + "path": "microsoft.openapi/1.6.14", + "hashPath": "microsoft.openapi.1.6.14.nupkg.sha512" + }, + "Mono.TextTemplating/2.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KZYeKBET/2Z0gY1WlTAK7+RHTl7GSbtvTLDXEZZojUdAPqpQNDL6tHv7VUpqfX5VEOh+uRGKaZXkuD253nEOBQ==", + "path": "mono.texttemplating/2.2.1", + "hashPath": "mono.texttemplating.2.2.1.nupkg.sha512" + }, + "Npgsql/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Qiz74U+O7Mv4knrsXgKVYGJjgwoziK+aMFZqz7PtKR3vyGIhZA0tnW6HoUnL3X+YqtmVuhmoKkN8LDWEHMxPbw==", + "path": "npgsql/8.0.0", + "hashPath": "npgsql.8.0.0.nupkg.sha512" + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GDXiMS9peEdjSCU/rfgyHruio7q6tYuywGaktqEi6UPQ6ILechp3fVVX+dHXkIXt4nklCBzYVWkzFrSL9ubKUA==", + "path": "npgsql.entityframeworkcore.postgresql/8.0.0", + "hashPath": "npgsql.entityframeworkcore.postgresql.8.0.0.nupkg.sha512" + }, + "Swashbuckle.AspNetCore/6.6.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+NB4UYVYN6AhDSjW0IJAd1AGD8V33gemFNLPaxKTtPkHB+HaKAKf9MGAEUPivEWvqeQfcKIw8lJaHq6LHljRuw==", + "path": "swashbuckle.aspnetcore/6.6.2", + "hashPath": "swashbuckle.aspnetcore.6.6.2.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.Swagger/6.6.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ovgPTSYX83UrQUWiS5vzDcJ8TEX1MAxBgDFMK45rC24MorHEPQlZAHlaXj/yth4Zf6xcktpUgTEBvffRQVwDKA==", + "path": "swashbuckle.aspnetcore.swagger/6.6.2", + "hashPath": "swashbuckle.aspnetcore.swagger.6.6.2.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.SwaggerGen/6.6.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zv4ikn4AT1VYuOsDCpktLq4QDq08e7Utzbir86M5/ZkRaLXbCPF11E1/vTmOiDzRTl0zTZINQU2qLKwTcHgfrA==", + "path": "swashbuckle.aspnetcore.swaggergen/6.6.2", + "hashPath": "swashbuckle.aspnetcore.swaggergen.6.6.2.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.SwaggerUI/6.6.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mBBb+/8Hm2Q3Wygag+hu2jj69tZW5psuv0vMRXY07Wy+Rrj40vRP8ZTbKBhs91r45/HXT4aY4z0iSBYx1h6JvA==", + "path": "swashbuckle.aspnetcore.swaggerui/6.6.2", + "hashPath": "swashbuckle.aspnetcore.swaggerui.6.6.2.nupkg.sha512" + }, + "System.CodeDom/4.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2sCCb7doXEwtYAbqzbF/8UAeDRMNmPaQbU2q50Psg1J9KzumyVVCgKQY8s53WIPTufNT0DpSe9QRvVjOzfDWBA==", + "path": "system.codedom/4.4.0", + "hashPath": "system.codedom.4.4.0.nupkg.sha512" + }, + "System.Collections.Immutable/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "path": "system.collections.immutable/6.0.0", + "hashPath": "system.collections.immutable.6.0.0.nupkg.sha512" + }, + "System.Composition/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-d7wMuKQtfsxUa7S13tITC8n1cQzewuhD5iDjZtK2prwFfKVzdYtgrTHgjaV03Zq7feGQ5gkP85tJJntXwInsJA==", + "path": "system.composition/6.0.0", + "hashPath": "system.composition.6.0.0.nupkg.sha512" + }, + "System.Composition.AttributedModel/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WK1nSDLByK/4VoC7fkNiFuTVEiperuCN/Hyn+VN30R+W2ijO1d0Z2Qm0ScEl9xkSn1G2MyapJi8xpf4R8WRa/w==", + "path": "system.composition.attributedmodel/6.0.0", + "hashPath": "system.composition.attributedmodel.6.0.0.nupkg.sha512" + }, + "System.Composition.Convention/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XYi4lPRdu5bM4JVJ3/UIHAiG6V6lWWUlkhB9ab4IOq0FrRsp0F4wTyV4Dj+Ds+efoXJ3qbLqlvaUozDO7OLeXA==", + "path": "system.composition.convention/6.0.0", + "hashPath": "system.composition.convention.6.0.0.nupkg.sha512" + }, + "System.Composition.Hosting/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-w/wXjj7kvxuHPLdzZ0PAUt++qJl03t7lENmb2Oev0n3zbxyNULbWBlnd5J5WUMMv15kg5o+/TCZFb6lSwfaUUQ==", + "path": "system.composition.hosting/6.0.0", + "hashPath": "system.composition.hosting.6.0.0.nupkg.sha512" + }, + "System.Composition.Runtime/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-qkRH/YBaMPTnzxrS5RDk1juvqed4A6HOD/CwRcDGyPpYps1J27waBddiiq1y93jk2ZZ9wuA/kynM+NO0kb3PKg==", + "path": "system.composition.runtime/6.0.0", + "hashPath": "system.composition.runtime.6.0.0.nupkg.sha512" + }, + "System.Composition.TypedParts/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iUR1eHrL8Cwd82neQCJ00MpwNIBs4NZgXzrPqx8NJf/k4+mwBO0XCRmHYJT4OLSwDDqh5nBLJWkz5cROnrGhRA==", + "path": "system.composition.typedparts/6.0.0", + "hashPath": "system.composition.typedparts.6.0.0.nupkg.sha512" + }, + "System.IdentityModel.Tokens.Jwt/8.12.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jlYdVOJrdeyD80ppEqKJ8BhJdrV3MjeA+seURdhC0DnD41GyUA9Ik+P7Sb571ufVVCYIx93GjeqVvY3QyQxZAA==", + "path": "system.identitymodel.tokens.jwt/8.12.1", + "hashPath": "system.identitymodel.tokens.jwt.8.12.1.nupkg.sha512" + }, + "System.IO.Pipelines/6.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ryTgF+iFkpGZY1vRQhfCzX0xTdlV3pyaTTqRu2ETbEv+HlV7O6y7hyQURnghNIXvctl5DuZ//Dpks6HdL/Txgw==", + "path": "system.io.pipelines/6.0.3", + "hashPath": "system.io.pipelines.6.0.3.nupkg.sha512" + }, + "System.Reflection.Metadata/6.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-III/lNMSn0ZRBuM9m5Cgbiho5j81u0FAEagFX5ta2DKbljZ3T0IpD8j+BIiHQPeKqJppWS9bGEp6JnKnWKze0g==", + "path": "system.reflection.metadata/6.0.1", + "hashPath": "system.reflection.metadata.6.0.1.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", + "path": "system.runtime.compilerservices.unsafe/6.0.0", + "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" + }, + "System.Text.Encoding.CodePages/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZFCILZuOvtKPauZ/j/swhvw68ZRi9ATCfvGbk1QfydmcXBkIWecWKn/250UH7rahZ5OoDBaiAudJtPvLwzw85A==", + "path": "system.text.encoding.codepages/6.0.0", + "hashPath": "system.text.encoding.codepages.6.0.0.nupkg.sha512" + }, + "System.Text.Encodings.Web/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yev/k9GHAEGx2Rg3/tU6MQh4HGBXJs70y7j1LaM1i/ER9po+6nnQ6RRqTJn1E7Xu0fbIFK80Nh5EoODxrbxwBQ==", + "path": "system.text.encodings.web/8.0.0", + "hashPath": "system.text.encodings.web.8.0.0.nupkg.sha512" + }, + "System.Text.Json/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OdrZO2WjkiEG6ajEFRABTRCi/wuXQPxeV6g8xvUJqdxMvvuCCEk86zPla8UiIQJz3durtUEbNyY/3lIhS0yZvQ==", + "path": "system.text.json/8.0.0", + "hashPath": "system.text.json.8.0.0.nupkg.sha512" + }, + "System.Threading.Channels/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==", + "path": "system.threading.channels/6.0.0", + "hashPath": "system.threading.channels.6.0.0.nupkg.sha512" + }, + "Admin.application/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Admin.Domain/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Admin.Infrastructure/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + }, + "runtimes": { + "win-x64": [ + "win", + "any", + "base" + ] + } +} \ No newline at end of file diff --git a/backend/src/Admin.api/pub/Admin.api.dll b/backend/src/Admin.api/pub/Admin.api.dll new file mode 100644 index 0000000000000000000000000000000000000000..417227b1cbebcddfced3e2e98c8ee681524b0fbf Binary files /dev/null and b/backend/src/Admin.api/pub/Admin.api.dll differ diff --git a/backend/src/Admin.api/pub/Admin.api.exe b/backend/src/Admin.api/pub/Admin.api.exe new file mode 100644 index 0000000000000000000000000000000000000000..bbf2da4609f0347518270b40bf606abe54bd536d Binary files /dev/null and b/backend/src/Admin.api/pub/Admin.api.exe differ diff --git a/backend/src/Admin.api/pub/Admin.api.pdb b/backend/src/Admin.api/pub/Admin.api.pdb new file mode 100644 index 0000000000000000000000000000000000000000..45d11f6d5a7c3a645b8ddf166288106071ab333d Binary files /dev/null and b/backend/src/Admin.api/pub/Admin.api.pdb differ diff --git a/backend/src/Admin.api/pub/Admin.api.runtimeconfig.json b/backend/src/Admin.api/pub/Admin.api.runtimeconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..009334f168c6d298277c2ef706a01cdbb1658f7c --- /dev/null +++ b/backend/src/Admin.api/pub/Admin.api.runtimeconfig.json @@ -0,0 +1,21 @@ +{ + "runtimeOptions": { + "tfm": "net8.0", + "includedFrameworks": [ + { + "name": "Microsoft.NETCore.App", + "version": "8.0.17" + }, + { + "name": "Microsoft.AspNetCore.App", + "version": "8.0.17" + } + ], + "configProperties": { + "System.GC.Server": true, + "System.Reflection.Metadata.MetadataUpdater.IsSupported": false, + "System.Reflection.NullabilityInfoContext.IsSupported": true, + "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false + } + } +} \ No newline at end of file diff --git a/backend/src/Admin.api/pub/Admin.application.dll b/backend/src/Admin.api/pub/Admin.application.dll new file mode 100644 index 0000000000000000000000000000000000000000..4e0c8796c88e834a0ee20c9b3bfe6b53da27f6ba Binary files /dev/null and b/backend/src/Admin.api/pub/Admin.application.dll differ diff --git a/backend/src/Admin.api/pub/Admin.application.pdb b/backend/src/Admin.api/pub/Admin.application.pdb new file mode 100644 index 0000000000000000000000000000000000000000..7ef87f6a6dcf17a3133491e2820e93b8b7401140 Binary files /dev/null and b/backend/src/Admin.api/pub/Admin.application.pdb differ diff --git a/backend/src/Admin.api/pub/BCrypt.Net-Next.dll b/backend/src/Admin.api/pub/BCrypt.Net-Next.dll new file mode 100644 index 0000000000000000000000000000000000000000..42d908270771203d4bb036baced3d848a59bd38b Binary files /dev/null and b/backend/src/Admin.api/pub/BCrypt.Net-Next.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Antiforgery.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Antiforgery.dll new file mode 100644 index 0000000000000000000000000000000000000000..e7fbb1b394e847083feed3c2eedc72555db18b5d Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Antiforgery.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authentication.Abstractions.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authentication.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..676983e64271bd6a0656a8e1bdf2d6d88269fa74 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authentication.Abstractions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authentication.BearerToken.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authentication.BearerToken.dll new file mode 100644 index 0000000000000000000000000000000000000000..27010829841de04739add6d9948853fbc2d32d09 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authentication.BearerToken.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authentication.Cookies.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authentication.Cookies.dll new file mode 100644 index 0000000000000000000000000000000000000000..8729c230c50df74a8daf3a65af4b2f2e6f626932 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authentication.Cookies.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authentication.Core.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authentication.Core.dll new file mode 100644 index 0000000000000000000000000000000000000000..e65197a1a9578ea6ff2d68cf6611e625a46a2754 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authentication.Core.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authentication.JwtBearer.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authentication.JwtBearer.dll new file mode 100644 index 0000000000000000000000000000000000000000..45e0fbc7c7a1186085c2957c50042e2c4b39db38 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authentication.JwtBearer.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authentication.OAuth.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authentication.OAuth.dll new file mode 100644 index 0000000000000000000000000000000000000000..4318306b311ee99ce2d65dc75585d688e0fe850b Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authentication.OAuth.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authentication.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authentication.dll new file mode 100644 index 0000000000000000000000000000000000000000..57c58db807934ab0f3606032d12eebf1aec5c193 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authentication.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authorization.Policy.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authorization.Policy.dll new file mode 100644 index 0000000000000000000000000000000000000000..75ef5a49cfe03c9f9b452a8439442acf596679f8 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authorization.Policy.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authorization.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authorization.dll new file mode 100644 index 0000000000000000000000000000000000000000..76cd3ec60c7d4eab40c0914d17414c41643a4a3a Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Authorization.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Components.Authorization.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Components.Authorization.dll new file mode 100644 index 0000000000000000000000000000000000000000..9ab2b11952a88dd54f88437141f17fba77ebac04 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Components.Authorization.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Components.Endpoints.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Components.Endpoints.dll new file mode 100644 index 0000000000000000000000000000000000000000..476a430af6bdbff91d61279cea5365c00a463703 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Components.Endpoints.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Components.Forms.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Components.Forms.dll new file mode 100644 index 0000000000000000000000000000000000000000..b63b17765ec61300028b8090e1da0d74a3ee87b4 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Components.Forms.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Components.Server.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Components.Server.dll new file mode 100644 index 0000000000000000000000000000000000000000..5f158428a42cce265b6526ab973d582bdd5fee88 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Components.Server.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Components.Web.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Components.Web.dll new file mode 100644 index 0000000000000000000000000000000000000000..f6a1d34d0f546fcd417a1e2e217686791346e918 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Components.Web.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Components.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Components.dll new file mode 100644 index 0000000000000000000000000000000000000000..2b09addf67cdde6d75fb8cfa7af3f1baf7a11ec9 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Components.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Connections.Abstractions.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Connections.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..c19cd0b96df263d8766b949dca61b997128f5720 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Connections.Abstractions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.CookiePolicy.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.CookiePolicy.dll new file mode 100644 index 0000000000000000000000000000000000000000..5d51d39679576dbe797a733d17bbbc8544cf4641 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.CookiePolicy.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Cors.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Cors.dll new file mode 100644 index 0000000000000000000000000000000000000000..659ffa807ea70206499ca3847a3e13b5b937793f Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Cors.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Cryptography.Internal.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Cryptography.Internal.dll new file mode 100644 index 0000000000000000000000000000000000000000..22fa180dcb6fe3861f0cdd0406357f6e51540791 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Cryptography.Internal.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll new file mode 100644 index 0000000000000000000000000000000000000000..073379a29397c27288791f997d04908cf9974346 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.DataProtection.Abstractions.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.DataProtection.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..27abe2a082eee1665b30ba84d16bd942dfbeb9cf Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.DataProtection.Abstractions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.DataProtection.Extensions.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.DataProtection.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..c66b0409628ba0e080868dde8cc3bfac0c9fba35 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.DataProtection.Extensions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.DataProtection.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.DataProtection.dll new file mode 100644 index 0000000000000000000000000000000000000000..207a6c24522a8590b4aac3ad73b077bfbb9967ed Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.DataProtection.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Diagnostics.Abstractions.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Diagnostics.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..57d66a51d8a5f0a09801f64a2128d7ba2756ad61 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Diagnostics.Abstractions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Diagnostics.HealthChecks.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Diagnostics.HealthChecks.dll new file mode 100644 index 0000000000000000000000000000000000000000..e8ffe4a55bd4d39e7ecff540d14c768384b579f0 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Diagnostics.HealthChecks.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Diagnostics.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Diagnostics.dll new file mode 100644 index 0000000000000000000000000000000000000000..10a04ecf73658bf7c529c93a1b29c46b9564cb2a Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Diagnostics.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.HostFiltering.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.HostFiltering.dll new file mode 100644 index 0000000000000000000000000000000000000000..b053ce238b0058f27564694e9a283231f06edf4a Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.HostFiltering.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Hosting.Abstractions.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Hosting.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..989bd6cd5ecb134f349d3b25791e8a52338623c1 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Hosting.Abstractions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..e4db7a25302fcb90733c4e54e721c5975bf8a7cb Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Hosting.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Hosting.dll new file mode 100644 index 0000000000000000000000000000000000000000..9e805f96acddad43d83b046053b46ce281513af7 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Hosting.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Html.Abstractions.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Html.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..968d730986d04912ca0aa8631f6df8e5226daf8f Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Html.Abstractions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Http.Abstractions.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Http.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..f2423088f6c679fc3bca6c04d43760c36d65a196 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Http.Abstractions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Http.Connections.Common.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Http.Connections.Common.dll new file mode 100644 index 0000000000000000000000000000000000000000..d252ec253f2eacc8f5a9f32745e7a8e485c2593f Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Http.Connections.Common.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Http.Connections.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Http.Connections.dll new file mode 100644 index 0000000000000000000000000000000000000000..94a7e26639ecc76ac8951c7f32214eb2f1a39c13 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Http.Connections.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Http.Extensions.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Http.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..c87d2ef489875e7f7ea2bada644af4dbd2523fc4 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Http.Extensions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Http.Features.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Http.Features.dll new file mode 100644 index 0000000000000000000000000000000000000000..299d873daeb411515a09253a86d7911a89227a43 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Http.Features.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Http.Results.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Http.Results.dll new file mode 100644 index 0000000000000000000000000000000000000000..eefa105ec1390df08f824690649d0350e619e603 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Http.Results.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Http.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Http.dll new file mode 100644 index 0000000000000000000000000000000000000000..00546d6d07484e09000b2c871475c57ea47e929e Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Http.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.HttpLogging.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.HttpLogging.dll new file mode 100644 index 0000000000000000000000000000000000000000..2c68678262242056bb915a48b873a8a66e35b76d Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.HttpLogging.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.HttpOverrides.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.HttpOverrides.dll new file mode 100644 index 0000000000000000000000000000000000000000..27dacceb0ce076b0f5e6577b497bb494d5ae3a03 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.HttpOverrides.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.HttpsPolicy.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.HttpsPolicy.dll new file mode 100644 index 0000000000000000000000000000000000000000..e6e4428c6f502da226a70aacb0b75dbf57ebc7df Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.HttpsPolicy.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Identity.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Identity.dll new file mode 100644 index 0000000000000000000000000000000000000000..fe5d11fe593e8ae18dadf4278e1d4e340ca87e3d Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Identity.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Localization.Routing.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Localization.Routing.dll new file mode 100644 index 0000000000000000000000000000000000000000..4ca59797ebaca84aed4f4c191ecff9379ccd6977 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Localization.Routing.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Localization.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Localization.dll new file mode 100644 index 0000000000000000000000000000000000000000..60e5344426e0fd947097ad6f8389612894699bc0 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Localization.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Metadata.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Metadata.dll new file mode 100644 index 0000000000000000000000000000000000000000..8ad45bbe07a24f6e82248fbc2c5b60bc125fdf95 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Metadata.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.Abstractions.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..a3d73ab1e1467aeb5aaaf53e9a432818aba2c764 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.Abstractions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.ApiExplorer.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.ApiExplorer.dll new file mode 100644 index 0000000000000000000000000000000000000000..759170bb536a6990996a57c6ed41384784e12f63 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.ApiExplorer.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.Core.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.Core.dll new file mode 100644 index 0000000000000000000000000000000000000000..b609750df8ba347d14e1af81e4528b07036c3233 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.Core.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.Cors.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.Cors.dll new file mode 100644 index 0000000000000000000000000000000000000000..39eae62cce098e9ef944225064046cc77c51adf1 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.Cors.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.DataAnnotations.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.DataAnnotations.dll new file mode 100644 index 0000000000000000000000000000000000000000..ffc7bfe5199955de0704b9560121c9cfcc1ed935 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.DataAnnotations.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.Formatters.Json.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.Formatters.Json.dll new file mode 100644 index 0000000000000000000000000000000000000000..12fcdd3c2209aede86e1dbecfbadfda0eec33808 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.Formatters.Json.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.Formatters.Xml.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.Formatters.Xml.dll new file mode 100644 index 0000000000000000000000000000000000000000..e7b7916eaa16e34cd3109f1f7b6c0e8f23a7c862 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.Formatters.Xml.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.Localization.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.Localization.dll new file mode 100644 index 0000000000000000000000000000000000000000..4c6d3c1f2971c2f94cb55a8ee576cb034fc7e95f Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.Localization.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.Razor.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.Razor.dll new file mode 100644 index 0000000000000000000000000000000000000000..14603e595acb3622b8003fd71cb26de547cd5124 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.Razor.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.RazorPages.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.RazorPages.dll new file mode 100644 index 0000000000000000000000000000000000000000..7ccd2dec5040bd6f93e4389b97465f9a53ed3156 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.RazorPages.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.TagHelpers.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.TagHelpers.dll new file mode 100644 index 0000000000000000000000000000000000000000..8b1a2f451a2b02000e89d57b61d653b22309e919 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.TagHelpers.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.ViewFeatures.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.ViewFeatures.dll new file mode 100644 index 0000000000000000000000000000000000000000..4c76d710dbafa852b3afb4b38c6e14769cdccbe1 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.ViewFeatures.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.dll new file mode 100644 index 0000000000000000000000000000000000000000..bd19dd30900e620648a5b635765bdfb5d0f8b772 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Mvc.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.OpenApi.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.OpenApi.dll new file mode 100644 index 0000000000000000000000000000000000000000..745adf0fa9423ba40f8e1777ee735d2cfd2285de Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.OpenApi.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.OutputCaching.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.OutputCaching.dll new file mode 100644 index 0000000000000000000000000000000000000000..d37ecad4bbf870f4948cf361082b372bcf8795ce Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.OutputCaching.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.RateLimiting.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.RateLimiting.dll new file mode 100644 index 0000000000000000000000000000000000000000..3c6e5a723cd7be8ff6d7aca27d02006cb7b06a46 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.RateLimiting.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Razor.Runtime.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Razor.Runtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..9b6f2399d868fb6f7e23a3bed20c4e47598e20f5 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Razor.Runtime.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Razor.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Razor.dll new file mode 100644 index 0000000000000000000000000000000000000000..ace49f34eb0c7ccc7a730ea70042ae32961b761a Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Razor.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.RequestDecompression.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.RequestDecompression.dll new file mode 100644 index 0000000000000000000000000000000000000000..5116d8fa4415ca2124c5c804d15b79d50a46e5aa Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.RequestDecompression.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.ResponseCaching.Abstractions.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.ResponseCaching.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..6da4a48611774bea25b5517d8c0c0596bbed7576 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.ResponseCaching.Abstractions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.ResponseCaching.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.ResponseCaching.dll new file mode 100644 index 0000000000000000000000000000000000000000..badbbb14a28f83d5c1eb241dadeaba19cbc29523 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.ResponseCaching.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.ResponseCompression.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.ResponseCompression.dll new file mode 100644 index 0000000000000000000000000000000000000000..14c515c8b21da117589ae81d413341ed33f5c06c Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.ResponseCompression.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Rewrite.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Rewrite.dll new file mode 100644 index 0000000000000000000000000000000000000000..4be7b801d2a92ed25f61d9ec273852b4eea726de Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Rewrite.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Routing.Abstractions.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Routing.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..4d90af89a7025dd4891af5c3b9bcb91e083d4877 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Routing.Abstractions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Routing.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Routing.dll new file mode 100644 index 0000000000000000000000000000000000000000..6eebc3adf0ad2acfab9308273c31e47fd7bcd773 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Routing.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.HttpSys.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.HttpSys.dll new file mode 100644 index 0000000000000000000000000000000000000000..c93c68fb482a3a503640690e59b94b4e15a3429d Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.HttpSys.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.IIS.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.IIS.dll new file mode 100644 index 0000000000000000000000000000000000000000..6d9a7bec6391f253ad29364c12cdc1d18d89a026 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.IIS.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.IISIntegration.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.IISIntegration.dll new file mode 100644 index 0000000000000000000000000000000000000000..34ed9730b396305fc3806dc070573b802a5bcbe7 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.IISIntegration.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.Kestrel.Core.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.Kestrel.Core.dll new file mode 100644 index 0000000000000000000000000000000000000000..9a7d0c9cdf84a4d5c42024ec77fee9dc65a39886 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.Kestrel.Core.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes.dll new file mode 100644 index 0000000000000000000000000000000000000000..4ab1471a6725ce4beb5d150a4038e2e849e70d39 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.dll new file mode 100644 index 0000000000000000000000000000000000000000..d290c5f864a6fbbe1853e0b59e67b33115fca8a0 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll new file mode 100644 index 0000000000000000000000000000000000000000..f87156ac828628722cb44a54125e876eceeed94f Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.Kestrel.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.Kestrel.dll new file mode 100644 index 0000000000000000000000000000000000000000..2115db316c3be1bd64dd5b5a2a09a06736f2be43 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Server.Kestrel.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.Session.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Session.dll new file mode 100644 index 0000000000000000000000000000000000000000..9efd1ef7a2ce4520bff4b2e7542a1f75fc0708b2 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.Session.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.SignalR.Common.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.SignalR.Common.dll new file mode 100644 index 0000000000000000000000000000000000000000..bf8cf0c5d0b2d885adf23e9e428fd474fe3f3577 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.SignalR.Common.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.SignalR.Core.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.SignalR.Core.dll new file mode 100644 index 0000000000000000000000000000000000000000..573a8d010145a46aeae2ed706b8f61fa7b960f6b Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.SignalR.Core.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.SignalR.Protocols.Json.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.SignalR.Protocols.Json.dll new file mode 100644 index 0000000000000000000000000000000000000000..4485daab055ba93919d42bd3761611688cdfc62d Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.SignalR.Protocols.Json.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.SignalR.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.SignalR.dll new file mode 100644 index 0000000000000000000000000000000000000000..eb82d2a6be4ee51e2678e945e012d272a55df731 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.SignalR.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.StaticFiles.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.StaticFiles.dll new file mode 100644 index 0000000000000000000000000000000000000000..b010794d098f6ac34b702592e8a68dd1ebb2f436 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.StaticFiles.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.WebSockets.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.WebSockets.dll new file mode 100644 index 0000000000000000000000000000000000000000..29f3809b8bf32577f58f439051c235b7908305bc Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.WebSockets.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.WebUtilities.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.WebUtilities.dll new file mode 100644 index 0000000000000000000000000000000000000000..730bf3db2b5b739edf93571868f437c553398bc8 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.WebUtilities.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.AspNetCore.dll b/backend/src/Admin.api/pub/Microsoft.AspNetCore.dll new file mode 100644 index 0000000000000000000000000000000000000000..4b5da82e852b5896b92ca2b576ba003ab2d2a6a8 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.AspNetCore.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.CSharp.dll b/backend/src/Admin.api/pub/Microsoft.CSharp.dll new file mode 100644 index 0000000000000000000000000000000000000000..0d85517dc586ba3881a39666bc43d9713bd0a9a7 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.CSharp.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.DiaSymReader.Native.amd64.dll b/backend/src/Admin.api/pub/Microsoft.DiaSymReader.Native.amd64.dll new file mode 100644 index 0000000000000000000000000000000000000000..92b355ba34de6f6bba71150d741224cd5c1efd29 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.DiaSymReader.Native.amd64.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.EntityFrameworkCore.Abstractions.dll b/backend/src/Admin.api/pub/Microsoft.EntityFrameworkCore.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..7967c567eb860fa05c88d0c2d5bdb410805bc499 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.EntityFrameworkCore.Abstractions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.EntityFrameworkCore.Relational.dll b/backend/src/Admin.api/pub/Microsoft.EntityFrameworkCore.Relational.dll new file mode 100644 index 0000000000000000000000000000000000000000..beb8dbfb47bfef0874195e1fb387feb8952dee6f Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.EntityFrameworkCore.Relational.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.EntityFrameworkCore.dll b/backend/src/Admin.api/pub/Microsoft.EntityFrameworkCore.dll new file mode 100644 index 0000000000000000000000000000000000000000..06b833c0028b55438d72906eb84611a8eae18e89 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.EntityFrameworkCore.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Caching.Abstractions.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Caching.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..5e8ac34247a8c11163b74704dbd18b6379f76474 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Caching.Abstractions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Caching.Memory.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Caching.Memory.dll new file mode 100644 index 0000000000000000000000000000000000000000..426633025410178f6dba69157869b0a56ede5e4b Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Caching.Memory.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.Abstractions.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..497bb77d0420e27f84a3f486af2505323412419b Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.Abstractions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.Binder.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.Binder.dll new file mode 100644 index 0000000000000000000000000000000000000000..7b9a46991b89a9af148463bbdba47ede0ca51006 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.Binder.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.CommandLine.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.CommandLine.dll new file mode 100644 index 0000000000000000000000000000000000000000..ec8d846a8b43f795e056ef6b64483701ee6d6525 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.CommandLine.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.EnvironmentVariables.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.EnvironmentVariables.dll new file mode 100644 index 0000000000000000000000000000000000000000..244cf49f6bb179c1c290a8b398e8d9fd504293b0 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.EnvironmentVariables.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.FileExtensions.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.FileExtensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..b36a66ea8d294d44068fb687d73268d591d999a3 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.FileExtensions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.Ini.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.Ini.dll new file mode 100644 index 0000000000000000000000000000000000000000..235e47e632bf6823bed3c841d80db4f26dabf075 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.Ini.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.Json.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.Json.dll new file mode 100644 index 0000000000000000000000000000000000000000..94955e3614208839d10c16554cce1a20feb4c698 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.Json.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.KeyPerFile.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.KeyPerFile.dll new file mode 100644 index 0000000000000000000000000000000000000000..de06bb2d848179ab749a0e0d3d686b5532048dab Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.KeyPerFile.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.UserSecrets.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.UserSecrets.dll new file mode 100644 index 0000000000000000000000000000000000000000..4e3382fc377184ce61126d7b0eeda4e40038927e Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.UserSecrets.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.Xml.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.Xml.dll new file mode 100644 index 0000000000000000000000000000000000000000..bed6969037a4bbff24723b511b44f0b81b5ede58 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.Xml.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.dll new file mode 100644 index 0000000000000000000000000000000000000000..0e7c735632a1e33fd3a50ac76a89a8f0e539dee4 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Configuration.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.DependencyInjection.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..366ea59643230da18ab5270596c94674476e39f1 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.DependencyInjection.Abstractions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.DependencyInjection.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.DependencyInjection.dll new file mode 100644 index 0000000000000000000000000000000000000000..e89e047ba8fe20875bb7c52e77f1855fcf7f1435 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.DependencyInjection.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Diagnostics.Abstractions.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Diagnostics.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..c8a6d25a7c103e14d42aec2d9569b89e7dd9c578 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Diagnostics.Abstractions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..b5aaf7202a8305e13b6d5b5b20ef625e9147d2c5 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Diagnostics.HealthChecks.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Diagnostics.HealthChecks.dll new file mode 100644 index 0000000000000000000000000000000000000000..395860d67910962821865be828b3e21a6126046c Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Diagnostics.HealthChecks.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Diagnostics.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Diagnostics.dll new file mode 100644 index 0000000000000000000000000000000000000000..77e8c701652fe3f638bd1efb711233dcbc3f6bf6 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Diagnostics.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Features.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Features.dll new file mode 100644 index 0000000000000000000000000000000000000000..d6ac45ec982f1b7b79e5a00c89582714a0e09394 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Features.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.FileProviders.Abstractions.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.FileProviders.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..824b6ca0c0368a34a3fb9cc102cca8024daebf1b Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.FileProviders.Abstractions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.FileProviders.Composite.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.FileProviders.Composite.dll new file mode 100644 index 0000000000000000000000000000000000000000..00161e5c8dc55eb6cffad00c8015f936134c3070 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.FileProviders.Composite.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.FileProviders.Embedded.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.FileProviders.Embedded.dll new file mode 100644 index 0000000000000000000000000000000000000000..5a47bdf76dd9ac8c7a9831cc0c11bba6437f0456 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.FileProviders.Embedded.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.FileProviders.Physical.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.FileProviders.Physical.dll new file mode 100644 index 0000000000000000000000000000000000000000..da2cd75d073360c1eb1dfb714931be13b28f96bd Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.FileProviders.Physical.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.FileSystemGlobbing.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.FileSystemGlobbing.dll new file mode 100644 index 0000000000000000000000000000000000000000..9e570446b4f992124c4cfff59dd11b1ff758cb7c Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.FileSystemGlobbing.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Hosting.Abstractions.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Hosting.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..3a13a111c8043b6005119152e70508c8586743de Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Hosting.Abstractions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Hosting.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Hosting.dll new file mode 100644 index 0000000000000000000000000000000000000000..a43451067f0bb4dcf0ce7ae0fc862dbef3b69fb4 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Hosting.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Http.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Http.dll new file mode 100644 index 0000000000000000000000000000000000000000..5be4631adb4b9a796c54e14cc173970c751ea37b Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Http.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Identity.Core.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Identity.Core.dll new file mode 100644 index 0000000000000000000000000000000000000000..33d9f38d60e14d6b1b496fd27961a7a0b73709d4 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Identity.Core.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Identity.Stores.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Identity.Stores.dll new file mode 100644 index 0000000000000000000000000000000000000000..bb32754e87c1dde334d5dec1f8a7247ad5c18d85 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Identity.Stores.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Localization.Abstractions.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Localization.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..77bcf44e3a4c288e5362861a758075fb28bec63e Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Localization.Abstractions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Localization.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Localization.dll new file mode 100644 index 0000000000000000000000000000000000000000..e119135d81103f03f19fa7ff9a169f71429e375e Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Localization.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.Abstractions.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..80ae829c2b437dc9925aec084a44e648c1b91ea7 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.Abstractions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.Configuration.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.Configuration.dll new file mode 100644 index 0000000000000000000000000000000000000000..526542999e1f230c73b756ce265dbfe5e267c972 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.Configuration.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.Console.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.Console.dll new file mode 100644 index 0000000000000000000000000000000000000000..21bc9296920ceafd89ef0d33b28e064903ad5edd Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.Console.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.Debug.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.Debug.dll new file mode 100644 index 0000000000000000000000000000000000000000..d617f822c008da59e64f83c9810c905df86de0ea Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.Debug.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.EventLog.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.EventLog.dll new file mode 100644 index 0000000000000000000000000000000000000000..10a0dde7832ed1b1e8424232fb35bf9c083902ff Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.EventLog.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.EventSource.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.EventSource.dll new file mode 100644 index 0000000000000000000000000000000000000000..f48fba7e01c6918f6f53439e2173f3041e06e265 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.EventSource.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.TraceSource.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.TraceSource.dll new file mode 100644 index 0000000000000000000000000000000000000000..49ba5516708029c105082bcd544be9beca5aecd2 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.TraceSource.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.dll new file mode 100644 index 0000000000000000000000000000000000000000..4c020f7091e4326e808cdf8a7a525f0986dc7a29 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Logging.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.ObjectPool.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.ObjectPool.dll new file mode 100644 index 0000000000000000000000000000000000000000..f6d494e64f1ee0ecf0229f9bdfb0e5ab449afcb4 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.ObjectPool.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Options.ConfigurationExtensions.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Options.ConfigurationExtensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..bbe9103bd83127fe29be53510cd34be84f53698c Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Options.ConfigurationExtensions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Options.DataAnnotations.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Options.DataAnnotations.dll new file mode 100644 index 0000000000000000000000000000000000000000..73ffcf756e5de520b85a4a0b74d5d8aa6e81caa6 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Options.DataAnnotations.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Options.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Options.dll new file mode 100644 index 0000000000000000000000000000000000000000..e570d894955778f45e26b329e3f092af99dec956 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Options.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.Primitives.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.Primitives.dll new file mode 100644 index 0000000000000000000000000000000000000000..9bc71b5b6e10ec88581be4c7a08fb2cb7442220d Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.Primitives.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Extensions.WebEncoders.dll b/backend/src/Admin.api/pub/Microsoft.Extensions.WebEncoders.dll new file mode 100644 index 0000000000000000000000000000000000000000..a847c08111768c262592d83fe05fb6ff4ada2496 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Extensions.WebEncoders.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.IdentityModel.Abstractions.dll b/backend/src/Admin.api/pub/Microsoft.IdentityModel.Abstractions.dll new file mode 100644 index 0000000000000000000000000000000000000000..10c5e33541b09351479a049fa0717169036dc25d Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.IdentityModel.Abstractions.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.IdentityModel.JsonWebTokens.dll b/backend/src/Admin.api/pub/Microsoft.IdentityModel.JsonWebTokens.dll new file mode 100644 index 0000000000000000000000000000000000000000..14afc894316c162ddc8b446271a3c00092642446 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.IdentityModel.JsonWebTokens.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.IdentityModel.Logging.dll b/backend/src/Admin.api/pub/Microsoft.IdentityModel.Logging.dll new file mode 100644 index 0000000000000000000000000000000000000000..ff83e0fbc6b0e7e2e4e0f7b7e96713d1f5355a84 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.IdentityModel.Logging.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll b/backend/src/Admin.api/pub/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll new file mode 100644 index 0000000000000000000000000000000000000000..a051c1442f41d29fe85b37c5551c25752a8e1f42 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.IdentityModel.Protocols.dll b/backend/src/Admin.api/pub/Microsoft.IdentityModel.Protocols.dll new file mode 100644 index 0000000000000000000000000000000000000000..039be6c9186059397e7888b3627d9ab0f68cc418 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.IdentityModel.Protocols.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.IdentityModel.Tokens.dll b/backend/src/Admin.api/pub/Microsoft.IdentityModel.Tokens.dll new file mode 100644 index 0000000000000000000000000000000000000000..1095cd2ffe4b57084586b9f508307704f9a20d66 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.IdentityModel.Tokens.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.JSInterop.dll b/backend/src/Admin.api/pub/Microsoft.JSInterop.dll new file mode 100644 index 0000000000000000000000000000000000000000..ae68da572f55c3456909cdc99241692dedc040b9 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.JSInterop.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Net.Http.Headers.dll b/backend/src/Admin.api/pub/Microsoft.Net.Http.Headers.dll new file mode 100644 index 0000000000000000000000000000000000000000..e7672daace0f4890c4fb24fd8bbca4d0d5a160a7 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Net.Http.Headers.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.OpenApi.dll b/backend/src/Admin.api/pub/Microsoft.OpenApi.dll new file mode 100644 index 0000000000000000000000000000000000000000..aac9a6db6141dea9a2572dc68b8cf55490ded43c Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.OpenApi.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.VisualBasic.Core.dll b/backend/src/Admin.api/pub/Microsoft.VisualBasic.Core.dll new file mode 100644 index 0000000000000000000000000000000000000000..0a1b0996b1740dde9c8488d4570eb3feeea614e2 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.VisualBasic.Core.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.VisualBasic.dll b/backend/src/Admin.api/pub/Microsoft.VisualBasic.dll new file mode 100644 index 0000000000000000000000000000000000000000..21481f285ffd5df57a70da8eb9d599b0000cf572 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.VisualBasic.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Win32.Primitives.dll b/backend/src/Admin.api/pub/Microsoft.Win32.Primitives.dll new file mode 100644 index 0000000000000000000000000000000000000000..b2b7ff31a922588489ae8d50e5365f4c05f44289 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Win32.Primitives.dll differ diff --git a/backend/src/Admin.api/pub/Microsoft.Win32.Registry.dll b/backend/src/Admin.api/pub/Microsoft.Win32.Registry.dll new file mode 100644 index 0000000000000000000000000000000000000000..4ba600326523d3c13029981fe4e775a057b54af5 Binary files /dev/null and b/backend/src/Admin.api/pub/Microsoft.Win32.Registry.dll differ diff --git a/backend/src/Admin.api/pub/Npgsql.EntityFrameworkCore.PostgreSQL.dll b/backend/src/Admin.api/pub/Npgsql.EntityFrameworkCore.PostgreSQL.dll new file mode 100644 index 0000000000000000000000000000000000000000..3433e3c2b4a028f874040a0bd6e16882f87cc8ff Binary files /dev/null and b/backend/src/Admin.api/pub/Npgsql.EntityFrameworkCore.PostgreSQL.dll differ diff --git a/backend/src/Admin.api/pub/Npgsql.dll b/backend/src/Admin.api/pub/Npgsql.dll new file mode 100644 index 0000000000000000000000000000000000000000..d8b1efbebefad681717341f993468a5dc6962513 Binary files /dev/null and b/backend/src/Admin.api/pub/Npgsql.dll differ diff --git a/backend/src/Admin.api/pub/Swashbuckle.AspNetCore.Swagger.dll b/backend/src/Admin.api/pub/Swashbuckle.AspNetCore.Swagger.dll new file mode 100644 index 0000000000000000000000000000000000000000..41e2fc2f6e15c4ccaadd12bb6f4e1d9a5f1cdd59 Binary files /dev/null and b/backend/src/Admin.api/pub/Swashbuckle.AspNetCore.Swagger.dll differ diff --git a/backend/src/Admin.api/pub/Swashbuckle.AspNetCore.SwaggerGen.dll b/backend/src/Admin.api/pub/Swashbuckle.AspNetCore.SwaggerGen.dll new file mode 100644 index 0000000000000000000000000000000000000000..de7f45da2be280a7f16d3f38b103c8a256a1de82 Binary files /dev/null and b/backend/src/Admin.api/pub/Swashbuckle.AspNetCore.SwaggerGen.dll differ diff --git a/backend/src/Admin.api/pub/Swashbuckle.AspNetCore.SwaggerUI.dll b/backend/src/Admin.api/pub/Swashbuckle.AspNetCore.SwaggerUI.dll new file mode 100644 index 0000000000000000000000000000000000000000..117b9f3cb0237b2a46f437c1ba29230551c148ec Binary files /dev/null and b/backend/src/Admin.api/pub/Swashbuckle.AspNetCore.SwaggerUI.dll differ diff --git a/backend/src/Admin.api/pub/System.AppContext.dll b/backend/src/Admin.api/pub/System.AppContext.dll new file mode 100644 index 0000000000000000000000000000000000000000..23de3bde7d267cd53d97d3d93f14b81ae71cdfb1 Binary files /dev/null and b/backend/src/Admin.api/pub/System.AppContext.dll differ diff --git a/backend/src/Admin.api/pub/System.Buffers.dll b/backend/src/Admin.api/pub/System.Buffers.dll new file mode 100644 index 0000000000000000000000000000000000000000..9869a286d65c76a8221d1116903a38fa6b98a203 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Buffers.dll differ diff --git a/backend/src/Admin.api/pub/System.Collections.Concurrent.dll b/backend/src/Admin.api/pub/System.Collections.Concurrent.dll new file mode 100644 index 0000000000000000000000000000000000000000..bbbc53f703b574203ad75ab0bf21ad960b67154d Binary files /dev/null and b/backend/src/Admin.api/pub/System.Collections.Concurrent.dll differ diff --git a/backend/src/Admin.api/pub/System.Collections.Immutable.dll b/backend/src/Admin.api/pub/System.Collections.Immutable.dll new file mode 100644 index 0000000000000000000000000000000000000000..c1b66f7a1d634940b0cdb5c3c62a0dd9473bbe9a Binary files /dev/null and b/backend/src/Admin.api/pub/System.Collections.Immutable.dll differ diff --git a/backend/src/Admin.api/pub/System.Collections.NonGeneric.dll b/backend/src/Admin.api/pub/System.Collections.NonGeneric.dll new file mode 100644 index 0000000000000000000000000000000000000000..dfa26edd1bc0e181cfe1ef0a9aca26fe3944276d Binary files /dev/null and b/backend/src/Admin.api/pub/System.Collections.NonGeneric.dll differ diff --git a/backend/src/Admin.api/pub/System.Collections.Specialized.dll b/backend/src/Admin.api/pub/System.Collections.Specialized.dll new file mode 100644 index 0000000000000000000000000000000000000000..2386c3fd9d82041ba6bf2d5183586f36d284a55b Binary files /dev/null and b/backend/src/Admin.api/pub/System.Collections.Specialized.dll differ diff --git a/backend/src/Admin.api/pub/System.Collections.dll b/backend/src/Admin.api/pub/System.Collections.dll new file mode 100644 index 0000000000000000000000000000000000000000..24dd4de77c1285557b1b229e056fd801d80d1efd Binary files /dev/null and b/backend/src/Admin.api/pub/System.Collections.dll differ diff --git a/backend/src/Admin.api/pub/System.ComponentModel.Annotations.dll b/backend/src/Admin.api/pub/System.ComponentModel.Annotations.dll new file mode 100644 index 0000000000000000000000000000000000000000..d9170613e4868c8e43b4e3ce0b25f674bcb80d78 Binary files /dev/null and b/backend/src/Admin.api/pub/System.ComponentModel.Annotations.dll differ diff --git a/backend/src/Admin.api/pub/System.ComponentModel.DataAnnotations.dll b/backend/src/Admin.api/pub/System.ComponentModel.DataAnnotations.dll new file mode 100644 index 0000000000000000000000000000000000000000..cdc5dc4563363f4b48474695b6dc2273e1eccbfa Binary files /dev/null and b/backend/src/Admin.api/pub/System.ComponentModel.DataAnnotations.dll differ diff --git a/backend/src/Admin.api/pub/System.ComponentModel.EventBasedAsync.dll b/backend/src/Admin.api/pub/System.ComponentModel.EventBasedAsync.dll new file mode 100644 index 0000000000000000000000000000000000000000..a18bb5a5c8f549f863688601ee41be1678a633d5 Binary files /dev/null and b/backend/src/Admin.api/pub/System.ComponentModel.EventBasedAsync.dll differ diff --git a/backend/src/Admin.api/pub/System.ComponentModel.Primitives.dll b/backend/src/Admin.api/pub/System.ComponentModel.Primitives.dll new file mode 100644 index 0000000000000000000000000000000000000000..8566bf0625d13fa0fae5b71e79034e6dae1f1a98 Binary files /dev/null and b/backend/src/Admin.api/pub/System.ComponentModel.Primitives.dll differ diff --git a/backend/src/Admin.api/pub/System.ComponentModel.TypeConverter.dll b/backend/src/Admin.api/pub/System.ComponentModel.TypeConverter.dll new file mode 100644 index 0000000000000000000000000000000000000000..c3d1e665cf26cc49a675abb4b73979652d0e9cdc Binary files /dev/null and b/backend/src/Admin.api/pub/System.ComponentModel.TypeConverter.dll differ diff --git a/backend/src/Admin.api/pub/System.ComponentModel.dll b/backend/src/Admin.api/pub/System.ComponentModel.dll new file mode 100644 index 0000000000000000000000000000000000000000..ed4e9ec43a5df3ef5b90d8e06f54e5e53b2c4093 Binary files /dev/null and b/backend/src/Admin.api/pub/System.ComponentModel.dll differ diff --git a/backend/src/Admin.api/pub/System.Configuration.dll b/backend/src/Admin.api/pub/System.Configuration.dll new file mode 100644 index 0000000000000000000000000000000000000000..0e22f11aedf59c7e637eaff07fba6b86b9898dd0 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Configuration.dll differ diff --git a/backend/src/Admin.api/pub/System.Console.dll b/backend/src/Admin.api/pub/System.Console.dll new file mode 100644 index 0000000000000000000000000000000000000000..f7480d80d360ba83ade2c879d7f50f5a473d188a Binary files /dev/null and b/backend/src/Admin.api/pub/System.Console.dll differ diff --git a/backend/src/Admin.api/pub/System.Core.dll b/backend/src/Admin.api/pub/System.Core.dll new file mode 100644 index 0000000000000000000000000000000000000000..7304d9290e4108155c506ad542a8536dc161df73 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Core.dll differ diff --git a/backend/src/Admin.api/pub/System.Data.Common.dll b/backend/src/Admin.api/pub/System.Data.Common.dll new file mode 100644 index 0000000000000000000000000000000000000000..9abb563e61abb0735258e815d0a8442a4ab03561 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Data.Common.dll differ diff --git a/backend/src/Admin.api/pub/System.Data.DataSetExtensions.dll b/backend/src/Admin.api/pub/System.Data.DataSetExtensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..d1e9b3a3458ab897eaaf77e4001a3e3ecdc6192a Binary files /dev/null and b/backend/src/Admin.api/pub/System.Data.DataSetExtensions.dll differ diff --git a/backend/src/Admin.api/pub/System.Data.dll b/backend/src/Admin.api/pub/System.Data.dll new file mode 100644 index 0000000000000000000000000000000000000000..398e5bdd153bd385162c8e36f0bf4b4ef1a6bfa2 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Data.dll differ diff --git a/backend/src/Admin.api/pub/System.Diagnostics.Contracts.dll b/backend/src/Admin.api/pub/System.Diagnostics.Contracts.dll new file mode 100644 index 0000000000000000000000000000000000000000..ef7463789ed42f5f276c320f41804d56bbe557f1 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Diagnostics.Contracts.dll differ diff --git a/backend/src/Admin.api/pub/System.Diagnostics.Debug.dll b/backend/src/Admin.api/pub/System.Diagnostics.Debug.dll new file mode 100644 index 0000000000000000000000000000000000000000..93b77054a62cb3c415ea1773e5794cdeefeba64f Binary files /dev/null and b/backend/src/Admin.api/pub/System.Diagnostics.Debug.dll differ diff --git a/backend/src/Admin.api/pub/System.Diagnostics.DiagnosticSource.dll b/backend/src/Admin.api/pub/System.Diagnostics.DiagnosticSource.dll new file mode 100644 index 0000000000000000000000000000000000000000..9078c2980a63530631895f22416e923ec8cdf1f3 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Diagnostics.DiagnosticSource.dll differ diff --git a/backend/src/Admin.api/pub/System.Diagnostics.EventLog.Messages.dll b/backend/src/Admin.api/pub/System.Diagnostics.EventLog.Messages.dll new file mode 100644 index 0000000000000000000000000000000000000000..ac7786456d5427a242dab6f574797355dc33fe0e Binary files /dev/null and b/backend/src/Admin.api/pub/System.Diagnostics.EventLog.Messages.dll differ diff --git a/backend/src/Admin.api/pub/System.Diagnostics.EventLog.dll b/backend/src/Admin.api/pub/System.Diagnostics.EventLog.dll new file mode 100644 index 0000000000000000000000000000000000000000..da5d53422ead89406cfb8172f77856a85a29406d Binary files /dev/null and b/backend/src/Admin.api/pub/System.Diagnostics.EventLog.dll differ diff --git a/backend/src/Admin.api/pub/System.Diagnostics.FileVersionInfo.dll b/backend/src/Admin.api/pub/System.Diagnostics.FileVersionInfo.dll new file mode 100644 index 0000000000000000000000000000000000000000..92126be814474c043365b1bb0068f12718199e6c Binary files /dev/null and b/backend/src/Admin.api/pub/System.Diagnostics.FileVersionInfo.dll differ diff --git a/backend/src/Admin.api/pub/System.Diagnostics.Process.dll b/backend/src/Admin.api/pub/System.Diagnostics.Process.dll new file mode 100644 index 0000000000000000000000000000000000000000..ef0406361786ba0ff057a9d64acd404bcf761f17 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Diagnostics.Process.dll differ diff --git a/backend/src/Admin.api/pub/System.Diagnostics.StackTrace.dll b/backend/src/Admin.api/pub/System.Diagnostics.StackTrace.dll new file mode 100644 index 0000000000000000000000000000000000000000..c4260ba6507657d89bf548583fb900040e56acaf Binary files /dev/null and b/backend/src/Admin.api/pub/System.Diagnostics.StackTrace.dll differ diff --git a/backend/src/Admin.api/pub/System.Diagnostics.TextWriterTraceListener.dll b/backend/src/Admin.api/pub/System.Diagnostics.TextWriterTraceListener.dll new file mode 100644 index 0000000000000000000000000000000000000000..24f106ef1bbe12f7424410d246c6b587aeb58919 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Diagnostics.TextWriterTraceListener.dll differ diff --git a/backend/src/Admin.api/pub/System.Diagnostics.Tools.dll b/backend/src/Admin.api/pub/System.Diagnostics.Tools.dll new file mode 100644 index 0000000000000000000000000000000000000000..c48a5a5660fcf15cab667f0093a067af9a7fe7a6 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Diagnostics.Tools.dll differ diff --git a/backend/src/Admin.api/pub/System.Diagnostics.TraceSource.dll b/backend/src/Admin.api/pub/System.Diagnostics.TraceSource.dll new file mode 100644 index 0000000000000000000000000000000000000000..60922583994227682174b42f4efb31413f0a7550 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Diagnostics.TraceSource.dll differ diff --git a/backend/src/Admin.api/pub/System.Diagnostics.Tracing.dll b/backend/src/Admin.api/pub/System.Diagnostics.Tracing.dll new file mode 100644 index 0000000000000000000000000000000000000000..3a9754cf8160f88fccc10e8ba36bcd6748313bae Binary files /dev/null and b/backend/src/Admin.api/pub/System.Diagnostics.Tracing.dll differ diff --git a/backend/src/Admin.api/pub/System.Drawing.Primitives.dll b/backend/src/Admin.api/pub/System.Drawing.Primitives.dll new file mode 100644 index 0000000000000000000000000000000000000000..4fd903df2b18cacc674a39daabf30d1e45331909 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Drawing.Primitives.dll differ diff --git a/backend/src/Admin.api/pub/System.Drawing.dll b/backend/src/Admin.api/pub/System.Drawing.dll new file mode 100644 index 0000000000000000000000000000000000000000..37e99b5b34fa46498870db960c8ca6fe21ab946e Binary files /dev/null and b/backend/src/Admin.api/pub/System.Drawing.dll differ diff --git a/backend/src/Admin.api/pub/System.Dynamic.Runtime.dll b/backend/src/Admin.api/pub/System.Dynamic.Runtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..8050e1785ae07ee5fcb8f13ee9356f6c51f8cdf9 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Dynamic.Runtime.dll differ diff --git a/backend/src/Admin.api/pub/System.Formats.Asn1.dll b/backend/src/Admin.api/pub/System.Formats.Asn1.dll new file mode 100644 index 0000000000000000000000000000000000000000..f196799dbc01ba1a5070ac0e867589495e5a9790 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Formats.Asn1.dll differ diff --git a/backend/src/Admin.api/pub/System.Formats.Tar.dll b/backend/src/Admin.api/pub/System.Formats.Tar.dll new file mode 100644 index 0000000000000000000000000000000000000000..7cfb074bef2cfd868e1110cf1f450373e2dd78eb Binary files /dev/null and b/backend/src/Admin.api/pub/System.Formats.Tar.dll differ diff --git a/backend/src/Admin.api/pub/System.Globalization.Calendars.dll b/backend/src/Admin.api/pub/System.Globalization.Calendars.dll new file mode 100644 index 0000000000000000000000000000000000000000..d3c6ff49c475ab4728c303a53538e3e333a9f54e Binary files /dev/null and b/backend/src/Admin.api/pub/System.Globalization.Calendars.dll differ diff --git a/backend/src/Admin.api/pub/System.Globalization.Extensions.dll b/backend/src/Admin.api/pub/System.Globalization.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..a5c6543fc6491c9bea323c795d0e070002029cb9 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Globalization.Extensions.dll differ diff --git a/backend/src/Admin.api/pub/System.Globalization.dll b/backend/src/Admin.api/pub/System.Globalization.dll new file mode 100644 index 0000000000000000000000000000000000000000..e644d95a9a0a481648ae960125838d63d57c3d9d Binary files /dev/null and b/backend/src/Admin.api/pub/System.Globalization.dll differ diff --git a/backend/src/Admin.api/pub/System.IO.Compression.Brotli.dll b/backend/src/Admin.api/pub/System.IO.Compression.Brotli.dll new file mode 100644 index 0000000000000000000000000000000000000000..57e1e054c71510f46c510d1abbc9bcbd4a5c6b53 Binary files /dev/null and b/backend/src/Admin.api/pub/System.IO.Compression.Brotli.dll differ diff --git a/backend/src/Admin.api/pub/System.IO.Compression.FileSystem.dll b/backend/src/Admin.api/pub/System.IO.Compression.FileSystem.dll new file mode 100644 index 0000000000000000000000000000000000000000..e8a2105661ed5b312a17c70fc6ee4ce402bf16e1 Binary files /dev/null and b/backend/src/Admin.api/pub/System.IO.Compression.FileSystem.dll differ diff --git a/backend/src/Admin.api/pub/System.IO.Compression.Native.dll b/backend/src/Admin.api/pub/System.IO.Compression.Native.dll new file mode 100644 index 0000000000000000000000000000000000000000..c8b8a14cbeeb71897101a625509fe649eb090039 Binary files /dev/null and b/backend/src/Admin.api/pub/System.IO.Compression.Native.dll differ diff --git a/backend/src/Admin.api/pub/System.IO.Compression.ZipFile.dll b/backend/src/Admin.api/pub/System.IO.Compression.ZipFile.dll new file mode 100644 index 0000000000000000000000000000000000000000..10c24ea91965623ca1ffc8ead08e11b81b316636 Binary files /dev/null and b/backend/src/Admin.api/pub/System.IO.Compression.ZipFile.dll differ diff --git a/backend/src/Admin.api/pub/System.IO.Compression.dll b/backend/src/Admin.api/pub/System.IO.Compression.dll new file mode 100644 index 0000000000000000000000000000000000000000..2ba5fbb1d5b797e9810321db8b000c2f410c5e2f Binary files /dev/null and b/backend/src/Admin.api/pub/System.IO.Compression.dll differ diff --git a/backend/src/Admin.api/pub/System.IO.FileSystem.AccessControl.dll b/backend/src/Admin.api/pub/System.IO.FileSystem.AccessControl.dll new file mode 100644 index 0000000000000000000000000000000000000000..0daf3dcc5e15761affc6bd7618e6010452b7d17c Binary files /dev/null and b/backend/src/Admin.api/pub/System.IO.FileSystem.AccessControl.dll differ diff --git a/backend/src/Admin.api/pub/System.IO.FileSystem.DriveInfo.dll b/backend/src/Admin.api/pub/System.IO.FileSystem.DriveInfo.dll new file mode 100644 index 0000000000000000000000000000000000000000..369fc6db1e67da01d3e516c4a0e8d6ec5c8b97aa Binary files /dev/null and b/backend/src/Admin.api/pub/System.IO.FileSystem.DriveInfo.dll differ diff --git a/backend/src/Admin.api/pub/System.IO.FileSystem.Primitives.dll b/backend/src/Admin.api/pub/System.IO.FileSystem.Primitives.dll new file mode 100644 index 0000000000000000000000000000000000000000..0d3249941d819d2de6e6909fb6485547721a9246 Binary files /dev/null and b/backend/src/Admin.api/pub/System.IO.FileSystem.Primitives.dll differ diff --git a/backend/src/Admin.api/pub/System.IO.FileSystem.Watcher.dll b/backend/src/Admin.api/pub/System.IO.FileSystem.Watcher.dll new file mode 100644 index 0000000000000000000000000000000000000000..d093305ab1bdab83b5d6852918bae4b11deb36da Binary files /dev/null and b/backend/src/Admin.api/pub/System.IO.FileSystem.Watcher.dll differ diff --git a/backend/src/Admin.api/pub/System.IO.FileSystem.dll b/backend/src/Admin.api/pub/System.IO.FileSystem.dll new file mode 100644 index 0000000000000000000000000000000000000000..938f6c5bce8141953eeead3683539b18a3ef4f3c Binary files /dev/null and b/backend/src/Admin.api/pub/System.IO.FileSystem.dll differ diff --git a/backend/src/Admin.api/pub/System.IO.IsolatedStorage.dll b/backend/src/Admin.api/pub/System.IO.IsolatedStorage.dll new file mode 100644 index 0000000000000000000000000000000000000000..2eb0aed66994ffa11399bbd0f73063f4c45eb603 Binary files /dev/null and b/backend/src/Admin.api/pub/System.IO.IsolatedStorage.dll differ diff --git a/backend/src/Admin.api/pub/System.IO.MemoryMappedFiles.dll b/backend/src/Admin.api/pub/System.IO.MemoryMappedFiles.dll new file mode 100644 index 0000000000000000000000000000000000000000..39021af87f2df5218a90d06eb12ff1530d20d522 Binary files /dev/null and b/backend/src/Admin.api/pub/System.IO.MemoryMappedFiles.dll differ diff --git a/backend/src/Admin.api/pub/System.IO.Pipelines.dll b/backend/src/Admin.api/pub/System.IO.Pipelines.dll new file mode 100644 index 0000000000000000000000000000000000000000..655052d535267101de2e3614006f6a22c75939b3 Binary files /dev/null and b/backend/src/Admin.api/pub/System.IO.Pipelines.dll differ diff --git a/backend/src/Admin.api/pub/System.IO.Pipes.AccessControl.dll b/backend/src/Admin.api/pub/System.IO.Pipes.AccessControl.dll new file mode 100644 index 0000000000000000000000000000000000000000..d5bed6fd20a6213742547cbef3947ee7f98d76db Binary files /dev/null and b/backend/src/Admin.api/pub/System.IO.Pipes.AccessControl.dll differ diff --git a/backend/src/Admin.api/pub/System.IO.Pipes.dll b/backend/src/Admin.api/pub/System.IO.Pipes.dll new file mode 100644 index 0000000000000000000000000000000000000000..669ee2d46009a00ba6453460775550fec141bb1e Binary files /dev/null and b/backend/src/Admin.api/pub/System.IO.Pipes.dll differ diff --git a/backend/src/Admin.api/pub/System.IO.UnmanagedMemoryStream.dll b/backend/src/Admin.api/pub/System.IO.UnmanagedMemoryStream.dll new file mode 100644 index 0000000000000000000000000000000000000000..1dacb987d9522a8ed4d5fd0eecf5c4d0055337a1 Binary files /dev/null and b/backend/src/Admin.api/pub/System.IO.UnmanagedMemoryStream.dll differ diff --git a/backend/src/Admin.api/pub/System.IO.dll b/backend/src/Admin.api/pub/System.IO.dll new file mode 100644 index 0000000000000000000000000000000000000000..fc6681668e169702191b046bdd53bf50e05af0fa Binary files /dev/null and b/backend/src/Admin.api/pub/System.IO.dll differ diff --git a/backend/src/Admin.api/pub/System.IdentityModel.Tokens.Jwt.dll b/backend/src/Admin.api/pub/System.IdentityModel.Tokens.Jwt.dll new file mode 100644 index 0000000000000000000000000000000000000000..92a5d0656212fae463cd350f58b163f08ae8c999 Binary files /dev/null and b/backend/src/Admin.api/pub/System.IdentityModel.Tokens.Jwt.dll differ diff --git a/backend/src/Admin.api/pub/System.Linq.Expressions.dll b/backend/src/Admin.api/pub/System.Linq.Expressions.dll new file mode 100644 index 0000000000000000000000000000000000000000..7ad4350d75df1ae3784297b2f7207ac30c4fe6e2 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Linq.Expressions.dll differ diff --git a/backend/src/Admin.api/pub/System.Linq.Parallel.dll b/backend/src/Admin.api/pub/System.Linq.Parallel.dll new file mode 100644 index 0000000000000000000000000000000000000000..b2b9b7bd7a3c9bf56c54b3e8693317c9fa2072ea Binary files /dev/null and b/backend/src/Admin.api/pub/System.Linq.Parallel.dll differ diff --git a/backend/src/Admin.api/pub/System.Linq.Queryable.dll b/backend/src/Admin.api/pub/System.Linq.Queryable.dll new file mode 100644 index 0000000000000000000000000000000000000000..ec01503e542c6edba825c1b5bf64505af7644ba5 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Linq.Queryable.dll differ diff --git a/backend/src/Admin.api/pub/System.Linq.dll b/backend/src/Admin.api/pub/System.Linq.dll new file mode 100644 index 0000000000000000000000000000000000000000..aaca845f356d4e4e534ac120408142b6e1094e66 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Linq.dll differ diff --git a/backend/src/Admin.api/pub/System.Memory.dll b/backend/src/Admin.api/pub/System.Memory.dll new file mode 100644 index 0000000000000000000000000000000000000000..98bd9ceb7a88faf04bab1ef23d988d4056858f7d Binary files /dev/null and b/backend/src/Admin.api/pub/System.Memory.dll differ diff --git a/backend/src/Admin.api/pub/System.Net.Http.Json.dll b/backend/src/Admin.api/pub/System.Net.Http.Json.dll new file mode 100644 index 0000000000000000000000000000000000000000..a5ee899eed785e32fba4fb1187ac6d77981eb927 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Net.Http.Json.dll differ diff --git a/backend/src/Admin.api/pub/System.Net.Http.dll b/backend/src/Admin.api/pub/System.Net.Http.dll new file mode 100644 index 0000000000000000000000000000000000000000..855d4e4833efb7f73ba95f684e5b0bedea8d737a Binary files /dev/null and b/backend/src/Admin.api/pub/System.Net.Http.dll differ diff --git a/backend/src/Admin.api/pub/System.Net.HttpListener.dll b/backend/src/Admin.api/pub/System.Net.HttpListener.dll new file mode 100644 index 0000000000000000000000000000000000000000..a6d9f1519ef0a70d45fc9c04501354d7c5ef9bc2 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Net.HttpListener.dll differ diff --git a/backend/src/Admin.api/pub/System.Net.Mail.dll b/backend/src/Admin.api/pub/System.Net.Mail.dll new file mode 100644 index 0000000000000000000000000000000000000000..1dece3e2bd4235c83defaf1c1b67f641038835b1 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Net.Mail.dll differ diff --git a/backend/src/Admin.api/pub/System.Net.NameResolution.dll b/backend/src/Admin.api/pub/System.Net.NameResolution.dll new file mode 100644 index 0000000000000000000000000000000000000000..7a70af95a7de1e3e061c5c22c8a80d16d8b3572e Binary files /dev/null and b/backend/src/Admin.api/pub/System.Net.NameResolution.dll differ diff --git a/backend/src/Admin.api/pub/System.Net.NetworkInformation.dll b/backend/src/Admin.api/pub/System.Net.NetworkInformation.dll new file mode 100644 index 0000000000000000000000000000000000000000..2d07353640a033f8f0aeb747e2589c55c3077467 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Net.NetworkInformation.dll differ diff --git a/backend/src/Admin.api/pub/System.Net.Ping.dll b/backend/src/Admin.api/pub/System.Net.Ping.dll new file mode 100644 index 0000000000000000000000000000000000000000..52f4cd3ce60c265e3c2271fabb48389d2ad7e4d8 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Net.Ping.dll differ diff --git a/backend/src/Admin.api/pub/System.Net.Primitives.dll b/backend/src/Admin.api/pub/System.Net.Primitives.dll new file mode 100644 index 0000000000000000000000000000000000000000..5d8b5dad36124d5174a831cc3815af5b448c04e6 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Net.Primitives.dll differ diff --git a/backend/src/Admin.api/pub/System.Net.Quic.dll b/backend/src/Admin.api/pub/System.Net.Quic.dll new file mode 100644 index 0000000000000000000000000000000000000000..6a870c53617287ce4160d4f85a92e01a482ee899 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Net.Quic.dll differ diff --git a/backend/src/Admin.api/pub/System.Net.Requests.dll b/backend/src/Admin.api/pub/System.Net.Requests.dll new file mode 100644 index 0000000000000000000000000000000000000000..d3c4e2b5a4f4bbc12ab50eddfc6fd7d77b8862a0 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Net.Requests.dll differ diff --git a/backend/src/Admin.api/pub/System.Net.Security.dll b/backend/src/Admin.api/pub/System.Net.Security.dll new file mode 100644 index 0000000000000000000000000000000000000000..e2f7bb924430fcf5d982d26b694e15c261c5b851 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Net.Security.dll differ diff --git a/backend/src/Admin.api/pub/System.Net.ServicePoint.dll b/backend/src/Admin.api/pub/System.Net.ServicePoint.dll new file mode 100644 index 0000000000000000000000000000000000000000..c0859717c2761a33e6d406f39ed648b87b8e8e70 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Net.ServicePoint.dll differ diff --git a/backend/src/Admin.api/pub/System.Net.Sockets.dll b/backend/src/Admin.api/pub/System.Net.Sockets.dll new file mode 100644 index 0000000000000000000000000000000000000000..d7b10bb27c271d78c470a567f148927394d95e97 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Net.Sockets.dll differ diff --git a/backend/src/Admin.api/pub/System.Net.WebClient.dll b/backend/src/Admin.api/pub/System.Net.WebClient.dll new file mode 100644 index 0000000000000000000000000000000000000000..b2e4e735fc28e58e2ae400e2eda87f5b68840985 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Net.WebClient.dll differ diff --git a/backend/src/Admin.api/pub/System.Net.WebHeaderCollection.dll b/backend/src/Admin.api/pub/System.Net.WebHeaderCollection.dll new file mode 100644 index 0000000000000000000000000000000000000000..b6854a05892b7d4f96d122efe03274fe1ecb137f Binary files /dev/null and b/backend/src/Admin.api/pub/System.Net.WebHeaderCollection.dll differ diff --git a/backend/src/Admin.api/pub/System.Net.WebProxy.dll b/backend/src/Admin.api/pub/System.Net.WebProxy.dll new file mode 100644 index 0000000000000000000000000000000000000000..c319454d207433984c6e1258233143193d60c5d7 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Net.WebProxy.dll differ diff --git a/backend/src/Admin.api/pub/System.Net.WebSockets.Client.dll b/backend/src/Admin.api/pub/System.Net.WebSockets.Client.dll new file mode 100644 index 0000000000000000000000000000000000000000..d4478d343c174961cc2104e88125e5effeceb33a Binary files /dev/null and b/backend/src/Admin.api/pub/System.Net.WebSockets.Client.dll differ diff --git a/backend/src/Admin.api/pub/System.Net.WebSockets.dll b/backend/src/Admin.api/pub/System.Net.WebSockets.dll new file mode 100644 index 0000000000000000000000000000000000000000..ec3dc00a0804b55635a33de207d2cade2aef892f Binary files /dev/null and b/backend/src/Admin.api/pub/System.Net.WebSockets.dll differ diff --git a/backend/src/Admin.api/pub/System.Net.dll b/backend/src/Admin.api/pub/System.Net.dll new file mode 100644 index 0000000000000000000000000000000000000000..b11e0ac1aa18250cb40436fb21e9821324dc6288 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Net.dll differ diff --git a/backend/src/Admin.api/pub/System.Numerics.Vectors.dll b/backend/src/Admin.api/pub/System.Numerics.Vectors.dll new file mode 100644 index 0000000000000000000000000000000000000000..4b2f81e6b8a1e9cea3fbeeacb2c869f69936a528 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Numerics.Vectors.dll differ diff --git a/backend/src/Admin.api/pub/System.Numerics.dll b/backend/src/Admin.api/pub/System.Numerics.dll new file mode 100644 index 0000000000000000000000000000000000000000..20cc76168532124f9915b46da4de12948e66b2e2 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Numerics.dll differ diff --git a/backend/src/Admin.api/pub/System.ObjectModel.dll b/backend/src/Admin.api/pub/System.ObjectModel.dll new file mode 100644 index 0000000000000000000000000000000000000000..d9d4a339ccba6224f4317041131b83d02545df01 Binary files /dev/null and b/backend/src/Admin.api/pub/System.ObjectModel.dll differ diff --git a/backend/src/Admin.api/pub/System.Private.CoreLib.dll b/backend/src/Admin.api/pub/System.Private.CoreLib.dll new file mode 100644 index 0000000000000000000000000000000000000000..64fbbbd1830f6fda3d4e4498822ac40d3f12f602 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Private.CoreLib.dll differ diff --git a/backend/src/Admin.api/pub/System.Private.DataContractSerialization.dll b/backend/src/Admin.api/pub/System.Private.DataContractSerialization.dll new file mode 100644 index 0000000000000000000000000000000000000000..587bfc93dede190c1acf6fb2916be2cc60df287b Binary files /dev/null and b/backend/src/Admin.api/pub/System.Private.DataContractSerialization.dll differ diff --git a/backend/src/Admin.api/pub/System.Private.Uri.dll b/backend/src/Admin.api/pub/System.Private.Uri.dll new file mode 100644 index 0000000000000000000000000000000000000000..6828fd95e115b17f03f6b69e385036d139789208 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Private.Uri.dll differ diff --git a/backend/src/Admin.api/pub/System.Private.Xml.Linq.dll b/backend/src/Admin.api/pub/System.Private.Xml.Linq.dll new file mode 100644 index 0000000000000000000000000000000000000000..a6a5fd9f78855de148079cd432bbf8f270f072d9 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Private.Xml.Linq.dll differ diff --git a/backend/src/Admin.api/pub/System.Private.Xml.dll b/backend/src/Admin.api/pub/System.Private.Xml.dll new file mode 100644 index 0000000000000000000000000000000000000000..0edc1f3f4feb8da10d47b3bb988fd715258e4154 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Private.Xml.dll differ diff --git a/backend/src/Admin.api/pub/System.Reflection.DispatchProxy.dll b/backend/src/Admin.api/pub/System.Reflection.DispatchProxy.dll new file mode 100644 index 0000000000000000000000000000000000000000..df0c462c091f385a64a00c7ca76c839233cb4a6f Binary files /dev/null and b/backend/src/Admin.api/pub/System.Reflection.DispatchProxy.dll differ diff --git a/backend/src/Admin.api/pub/System.Reflection.Emit.ILGeneration.dll b/backend/src/Admin.api/pub/System.Reflection.Emit.ILGeneration.dll new file mode 100644 index 0000000000000000000000000000000000000000..fd1588daf168f84d2e6b78e493c664a572dbdbcc Binary files /dev/null and b/backend/src/Admin.api/pub/System.Reflection.Emit.ILGeneration.dll differ diff --git a/backend/src/Admin.api/pub/System.Reflection.Emit.Lightweight.dll b/backend/src/Admin.api/pub/System.Reflection.Emit.Lightweight.dll new file mode 100644 index 0000000000000000000000000000000000000000..05116915502be283760cfadeb2e1d36f742e41c7 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Reflection.Emit.Lightweight.dll differ diff --git a/backend/src/Admin.api/pub/System.Reflection.Emit.dll b/backend/src/Admin.api/pub/System.Reflection.Emit.dll new file mode 100644 index 0000000000000000000000000000000000000000..502bd7cc319ce58f2ddad3c52f3782c1814e2db7 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Reflection.Emit.dll differ diff --git a/backend/src/Admin.api/pub/System.Reflection.Extensions.dll b/backend/src/Admin.api/pub/System.Reflection.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..df0194cb083ed7bff9604395560c476c81370a3e Binary files /dev/null and b/backend/src/Admin.api/pub/System.Reflection.Extensions.dll differ diff --git a/backend/src/Admin.api/pub/System.Reflection.Metadata.dll b/backend/src/Admin.api/pub/System.Reflection.Metadata.dll new file mode 100644 index 0000000000000000000000000000000000000000..7ab696790a562b7fdd2d9802edd28715dfd835be Binary files /dev/null and b/backend/src/Admin.api/pub/System.Reflection.Metadata.dll differ diff --git a/backend/src/Admin.api/pub/System.Reflection.Primitives.dll b/backend/src/Admin.api/pub/System.Reflection.Primitives.dll new file mode 100644 index 0000000000000000000000000000000000000000..0d3f4b07598390a8349e7fdb3d7fec1b3cf0409a Binary files /dev/null and b/backend/src/Admin.api/pub/System.Reflection.Primitives.dll differ diff --git a/backend/src/Admin.api/pub/System.Reflection.TypeExtensions.dll b/backend/src/Admin.api/pub/System.Reflection.TypeExtensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..6c3de59575ab127fd61eefdcfce600bd9311d7f3 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Reflection.TypeExtensions.dll differ diff --git a/backend/src/Admin.api/pub/System.Reflection.dll b/backend/src/Admin.api/pub/System.Reflection.dll new file mode 100644 index 0000000000000000000000000000000000000000..f72c41c219b4771142adeab1a11a15c3dc5d6f01 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Reflection.dll differ diff --git a/backend/src/Admin.api/pub/System.Resources.Reader.dll b/backend/src/Admin.api/pub/System.Resources.Reader.dll new file mode 100644 index 0000000000000000000000000000000000000000..bc37c77ce7769b040c4bfeb6b01a90eb2200a25b Binary files /dev/null and b/backend/src/Admin.api/pub/System.Resources.Reader.dll differ diff --git a/backend/src/Admin.api/pub/System.Resources.ResourceManager.dll b/backend/src/Admin.api/pub/System.Resources.ResourceManager.dll new file mode 100644 index 0000000000000000000000000000000000000000..f6d632955da831eee903e81648f6094128e71f90 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Resources.ResourceManager.dll differ diff --git a/backend/src/Admin.api/pub/System.Resources.Writer.dll b/backend/src/Admin.api/pub/System.Resources.Writer.dll new file mode 100644 index 0000000000000000000000000000000000000000..394ac32923ae39fa7903510b8a6b91b2255fa241 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Resources.Writer.dll differ diff --git a/backend/src/Admin.api/pub/System.Runtime.CompilerServices.Unsafe.dll b/backend/src/Admin.api/pub/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000000000000000000000000000000000000..ea743ed19518429c84b5a2b7c94fe690b054e4d8 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Runtime.CompilerServices.Unsafe.dll differ diff --git a/backend/src/Admin.api/pub/System.Runtime.CompilerServices.VisualC.dll b/backend/src/Admin.api/pub/System.Runtime.CompilerServices.VisualC.dll new file mode 100644 index 0000000000000000000000000000000000000000..58451d2170f820fc59199d549c3663dc7412139b Binary files /dev/null and b/backend/src/Admin.api/pub/System.Runtime.CompilerServices.VisualC.dll differ diff --git a/backend/src/Admin.api/pub/System.Runtime.Extensions.dll b/backend/src/Admin.api/pub/System.Runtime.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..cda0c524601435f3ad77a670c8ea4a40dbb10ff9 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Runtime.Extensions.dll differ diff --git a/backend/src/Admin.api/pub/System.Runtime.Handles.dll b/backend/src/Admin.api/pub/System.Runtime.Handles.dll new file mode 100644 index 0000000000000000000000000000000000000000..95483fa5af5abb660a8f61fc3b123b0641c1c322 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Runtime.Handles.dll differ diff --git a/backend/src/Admin.api/pub/System.Runtime.InteropServices.JavaScript.dll b/backend/src/Admin.api/pub/System.Runtime.InteropServices.JavaScript.dll new file mode 100644 index 0000000000000000000000000000000000000000..7c0dd46f5344e10561a41decedf54aa0fb57c83c Binary files /dev/null and b/backend/src/Admin.api/pub/System.Runtime.InteropServices.JavaScript.dll differ diff --git a/backend/src/Admin.api/pub/System.Runtime.InteropServices.RuntimeInformation.dll b/backend/src/Admin.api/pub/System.Runtime.InteropServices.RuntimeInformation.dll new file mode 100644 index 0000000000000000000000000000000000000000..2fe9034dd30499631a5ed3bfee8fa3156de23dbb Binary files /dev/null and b/backend/src/Admin.api/pub/System.Runtime.InteropServices.RuntimeInformation.dll differ diff --git a/backend/src/Admin.api/pub/System.Runtime.InteropServices.dll b/backend/src/Admin.api/pub/System.Runtime.InteropServices.dll new file mode 100644 index 0000000000000000000000000000000000000000..712b356cc468a6e6ba1f8ace3b32925e4f2a58dd Binary files /dev/null and b/backend/src/Admin.api/pub/System.Runtime.InteropServices.dll differ diff --git a/backend/src/Admin.api/pub/System.Runtime.Intrinsics.dll b/backend/src/Admin.api/pub/System.Runtime.Intrinsics.dll new file mode 100644 index 0000000000000000000000000000000000000000..5188b42056a33988f4455929883253f512969f84 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Runtime.Intrinsics.dll differ diff --git a/backend/src/Admin.api/pub/System.Runtime.Loader.dll b/backend/src/Admin.api/pub/System.Runtime.Loader.dll new file mode 100644 index 0000000000000000000000000000000000000000..ac31868ff69b0d40a8031c4a08e1354b6a5fae3c Binary files /dev/null and b/backend/src/Admin.api/pub/System.Runtime.Loader.dll differ diff --git a/backend/src/Admin.api/pub/System.Runtime.Numerics.dll b/backend/src/Admin.api/pub/System.Runtime.Numerics.dll new file mode 100644 index 0000000000000000000000000000000000000000..7f43b3365a3857e4ef78d32f14f1bded66a4a978 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Runtime.Numerics.dll differ diff --git a/backend/src/Admin.api/pub/System.Runtime.Serialization.Formatters.dll b/backend/src/Admin.api/pub/System.Runtime.Serialization.Formatters.dll new file mode 100644 index 0000000000000000000000000000000000000000..57494902ac71b88cce59969ff471f4a47c4d2645 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Runtime.Serialization.Formatters.dll differ diff --git a/backend/src/Admin.api/pub/System.Runtime.Serialization.Json.dll b/backend/src/Admin.api/pub/System.Runtime.Serialization.Json.dll new file mode 100644 index 0000000000000000000000000000000000000000..8d423563e55f35eadd9c16fa5f14b83efb1f846c Binary files /dev/null and b/backend/src/Admin.api/pub/System.Runtime.Serialization.Json.dll differ diff --git a/backend/src/Admin.api/pub/System.Runtime.Serialization.Primitives.dll b/backend/src/Admin.api/pub/System.Runtime.Serialization.Primitives.dll new file mode 100644 index 0000000000000000000000000000000000000000..0a888b4b5788021367a3f1ceb691f2d4ac2661cf Binary files /dev/null and b/backend/src/Admin.api/pub/System.Runtime.Serialization.Primitives.dll differ diff --git a/backend/src/Admin.api/pub/System.Runtime.Serialization.Xml.dll b/backend/src/Admin.api/pub/System.Runtime.Serialization.Xml.dll new file mode 100644 index 0000000000000000000000000000000000000000..8c96f61b85880cf8af30ba05a71c09266465b704 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Runtime.Serialization.Xml.dll differ diff --git a/backend/src/Admin.api/pub/System.Runtime.Serialization.dll b/backend/src/Admin.api/pub/System.Runtime.Serialization.dll new file mode 100644 index 0000000000000000000000000000000000000000..3281c50ad582f66aa08a38d4a3a6cb1342a8a803 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Runtime.Serialization.dll differ diff --git a/backend/src/Admin.api/pub/System.Runtime.dll b/backend/src/Admin.api/pub/System.Runtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..eae00cf9c363efafea650f9e0c165cc1e00f25f3 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Runtime.dll differ diff --git a/backend/src/Admin.api/pub/System.Security.AccessControl.dll b/backend/src/Admin.api/pub/System.Security.AccessControl.dll new file mode 100644 index 0000000000000000000000000000000000000000..8dbab6644b4dc66f92f01bfc94421d7c3dbe1c5a Binary files /dev/null and b/backend/src/Admin.api/pub/System.Security.AccessControl.dll differ diff --git a/backend/src/Admin.api/pub/System.Security.Claims.dll b/backend/src/Admin.api/pub/System.Security.Claims.dll new file mode 100644 index 0000000000000000000000000000000000000000..61d32dbfda4198f08b6ae7cffa7929e6ff619cc2 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Security.Claims.dll differ diff --git a/backend/src/Admin.api/pub/System.Security.Cryptography.Algorithms.dll b/backend/src/Admin.api/pub/System.Security.Cryptography.Algorithms.dll new file mode 100644 index 0000000000000000000000000000000000000000..62df4e7198c17b5be327624daf92a9992b973f73 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Security.Cryptography.Algorithms.dll differ diff --git a/backend/src/Admin.api/pub/System.Security.Cryptography.Cng.dll b/backend/src/Admin.api/pub/System.Security.Cryptography.Cng.dll new file mode 100644 index 0000000000000000000000000000000000000000..55d89e103c7d2aeabef067c54d0e6c8ec2630eef Binary files /dev/null and b/backend/src/Admin.api/pub/System.Security.Cryptography.Cng.dll differ diff --git a/backend/src/Admin.api/pub/System.Security.Cryptography.Csp.dll b/backend/src/Admin.api/pub/System.Security.Cryptography.Csp.dll new file mode 100644 index 0000000000000000000000000000000000000000..9bf266a18c31b4bdbace5791835d1cba6a4c9413 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Security.Cryptography.Csp.dll differ diff --git a/backend/src/Admin.api/pub/System.Security.Cryptography.Encoding.dll b/backend/src/Admin.api/pub/System.Security.Cryptography.Encoding.dll new file mode 100644 index 0000000000000000000000000000000000000000..9485e0acb6588ee499491011eed24f7006598d9c Binary files /dev/null and b/backend/src/Admin.api/pub/System.Security.Cryptography.Encoding.dll differ diff --git a/backend/src/Admin.api/pub/System.Security.Cryptography.OpenSsl.dll b/backend/src/Admin.api/pub/System.Security.Cryptography.OpenSsl.dll new file mode 100644 index 0000000000000000000000000000000000000000..db3b887a26799d8d1c11fbd395382d49478631bd Binary files /dev/null and b/backend/src/Admin.api/pub/System.Security.Cryptography.OpenSsl.dll differ diff --git a/backend/src/Admin.api/pub/System.Security.Cryptography.Pkcs.dll b/backend/src/Admin.api/pub/System.Security.Cryptography.Pkcs.dll new file mode 100644 index 0000000000000000000000000000000000000000..d26861752483f1a2d15a4404dd4953b39756c005 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Security.Cryptography.Pkcs.dll differ diff --git a/backend/src/Admin.api/pub/System.Security.Cryptography.Primitives.dll b/backend/src/Admin.api/pub/System.Security.Cryptography.Primitives.dll new file mode 100644 index 0000000000000000000000000000000000000000..66764715e48eea2b7f2dce9661848d42e611d78d Binary files /dev/null and b/backend/src/Admin.api/pub/System.Security.Cryptography.Primitives.dll differ diff --git a/backend/src/Admin.api/pub/System.Security.Cryptography.X509Certificates.dll b/backend/src/Admin.api/pub/System.Security.Cryptography.X509Certificates.dll new file mode 100644 index 0000000000000000000000000000000000000000..d27c0630bbab5c3fce2f7d147900e65263e1e07d Binary files /dev/null and b/backend/src/Admin.api/pub/System.Security.Cryptography.X509Certificates.dll differ diff --git a/backend/src/Admin.api/pub/System.Security.Cryptography.Xml.dll b/backend/src/Admin.api/pub/System.Security.Cryptography.Xml.dll new file mode 100644 index 0000000000000000000000000000000000000000..26d8d15de724f761180add05aab09076ff0d3834 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Security.Cryptography.Xml.dll differ diff --git a/backend/src/Admin.api/pub/System.Security.Cryptography.dll b/backend/src/Admin.api/pub/System.Security.Cryptography.dll new file mode 100644 index 0000000000000000000000000000000000000000..fb30d8b4aaf5277628624782cb2a0d70abd36ad3 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Security.Cryptography.dll differ diff --git a/backend/src/Admin.api/pub/System.Security.Principal.Windows.dll b/backend/src/Admin.api/pub/System.Security.Principal.Windows.dll new file mode 100644 index 0000000000000000000000000000000000000000..a2e5b8dc3382be8c0730142ae71034e39b45d5f7 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Security.Principal.Windows.dll differ diff --git a/backend/src/Admin.api/pub/System.Security.Principal.dll b/backend/src/Admin.api/pub/System.Security.Principal.dll new file mode 100644 index 0000000000000000000000000000000000000000..b3c4b842333c12215b523d78daf7ec30278eb322 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Security.Principal.dll differ diff --git a/backend/src/Admin.api/pub/System.Security.SecureString.dll b/backend/src/Admin.api/pub/System.Security.SecureString.dll new file mode 100644 index 0000000000000000000000000000000000000000..3fa609fd1c4ce5050dbe8d3f088f735ed5d31c46 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Security.SecureString.dll differ diff --git a/backend/src/Admin.api/pub/System.Security.dll b/backend/src/Admin.api/pub/System.Security.dll new file mode 100644 index 0000000000000000000000000000000000000000..2af06d0585b21bfd9bffd7cc71114916e8523299 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Security.dll differ diff --git a/backend/src/Admin.api/pub/System.ServiceModel.Web.dll b/backend/src/Admin.api/pub/System.ServiceModel.Web.dll new file mode 100644 index 0000000000000000000000000000000000000000..f9d5150130b4af58b38e7780ec16bf5be901ff0e Binary files /dev/null and b/backend/src/Admin.api/pub/System.ServiceModel.Web.dll differ diff --git a/backend/src/Admin.api/pub/System.ServiceProcess.dll b/backend/src/Admin.api/pub/System.ServiceProcess.dll new file mode 100644 index 0000000000000000000000000000000000000000..adddb3a741603252fc8e6290fdab4bea6ce87cfe Binary files /dev/null and b/backend/src/Admin.api/pub/System.ServiceProcess.dll differ diff --git a/backend/src/Admin.api/pub/System.Text.Encoding.CodePages.dll b/backend/src/Admin.api/pub/System.Text.Encoding.CodePages.dll new file mode 100644 index 0000000000000000000000000000000000000000..fb78fe5f48051bac0b5b3df691fd0f0f64ea077b Binary files /dev/null and b/backend/src/Admin.api/pub/System.Text.Encoding.CodePages.dll differ diff --git a/backend/src/Admin.api/pub/System.Text.Encoding.Extensions.dll b/backend/src/Admin.api/pub/System.Text.Encoding.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..3289fc8eb6917e89e37b5d4b0631e42f611a3a97 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Text.Encoding.Extensions.dll differ diff --git a/backend/src/Admin.api/pub/System.Text.Encoding.dll b/backend/src/Admin.api/pub/System.Text.Encoding.dll new file mode 100644 index 0000000000000000000000000000000000000000..ec90d26e835446fe16ac864761facd4e3dd455da Binary files /dev/null and b/backend/src/Admin.api/pub/System.Text.Encoding.dll differ diff --git a/backend/src/Admin.api/pub/System.Text.Encodings.Web.dll b/backend/src/Admin.api/pub/System.Text.Encodings.Web.dll new file mode 100644 index 0000000000000000000000000000000000000000..34be8a139ca025f95763c1d303e8ab4fbd3b3f8a Binary files /dev/null and b/backend/src/Admin.api/pub/System.Text.Encodings.Web.dll differ diff --git a/backend/src/Admin.api/pub/System.Text.Json.dll b/backend/src/Admin.api/pub/System.Text.Json.dll new file mode 100644 index 0000000000000000000000000000000000000000..af2a36683148d44d3632d102ef93d09e64615e5c Binary files /dev/null and b/backend/src/Admin.api/pub/System.Text.Json.dll differ diff --git a/backend/src/Admin.api/pub/System.Text.RegularExpressions.dll b/backend/src/Admin.api/pub/System.Text.RegularExpressions.dll new file mode 100644 index 0000000000000000000000000000000000000000..c6055322f77c34c2d3244640214a9b98ad9d6341 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Text.RegularExpressions.dll differ diff --git a/backend/src/Admin.api/pub/System.Threading.Channels.dll b/backend/src/Admin.api/pub/System.Threading.Channels.dll new file mode 100644 index 0000000000000000000000000000000000000000..4e3ab53e67ccfc3f35aa64cebe9fc311b781e052 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Threading.Channels.dll differ diff --git a/backend/src/Admin.api/pub/System.Threading.Overlapped.dll b/backend/src/Admin.api/pub/System.Threading.Overlapped.dll new file mode 100644 index 0000000000000000000000000000000000000000..a295c26bbf9963f6aae644c6e24e7aab49432321 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Threading.Overlapped.dll differ diff --git a/backend/src/Admin.api/pub/System.Threading.RateLimiting.dll b/backend/src/Admin.api/pub/System.Threading.RateLimiting.dll new file mode 100644 index 0000000000000000000000000000000000000000..c897101f54e979bf763f83277e7944cce6898043 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Threading.RateLimiting.dll differ diff --git a/backend/src/Admin.api/pub/System.Threading.Tasks.Dataflow.dll b/backend/src/Admin.api/pub/System.Threading.Tasks.Dataflow.dll new file mode 100644 index 0000000000000000000000000000000000000000..f23deadf4ef9a545a83e9c9441c3fb36886cb4c8 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Threading.Tasks.Dataflow.dll differ diff --git a/backend/src/Admin.api/pub/System.Threading.Tasks.Extensions.dll b/backend/src/Admin.api/pub/System.Threading.Tasks.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..7de697b8592933cf2bf0c0b02242ec357a1055cb Binary files /dev/null and b/backend/src/Admin.api/pub/System.Threading.Tasks.Extensions.dll differ diff --git a/backend/src/Admin.api/pub/System.Threading.Tasks.Parallel.dll b/backend/src/Admin.api/pub/System.Threading.Tasks.Parallel.dll new file mode 100644 index 0000000000000000000000000000000000000000..180209bc4fc815e40b0d95aba6f50ec1ef6c0759 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Threading.Tasks.Parallel.dll differ diff --git a/backend/src/Admin.api/pub/System.Threading.Tasks.dll b/backend/src/Admin.api/pub/System.Threading.Tasks.dll new file mode 100644 index 0000000000000000000000000000000000000000..9b49cd63c15ea2acfc2e46cc2e6edf974eddb870 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Threading.Tasks.dll differ diff --git a/backend/src/Admin.api/pub/System.Threading.Thread.dll b/backend/src/Admin.api/pub/System.Threading.Thread.dll new file mode 100644 index 0000000000000000000000000000000000000000..4f2dcb1e1c49cc957372a48d31756cf1433fbe87 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Threading.Thread.dll differ diff --git a/backend/src/Admin.api/pub/System.Threading.ThreadPool.dll b/backend/src/Admin.api/pub/System.Threading.ThreadPool.dll new file mode 100644 index 0000000000000000000000000000000000000000..164b33bb0be7cfa87ecd594efb99e74bb70a6149 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Threading.ThreadPool.dll differ diff --git a/backend/src/Admin.api/pub/System.Threading.Timer.dll b/backend/src/Admin.api/pub/System.Threading.Timer.dll new file mode 100644 index 0000000000000000000000000000000000000000..10ea36cc11451262f125f041b2f4319b0f0b7607 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Threading.Timer.dll differ diff --git a/backend/src/Admin.api/pub/System.Threading.dll b/backend/src/Admin.api/pub/System.Threading.dll new file mode 100644 index 0000000000000000000000000000000000000000..665c023fe4f0bd614cc4a512461e360e8380a9b6 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Threading.dll differ diff --git a/backend/src/Admin.api/pub/System.Transactions.Local.dll b/backend/src/Admin.api/pub/System.Transactions.Local.dll new file mode 100644 index 0000000000000000000000000000000000000000..e375de8997a8189dac433a89196c7fc0ca7e3af5 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Transactions.Local.dll differ diff --git a/backend/src/Admin.api/pub/System.Transactions.dll b/backend/src/Admin.api/pub/System.Transactions.dll new file mode 100644 index 0000000000000000000000000000000000000000..cb718bbc54278ad9b794741cf5a5493f11011f6b Binary files /dev/null and b/backend/src/Admin.api/pub/System.Transactions.dll differ diff --git a/backend/src/Admin.api/pub/System.ValueTuple.dll b/backend/src/Admin.api/pub/System.ValueTuple.dll new file mode 100644 index 0000000000000000000000000000000000000000..3a796fc8f3f80757b8ca3931e8b367c0e30b1b54 Binary files /dev/null and b/backend/src/Admin.api/pub/System.ValueTuple.dll differ diff --git a/backend/src/Admin.api/pub/System.Web.HttpUtility.dll b/backend/src/Admin.api/pub/System.Web.HttpUtility.dll new file mode 100644 index 0000000000000000000000000000000000000000..9c8d5777af7288a7223284cd0833cbf74acc1989 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Web.HttpUtility.dll differ diff --git a/backend/src/Admin.api/pub/System.Web.dll b/backend/src/Admin.api/pub/System.Web.dll new file mode 100644 index 0000000000000000000000000000000000000000..15db0797880c310fd5cde55ae688a062ae299a05 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Web.dll differ diff --git a/backend/src/Admin.api/pub/System.Windows.dll b/backend/src/Admin.api/pub/System.Windows.dll new file mode 100644 index 0000000000000000000000000000000000000000..9e2f39dca5a88976e511617b70df0ab2527ae18f Binary files /dev/null and b/backend/src/Admin.api/pub/System.Windows.dll differ diff --git a/backend/src/Admin.api/pub/System.Xml.Linq.dll b/backend/src/Admin.api/pub/System.Xml.Linq.dll new file mode 100644 index 0000000000000000000000000000000000000000..07014a0024f07cd5e1158d44929ac8ec976ba763 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Xml.Linq.dll differ diff --git a/backend/src/Admin.api/pub/System.Xml.ReaderWriter.dll b/backend/src/Admin.api/pub/System.Xml.ReaderWriter.dll new file mode 100644 index 0000000000000000000000000000000000000000..fb31003bfe2982105e8fe57f96f42d401ac56900 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Xml.ReaderWriter.dll differ diff --git a/backend/src/Admin.api/pub/System.Xml.Serialization.dll b/backend/src/Admin.api/pub/System.Xml.Serialization.dll new file mode 100644 index 0000000000000000000000000000000000000000..5c1e4b2bf87b7a52b2443648cdd6c44a64fe722e Binary files /dev/null and b/backend/src/Admin.api/pub/System.Xml.Serialization.dll differ diff --git a/backend/src/Admin.api/pub/System.Xml.XDocument.dll b/backend/src/Admin.api/pub/System.Xml.XDocument.dll new file mode 100644 index 0000000000000000000000000000000000000000..78071d26f037f8b6b4ed9fea59f6eed4a3ff00c1 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Xml.XDocument.dll differ diff --git a/backend/src/Admin.api/pub/System.Xml.XPath.XDocument.dll b/backend/src/Admin.api/pub/System.Xml.XPath.XDocument.dll new file mode 100644 index 0000000000000000000000000000000000000000..f803449dec070a2a84fba4a358a8f839d4eb651e Binary files /dev/null and b/backend/src/Admin.api/pub/System.Xml.XPath.XDocument.dll differ diff --git a/backend/src/Admin.api/pub/System.Xml.XPath.dll b/backend/src/Admin.api/pub/System.Xml.XPath.dll new file mode 100644 index 0000000000000000000000000000000000000000..95b4c9fbca917423248cceccf3982786609835d7 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Xml.XPath.dll differ diff --git a/backend/src/Admin.api/pub/System.Xml.XmlDocument.dll b/backend/src/Admin.api/pub/System.Xml.XmlDocument.dll new file mode 100644 index 0000000000000000000000000000000000000000..eb34b05586e025482a6c141e4290eb6182591f8f Binary files /dev/null and b/backend/src/Admin.api/pub/System.Xml.XmlDocument.dll differ diff --git a/backend/src/Admin.api/pub/System.Xml.XmlSerializer.dll b/backend/src/Admin.api/pub/System.Xml.XmlSerializer.dll new file mode 100644 index 0000000000000000000000000000000000000000..d5485720f7e9c42f74a2270e8c52244067bf6b0a Binary files /dev/null and b/backend/src/Admin.api/pub/System.Xml.XmlSerializer.dll differ diff --git a/backend/src/Admin.api/pub/System.Xml.dll b/backend/src/Admin.api/pub/System.Xml.dll new file mode 100644 index 0000000000000000000000000000000000000000..2b0c3c9295d4f2176986d6f594482e5e519d7c03 Binary files /dev/null and b/backend/src/Admin.api/pub/System.Xml.dll differ diff --git a/backend/src/Admin.api/pub/System.dll b/backend/src/Admin.api/pub/System.dll new file mode 100644 index 0000000000000000000000000000000000000000..cc496cbeef1d78be7cad90e42a0b4227bd4d0797 Binary files /dev/null and b/backend/src/Admin.api/pub/System.dll differ diff --git a/backend/src/Admin.api/pub/WindowsBase.dll b/backend/src/Admin.api/pub/WindowsBase.dll new file mode 100644 index 0000000000000000000000000000000000000000..9b04374db53c44aca0006151abd4625b5fc0cb56 Binary files /dev/null and b/backend/src/Admin.api/pub/WindowsBase.dll differ diff --git a/backend/src/Admin.api/pub/appsettings.Development.json b/backend/src/Admin.api/pub/appsettings.Development.json new file mode 100644 index 0000000000000000000000000000000000000000..0c208ae9181e5e5717e47ec1bd59368aebc6066e --- /dev/null +++ b/backend/src/Admin.api/pub/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/backend/src/Admin.api/pub/appsettings.json b/backend/src/Admin.api/pub/appsettings.json new file mode 100644 index 0000000000000000000000000000000000000000..de2504457a5a767e1724613838bd5f2a17b215ea --- /dev/null +++ b/backend/src/Admin.api/pub/appsettings.json @@ -0,0 +1,15 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "ConnectionStrings": { + "pgsql":"server=www.mingyuy.cn;database = postgres;uid=postgres;pwd = mingyuy.;" + }, + "jwt":{ + "Secret":"YourSuperSecretKeyForAdminToken2025!", + "ExpireMintes":120 + } +} diff --git a/backend/src/Admin.api/pub/aspnetcorev2_inprocess.dll b/backend/src/Admin.api/pub/aspnetcorev2_inprocess.dll new file mode 100644 index 0000000000000000000000000000000000000000..423b34ae4bccbd35947520fd3d5827c04f98d4ab Binary files /dev/null and b/backend/src/Admin.api/pub/aspnetcorev2_inprocess.dll differ diff --git a/backend/src/Admin.api/pub/clretwrc.dll b/backend/src/Admin.api/pub/clretwrc.dll new file mode 100644 index 0000000000000000000000000000000000000000..b7d784b5b3a0936d047974111ea69d00229956a7 Binary files /dev/null and b/backend/src/Admin.api/pub/clretwrc.dll differ diff --git a/backend/src/Admin.api/pub/clrgc.dll b/backend/src/Admin.api/pub/clrgc.dll new file mode 100644 index 0000000000000000000000000000000000000000..36e16e987c34b759c691a5a820aea3b841748420 Binary files /dev/null and b/backend/src/Admin.api/pub/clrgc.dll differ diff --git a/backend/src/Admin.api/pub/clrjit.dll b/backend/src/Admin.api/pub/clrjit.dll new file mode 100644 index 0000000000000000000000000000000000000000..249aa2456da3eaf7ff56bd139db66d0f34d988ba Binary files /dev/null and b/backend/src/Admin.api/pub/clrjit.dll differ diff --git a/backend/src/Admin.api/pub/coreclr.dll b/backend/src/Admin.api/pub/coreclr.dll new file mode 100644 index 0000000000000000000000000000000000000000..ec56981d3e21965b85707e7dc90c5bfb85ea545e Binary files /dev/null and b/backend/src/Admin.api/pub/coreclr.dll differ diff --git a/backend/src/Admin.api/pub/createdump.exe b/backend/src/Admin.api/pub/createdump.exe new file mode 100644 index 0000000000000000000000000000000000000000..9cf42ad757145bae8af19c03aad96ce2be4fbe93 Binary files /dev/null and b/backend/src/Admin.api/pub/createdump.exe differ diff --git a/backend/src/Admin.api/pub/hostfxr.dll b/backend/src/Admin.api/pub/hostfxr.dll new file mode 100644 index 0000000000000000000000000000000000000000..2094b9b3a8a1872603321b63b054fbd389b2d31c Binary files /dev/null and b/backend/src/Admin.api/pub/hostfxr.dll differ diff --git a/backend/src/Admin.api/pub/hostpolicy.dll b/backend/src/Admin.api/pub/hostpolicy.dll new file mode 100644 index 0000000000000000000000000000000000000000..d8246c4bed6a75e612b6b37870cf67cbad797243 Binary files /dev/null and b/backend/src/Admin.api/pub/hostpolicy.dll differ diff --git a/backend/src/Admin.api/pub/mscordaccore.dll b/backend/src/Admin.api/pub/mscordaccore.dll new file mode 100644 index 0000000000000000000000000000000000000000..a05ba8eb2aa4a018cb9a714d6e007a23eb515186 Binary files /dev/null and b/backend/src/Admin.api/pub/mscordaccore.dll differ diff --git a/backend/src/Admin.api/pub/mscordaccore_amd64_amd64_8.0.1725.26602.dll b/backend/src/Admin.api/pub/mscordaccore_amd64_amd64_8.0.1725.26602.dll new file mode 100644 index 0000000000000000000000000000000000000000..a05ba8eb2aa4a018cb9a714d6e007a23eb515186 Binary files /dev/null and b/backend/src/Admin.api/pub/mscordaccore_amd64_amd64_8.0.1725.26602.dll differ diff --git a/backend/src/Admin.api/pub/mscordbi.dll b/backend/src/Admin.api/pub/mscordbi.dll new file mode 100644 index 0000000000000000000000000000000000000000..16dc7ab9c015612edc9efd005fc81a1b79fc72bd Binary files /dev/null and b/backend/src/Admin.api/pub/mscordbi.dll differ diff --git a/backend/src/Admin.api/pub/mscorlib.dll b/backend/src/Admin.api/pub/mscorlib.dll new file mode 100644 index 0000000000000000000000000000000000000000..fc2fbe0bfa961e685aab0db29502e07b25e5bcd8 Binary files /dev/null and b/backend/src/Admin.api/pub/mscorlib.dll differ diff --git a/backend/src/Admin.api/pub/mscorrc.dll b/backend/src/Admin.api/pub/mscorrc.dll new file mode 100644 index 0000000000000000000000000000000000000000..5bae342d756e09919405a2375cc98ef7d6eb80c2 Binary files /dev/null and b/backend/src/Admin.api/pub/mscorrc.dll differ diff --git a/backend/src/Admin.api/pub/msquic.dll b/backend/src/Admin.api/pub/msquic.dll new file mode 100644 index 0000000000000000000000000000000000000000..2a1350ac67c23b34e845853fac8b87e8bab49835 Binary files /dev/null and b/backend/src/Admin.api/pub/msquic.dll differ diff --git a/backend/src/Admin.api/pub/netstandard.dll b/backend/src/Admin.api/pub/netstandard.dll new file mode 100644 index 0000000000000000000000000000000000000000..e9ea43fa84f3050e3a34ab650dc5d02c6d38b8eb Binary files /dev/null and b/backend/src/Admin.api/pub/netstandard.dll differ diff --git a/backend/src/Admin.api/pub/web.config b/backend/src/Admin.api/pub/web.config new file mode 100644 index 0000000000000000000000000000000000000000..3414246b4816c696b354f5b9a4c7ec6e05eef192 --- /dev/null +++ b/backend/src/Admin.api/pub/web.config @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/backend/src/UniversalAdmin.Application/UniversalAdmin.Application.csproj b/backend/src/Admin.application/Admin.application.csproj similarity index 34% rename from backend/src/UniversalAdmin.Application/UniversalAdmin.Application.csproj rename to backend/src/Admin.application/Admin.application.csproj index 0cc9c3bec1815939ffcbb7dcb64c6cabd4ca31ba..47c1f26c48f94e97d96de13d6904c53f5723b602 100644 --- a/backend/src/UniversalAdmin.Application/UniversalAdmin.Application.csproj +++ b/backend/src/Admin.application/Admin.application.csproj @@ -1,23 +1,21 @@  - net9.0 + net8.0 enable enable - - - - - + + + + + - - - + diff --git a/backend/src/UniversalAdmin.Application/Class1.cs b/backend/src/Admin.application/Class1.cs similarity index 38% rename from backend/src/UniversalAdmin.Application/Class1.cs rename to backend/src/Admin.application/Class1.cs index 4be6d8efab65d2582eb6fb8d51a80cc2194a4ade..055992df3f01c8981fdf389722fd382d77b906b9 100644 --- a/backend/src/UniversalAdmin.Application/Class1.cs +++ b/backend/src/Admin.application/Class1.cs @@ -1,4 +1,4 @@ -namespace UniversalAdmin.Application; +namespace Admin.application; public class Class1 { diff --git a/backend/src/UniversalAdmin.Shared/Result/ApiResult.cs b/backend/src/Admin.application/Conmon/ApiResult.cs similarity index 92% rename from backend/src/UniversalAdmin.Shared/Result/ApiResult.cs rename to backend/src/Admin.application/Conmon/ApiResult.cs index dc2047014de7e0c8485c8409cb36319177608bb0..1868ce29dae3051d5451241b8c0f2fb578ee5141 100644 --- a/backend/src/UniversalAdmin.Shared/Result/ApiResult.cs +++ b/backend/src/Admin.application/Conmon/ApiResult.cs @@ -1,4 +1,4 @@ -namespace UniversalAdmin.Shared.Result; +namespace Admin.application.conmon; public class ApiResult { diff --git a/backend/src/Admin.application/Conmon/interface/IDomainEventPublisher.cs b/backend/src/Admin.application/Conmon/interface/IDomainEventPublisher.cs new file mode 100644 index 0000000000000000000000000000000000000000..bf9d6dddda258c016f74316821e5402a9e3985c6 --- /dev/null +++ b/backend/src/Admin.application/Conmon/interface/IDomainEventPublisher.cs @@ -0,0 +1,10 @@ +// using Admin.Domain.Event; + +// namespace Admin.application.Conmon.Interface; + + + +// public interface IDomainEventPublisher +// { +// Task PublishAsync(TDomainEvent domainEvent) where TDomainEvent : IDomainEvent; +// } \ No newline at end of file diff --git a/backend/src/Admin.application/Conmon/interface/IFileService.cs b/backend/src/Admin.application/Conmon/interface/IFileService.cs new file mode 100644 index 0000000000000000000000000000000000000000..f74f43c20f041530d63165ac05cd00544b52ab72 --- /dev/null +++ b/backend/src/Admin.application/Conmon/interface/IFileService.cs @@ -0,0 +1,16 @@ +using Microsoft.AspNetCore.Http; + +namespace Admin.application.conmon.Interface; + + +public interface IFileService +{ + + Task UploadFiles(IFormFileCollection fileCollection); + Task DeleteFiles(IEnumerable ids); + + + + Task<(Stream? FileSteam, string ContentType, string FileName)?> GetFileSteamAsync(Guid FileId); + Task<(byte[]? FileContent,string ContentType,string FileName)?> GetFileContentAsync(Guid fileId); +} \ No newline at end of file diff --git a/backend/src/UniversalAdmin.Application/Interface/IJwtTokenGenerator.cs b/backend/src/Admin.application/Conmon/interface/IJwtTokenGenerator.cs similarity index 69% rename from backend/src/UniversalAdmin.Application/Interface/IJwtTokenGenerator.cs rename to backend/src/Admin.application/Conmon/interface/IJwtTokenGenerator.cs index 4a59381e5ad35e30df1392f4e043f0bddef49682..e9c0ac0da8f0d16e64ff8028ccca18dbea0a51d9 100644 --- a/backend/src/UniversalAdmin.Application/Interface/IJwtTokenGenerator.cs +++ b/backend/src/Admin.application/Conmon/interface/IJwtTokenGenerator.cs @@ -1,4 +1,4 @@ -namespace UniversalAdmin.application.conmon.Interface; +namespace Admin.application.conmon.Interface; diff --git a/backend/src/Admin.application/Conmon/interface/IMenuApplicationService.cs b/backend/src/Admin.application/Conmon/interface/IMenuApplicationService.cs new file mode 100644 index 0000000000000000000000000000000000000000..8f6d91bf7fbd0bbed59608a341ac0c544ff5fd47 --- /dev/null +++ b/backend/src/Admin.application/Conmon/interface/IMenuApplicationService.cs @@ -0,0 +1,26 @@ +namespace Admin.application.conmon.Interface; + + + + + +// public interface IRoleService + + +// { + + +// Task CreateRoleAsync(CreateRoleDto createRoleDto); + + +// } +public interface IMenuApplicationService +{ + Task CreateMenuAsync(string name); + Task UpdateMenuAsync(Guid id, string name); + Task DeleteMenuAsync(Guid id); + Task AddMenuItemAsync(Guid menuId, string name, string url, Guid? parentId); + Task RemoveMenuItemAsync(Guid menuId, Guid menuItemId); + Task GetMenuAsync(Guid id); + Task> GetMenuTreeAsync(Guid menuId); +} \ No newline at end of file diff --git a/backend/src/Admin.application/Conmon/interface/IRoleService.cs b/backend/src/Admin.application/Conmon/interface/IRoleService.cs new file mode 100644 index 0000000000000000000000000000000000000000..e042e7d2218c7631306f56fd123aa0fb69b7d2d5 --- /dev/null +++ b/backend/src/Admin.application/Conmon/interface/IRoleService.cs @@ -0,0 +1,35 @@ +using Admin.application.conmon; +using Admin.application.Dtos; +namespace Admin.application.conmon.Interface; + + +// public interface IRoleService +// { +// Task +// } + + +public interface IRoleService +{ + + + //创建角色 + Task CreateRoleAsync(CreateRoleDto createRoleDto); + //删除角色 + Task DeleteAsync(Guid roleId); + //更新角色 + Task UpdateAsync(Guid roleId,CreateRoleDto createRoleDto); + //分配权限 + Task AssignPermissionAsync(Guid roleId,string permissionCode); + + //移除权限 + Task RemovePermissionAsync(Guid roleId,string permissionCode); + + //启用角色 + Task EnableAsync(Guid roleId); + + //禁用角色 + Task DisableAsync(Guid roleId); + + // +} \ No newline at end of file diff --git a/backend/src/UniversalAdmin.Domain/Common/Interfaces/IPasswordHasher.cs b/backend/src/Admin.application/Conmon/interface/IpasswordHasher.cs similarity index 44% rename from backend/src/UniversalAdmin.Domain/Common/Interfaces/IPasswordHasher.cs rename to backend/src/Admin.application/Conmon/interface/IpasswordHasher.cs index 95015c4090857837ef9e28aefe469e88cfb04e8c..3cd50148555ce32883c7ba18f9ccb54dc765f93b 100644 --- a/backend/src/UniversalAdmin.Domain/Common/Interfaces/IPasswordHasher.cs +++ b/backend/src/Admin.application/Conmon/interface/IpasswordHasher.cs @@ -1,8 +1,12 @@ -namespace UniversalAdmin.Application.Common.Interfaces; +namespace Admin.application.conmon.Interface; + + public interface IPasswordHasher { string GenerateSalt(); string HashPassword(string password, string salt); - bool VerifyHashedPassword(string hashedPassword, string salt, string providedPassword); -} + + + bool VerifHashePassword(string hashPassword, string salt, string providedPassword); + } \ No newline at end of file diff --git a/backend/src/Admin.application/Conmon/interface/IpermissionService.cs b/backend/src/Admin.application/Conmon/interface/IpermissionService.cs new file mode 100644 index 0000000000000000000000000000000000000000..4946c8b1cb6dca962c66122023ce9005dbcfd903 --- /dev/null +++ b/backend/src/Admin.application/Conmon/interface/IpermissionService.cs @@ -0,0 +1,16 @@ +using Admin.application.Dtos; + +namespace Admin.application.conmon.Interface; + +public interface IPermissionService +{ + Task CreatePermissionAsync(CreatePermissionDto dto); + Task UpdatePermissionAsync(Guid permissionId, CreatePermissionDto dto); + + Task DeletePermissionAsync(Guid permissionId); + + Task EnablePermissionAsync(Guid permissionId); + + Task DisablePermissionAsync(Guid permissionId); + Task GetAllPermissionAsync(); +} \ No newline at end of file diff --git a/backend/src/Admin.application/Dtos/AssignRoleDto.cs b/backend/src/Admin.application/Dtos/AssignRoleDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..821f51cac84d54cc9e85b1394c52a688a51c46f9 --- /dev/null +++ b/backend/src/Admin.application/Dtos/AssignRoleDto.cs @@ -0,0 +1,5 @@ +namespace Admin.application.Dtos; + + + +public record AssginRoleDto(Guid RoleId); \ No newline at end of file diff --git a/backend/src/Admin.application/Dtos/ChangePasswordDto.cs b/backend/src/Admin.application/Dtos/ChangePasswordDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..13456c5a304cc529af50adc044d836b482cac0e7 --- /dev/null +++ b/backend/src/Admin.application/Dtos/ChangePasswordDto.cs @@ -0,0 +1,3 @@ +namespace Admin.application.Dtos; + +public record ChnagePasswordDto(string NewPassword); \ No newline at end of file diff --git a/backend/src/Admin.application/Dtos/CreatePermissionDto.cs b/backend/src/Admin.application/Dtos/CreatePermissionDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..7162e94fe0ecbebfe9c50c2c004bc617b02391e5 --- /dev/null +++ b/backend/src/Admin.application/Dtos/CreatePermissionDto.cs @@ -0,0 +1,10 @@ +namespace Admin.application.Dtos; + +public class CreatePermissionDto +{ + public string Code { get; set; } = string.Empty; + public string Name { get; set; } = string.Empty; + + public string?Description { get; set; } = string.Empty; + +} \ No newline at end of file diff --git a/backend/src/Admin.application/Dtos/CreateRoleDto.cs b/backend/src/Admin.application/Dtos/CreateRoleDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..845c79340afb143f34e19f3c7dd3a42c1869f925 --- /dev/null +++ b/backend/src/Admin.application/Dtos/CreateRoleDto.cs @@ -0,0 +1,4 @@ +namespace Admin.application.Dtos; + + +public record CreateRoleDto(string RoleName); \ No newline at end of file diff --git a/backend/src/Admin.application/Dtos/CreateUserDto.cs b/backend/src/Admin.application/Dtos/CreateUserDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..4c69b1e6c620716de131f41be71af0c1178f93cd --- /dev/null +++ b/backend/src/Admin.application/Dtos/CreateUserDto.cs @@ -0,0 +1,4 @@ +namespace Admin.application.Dtos; + + +public record CreateUserDto(string UserName,string Password,string Telephone,string Email); diff --git a/backend/src/Admin.application/Dtos/FileDto.cs b/backend/src/Admin.application/Dtos/FileDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..1b53edcee00ad0aa25955889f5fc9706b7158cca --- /dev/null +++ b/backend/src/Admin.application/Dtos/FileDto.cs @@ -0,0 +1 @@ +namespace Admin.application.Dtos; \ No newline at end of file diff --git a/backend/src/Admin.application/Dtos/MenuDto.cs b/backend/src/Admin.application/Dtos/MenuDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..8a1e97fd3bbae978ab0a19cb8cfa4942c4ec4201 --- /dev/null +++ b/backend/src/Admin.application/Dtos/MenuDto.cs @@ -0,0 +1,9 @@ + +namespace Admin.application.Dto; + +public class MenuDto +{ + public string? Name { get; set; } + public string? Url { get; set; } + public Guid? ParentId { get; set; } +} \ No newline at end of file diff --git a/backend/src/Admin.application/Dtos/UpdateUserDto.cs b/backend/src/Admin.application/Dtos/UpdateUserDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..a8f3b93c5b5086ca00293b5c39d203b7a94e99a8 --- /dev/null +++ b/backend/src/Admin.application/Dtos/UpdateUserDto.cs @@ -0,0 +1,5 @@ +namespace Admin.application.Dtos; + + +public record UpdateUserDto(string Nickname,string Telephone,string Email +); \ No newline at end of file diff --git a/backend/src/Admin.application/Dtos/UserDto.cs b/backend/src/Admin.application/Dtos/UserDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..38283ad82df7ccd40a999278c56036e7e31c7ac7 --- /dev/null +++ b/backend/src/Admin.application/Dtos/UserDto.cs @@ -0,0 +1,3 @@ +namespace Admin.application.Dtos; + +public record UserDto(Guid Id,string UserName); \ No newline at end of file diff --git a/backend/src/Admin.application/EventHandlers/FileUploadedEventHandler.cs b/backend/src/Admin.application/EventHandlers/FileUploadedEventHandler.cs new file mode 100644 index 0000000000000000000000000000000000000000..e5f115a00f5652836720c98d06bcad28034ae0b9 --- /dev/null +++ b/backend/src/Admin.application/EventHandlers/FileUploadedEventHandler.cs @@ -0,0 +1,3 @@ +namespace Admin.application.EventHandlers; + + diff --git a/backend/src/Admin.application/EventHandlers/FileUploadedOtherEventHandler.cs b/backend/src/Admin.application/EventHandlers/FileUploadedOtherEventHandler.cs new file mode 100644 index 0000000000000000000000000000000000000000..35efa7289efd176fcc18d5c78be6210455c80f55 --- /dev/null +++ b/backend/src/Admin.application/EventHandlers/FileUploadedOtherEventHandler.cs @@ -0,0 +1,3 @@ +// namespace Admin.application.EventHandlers; + +// public class FileUploadedOtherEventHandler { }: \ No newline at end of file diff --git a/backend/src/UniversalAdmin.Application/Service/AuthService.cs b/backend/src/Admin.application/Service/AuthService.cs similarity index 79% rename from backend/src/UniversalAdmin.Application/Service/AuthService.cs rename to backend/src/Admin.application/Service/AuthService.cs index d39e4d7ff9ab9a894fcab4175c155010e67db25a..d2644bd3916edd3767970829569828f8482ecca3 100644 --- a/backend/src/UniversalAdmin.Application/Service/AuthService.cs +++ b/backend/src/Admin.application/Service/AuthService.cs @@ -1,11 +1,8 @@ -using UniversalAdmin.application.conmon; -using UniversalAdmin.application.conmon.Interface; -using UniversalAdmin.Application.Common.Interfaces; -using UniversalAdmin.Domain.Entities; -using UniversalAdmin.Domain.Entities.App; -using UniversalAdmin.Domain.Repositories; -using UniversalAdmin.Shared.Result; -namespace UniversalAdmin.application.Service; +using Admin.application.conmon; +using Admin.application.conmon.Interface; +using Admin.Domain.Entities; +using Admin.Domain.Entities.App; +namespace Admin.application.Service; @@ -26,20 +23,26 @@ public class AuthService _jwtTokenGererator = tokenGererator; } //使用判断逻辑进行注册 - public async Task RegisterAsync(string userName, string password) + public async Task RegisterAsync(string userName, string password,string Email) { var users = await _userRepo.GetAllAsync(); if (users.Any(u => u.UserName == userName)) throw new Exception("用户名已存在"); + if(password.Length <=8) + throw new Exception("密码长度必须大于8"); + if(Email.Length <=6) + throw new Exception("密码长度必须大于6"); + + var salt = _passwordHasher.GenerateSalt(); var hash = _passwordHasher.HashPassword(password, salt); - var user = new AppUser(userName, hash, salt); + var user = new AppUser(userName, hash,Email, salt); await _userRepo.CreateAsync(user); return user; @@ -52,7 +55,7 @@ public class AuthService var user = users.FirstOrDefault(u => u.UserName == userName); if (user == null) return null; - var isValid = _passwordHasher.VerifyHashedPassword(user.Password, user.Salt, password); + var isValid = _passwordHasher.VerifHashePassword(user.Password, user.Salt, password); var token = _jwtTokenGererator.GeneratorToken(user.Id.ToString(), user.UserName); return ApiResult.Success( token, "denglu成功" ); } diff --git a/backend/src/Admin.application/Service/FileService.cs b/backend/src/Admin.application/Service/FileService.cs new file mode 100644 index 0000000000000000000000000000000000000000..338d469abdd85b7ca51bbb6738584683cf2f06a6 --- /dev/null +++ b/backend/src/Admin.application/Service/FileService.cs @@ -0,0 +1,185 @@ +using Admin.application.conmon; +using Admin.application.conmon.Interface; +using Admin.Domain.Entities; +using Admin.Domain.Event; +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.Configuration; + +namespace Admin.application.Service; + + + +public class FileService : IFileService +{ + + private readonly IRepository _fileRepo; + private readonly IConfiguration _configuration; + // private readonly IDomainEventPublisher _eventPublisher; + private readonly string _basePath; + + public FileService(IRepository fileRepo, IConfiguration configuration) + { + _fileRepo = fileRepo; + _configuration = configuration; + // _eventPublisher = eventPublisher; + _basePath = _configuration["FileStorage:BasePath"] ?? "wwwroot/uploads"; + + if (!Directory.Exists(_basePath)) + { + Directory.CreateDirectory(_basePath); + } + } + + + public async Task DeleteFiles(IEnumerable ids) + { + + try + { + var deletedCount = 0; + foreach (var id in ids) + { + var file = await _fileRepo.GetByIdAsync(id); + if (file != null) + { + var fullPath = Path.Combine(_basePath, file.StoragePath, file.StoredFileName); + if (File.Exists(fullPath)) + { + File.Delete(fullPath); + } + await _fileRepo.DeleteHardaAsync(id); + deletedCount++; + } + } + return ApiResult.Success(new object(), $"成功删除{deletedCount}个文件"); + + } + catch (Exception ex) + { + return ApiResult.Fail(500004, $"删除文件出现错误:{ex.Message}"); + } + } + + + + + public async Task<(byte[]? FileContent, string ContentType ,string FileName)?> GetFileContentAsync(Guid fileId) + { + try + { + var file = await _fileRepo.GetByIdAsync(fileId); + + if (file == null) return null; + var fullPath = Path.Combine(_basePath, file.StoragePath, file.StoredFileName); + if (!File.Exists(fullPath)) return null; + + var content = await File.ReadAllBytesAsync(fullPath); + return (content, file.ContentType, file.OriginFileName); + } + catch + { + return null; + } + } + + + + + + public async Task<(Stream? FileSteam, string ContentType, string FileName)?> GetFileSteamAsync(Guid FileId) + { + try + { + var file = await _fileRepo.GetByIdAsync(FileId); + + if (file == null) return null; + var fullPath = Path.Combine(_basePath, file.StoragePath, file.StoredFileName); + if (!File.Exists(fullPath)) return null; + + + var steam = new FileStream( + fullPath, + FileMode.Open, + FileAccess.Read, + FileShare.Read, + 4096,//默认缓冲区大小 + FileOptions.Asynchronous//使用异步IO + ); + return (steam, file.ContentType, file.OriginFileName); + } + catch { + return null; + } + } + + public async Task UploadFiles (IFormFileCollection fileCollection) + { + try + + { + if (fileCollection == null || fileCollection.Count == 0) + { + return ApiResult.Fail(50002, "未选择任何文件"); + } + var today = DateTime.Now.ToString("yyyy-MM-dd"); + var uploadPath = Path.Combine(_basePath, today); + if (!Directory.Exists(uploadPath)) + { + Directory.CreateDirectory(uploadPath); + } + var uploadedFile = new List(); + foreach (var file in fileCollection) + + { + if (file.Length == 0) continue; + try + { + var fileExtension = Path.GetExtension(file.FileName).TrimStart('.'); + var newFileName = $"{Guid.NewGuid().ToString("N")}.{fileExtension}"; + var fullPath = Path.Combine(uploadPath, newFileName); + using (var stream = new FileStream(fullPath, FileMode.Create)) + { + await file.CopyToAsync(stream); + } + var appFile = new AppFile( + originFileName: file.FileName, + storedFileName: newFileName, + fileExtension: fileExtension, + contentType: file.ContentType, + fileSize: file.Length, + storagePath: today); + + await _fileRepo.CreateAsync(appFile); + uploadedFile.Add(appFile); + + var fileUploadedEvent = new FileUploadedEvent(appFile.Id, appFile.OriginFileName, appFile.ContentType); + + // await _eventPublisher.PublishAsync(fileUploadedEvent); + } + catch + { + + continue; + } + + } + + + if (uploadedFile.Count == 0) + { + return ApiResult.Fail(500003, "所有文件上穿失败"); + } + + + var fileIds = uploadedFile.Select(f => f.Id).ToList(); + return ApiResult.Success(fileIds, $"成功上传{uploadedFile.Count}个文件"); + } + catch (Exception ex) + { + return ApiResult.Fail(50001, $"文件上传过程发生错误:{ex.Message}"); + } + + } +} + + diff --git a/backend/src/Admin.application/Service/MenuService.cs b/backend/src/Admin.application/Service/MenuService.cs new file mode 100644 index 0000000000000000000000000000000000000000..70b2634f7dcbca636dbcb4a601a59861fb0b9d5e --- /dev/null +++ b/backend/src/Admin.application/Service/MenuService.cs @@ -0,0 +1,88 @@ +using Admin.application.conmon.Interface; + +namespace Admin.application.Conmon.Interface; + + +public class MenuApplicationService : IMenuApplicationService +{ + private readonly IMenuRepository _menuRepository; + + public MenuApplicationService(IMenuRepository menuRepository) + { + _menuRepository = menuRepository; + } +//创建菜单 + public async Task CreateMenuAsync(string name) + { + var menu = new Menu(name); + await _menuRepository.AddAsync(menu); + return menu; + } +//更新菜单 + public async Task UpdateMenuAsync(Guid id, string name) + { + var menu = await _menuRepository.GetByIdAsync(id); + if (menu == null) + { + throw new ArgumentException("Menu not found"); + } + await _menuRepository.UpdateAsync(menu); + return menu; + } +//删除菜单 + public async Task DeleteMenuAsync(Guid id) + { + var menu = await _menuRepository.GetByIdAsync(id); + + if (menu == null) + { + throw new ArgumentException("Menu not found"); + } + await _menuRepository.DeleteAsync(menu); + } +//添加菜单项 + public async Task AddMenuItemAsync(Guid menuId, string name, string url, Guid? parentId) + { + var menu = await _menuRepository.GetByIdAsync(menuId); + if (menu == null) + { + throw new ArgumentException("Menu not found"); + } + var menuItem = new Menus(name, url, parentId); + menu.AddMenuItem(menuItem); + await _menuRepository.UpdateAsync(menu); + return menu; + } +//移除菜单项 + public async Task RemoveMenuItemAsync(Guid menuId, Guid menuItemId) + { + var menu = await _menuRepository.GetByIdAsync(menuId); + if (menu == null) + { + throw new ArgumentException("Menu not found"); + } + var menuItem = menu.GetMenuItem(menuItemId); + if (menuItem == null) + { + throw new ArgumentException("Menu item not found"); + } + menu.RemoveMenuItem(menuItem); + await _menuRepository.UpdateAsync(menu); + return menu; + } + + public async Task GetMenuAsync(Guid id) + { + return await _menuRepository.GetByIdAsync(id); + } +//获取菜单树 + public async Task> GetMenuTreeAsync(Guid menuId) + { + var menu = await _menuRepository.GetByIdAsync(menuId); + if (menu == null) + { + throw new ArgumentException("Menu not found"); + } + return menu.GetMenuTree(); + } +} \ No newline at end of file diff --git a/backend/src/Admin.application/Service/PermissionService.cs b/backend/src/Admin.application/Service/PermissionService.cs new file mode 100644 index 0000000000000000000000000000000000000000..fbba28d364d7276a9c210c472564c6396409c3cf --- /dev/null +++ b/backend/src/Admin.application/Service/PermissionService.cs @@ -0,0 +1,103 @@ +using Admin.application.conmon; +using Admin.application.conmon.Interface; +using Admin.application.Dtos; +using Admin.Domain.Entities; +using Admin.Domain.Entities.App; + +namespace Admin.application.Service; + +public class PermissionService : IPermissionService +{ + private readonly IRepository _permissionRepo; + + public PermissionService(IRepository permissionRepo) + { + _permissionRepo = permissionRepo; + } + public async Task CreatePermissionAsync(CreatePermissionDto dto) + { + + var exists = (await _permissionRepo.GetAllAsync()).Any(p => p.Code == dto.Code); + if (exists) + { + return ApiResult.Fail(4001, "权限编码已存在"); + } + var permission = new AppPemission(dto.Code, dto.Name, dto.Description ?? ""); + await _permissionRepo.CreateAsync(permission); + return ApiResult.Success(permission, "创建权限成功"); + } + + public async Task DeletePermissionAsync(Guid permissionId) + { + var permission = await _permissionRepo.GetByIdAsync(permissionId); + if (permission == null) + { + return ApiResult.Fail(4002, "权限未找到"); + } + await _permissionRepo.DeleteHardaAsync(permissionId); + return ApiResult.Success(permission, "删除权限成功"); + } + //删除权限 + public async Task DisablePermissionAsync(Guid permissionId) + { + var permission = await _permissionRepo.GetByIdAsync(permissionId); + if (permission == null) + { + return ApiResult.Fail(4002, "权限未找到"); + } + if (!permission.IsActived) + + { + return ApiResult.Fail(4004, "权限已禁用"); + } + permission.IsActived = false; + await _permissionRepo.UpdateAsync(permission); + return ApiResult.Success(permission, "禁用权限成功"); + } + //启用 + public async Task EnablePermissionAsync(Guid permissionId) + { + var permission = await _permissionRepo.GetByIdAsync(permissionId); + if (permission == null) + { + return ApiResult.Fail(4002, "权限未找到"); + } + if (permission.IsActived) + { + return ApiResult.Fail(4003, "权限已启用"); + + } + permission.IsActived = true; + await _permissionRepo.UpdateAsync(permission); + return ApiResult.Success(permission, "启动权限成功"); + } + //禁用 + public async Task UpdatePermissionAsync(Guid permissionId, CreatePermissionDto dto) + { + + var permission = await _permissionRepo.GetByIdAsync(permissionId); + if (permission == null) + { + return ApiResult.Fail(4002, "权限未找到"); + } + permission.Code = dto.Code; + permission.Name = dto.Name; + permission.Description = dto.Description ?? ""; + + + await _permissionRepo.UpdateAsync(permission); + return ApiResult.Success(permission, "更新权限成功"); + } + + + //获取权限 + public async Task GetAllPermissionAsync() + { + var permissions = await _permissionRepo.GetAllAsync(); + if (permissions == null) + { + return ApiResult.Fail(4002, "权限列表为空"); + } + return ApiResult.Success(permissions, "获取全部权限成功"); + } + } diff --git a/backend/src/Admin.application/Service/RoleService.cs b/backend/src/Admin.application/Service/RoleService.cs new file mode 100644 index 0000000000000000000000000000000000000000..ef7f44ff568ed02b1ac0f96a6260051bb29e9656 --- /dev/null +++ b/backend/src/Admin.application/Service/RoleService.cs @@ -0,0 +1,146 @@ +using System.ComponentModel; +using Admin.application.conmon; +using Admin.application.conmon.Interface; +using Admin.application.Dtos; +using Admin.Domain.Entities; +using Admin.Domain.Entities.App; + +namespace Admin.application.Service; + + +public class RoleService : IRoleService +{ + private readonly IRepository _rolerepo; + private readonly IRepository _permissionRepo; + + + public RoleService(IRepository repoRepo, IRepository permissionRepo) + { + _rolerepo = repoRepo; + _permissionRepo = permissionRepo; + } + public async Task AssignPermissionAsync(Guid roleId, string permissonCode) + { + var role = await _rolerepo.GetByIdAsync(roleId); + if (role == null) + { + return ApiResult.Fail(3002, "角色未找到"); + }; + if (role.IsActived == false) + { + return ApiResult.Fail(3003, "角色为启用"); + } + var permission = (await _permissionRepo.GetAllAsync()).FirstOrDefault(x => x.Code == permissonCode); + if (permission == null) + { + return ApiResult.Fail(3002, "权限未找到"); + + } + if (permission.IsActived == false) + { + return ApiResult.Fail(3002, "权限未启用"); + } + role.GreantPermission(permission); + await _rolerepo.UpdateAsync(role); + return ApiResult.Success(role, "分配权限成功"); + + } + + public Task CreateRoleAsync(CreateRoleDto createRoleDto) + { + + var exists = _rolerepo.GetAllAsync().Result.Any(r => r.Name == createRoleDto.RoleName); + if (exists) + { + return Task.FromResult(ApiResult.Fail(3001, "角色名已存在")); + } + var role = new AppRole(createRoleDto.RoleName); + _rolerepo.CreateAsync(role).Wait(); + return Task.FromResult(ApiResult.Success(role, "创建角色成功")); + } + + public Task DeleteAsync(Guid roleId) + { + var role = _rolerepo.GetByIdAsync(roleId).Result; + if (role == null) + { + return Task.FromResult(ApiResult.Fail(3002, "角色未找到")); + } + _rolerepo.DeleteHardaAsync(roleId).Wait(); + return Task.FromResult(ApiResult.Success(role, "删除角色成功")); + + } + + public Task DisableAsync(Guid roleId) + { + var role = _rolerepo.GetByIdAsync(roleId).Result; + if (role == null) + { + return Task.FromResult(ApiResult.Fail(3002, "角色未找到")); + + } + if (!role.IsActived) + + { + return Task.FromResult(ApiResult.Fail(3003, "角色已禁用")); + } + role.IsActived = false; + _rolerepo.UpdateAsync(role).Wait(); + return Task.FromResult(ApiResult.Success(role, "禁用角色成功")); + + + } + + public Task EnableAsync(Guid roleId) + { + var role = _rolerepo.GetByIdAsync(roleId).Result; + if (role == null) + + { + return Task.FromResult(ApiResult.Fail(3002, "角色未找到")); + + } + if (role.IsActived) + { + return Task.FromResult(ApiResult.Fail(3004, "角色已启用")); + } + role.IsActived = true; + _rolerepo.UpdateAsync(role).Wait(); + return Task.FromResult(ApiResult.Success(role, "启用角色成功")); + + + } + + public Task RemovePermissionAsync(Guid roleId, string permissionCode) + { + var role = _rolerepo.GetByIdAsync(roleId).Result; + if (role == null) + { + return Task.FromResult(ApiResult.Fail(3002, "角色未找到")); + } + var permission = _permissionRepo.GetAllAsync().Result.FirstOrDefault(x => x.Code == permissionCode); + if (permission == null) + { + return Task.FromResult(ApiResult.Fail(3002, "权限未找到")); + } + role.RevokePermission(permission); + _rolerepo.UpdateAsync(role).Wait(); + return Task.FromResult(ApiResult.Success(role, "移除权限成功")); + + } + + public Task UpdateAsync(Guid roleId, CreateRoleDto createRoleDto) + { + var role = _rolerepo.GetByIdAsync(roleId).Result; + if (role == null) + { + return Task.FromResult(ApiResult.Fail(3002, "角色未找到")); + } + role.Name = createRoleDto.RoleName; + _rolerepo.UpdateAsync(role).Wait(); + return Task.FromResult(ApiResult.Success(role, "更新角色成功")); + + } +} + + \ No newline at end of file diff --git a/backend/src/Admin.application/Service/UserService.cs b/backend/src/Admin.application/Service/UserService.cs new file mode 100644 index 0000000000000000000000000000000000000000..87ce51177c698a7ae6295a773a705feb5afc73f0 --- /dev/null +++ b/backend/src/Admin.application/Service/UserService.cs @@ -0,0 +1,183 @@ +using Admin.application.conmon; +using Admin.application.conmon.Interface; +using Admin.application.Dtos; +using Admin.Domain.Common; +using Admin.Domain.Entities; +using Admin.Domain.Entities.App; +using Microsoft.VisualBasic; + +namespace Admin.application.Service; + + +public class UserServie +{ + private readonly IRepository _userRepo; + private readonly IRepository _userRepository; + + private readonly IPasswordHasher _passwordHasher; + + public UserServie(IRepository userRepo, IRepository userRepository, IPasswordHasher passwordHasher) + { + + + _userRepository = userRepository; + + _passwordHasher = passwordHasher; + _userRepo = userRepo; + } + + + /// + /// 创建用户 + /// + /// + /// + /// + + + ////查看/编辑用户信息 + public async Task CreaterUserAsync(string UserName, string password, string Telephone,string Email) + { + var users = await _userRepo.GetAllAsync(); + + + if (users.Any(u => u.UserName == UserName)) + throw new Exception("用户名已存在"); + var salt = _passwordHasher.GenerateSalt(); + var hash = _passwordHasher.HashPassword(password, salt); + var user = new AppUser(UserName, password, Telephone,Email, salt); + await _userRepo.CreateAsync(user); + return user; + } + //修改密码 + public async Task ChangePasswordAsync(Guid userId, string newPassword) + { + var user = await _userRepo.GetByIdAsync(userId) ?? throw new Exception("用户不存在"); + var salt = _passwordHasher.GenerateSalt(); + var hash = _passwordHasher.HashPassword(newPassword, salt); + + user.SetPassword(hash, salt); + await _userRepo.UpdateAsync(user); + } + //分配角色 + public async Task AsignRoleAsync(Guid userId, AppRole role) + { + var user = await _userRepo.GetByIdAsync(userId) ?? throw new Exception("用户不cunzai"); + + user.AssignRole(role); + + await _userRepo.UpdateAsync(user); + } + //移除 角色 + // public async Task RemoveRoleAsync(Guid userId, AppRole role) + // { + // var user = await _userRepo.GetByIdAsync(userId) ?? throw new Exception("用户不存在"); + // var userRole = (await _userRepo.GetAllAsync()).FirstOrDefault(x=>x.Id ==userId&&) + // } + + + //查询用户 + + public async Task GetUserById(Guid userId) + { + return await _userRepo.GetByIdAsync(userId); + } + + public async Task> GetPagedUsersAsync(int pageIndex, int pageSize) + { + return await _userRepo.GetPageAsync(pageIndex, pageSize); + } + + public async Task UpdateUSerInfo(Guid id, UpdateUserDto updateUserDto) + { + var user = await _userRepo.GetByIdAsync(id); + if (user == null) + { + return ApiResult.Fail(); + } + user.Nickname = updateUserDto.Nickname; + + user.Telephone = updateUserDto.Telephone; + user.Email = updateUserDto.Email; + await _userRepo.UpdateAsync(user); + return ApiResult.Success(user, "更新用户资料成功"); + } + + public async Task EnableUSer(Guid userId) + { + var user = await _userRepo.GetByIdAsync(userId); + if (user == null) + { + return ApiResult.Fail(); + } + if (user.IsActived == true) + { + return ApiResult.Fail(400402, " 该用户已经处yu启用状态 , 无需重复启用"); + + } + user.IsActived = true; + await _userRepo.UpdateAsync(user); + return ApiResult.Success(user, "启用自定用户成功"); + } + public async Task DeleteUSer(Guid userId) + { + var user = await _userRepo.GetByIdAsync(userId); + + if (user == null) + { + return ApiResult.Fail(); + } + await _userRepo.DeleteHardaAsync(userId); + return ApiResult.Success(user, "删除/注销用户成功"); + + } + public async Task UpdateAvatar(Guid userid, Guid fileId) + + { + var user = await _userRepo.GetByIdAsync(userid); + + + if (user == null) + { + return ApiResult.Fail(400404, "用户不存在"); + } + if (user.IsActived == true) + { + return ApiResult.Fail(400405, " 该用户已被衿用 , 无法更新头像"); + + } + user.Avatar = fileId.ToString(); ; + await _userRepo.UpdateAsync(user); + return ApiResult.Fail(400404, "青实现UpdateAvatar具体逻辑"); + + } + + + public async Task hasPermission(Guid userId) + { + var user = await _userRepo.GetByIdAsync(userId); + if (user == null) + { + return ApiResult.Fail(400404, "用户不存在"); + } + if (user.IsActived == false) return ApiResult.Fail(400405, "用户被衿用,无法更新头像"); + + var hasPermission = user.HasPemission("order.Create"); + if (hasPermission) + { + return ApiResult.Success(true, "用户有权限"); + } + else + { + return ApiResult.Fail(400406, "用户没有权限"); + } + } + + + } + + + + + + diff --git a/backend/src/UniversalAdmin.Application/ServiceCollectionExtensions.cs b/backend/src/Admin.application/ServiceCollectionExtensions.cs similarity index 38% rename from backend/src/UniversalAdmin.Application/ServiceCollectionExtensions.cs rename to backend/src/Admin.application/ServiceCollectionExtensions.cs index 826bad25c56d5a8a63644e05e34443e4cde87176..877f38458d1368686641b43c99ef704ed7629c6b 100644 --- a/backend/src/UniversalAdmin.Application/ServiceCollectionExtensions.cs +++ b/backend/src/Admin.application/ServiceCollectionExtensions.cs @@ -1,8 +1,9 @@ - +using Admin.application.conmon.Interface; +using Admin.application.Conmon.Interface; +using Admin.application.Service; using Microsoft.Extensions.DependencyInjection; -using UniversalAdmin.application.Service; -namespace UniversalAdmin.application; +namespace Admin.application; public static class ServiceConllectionExtensions @@ -11,9 +12,12 @@ public static class ServiceConllectionExtensions { services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); - - + services.AddScoped(); + services.AddScoped(); diff --git a/backend/src/UniversalAdmin.Api/UniversalAdmin.Api.http b/backend/src/UniversalAdmin.Api/UniversalAdmin.Api.http deleted file mode 100644 index e86e9d652fbee3795f4580a746e80b171ddab56a..0000000000000000000000000000000000000000 --- a/backend/src/UniversalAdmin.Api/UniversalAdmin.Api.http +++ /dev/null @@ -1,20 +0,0 @@ -@url = http://localhost:5292 - - -post {{url}}/api/auth/register -Content-Type: application/json - -{ - "username":"1213411111511", - "password":"123471" -} - -### 登录,登录成功 -post {{url}}/api/auth/login -Content-Type: application/json - -{ - "username":"12370123", - "password":"12347" -} -### diff --git a/backend/src/UniversalAdmin.Domain/Common/Interfaces/IDomainEventPublisher.cs b/backend/src/UniversalAdmin.Domain/Common/Interfaces/IDomainEventPublisher.cs deleted file mode 100644 index b61126c9879648b469a324d87ea18292542191ca..0000000000000000000000000000000000000000 --- a/backend/src/UniversalAdmin.Domain/Common/Interfaces/IDomainEventPublisher.cs +++ /dev/null @@ -1,11 +0,0 @@ -using UniversalAdmin.Domain.Events; - -namespace Admin2025.Application.Common.Interfaces; - -/// -/// 简单的领域事件发布器接口 -/// -public interface IDomainEventPublisher -{ - Task PublishAsync(TDomainEvent domainEvent) where TDomainEvent : IDomainEvent; -} diff --git a/backend/src/UniversalAdmin.Domain/Common/Interfaces/IFileService.cs b/backend/src/UniversalAdmin.Domain/Common/Interfaces/IFileService.cs deleted file mode 100644 index 4a52bfee4b4d7060ac2b21b33061c26f10200933..0000000000000000000000000000000000000000 --- a/backend/src/UniversalAdmin.Domain/Common/Interfaces/IFileService.cs +++ /dev/null @@ -1,24 +0,0 @@ -// using UniversalAdmin.AspNetCore.Http; - -// namespace Admin2025.Application.Common.Interfaces; - -// public interface IFileService -// { -// Task UploadFiles(IFormFileCollection fileCollection); - -// Task DeleteFiles(IEnumerable ids); - -// /// -// /// 通过文件ID获取文件流 -// /// -// /// 文件ID -// /// 文件流、内容类型、原始文件名 -// Task<(Stream? FileStream, string ContentType, string FileName)?> GetFileStreamAsync(Guid fileId); - -// /// -// /// 获取小文件的内容(适用于头像等小文件) -// /// -// /// 文件ID -// /// 文件内容、内容类型、原始文件名 -// Task<(byte[]? FileContent, string ContentType, string FileName)?> GetFileContentAsync(Guid fileId); -// } \ No newline at end of file diff --git a/backend/src/UniversalAdmin.Domain/Common/Interfaces/IJwtTokenGenerator.cs b/backend/src/UniversalAdmin.Domain/Common/Interfaces/IJwtTokenGenerator.cs deleted file mode 100644 index 6245c57d2733eb735c49f36089cf03debb4845d1..0000000000000000000000000000000000000000 --- a/backend/src/UniversalAdmin.Domain/Common/Interfaces/IJwtTokenGenerator.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace UniversalAdmin.Application.Common.Interfaces; - -public interface IJwtTokenGenerator -{ - string GenerateToken(string userId, string userName, int expireMinutes = 120); -} \ No newline at end of file diff --git a/backend/src/UniversalAdmin.Domain/DomainEvents/IDomainEvent.cs b/backend/src/UniversalAdmin.Domain/DomainEvents/IDomainEvent.cs deleted file mode 100644 index cabe7bc12c65b676e71c1ff3d5093e23630e7948..0000000000000000000000000000000000000000 --- a/backend/src/UniversalAdmin.Domain/DomainEvents/IDomainEvent.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace UniversalAdmin.Domain.Events; - -/// -/// 领域事件接口 - 领域层纯净接口 -/// -public interface IDomainEvent -{ - DateTime OccurredOn { get; } -} diff --git a/backend/src/UniversalAdmin.Domain/DomainEvents/UserCreatedEvent.cs b/backend/src/UniversalAdmin.Domain/DomainEvents/UserCreatedEvent.cs deleted file mode 100644 index b4dbaa9245e4d2443f409c9c494ed250efb97414..0000000000000000000000000000000000000000 --- a/backend/src/UniversalAdmin.Domain/DomainEvents/UserCreatedEvent.cs +++ /dev/null @@ -1,22 +0,0 @@ - - -namespace UniversalAdmin.Domain.Events; - -/// -/// 文件上传完成事件 -/// -public class FileUploadedEvent : IDomainEvent -{ - public Guid FileId { get; private set; } - public string FileName { get; private set; } - public string ContentType { get; private set; } - public DateTime OccurredOn { get; private set; } - - public FileUploadedEvent(Guid fileId, string fileName, string contentType) - { - FileId = fileId; - FileName = fileName; - ContentType = contentType; - OccurredOn = DateTime.Now; - } -} diff --git a/backend/src/UniversalAdmin.Domain/Entities/App/AppPermission.cs b/backend/src/UniversalAdmin.Domain/Entities/App/AppPermission.cs deleted file mode 100644 index ba1d8316c484f2340a33c2a7004273fbcbfe24e4..0000000000000000000000000000000000000000 --- a/backend/src/UniversalAdmin.Domain/Entities/App/AppPermission.cs +++ /dev/null @@ -1,20 +0,0 @@ -namespace UniversalAdmin.Domain.Entities.App; - -public class AppPermission : EntityBase -{ - public string Name { get; set; } - - public string Code { get; set; } - - public string Description { get; set; } -#pragma warning disable CS8618 // 在退出构造函数时,不可为 null 的字段必须包含非 null 值。请考虑添加 "required" 修饰符或声明为可为 null。 - protected AppPermission() { } -#pragma warning restore CS8618 // 在退出构造函数时,不可为 null 的字段必须包含非 null 值。请考虑添加 "required" 修饰符或声明为可为 null。 - - public AppPermission(string code, string name, string description) - { - Code = code; - Name = name; - Description = description; - } -} \ No newline at end of file diff --git a/backend/src/UniversalAdmin.Domain/Entities/App/AppRolePermission.cs b/backend/src/UniversalAdmin.Domain/Entities/App/AppRolePermission.cs deleted file mode 100644 index ec796df9f9c9e9e94f2a68f4d1969d80487f9051..0000000000000000000000000000000000000000 --- a/backend/src/UniversalAdmin.Domain/Entities/App/AppRolePermission.cs +++ /dev/null @@ -1,33 +0,0 @@ -namespace UniversalAdmin.Domain.Entities.App; - - - - -public class AppRolePermission : EntityBase -{ - - - - public Guid RoleId { get; private set; } - public AppRole Role { get; private set; } - public Guid PermissionId { get; private set; } - - public AppPermission Permission { get; private set; } - - - - -#pragma warning disable CS8618 // 在退出构造函数时,不可为 null 的字段必须包含非 null 值。请考虑添加 "required" 修饰符或声明为可为 null。 - protected AppRolePermission() { } -#pragma warning restore CS8618 // 在退出构造函数时,不可为 null 的字段必须包含非 null 值。请考虑添加 "required" 修饰符或声明为可为 null。 - - public AppRolePermission(AppRole role, AppPermission permission) - { - Role = role; - RoleId = role.Id; - - Permission = permission; - - PermissionId = permission.Id; - } - } \ No newline at end of file diff --git a/backend/src/UniversalAdmin.Domain/UniversalAdmin.Domain.csproj b/backend/src/UniversalAdmin.Domain/UniversalAdmin.Domain.csproj deleted file mode 100644 index accc665fac8ffacad03dbf850fc65b25c1262bab..0000000000000000000000000000000000000000 --- a/backend/src/UniversalAdmin.Domain/UniversalAdmin.Domain.csproj +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - net9.0 - enable - enable - - - diff --git a/backend/src/UniversalAdmin.Infrastructure/Class1.cs b/backend/src/UniversalAdmin.Infrastructure/Class1.cs deleted file mode 100644 index 4ee204126995f9250e44f31e3ebe57f6946b59a5..0000000000000000000000000000000000000000 --- a/backend/src/UniversalAdmin.Infrastructure/Class1.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace UniversalAdmin.Infrastructure; - -public class Class1 -{ - -} diff --git a/backend/src/UniversalAdmin.Infrastructure/Data/UniversalDbContext.cs b/backend/src/UniversalAdmin.Infrastructure/Data/UniversalDbContext.cs deleted file mode 100644 index 12c400814f311d74f0c47f91b90d9b76040fdcfe..0000000000000000000000000000000000000000 --- a/backend/src/UniversalAdmin.Infrastructure/Data/UniversalDbContext.cs +++ /dev/null @@ -1,156 +0,0 @@ - -using Microsoft.EntityFrameworkCore; -using UniversalAdmin.Domain.Entities; -using UniversalAdmin.Domain.Entities.App; -namespace UniversalAdmin.Infrastructure.Data; - -public class UniversalDbContext : DbContext -{ - public UniversalDbContext(DbContextOptions options) : base(options) { } - - public DbSet AppUser { get; set; } - public DbSet AppRole { get; set; } - public DbSet AppPermission { get; set; } - public DbSet AppUserRole { get; set; } - public DbSet AppRolePermission { get; set; } - public DbSet AppFile { get; set; } } - - - // protected override void OnModelCreating(ModelBuilder modelBuilder) - // { - // base.OnModelCreating(modelBuilder); - -// // 静态Id -// var adminUserId = Guid.Parse("11111111-1111-1111-1111-111111111111"); -// var adminRoleId = Guid.Parse("22222222-2222-2222-2222-222222222222"); -// var permUserManageId = Guid.Parse("33333333-3333-3333-3333-333333333333"); -// var permRoleManageId = Guid.Parse("44444444-4444-4444-4444-444444444444"); - -// var defaultTime = new DateTime(2025, 7, 2, 0, 0, 0, DateTimeKind.Utc); -// // 权限 -// modelBuilder.Entity().HasData( -// new -// { -// Id = permUserManageId, -// Name = "User.Manage", -// Description = "用户管理", -// CreatedAt = defaultTime, -// UpdatedAt = defaultTime, -// IsActived = true, -// IsDeleted = false, -// CreatedBy = Guid.Empty, -// UpdatedBy = Guid.Empty, -// DisplayOrder = 0, -// Remarks = "" -// }, -// new -// { -// Id = permRoleManageId, -// Name = "Role.Manage", -// Description = "角色管理", -// CreatedAt = defaultTime, -// UpdatedAt = defaultTime, -// IsActived = true, -// IsDeleted = false, -// CreatedBy = Guid.Empty, -// UpdatedBy = Guid.Empty, -// DisplayOrder = 0, -// Remarks = "" -// } -// ); - -// // 角色 -// modelBuilder.Entity().HasData( -// new -// { -// Id = adminRoleId, -// RoleName = "Admin", -// CreatedAt = defaultTime, -// UpdatedAt = defaultTime, -// IsActived = true, -// IsDeleted = false, -// CreatedBy = Guid.Empty, -// UpdatedBy = Guid.Empty, -// DisplayOrder = 0, -// Remarks = "" -// } -// ); - -// // 用户 -// modelBuilder.Entity().HasData( -// new -// { -// Id = adminUserId, -// UserName = "admin", -// Password = "113", -// Salt = "333", -// CreatedAt = defaultTime, -// UpdatedAt = defaultTime, -// IsActived = true, -// IsDeleted = false, -// CreatedBy = Guid.Empty, -// UpdatedBy = Guid.Empty, -// DisplayOrder = 0, -// Remarks = "" -// } -// ); - -// // 用户-角色 -// modelBuilder.Entity().HasData( -// new -// { -// Id = Guid.NewGuid(), -// UserId = adminUserId, -// RoleId = adminRoleId, -// CreatedAt = defaultTime, -// UpdatedAt = defaultTime, -// IsActived = true, -// IsDeleted = false, -// CreatedBy = Guid.Empty, -// UpdatedBy = Guid.Empty, -// DisplayOrder = 0, -// Remarks = "" -// } -// ); - -// // 角色-权限 -// modelBuilder.Entity().HasData( -// new -// { -// Id = Guid.NewGuid(), -// RoleId = adminRoleId, -// PermissionId = permUserManageId, -// CreatedAt = defaultTime, -// UpdatedAt = defaultTime, -// IsActived = true, -// IsDeleted = false, -// CreatedBy = Guid.Empty, -// UpdatedBy = Guid.Empty, -// DisplayOrder = 0, -// Remarks = "" -// }, -// new -// { -// Id = Guid.NewGuid(), -// RoleId = adminRoleId, -// PermissionId = permRoleManageId, -// CreatedAt = defaultTime, -// UpdatedAt = defaultTime, -// IsActived = true, -// IsDeleted = false, -// CreatedBy = Guid.Empty, -// UpdatedBy = Guid.Empty, -// DisplayOrder = 0, -// Remarks = "" -// } -// ); -// } -// } - -// public class AppRolePermission -// { -// } - -// public class AppPermission -// { -// } \ No newline at end of file diff --git a/backend/src/UniversalAdmin.Infrastructure/Events/MediatRDomainEventPublisher.cs b/backend/src/UniversalAdmin.Infrastructure/Events/MediatRDomainEventPublisher.cs deleted file mode 100644 index 1ea33f08cb94f550cbe1171054c4df10668ca636..0000000000000000000000000000000000000000 --- a/backend/src/UniversalAdmin.Infrastructure/Events/MediatRDomainEventPublisher.cs +++ /dev/null @@ -1,25 +0,0 @@ -// using UniversalAdmin.Application -// using UniversalAdmin.Application.Common.Interfaces; -// using UniversalAdmin.Domain.Events; -// using MediatR; - -// namespace Admin2025.Infrastructure.Events; - -// /// -// /// 基于MediatR的领域事件发布器 -// /// -// public class MediatRDomainEventPublisher : IDomainEventPublisher -// { -// private readonly IMediator _mediator; - -// public MediatRDomainEventPublisher(IMediator mediator) -// { -// _mediator = mediator; -// } - -// public async Task PublishAsync(TDomainEvent domainEvent) where TDomainEvent : IDomainEvent -// { -// var notification = new DomainEventNotification(domainEvent); -// await _mediator.Publish(notification); -// } -// }