mirror of
https://github.com/nsnail/NetAdmin.git
synced 2025-04-20 21:22:50 +08:00
Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
81ea13fa9d |
2
.github/workflows/nightly-build.yml
vendored
2
.github/workflows/nightly-build.yml
vendored
@ -12,7 +12,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [ 23.x ]
|
node-version: [ 22.x ]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
|
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
@ -12,7 +12,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [ 23.x ]
|
node-version: [ 22.x ]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
|
53
CHANGELOG.md
53
CHANGELOG.md
@ -2,59 +2,6 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||||
|
|
||||||
### [2.3.1](https://github.com/nsnail/NetAdmin/compare/v2.1.0...v2.3.1) (2024-12-13)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* ✨ 菜单复制 ([#214](https://github.com/nsnail/NetAdmin/issues/214)) ([81d9b0b](https://github.com/nsnail/NetAdmin/commit/81d9b0b3bb280661ceffa61aa6e9d612fb7ec52c))
|
|
||||||
* ✨ 分组统计功能 ([0b036e9](https://github.com/nsnail/NetAdmin/commit/0b036e9d67ffdf7a07c772606009f02744e6a3c3))
|
|
||||||
* ✨ 框架代码同步 ([098cfc1](https://github.com/nsnail/NetAdmin/commit/098cfc135e781a0cf172cd1289e5e871c7a76419))
|
|
||||||
* ✨ 框架代码同步 ([7256626](https://github.com/nsnail/NetAdmin/commit/725662693b7b47f6fae4c1917dd8d80220c7640a))
|
|
||||||
* ✨ 文档管理 ([#221](https://github.com/nsnail/NetAdmin/issues/221)) ([7ed3040](https://github.com/nsnail/NetAdmin/commit/7ed30406c9f721a12f0b756ec8884a1882242b93))
|
|
||||||
* ✨ select-filter badge icon ([#217](https://github.com/nsnail/NetAdmin/issues/217)) ([4d857f1](https://github.com/nsnail/NetAdmin/commit/4d857f1861b1256980e7cc59e2ab6a5f7d966da2))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* 🐛 按钮文字提示 ([#227](https://github.com/nsnail/NetAdmin/issues/227)) ([c88c8d2](https://github.com/nsnail/NetAdmin/commit/c88c8d293d44f2707f3b5232e6a40a141af9981c))
|
|
||||||
* 🐛 导出界面报错 ([#213](https://github.com/nsnail/NetAdmin/issues/213)) ([ef2f0de](https://github.com/nsnail/NetAdmin/commit/ef2f0de095e314f34bec21c0a2ccdb51423a163b))
|
|
||||||
* 🐛 导出文件的responseType ([#205](https://github.com/nsnail/NetAdmin/issues/205)) ([841a419](https://github.com/nsnail/NetAdmin/commit/841a4195e77aa96e3c6c72626c1add3f71a310aa))
|
|
||||||
* 🐛 个性主题色冲突 ([4e4a1d0](https://github.com/nsnail/NetAdmin/commit/4e4a1d0dff7f3698e9a9cfcf46368260cfd70cbd))
|
|
||||||
* 🐛 请求日志批量插入,漏写了登录日志 ([#210](https://github.com/nsnail/NetAdmin/issues/210)) ([6c71c74](https://github.com/nsnail/NetAdmin/commit/6c71c74a27617c7d0530a5f6eaff650ecfd4eaec))
|
|
||||||
* 🐛 修复一些样式问题 ([442a69f](https://github.com/nsnail/NetAdmin/commit/442a69f90de179539f78c01d967572f83bd2eff8))
|
|
||||||
* 🐛 用户选择器报错 ([#220](https://github.com/nsnail/NetAdmin/issues/220)) ([71bfdaa](https://github.com/nsnail/NetAdmin/commit/71bfdaafa8176cf686b03244ee758de058080a71))
|
|
||||||
* 🐛 editUser ([ef2a0c3](https://github.com/nsnail/NetAdmin/commit/ef2a0c3280532ac24889279e4780a1b1a2561a6b))
|
|
||||||
* 🐛 idd ([#208](https://github.com/nsnail/NetAdmin/issues/208)) ([4e9f605](https://github.com/nsnail/NetAdmin/commit/4e9f605ea2cc6fe394068cfea5638e51920b9096))
|
|
||||||
* 🐛 version 条件重复指定 ([01058ba](https://github.com/nsnail/NetAdmin/commit/01058ba7288bcc645f66de2f78e1d659d55333cf))
|
|
||||||
* 🐛 version lock ([4eecc0b](https://github.com/nsnail/NetAdmin/commit/4eecc0b4ce09f620f83109949e4c2b67b7f8ba90))
|
|
||||||
|
|
||||||
## [2.3.0](https://github.com/nsnail/NetAdmin/compare/v2.1.0...v2.3.0) (2024-12-12)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* ✨ 菜单复制 ([#214](https://github.com/nsnail/NetAdmin/issues/214)) ([81d9b0b](https://github.com/nsnail/NetAdmin/commit/81d9b0b3bb280661ceffa61aa6e9d612fb7ec52c))
|
|
||||||
* ✨ 分组统计功能 ([0b036e9](https://github.com/nsnail/NetAdmin/commit/0b036e9d67ffdf7a07c772606009f02744e6a3c3))
|
|
||||||
* ✨ 框架代码同步 ([098cfc1](https://github.com/nsnail/NetAdmin/commit/098cfc135e781a0cf172cd1289e5e871c7a76419))
|
|
||||||
* ✨ 框架代码同步 ([7256626](https://github.com/nsnail/NetAdmin/commit/725662693b7b47f6fae4c1917dd8d80220c7640a))
|
|
||||||
* ✨ 文档管理 ([#221](https://github.com/nsnail/NetAdmin/issues/221)) ([7ed3040](https://github.com/nsnail/NetAdmin/commit/7ed30406c9f721a12f0b756ec8884a1882242b93))
|
|
||||||
* ✨ select-filter badge icon ([#217](https://github.com/nsnail/NetAdmin/issues/217)) ([4d857f1](https://github.com/nsnail/NetAdmin/commit/4d857f1861b1256980e7cc59e2ab6a5f7d966da2))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* 🐛 按钮文字提示 ([#227](https://github.com/nsnail/NetAdmin/issues/227)) ([c88c8d2](https://github.com/nsnail/NetAdmin/commit/c88c8d293d44f2707f3b5232e6a40a141af9981c))
|
|
||||||
* 🐛 导出界面报错 ([#213](https://github.com/nsnail/NetAdmin/issues/213)) ([ef2f0de](https://github.com/nsnail/NetAdmin/commit/ef2f0de095e314f34bec21c0a2ccdb51423a163b))
|
|
||||||
* 🐛 导出文件的responseType ([#205](https://github.com/nsnail/NetAdmin/issues/205)) ([841a419](https://github.com/nsnail/NetAdmin/commit/841a4195e77aa96e3c6c72626c1add3f71a310aa))
|
|
||||||
* 🐛 个性主题色冲突 ([4e4a1d0](https://github.com/nsnail/NetAdmin/commit/4e4a1d0dff7f3698e9a9cfcf46368260cfd70cbd))
|
|
||||||
* 🐛 请求日志批量插入,漏写了登录日志 ([#210](https://github.com/nsnail/NetAdmin/issues/210)) ([6c71c74](https://github.com/nsnail/NetAdmin/commit/6c71c74a27617c7d0530a5f6eaff650ecfd4eaec))
|
|
||||||
* 🐛 用户选择器报错 ([#220](https://github.com/nsnail/NetAdmin/issues/220)) ([71bfdaa](https://github.com/nsnail/NetAdmin/commit/71bfdaafa8176cf686b03244ee758de058080a71))
|
|
||||||
* 🐛 editUser ([ef2a0c3](https://github.com/nsnail/NetAdmin/commit/ef2a0c3280532ac24889279e4780a1b1a2561a6b))
|
|
||||||
* 🐛 idd ([#208](https://github.com/nsnail/NetAdmin/issues/208)) ([4e9f605](https://github.com/nsnail/NetAdmin/commit/4e9f605ea2cc6fe394068cfea5638e51920b9096))
|
|
||||||
* 🐛 version 条件重复指定 ([01058ba](https://github.com/nsnail/NetAdmin/commit/01058ba7288bcc645f66de2f78e1d659d55333cf))
|
|
||||||
* 🐛 version lock ([4eecc0b](https://github.com/nsnail/NetAdmin/commit/4eecc0b4ce09f620f83109949e4c2b67b7f8ba90))
|
|
||||||
|
|
||||||
### [2.2.1](https://github.com/nsnail/NetAdmin/compare/v2.1.0...v2.2.1) (2024-12-04)
|
### [2.2.1](https://github.com/nsnail/NetAdmin/compare/v2.1.0...v2.2.1) (2024-12-04)
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<DefineConstants>DBTYPE_SQLITE</DefineConstants>
|
<DefineConstants>DBTYPE_SQLITE</DefineConstants>
|
||||||
<SolutionDir>$(MSBuildThisFileDirectory)</SolutionDir>
|
<SolutionDir>$(MSBuildThisFileDirectory)</SolutionDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(SolutionDir)/build/minver.targets"/>
|
<Import Project="$(SolutionDir)/build/minver.targets" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
<Authors>nsnail</Authors>
|
<Authors>nsnail</Authors>
|
||||||
@ -18,7 +18,7 @@
|
|||||||
<LangVersion>preview</LangVersion>
|
<LangVersion>preview</LangVersion>
|
||||||
<MinVerDefaultPreReleaseIdentifiers>beta</MinVerDefaultPreReleaseIdentifiers>
|
<MinVerDefaultPreReleaseIdentifiers>beta</MinVerDefaultPreReleaseIdentifiers>
|
||||||
<MinVerTagPrefix>v</MinVerTagPrefix>
|
<MinVerTagPrefix>v</MinVerTagPrefix>
|
||||||
<NoWarn>CA1707;IDE0005;IDE0008;IDE0010;IDE0028;IDE0055;IDE0072;IDE0160;IDE0300;IDE0305;RCS1141;RCS1142;RCS1181;S101;S1121;S1135;S125;S2094;S3604;S4663;S6561;SA1010;SYSLIB1045</NoWarn>
|
<NoWarn>CA1707;IDE0005;IDE0008;IDE0010;IDE0028;IDE0055;IDE0160;IDE0300;IDE0305;RCS1141;RCS1142;RCS1181;S101;S1121;S1135;S125;S2094;S3604;S4663;S6561;SYSLIB1045;SA1010</NoWarn>
|
||||||
<Product>NetAdmin</Product>
|
<Product>NetAdmin</Product>
|
||||||
<RepositoryType>git</RepositoryType>
|
<RepositoryType>git</RepositoryType>
|
||||||
<RepositoryUrl>https://github.com/nsnail/NetAdmin.git</RepositoryUrl>
|
<RepositoryUrl>https://github.com/nsnail/NetAdmin.git</RepositoryUrl>
|
||||||
@ -26,12 +26,12 @@
|
|||||||
<Title>$(AssemblyName)</Title>
|
<Title>$(AssemblyName)</Title>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="MinVer" Version="6.1.0-beta.1">
|
<PackageReference Include="MinVer" Version="6.0.0">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="$(SolutionDir)/src/backend/GlobalUsings.cs" Link="GlobalUsings.cs"/>
|
<Compile Include="$(SolutionDir)/src/backend/GlobalUsings.cs" Link="GlobalUsings.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
@ -1,4 +1,4 @@
|
|||||||
FROM mcr.microsoft.com/dotnet/aspnet:9.0.4 AS base
|
FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
RUN apt update
|
RUN apt update
|
||||||
|
249
NetAdmin.sln
Normal file
249
NetAdmin.sln
Normal file
@ -0,0 +1,249 @@
|
|||||||
|
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}") = ".drone", ".drone", "{3E408077-E73E-45CE-A53A-EF5F9DAE4B46}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{BB5BB244-E7D2-4368-8C18-C1C0ED1E12D1}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
README.md = .drone/workflows/README.md
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".github", ".github", "{1129FE25-466B-4F4F-85FC-3752664245E1}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{3C6F049E-3EE8-4D66-9AFF-E8A369032487}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
nightly-build.yml = .github/workflows/nightly-build.yml
|
||||||
|
README.md = .github/workflows/README.md
|
||||||
|
release.yml = .github/workflows/release.yml
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{8E4C93BA-9493-4892-80C4-5E174C504829}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
code.quality.props = build/code.quality.props
|
||||||
|
copy.pkg.xml.comment.files.targets = build/copy.pkg.xml.comment.files.targets
|
||||||
|
minver.targets = build/minver.targets
|
||||||
|
prebuild.targets = build/prebuild.targets
|
||||||
|
stylecop.analyzers.ruleset = build/stylecop.analyzers.ruleset
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docker", "docker", "{E80A1018-C354-4A26-9029-8847BB9DA864}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
README.md = docker/README.md
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "meta", "meta", "{5198A03D-0CAC-4828-A807-34A693F73859}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
.commitlintrc.js = .commitlintrc.js
|
||||||
|
.editorconfig = .editorconfig
|
||||||
|
.gitattributes = .gitattributes
|
||||||
|
.gitignore = .gitignore
|
||||||
|
.gitmodules = .gitmodules
|
||||||
|
CHANGELOG.md = CHANGELOG.md
|
||||||
|
Directory.Build.props = Directory.Build.props
|
||||||
|
Dockerfile = Dockerfile
|
||||||
|
dotnet-tools.json = dotnet-tools.json
|
||||||
|
global.json = global.json
|
||||||
|
LICENSE = LICENSE
|
||||||
|
NetAdmin.sln.DotSettings = NetAdmin.sln.DotSettings
|
||||||
|
nuget.config = nuget.config
|
||||||
|
package.json = package.json
|
||||||
|
README.md = README.md
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "scripts", "scripts", "{BB0B25C9-0901-4923-913F-00F9A6B352A5}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
1.git.pull.request.ps1 = scripts/1.git.pull.request.ps1
|
||||||
|
2.git.release.ps1 = scripts/2.git.release.ps1
|
||||||
|
3.git.recreate.branch.ps1 = scripts/3.git.recreate.branch.ps1
|
||||||
|
4.git.del.obsolete.tags.ps1 = scripts/4.git.del.obsolete.tags.ps1
|
||||||
|
5.git.update.submodule.ps1 = scripts/5.git.update.submodule.ps1
|
||||||
|
clean.ln.csx = scripts/clean.ln.csx
|
||||||
|
code.clean.csx = scripts/code.clean.csx
|
||||||
|
code.clean.ps1 = scripts/code.clean.ps1
|
||||||
|
find.unused.ln.csx = scripts/find.unused.ln.csx
|
||||||
|
gen.cs.tt = scripts/gen.cs.tt
|
||||||
|
gen.id.linq = scripts/gen.id.linq
|
||||||
|
gen.ln.cmd = scripts/gen.ln.cmd
|
||||||
|
gen.resx.tt = scripts/gen.resx.tt
|
||||||
|
image.optimize.csx = scripts/image.optimize.csx
|
||||||
|
install.as.tpl.ps1 = scripts/install.as.tpl.ps1
|
||||||
|
rename.csx = scripts/rename.csx
|
||||||
|
resharper.full.ps1 = scripts/resharper.full.ps1
|
||||||
|
switch.nuget.or.project.csx = scripts/switch.nuget.or.project.csx
|
||||||
|
sync.sln.files.csx = scripts/sync.sln.files.csx
|
||||||
|
wait.server.stop.sh = scripts/wait.server.stop.sh
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{C84EB5A0-37AD-4B17-A51E-E36888C4441E}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "backend", "backend", "{4DAF9366-855F-46BB-AE4C-660C92FA0697}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.Infrastructure", "src\backend\NetAdmin\NetAdmin.Infrastructure\NetAdmin.Infrastructure.csproj", "{1E62C322-EE42-4699-A6F1-791C53EFA62D}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "YourSolution.AdmServer.Application", "src\backend\YourSolution.AdmServer.Application\YourSolution.AdmServer.Application.csproj", "{E38B2EB4-D7A5-4777-9236-3B348919DF23}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "YourSolution.AdmServer.Host", "src\backend\YourSolution.AdmServer.Host\YourSolution.AdmServer.Host.csproj", "{CE895E44-EEC3-4ECE-A56A-8A82E7D863E3}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "03.hosted-servers", "03.hosted-servers", "{12AE5B4B-CB1A-498E-83B8-04E201E31D86}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.Domain", "src\backend\NetAdmin\NetAdmin.Domain\NetAdmin.Domain.csproj", "{58509C57-09FA-4E3C-BC07-78E786A2A326}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.Application", "src\backend\NetAdmin\NetAdmin.Application\NetAdmin.Application.csproj", "{70C54E1B-2083-4196-AB68-34CAF0075D82}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.Host", "src\backend\NetAdmin\NetAdmin.Host\NetAdmin.Host.csproj", "{91839A15-D08F-4848-A301-F793412BC688}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.Cache", "src\backend\NetAdmin\NetAdmin.Cache\NetAdmin.Cache.csproj", "{91452C22-4B57-4F16-9AF6-42C7BF830504}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "YourSolution.AdmServer.Cache", "src\backend\YourSolution.AdmServer.Cache\YourSolution.AdmServer.Cache.csproj", "{7CB632D3-3635-4F8D-AFE7-F496D37D422B}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.SysComponent.Host", "src\backend\NetAdmin\NetAdmin.SysComponent.Host\NetAdmin.SysComponent.Host.csproj", "{C2CC1596-3BEE-43EA-A9BE-4EDE5716296C}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.SysComponent.Cache", "src\backend\NetAdmin\NetAdmin.SysComponent.Cache\NetAdmin.SysComponent.Cache.csproj", "{19872A4C-3C9A-4C62-A33B-74F5B8D6F77C}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.SysComponent.Application", "src\backend\NetAdmin\NetAdmin.SysComponent.Application\NetAdmin.SysComponent.Application.csproj", "{34650E82-D257-46DA-BD6B-DE307113347B}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "02.components", "02.components", "{3F23258D-8299-4992-9F51-2EE9B52CF9D2}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "01.frameworks", "01.frameworks", "{D9C3EF66-2757-473D-A26B-54FD08DA203F}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "04.tests", "04.tests", "{89260294-80FC-49F1-8D73-AECD39AFF2B7}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "05.tools", "05.tools", "{79409163-5006-405D-AC96-406FA0AD77B7}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests", "src\backend\UnitTests\UnitTests.csproj", "{C7F27698-DA05-4ACD-B0D7-4791B3972002}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.Tests", "src\backend\NetAdmin\NetAdmin.Tests\NetAdmin.Tests.csproj", "{00604162-C444-478B-B773-3AB23C856CA7}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "YourSolution.AdmServer.Domain", "src\backend\YourSolution.AdmServer.Domain\YourSolution.AdmServer.Domain.csproj", "{932520DF-D312-415A-A128-1117F8221D68}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "YourSolution.AdmServer.Infrastructure", "src\backend\YourSolution.AdmServer.Infrastructure\YourSolution.AdmServer.Infrastructure.csproj", "{C3DE6F6A-D1FC-4B8E-9033-980FBEBBD2BA}"
|
||||||
|
EndProject
|
||||||
|
##Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gurion", "refs\Gurion\src\Gurion\Gurion.csproj", "{CCD098FE-4F95-4FA4-8CC0-9A6DE921FBAE}"#refs
|
||||||
|
##EndProject#refs
|
||||||
|
##Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FreeSql", "refs\NetAdmin.FreeSql\src\FreeSql\FreeSql.csproj", "{3C65DA42-877D-46FF-B754-C12214302A29}"#refs
|
||||||
|
##EndProject#refs
|
||||||
|
##Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FreeSql.Provider.Sqlite", "refs\NetAdmin.FreeSql\src\FreeSql.Provider.Sqlite\FreeSql.Provider.Sqlite.csproj", "{CF5EFA63-4631-4A64-B4F3-98A7DD532F68}"#refs
|
||||||
|
##EndProject#refs
|
||||||
|
##Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FreeSql.DbContext", "refs\NetAdmin.FreeSql\src\FreeSql.DbContext\FreeSql.DbContext.csproj", "{FE03DF27-EC56-48DB-81B0-F99947259A7C}"#refs
|
||||||
|
##EndProject#refs
|
||||||
|
|
||||||
|
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
|
||||||
|
{1E62C322-EE42-4699-A6F1-791C53EFA62D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{1E62C322-EE42-4699-A6F1-791C53EFA62D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{1E62C322-EE42-4699-A6F1-791C53EFA62D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{1E62C322-EE42-4699-A6F1-791C53EFA62D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{E38B2EB4-D7A5-4777-9236-3B348919DF23}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{E38B2EB4-D7A5-4777-9236-3B348919DF23}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{E38B2EB4-D7A5-4777-9236-3B348919DF23}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{E38B2EB4-D7A5-4777-9236-3B348919DF23}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{CE895E44-EEC3-4ECE-A56A-8A82E7D863E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{CE895E44-EEC3-4ECE-A56A-8A82E7D863E3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{CE895E44-EEC3-4ECE-A56A-8A82E7D863E3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{CE895E44-EEC3-4ECE-A56A-8A82E7D863E3}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{58509C57-09FA-4E3C-BC07-78E786A2A326}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{58509C57-09FA-4E3C-BC07-78E786A2A326}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{58509C57-09FA-4E3C-BC07-78E786A2A326}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{58509C57-09FA-4E3C-BC07-78E786A2A326}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{70C54E1B-2083-4196-AB68-34CAF0075D82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{70C54E1B-2083-4196-AB68-34CAF0075D82}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{70C54E1B-2083-4196-AB68-34CAF0075D82}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{70C54E1B-2083-4196-AB68-34CAF0075D82}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{91839A15-D08F-4848-A301-F793412BC688}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{91839A15-D08F-4848-A301-F793412BC688}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{91839A15-D08F-4848-A301-F793412BC688}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{91839A15-D08F-4848-A301-F793412BC688}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{91452C22-4B57-4F16-9AF6-42C7BF830504}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{91452C22-4B57-4F16-9AF6-42C7BF830504}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{91452C22-4B57-4F16-9AF6-42C7BF830504}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{91452C22-4B57-4F16-9AF6-42C7BF830504}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{7CB632D3-3635-4F8D-AFE7-F496D37D422B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{7CB632D3-3635-4F8D-AFE7-F496D37D422B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{7CB632D3-3635-4F8D-AFE7-F496D37D422B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{7CB632D3-3635-4F8D-AFE7-F496D37D422B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{C2CC1596-3BEE-43EA-A9BE-4EDE5716296C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{C2CC1596-3BEE-43EA-A9BE-4EDE5716296C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{C2CC1596-3BEE-43EA-A9BE-4EDE5716296C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{C2CC1596-3BEE-43EA-A9BE-4EDE5716296C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{19872A4C-3C9A-4C62-A33B-74F5B8D6F77C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{19872A4C-3C9A-4C62-A33B-74F5B8D6F77C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{19872A4C-3C9A-4C62-A33B-74F5B8D6F77C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{19872A4C-3C9A-4C62-A33B-74F5B8D6F77C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{34650E82-D257-46DA-BD6B-DE307113347B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{34650E82-D257-46DA-BD6B-DE307113347B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{34650E82-D257-46DA-BD6B-DE307113347B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{34650E82-D257-46DA-BD6B-DE307113347B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{C7F27698-DA05-4ACD-B0D7-4791B3972002}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{C7F27698-DA05-4ACD-B0D7-4791B3972002}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{C7F27698-DA05-4ACD-B0D7-4791B3972002}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{C7F27698-DA05-4ACD-B0D7-4791B3972002}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{00604162-C444-478B-B773-3AB23C856CA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{00604162-C444-478B-B773-3AB23C856CA7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{00604162-C444-478B-B773-3AB23C856CA7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{00604162-C444-478B-B773-3AB23C856CA7}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{932520DF-D312-415A-A128-1117F8221D68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{932520DF-D312-415A-A128-1117F8221D68}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{932520DF-D312-415A-A128-1117F8221D68}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{932520DF-D312-415A-A128-1117F8221D68}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{C3DE6F6A-D1FC-4B8E-9033-980FBEBBD2BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{C3DE6F6A-D1FC-4B8E-9033-980FBEBBD2BA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{C3DE6F6A-D1FC-4B8E-9033-980FBEBBD2BA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{C3DE6F6A-D1FC-4B8E-9033-980FBEBBD2BA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
##{CCD098FE-4F95-4FA4-8CC0-9A6DE921FBAE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
##{CCD098FE-4F95-4FA4-8CC0-9A6DE921FBAE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
##{CCD098FE-4F95-4FA4-8CC0-9A6DE921FBAE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
##{CCD098FE-4F95-4FA4-8CC0-9A6DE921FBAE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
##{3C65DA42-877D-46FF-B754-C12214302A29}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
##{3C65DA42-877D-46FF-B754-C12214302A29}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
##{3C65DA42-877D-46FF-B754-C12214302A29}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
##{3C65DA42-877D-46FF-B754-C12214302A29}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
##{CF5EFA63-4631-4A64-B4F3-98A7DD532F68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
##{CF5EFA63-4631-4A64-B4F3-98A7DD532F68}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
##{CF5EFA63-4631-4A64-B4F3-98A7DD532F68}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
##{CF5EFA63-4631-4A64-B4F3-98A7DD532F68}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
##{FE03DF27-EC56-48DB-81B0-F99947259A7C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
##{FE03DF27-EC56-48DB-81B0-F99947259A7C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
##{FE03DF27-EC56-48DB-81B0-F99947259A7C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
##{FE03DF27-EC56-48DB-81B0-F99947259A7C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(NestedProjects) = preSolution
|
||||||
|
{4DAF9366-855F-46BB-AE4C-660C92FA0697} = {C84EB5A0-37AD-4B17-A51E-E36888C4441E}
|
||||||
|
{12AE5B4B-CB1A-498E-83B8-04E201E31D86} = {4DAF9366-855F-46BB-AE4C-660C92FA0697}
|
||||||
|
{3F23258D-8299-4992-9F51-2EE9B52CF9D2} = {4DAF9366-855F-46BB-AE4C-660C92FA0697}
|
||||||
|
{D9C3EF66-2757-473D-A26B-54FD08DA203F} = {4DAF9366-855F-46BB-AE4C-660C92FA0697}
|
||||||
|
{70C54E1B-2083-4196-AB68-34CAF0075D82} = {D9C3EF66-2757-473D-A26B-54FD08DA203F}
|
||||||
|
{91452C22-4B57-4F16-9AF6-42C7BF830504} = {D9C3EF66-2757-473D-A26B-54FD08DA203F}
|
||||||
|
{58509C57-09FA-4E3C-BC07-78E786A2A326} = {D9C3EF66-2757-473D-A26B-54FD08DA203F}
|
||||||
|
{91839A15-D08F-4848-A301-F793412BC688} = {D9C3EF66-2757-473D-A26B-54FD08DA203F}
|
||||||
|
{1E62C322-EE42-4699-A6F1-791C53EFA62D} = {D9C3EF66-2757-473D-A26B-54FD08DA203F}
|
||||||
|
{E38B2EB4-D7A5-4777-9236-3B348919DF23} = {12AE5B4B-CB1A-498E-83B8-04E201E31D86}
|
||||||
|
{7CB632D3-3635-4F8D-AFE7-F496D37D422B} = {12AE5B4B-CB1A-498E-83B8-04E201E31D86}
|
||||||
|
{CE895E44-EEC3-4ECE-A56A-8A82E7D863E3} = {12AE5B4B-CB1A-498E-83B8-04E201E31D86}
|
||||||
|
{89260294-80FC-49F1-8D73-AECD39AFF2B7} = {4DAF9366-855F-46BB-AE4C-660C92FA0697}
|
||||||
|
{C7F27698-DA05-4ACD-B0D7-4791B3972002} = {89260294-80FC-49F1-8D73-AECD39AFF2B7}
|
||||||
|
{00604162-C444-478B-B773-3AB23C856CA7} = {D9C3EF66-2757-473D-A26B-54FD08DA203F}
|
||||||
|
{34650E82-D257-46DA-BD6B-DE307113347B} = {3F23258D-8299-4992-9F51-2EE9B52CF9D2}
|
||||||
|
{19872A4C-3C9A-4C62-A33B-74F5B8D6F77C} = {3F23258D-8299-4992-9F51-2EE9B52CF9D2}
|
||||||
|
{C2CC1596-3BEE-43EA-A9BE-4EDE5716296C} = {3F23258D-8299-4992-9F51-2EE9B52CF9D2}
|
||||||
|
{79409163-5006-405D-AC96-406FA0AD77B7} = {4DAF9366-855F-46BB-AE4C-660C92FA0697}
|
||||||
|
{932520DF-D312-415A-A128-1117F8221D68} = {12AE5B4B-CB1A-498E-83B8-04E201E31D86}
|
||||||
|
{C3DE6F6A-D1FC-4B8E-9033-980FBEBBD2BA} = {12AE5B4B-CB1A-498E-83B8-04E201E31D86}
|
||||||
|
{3C6F049E-3EE8-4D66-9AFF-E8A369032487} = {1129FE25-466B-4F4F-85FC-3752664245E1}
|
||||||
|
{BB5BB244-E7D2-4368-8C18-C1C0ED1E12D1} = {3E408077-E73E-45CE-A53A-EF5F9DAE4B46}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
@ -12,7 +12,6 @@
|
|||||||
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=RedundantPatternParentheses/@EntryIndexedValue">DO_NOT_SHOW</s:String>
|
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=RedundantPatternParentheses/@EntryIndexedValue">DO_NOT_SHOW</s:String>
|
||||||
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=SuggestBaseTypeForParameter/@EntryIndexedValue">DO_NOT_SHOW</s:String>
|
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=SuggestBaseTypeForParameter/@EntryIndexedValue">DO_NOT_SHOW</s:String>
|
||||||
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=SuggestBaseTypeForParameterInConstructor/@EntryIndexedValue">DO_NOT_SHOW</s:String>
|
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=SuggestBaseTypeForParameterInConstructor/@EntryIndexedValue">DO_NOT_SHOW</s:String>
|
||||||
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=SwitchExpressionHandlesSomeKnownEnumValuesWithExceptionInDefault/@EntryIndexedValue">DO_NOT_SHOW</s:String>
|
|
||||||
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=TooWideLocalVariableScope/@EntryIndexedValue">HINT</s:String>
|
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=TooWideLocalVariableScope/@EntryIndexedValue">HINT</s:String>
|
||||||
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=UnusedAutoPropertyAccessor_002EGlobal/@EntryIndexedValue">DO_NOT_SHOW</s:String>
|
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=UnusedAutoPropertyAccessor_002EGlobal/@EntryIndexedValue">DO_NOT_SHOW</s:String>
|
||||||
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=UnusedAutoPropertyAccessor_002ELocal/@EntryIndexedValue">DO_NOT_SHOW</s:String>
|
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=UnusedAutoPropertyAccessor_002ELocal/@EntryIndexedValue">DO_NOT_SHOW</s:String>
|
||||||
@ -326,7 +325,6 @@
|
|||||||
</Patterns></s:String>
|
</Patterns></s:String>
|
||||||
|
|
||||||
<!-- Environment-->
|
<!-- Environment-->
|
||||||
<s:Boolean x:Key="/Default/Environment/Editor/UseCamelHumps/@EntryValue">True</s:Boolean>
|
|
||||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpKeepExistingMigration/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpKeepExistingMigration/@EntryIndexedValue">True</s:Boolean>
|
||||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpPlaceEmbeddedOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpPlaceEmbeddedOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>
|
||||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpUseContinuousIndentInsideBracesMigration/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpUseContinuousIndentInsideBracesMigration/@EntryIndexedValue">True</s:Boolean>
|
@ -1,93 +0,0 @@
|
|||||||
<Solution>
|
|
||||||
<Folder Name="/.drone/"/>
|
|
||||||
<Folder Name="/.drone/workflows/">
|
|
||||||
<File Path=".drone/workflows/README.md"/>
|
|
||||||
</Folder>
|
|
||||||
<Folder Name="/.github/"/>
|
|
||||||
<Folder Name="/.github/workflows/">
|
|
||||||
<File Path=".github/workflows/nightly-build.yml"/>
|
|
||||||
<File Path=".github/workflows/README.md"/>
|
|
||||||
<File Path=".github/workflows/release.yml"/>
|
|
||||||
</Folder>
|
|
||||||
<Folder Name="/build/">
|
|
||||||
<File Path="build/code.quality.props"/>
|
|
||||||
<File Path="build/copy.pkg.xml.comment.files.targets"/>
|
|
||||||
<File Path="build/minver.targets"/>
|
|
||||||
<File Path="build/prebuild.targets"/>
|
|
||||||
<File Path="build/stylecop.analyzers.ruleset"/>
|
|
||||||
</Folder>
|
|
||||||
<Folder Name="/docker/">
|
|
||||||
<File Path="docker/README.md"/>
|
|
||||||
</Folder>
|
|
||||||
<Folder Name="/meta/">
|
|
||||||
<File Path=".commitlintrc.js"/>
|
|
||||||
<File Path=".editorconfig"/>
|
|
||||||
<File Path=".gitattributes"/>
|
|
||||||
<File Path=".gitignore"/>
|
|
||||||
<File Path=".gitmodules"/>
|
|
||||||
<File Path="CHANGELOG.md"/>
|
|
||||||
<File Path="Directory.Build.props"/>
|
|
||||||
<File Path="Dockerfile"/>
|
|
||||||
<File Path="dotnet-tools.json"/>
|
|
||||||
<File Path="global.json"/>
|
|
||||||
<File Path="LICENSE"/>
|
|
||||||
<File Path="NetAdmin.slnx.DotSettings"/>
|
|
||||||
<File Path="nuget.config"/>
|
|
||||||
<File Path="package.json"/>
|
|
||||||
<File Path="README.md"/>
|
|
||||||
</Folder>
|
|
||||||
<Folder Name="/scripts/">
|
|
||||||
<File Path="scripts/1.git.pull.request.ps1"/>
|
|
||||||
<File Path="scripts/2.git.release.ps1"/>
|
|
||||||
<File Path="scripts/3.git.recreate.branch.ps1"/>
|
|
||||||
<File Path="scripts/4.git.del.obsolete.tags.ps1"/>
|
|
||||||
<File Path="scripts/5.git.update.submodule.ps1"/>
|
|
||||||
<File Path="scripts/clean.ln.csx"/>
|
|
||||||
<File Path="scripts/code.clean.csx"/>
|
|
||||||
<File Path="scripts/code.clean.ps1"/>
|
|
||||||
<File Path="scripts/find.unused.ln.csx"/>
|
|
||||||
<File Path="scripts/gen.cs.tt"/>
|
|
||||||
<File Path="scripts/gen.id.linq"/>
|
|
||||||
<File Path="scripts/gen.ln.cmd"/>
|
|
||||||
<File Path="scripts/gen.resx.tt"/>
|
|
||||||
<File Path="scripts/git.config.cmd"/>
|
|
||||||
<File Path="scripts/image.optimize.csx"/>
|
|
||||||
<File Path="scripts/install.as.tpl.ps1"/>
|
|
||||||
<File Path="scripts/rename.csx"/>
|
|
||||||
<File Path="scripts/resharper.full.ps1"/>
|
|
||||||
<File Path="scripts/switch.nuget.or.project.csx"/>
|
|
||||||
<File Path="scripts/sync.slnx.files.csx"/>
|
|
||||||
<File Path="scripts/wait.server.stop.sh"/>
|
|
||||||
</Folder>
|
|
||||||
<Folder Name="/src/"/>
|
|
||||||
<Folder Name="/src/backend/"/>
|
|
||||||
<Folder Name="/src/backend/01.frameworks/">
|
|
||||||
<!--<Project Type="Refs" Path="refs/Gurion/src/Gurion/Gurion.csproj"/>-->
|
|
||||||
<!--<Project Type="Refs" Path="refs/NetAdmin.FreeSql/src/FreeSql.DbContext/FreeSql.DbContext.csproj"/>-->
|
|
||||||
<!--<Project Type="Refs" Path="refs/NetAdmin.FreeSql/src/FreeSql.Provider.Sqlite/FreeSql.Provider.Sqlite.csproj"/>-->
|
|
||||||
<!--<Project Type="Refs" Path="refs/NetAdmin.FreeSql/src/FreeSql/FreeSql.csproj"/>-->
|
|
||||||
<Project Path="src/backend/NetAdmin/NetAdmin.Application/NetAdmin.Application.csproj"/>
|
|
||||||
<Project Path="src/backend/NetAdmin/NetAdmin.Cache/NetAdmin.Cache.csproj"/>
|
|
||||||
<Project Path="src/backend/NetAdmin/NetAdmin.Domain/NetAdmin.Domain.csproj"/>
|
|
||||||
<Project Path="src/backend/NetAdmin/NetAdmin.Host/NetAdmin.Host.csproj"/>
|
|
||||||
<Project Path="src/backend/NetAdmin/NetAdmin.Infrastructure/NetAdmin.Infrastructure.csproj"/>
|
|
||||||
<Project Path="src/backend/NetAdmin/NetAdmin.Tests/NetAdmin.Tests.csproj"/>
|
|
||||||
</Folder>
|
|
||||||
<Folder Name="/src/backend/02.components/">
|
|
||||||
<Project Path="src/backend/NetAdmin/NetAdmin.SysComponent.Application/NetAdmin.SysComponent.Application.csproj"/>
|
|
||||||
<Project Path="src/backend/NetAdmin/NetAdmin.SysComponent.Cache/NetAdmin.SysComponent.Cache.csproj"/>
|
|
||||||
<Project Path="src/backend/NetAdmin/NetAdmin.SysComponent.Host/NetAdmin.SysComponent.Host.csproj"/>
|
|
||||||
</Folder>
|
|
||||||
<Folder Name="/src/backend/03.hosted-servers/">
|
|
||||||
<Project Path="src/backend/YourSolution.AdmServer.Application/YourSolution.AdmServer.Application.csproj"/>
|
|
||||||
<Project Path="src/backend/YourSolution.AdmServer.Cache/YourSolution.AdmServer.Cache.csproj"/>
|
|
||||||
<Project Path="src/backend/YourSolution.AdmServer.Domain/YourSolution.AdmServer.Domain.csproj"/>
|
|
||||||
<Project Path="src/backend/YourSolution.AdmServer.Host/YourSolution.AdmServer.Host.csproj"/>
|
|
||||||
<Project Path="src/backend/YourSolution.AdmServer.Infrastructure/YourSolution.AdmServer.Infrastructure.csproj"/>
|
|
||||||
</Folder>
|
|
||||||
<Folder Name="/src/backend/04.tests/">
|
|
||||||
<Project Path="src/backend/UnitTests/UnitTests.csproj"/>
|
|
||||||
</Folder>
|
|
||||||
<Folder Name="/src/backend/05.tools/">
|
|
||||||
</Folder>
|
|
||||||
</Solution>
|
|
35
README.md
35
README.md
@ -14,23 +14,22 @@ https://na.tools92.top
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker run -p 8080:8080 nsnail/netadmin
|
docker run -p 8080:8080 nsnail/netadmin
|
||||||
# 墙内用户请自备梯子
|
# 需魔法上网
|
||||||
```
|
```
|
||||||
|
|
||||||
## 构建步骤
|
## 构建步骤
|
||||||
|
|
||||||
所涉软件均推荐下载zip/tar版本,解压即用,一键删除,不会污染系统环境:
|
|
||||||
```shell
|
```shell
|
||||||
# 1. 检查 dotnet sdk 版本 >=9.0.0
|
# 1. 检查 dotnet sdk 版本 >=9.0.0
|
||||||
dotnet --list-sdks
|
dotnet --list-sdks
|
||||||
# 下载 dotnet:https://dotnet.microsoft.com/zh-cn/download/dotnet
|
# 下载 dotnet:https://dotnet.microsoft.com/zh-cn/download/dotnet
|
||||||
|
|
||||||
# 2. 克隆代码仓库
|
# 2. 克隆代码仓库
|
||||||
git clone --depth 1 https://github.com/nsnail/NetAdmin.git && cd ./NetAdmin
|
git clone https://github.com/nsnail/NetAdmin.git && cd ./NetAdmin
|
||||||
|
|
||||||
# 3. 确认本机 redis 处于运行状态
|
# 3. 确认本机 redis 处于运行状态
|
||||||
redis-server # 启动服务器
|
redis-server # 启动服务器
|
||||||
redis-cli ping # 连接测试
|
redis-cli # 连接测试
|
||||||
# 下载 redis for windows:https://github.com/redis-windows/redis-windows/releases
|
# 下载 redis for windows:https://github.com/redis-windows/redis-windows/releases
|
||||||
# 下载 redis for linux/mac:https://redis.io/download
|
# 下载 redis for linux/mac:https://redis.io/download
|
||||||
|
|
||||||
@ -41,7 +40,7 @@ dotnet run --project ./src/backend/YourSolution.AdmServer.Host/YourSolution.AdmS
|
|||||||
|
|
||||||
# 5. 检查 nodejs 版本 >=20
|
# 5. 检查 nodejs 版本 >=20
|
||||||
node -v
|
node -v
|
||||||
# 下载 nodejs:https://nodejs.org/zh-cn/download
|
# 下载 nodejs:https://nodejs.org/en/download
|
||||||
|
|
||||||
# 6. 安装 npm 依赖包
|
# 6. 安装 npm 依赖包
|
||||||
cd ./src/frontend/admin && npm install
|
cd ./src/frontend/admin && npm install
|
||||||
@ -70,19 +69,19 @@ npm run dev
|
|||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
flowchart TD
|
flowchart TD
|
||||||
sys-host["NetAdmin.SysComponent.Host<br>系统组件:主机层"]
|
sys-host["NetAdmin.SysComponent.Host\n系统组件:主机层"]
|
||||||
sys-cache["NetAdmin.SysComponent.Cache<br>系统组件:缓存层"]
|
sys-cache["NetAdmin.SysComponent.Cache\n系统组件:缓存层"]
|
||||||
sys-app["NetAdmin.SysComponent.Application<br>系统组件:应用层"]
|
sys-app["NetAdmin.SysComponent.Application\n系统组件:应用层"]
|
||||||
host["<b>NetAdmin.Host</b><br>框架:主机层<br>(.Net自托管主机程序)<br>(输入输出格式化)<br>(数据校验、鉴权)<br>(...所有HTTP管道过滤器中间件)"]
|
host["<b>NetAdmin.Host</b>\n框架:主机层\n(.Net自托管主机程序)\n(输入输出格式化)\n(数据校验、鉴权)\n(...所有HTTP管道过滤器中间件)"]
|
||||||
cache["<b>NetAdmin.Cache</b><br>框架:缓存层<br>(基于Redis或MemoryCache的缓存策略实现)"]
|
cache["<b>NetAdmin.Cache</b>\n框架:缓存层\n(基于Redis或MemoryCache的缓存策略实现)"]
|
||||||
app["<b>NetAdmin.Application</b><br>框架:业务应用层<br>(内部服务增删改查)<br>(外部服务增删改查)<br>(...所有业务用例的计算与组合逻辑的模块化)"]
|
app["<b>NetAdmin.Application</b>\n框架:业务应用层\n(内部服务增删改查)\n(外部服务增删改查)\n(...所有业务用例的计算与组合逻辑的模块化)"]
|
||||||
domain["<b>NetAdmin.Domain</b><br>框架:数据实体层<br>(数据库关系实体映射)<br>(DTO数据传输对象)<br>(...所有数据模型的抽象与封装)"]
|
domain["<b>NetAdmin.Domain</b>\n框架:数据实体层\n(数据库关系实体映射)\n(DTO数据传输对象)\n(...所有数据模型的抽象与封装)"]
|
||||||
infra["<b>NetAdmin.Infrastructure</b><br>框架:基础设施层<br>(第三方组件和Nuget包引用)<br>(公共构建和程序运行配置)<br>(公共常量枚举异常定义)<br>(全球化化和多语言)<br>(...所有公共Utility工具)"]
|
infra["<b>NetAdmin.Infrastructure</b>\n框架:基础设施层\n(第三方组件和Nuget包引用)\n(公共构建和程序运行配置)\n(公共常量枚举异常定义)\n(全球化化和多语言)\n(...所有公共Utility工具)"]
|
||||||
biz-host["YourSolution.XXX.Host<br>业务实例:主机层"]
|
biz-host["YourSolution.XXX.Host\n业务实例:主机层"]
|
||||||
biz-cache["YourSolution.XXX.Cache<br>业务实例:缓存层"]
|
biz-cache["YourSolution.XXX.Cache\n业务实例:缓存层"]
|
||||||
biz-app["YourSolution.XXX.Application<br>业务实例:应用层"]
|
biz-app["YourSolution.XXX.Application\n业务实例:应用层"]
|
||||||
biz-domain["YourSolution.XXX.Domain<br>业务实例:数据实体层"]
|
biz-domain["YourSolution.XXX.Domain\n业务实例:数据实体层"]
|
||||||
biz-infra["YourSolution.XXX.Infrastructure<br>业务实例:基础设施层"]
|
biz-infra["YourSolution.XXX.Infrastructure\n业务实例:基础设施层"]
|
||||||
biz-host-->biz-cache-->biz-app-->biz-domain-->biz-infra
|
biz-host-->biz-cache-->biz-app-->biz-domain-->biz-infra
|
||||||
sys-host-->sys-cache-->sys-app-->domain-->infra
|
sys-host-->sys-cache-->sys-app-->domain-->infra
|
||||||
host-->cache-->app-->domain-->infra
|
host-->cache-->app-->domain-->infra
|
||||||
|
@ -128,8 +128,8 @@
|
|||||||
请求方式
|
请求方式
|
||||||
请求日志导出
|
请求日志导出
|
||||||
调试
|
调试
|
||||||
追踪
|
跟踪
|
||||||
追踪标识
|
跟踪标识
|
||||||
身份证
|
身份证
|
||||||
运行
|
运行
|
||||||
通知
|
通知
|
||||||
|
@ -42,21 +42,5 @@
|
|||||||
{
|
{
|
||||||
"ApiId": "api/sys/user/set.session.user.app.config",
|
"ApiId": "api/sys/user/set.session.user.app.config",
|
||||||
"RoleId": 371729946431493,
|
"RoleId": 371729946431493,
|
||||||
},
|
|
||||||
{
|
|
||||||
"ApiId": "api/sys/login.log/paged.query",
|
|
||||||
"RoleId": 371729946431493,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"ApiId": "api/sys/login.log/get",
|
|
||||||
"RoleId": 371729946431493,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"ApiId": "api/sys/login.log/count.by",
|
|
||||||
"RoleId": 371729946431493,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"ApiId": "api/sys/login.log/export",
|
|
||||||
"RoleId": 371729946431493,
|
|
||||||
}
|
}
|
||||||
]
|
]
|
@ -15,15 +15,15 @@
|
|||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="Microsoft.VisualStudio.Threading.Analyzers" Version="17.14.2-alpha">
|
<PackageReference Include="Microsoft.VisualStudio.Threading.Analyzers" Version="17.12.19">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="Roslynator.Analyzers" Version="4.13.1">
|
<PackageReference Include="Roslynator.Analyzers" Version="4.12.9">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="SonarAnalyzer.CSharp" Version="10.8.0.113526">
|
<PackageReference Include="SonarAnalyzer.CSharp" Version="10.3.0.106239">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"version": "2.3.1",
|
"version": "2.2.1",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"cz-git": "^1.11.1",
|
"cz-git": "^1.11.0",
|
||||||
"commitizen": "^4.3.1",
|
"commitizen": "^4.3.1",
|
||||||
"prettier": "^3.5.3",
|
"prettier": "^3.4.1",
|
||||||
"standard-version": "^9.5.0"
|
"standard-version": "^9.5.0"
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit b16b1a35559281a9f53d6914f1195a204c9b4185
|
Subproject commit 89586fd0c666cb907cb24690498c3211e578483f
|
@ -1 +1 @@
|
|||||||
Subproject commit 15717df4499d284ec77c624a281c199a29280a4e
|
Subproject commit c851ae3da25abd26364b0965d6d6affc76abee9f
|
@ -1 +1 @@
|
|||||||
Subproject commit 322cbc32df1363755d4b0588923ee7324676c3b6
|
Subproject commit 890b229683208dd42db2d34cd29f0349e6c913cc
|
@ -1,5 +1,3 @@
|
|||||||
#!/usr/bin/env pwsh
|
|
||||||
|
|
||||||
$branch = $( git branch --show-current )
|
$branch = $( git branch --show-current )
|
||||||
git add ../
|
git add ../
|
||||||
$skipFormat = Read-Host "输入 n 跳过代码整理"
|
$skipFormat = Read-Host "输入 n 跳过代码整理"
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
#!/usr/bin/env pwsh
|
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
$types = @{
|
$types = @{
|
||||||
'1' = @('major', '主版本')
|
'1' = @('major', '主版本')
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
#!/usr/bin/env pwsh
|
|
||||||
|
|
||||||
$branch = $( git branch --show-current )
|
$branch = $( git branch --show-current )
|
||||||
git checkout main
|
git checkout main
|
||||||
git pull
|
git pull
|
||||||
|
@ -1,4 +1,2 @@
|
|||||||
#!/usr/bin/env pwsh
|
|
||||||
|
|
||||||
git push origin :refs/tags/$(git tag -l "*-*")
|
git push origin :refs/tags/$(git tag -l "*-*")
|
||||||
git tag -d $(git tag -l "*-*")
|
git tag -d $(git tag -l "*-*")
|
@ -1,5 +1,3 @@
|
|||||||
#!/usr/bin/env pwsh
|
|
||||||
|
|
||||||
git submodule update --progress --init --recursive --force --remote -- "../refs/Gurion"
|
git submodule update --progress --init --recursive --force --remote -- "../refs/Gurion"
|
||||||
git submodule update --progress --init --recursive --force --remote -- "../refs/NetAdmin.FreeSql"
|
git submodule update --progress --init --recursive --force --remote -- "../refs/NetAdmin.FreeSql"
|
||||||
git submodule update --progress --init --recursive --force --remote -- "../refs/ns-ext"
|
git submodule update --progress --init --recursive --force --remote -- "../refs/ns-ext"
|
@ -18,7 +18,7 @@ using System.Net.Http.Json;
|
|||||||
{
|
{
|
||||||
CreateNoWindow = true,
|
CreateNoWindow = true,
|
||||||
FileName = "dotnet",
|
FileName = "dotnet",
|
||||||
Arguments = $"jb cleanupcode --include=\"{files}\" --no-build ../NetAdmin.slnx",
|
Arguments = $"jb cleanupcode --include=\"{files}\" --no-build ../NetAdmin.sln",
|
||||||
UseShellExecute = false,
|
UseShellExecute = false,
|
||||||
RedirectStandardOutput = true
|
RedirectStandardOutput = true
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
#!/usr/bin/env pwsh
|
|
||||||
|
|
||||||
npm --prefix ../src/frontend/admin run prettier
|
npm --prefix ../src/frontend/admin run prettier
|
||||||
jb cleanupcode --no-build --include=$( $( git status --porcelain | Where-Object { $_ -match "^\s*[MA]" } | ForEach-Object { $_.TrimStart(" M").TrimStart(" A") } ) -join ";" ) ../NetAdmin.slnx
|
jb cleanupcode --no-build --include=$($(git status --porcelain | Where-Object { $_ -match "^\s*[MA]" } | ForEach-Object { $_.TrimStart(" M").TrimStart(" A") }) -join ";") ../NetAdmin.sln
|
||||||
dot rbom -w -e refs -e .git -e node_modules ../
|
dot rbom -w -e refs -e .git -e node_modules ../
|
||||||
dot trim -w -e refs -e .git -e node_modules ../
|
dot trim -w -e refs -e .git -e node_modules ../
|
||||||
dot tolf -w -e refs -e .git -e node_modules ../
|
dot tolf -w -e refs -e .git -e node_modules ../
|
@ -1,4 +0,0 @@
|
|||||||
git config --local core.eol lf
|
|
||||||
git config --local core.autocrlf false
|
|
||||||
git config --local core.longpaths true
|
|
||||||
git config --local pull.rebase false
|
|
@ -1,4 +1,2 @@
|
|||||||
#!/usr/bin/env pwsh
|
|
||||||
|
|
||||||
dotnet new uninstall ../
|
dotnet new uninstall ../
|
||||||
dotnet new --install ../
|
dotnet new --install ../
|
@ -1,4 +1,4 @@
|
|||||||
#r "nuget: NSExt, 2.3.5"
|
#r "nuget: NSExt, 2.3.2"
|
||||||
using NSExt.Extensions;
|
using NSExt.Extensions;
|
||||||
|
|
||||||
Console.WriteLine("请输入原始名称(NetAdmin):");
|
Console.WriteLine("请输入原始名称(NetAdmin):");
|
||||||
|
@ -1,3 +1 @@
|
|||||||
#!/usr/bin/env pwsh
|
jb cleanupcode --no-build ../NetAdmin.sln
|
||||||
|
|
||||||
jb cleanupcode --no-build ../NetAdmin.slnx
|
|
@ -5,13 +5,18 @@ while (!new[] { "1", "2" }.Contains(input))
|
|||||||
Console.WriteLine("1.nuget 2.project");
|
Console.WriteLine("1.nuget 2.project");
|
||||||
input = Console.ReadLine();
|
input = Console.ReadLine();
|
||||||
}
|
}
|
||||||
var slnxFile = Directory.GetFiles(@"../", "*.slnx").First();
|
var slnFile = Directory.GetFiles(@"../", "*.sln").First();
|
||||||
var csprojFiles = Directory.GetFiles(@"../src", "*.csproj", new EnumerationOptions { RecurseSubdirectories = true });
|
var csprojFiles = Directory.GetFiles(@"../src", "*.csproj", new EnumerationOptions { RecurseSubdirectories = true });
|
||||||
var slnContent = File.ReadAllText(slnxFile);
|
var slnContent = File.ReadAllText(slnFile);
|
||||||
|
|
||||||
if (input == "1")
|
if (input == "1")
|
||||||
{
|
{
|
||||||
slnContent = Regex.Replace(slnContent, "<Project Type=\"Refs\"(.*)>", "<!--<Project Type=\"Refs\"$1>-->");
|
slnContent = Regex.Replace(slnContent, "\\nProject\\((.*)#refs", "\n##Project($1#refs");
|
||||||
|
slnContent = Regex.Replace(slnContent, "\\nEndProject#refs", "\n##EndProject#refs");
|
||||||
|
foreach (Match m in Regex.Matches(slnContent, "\"(\\{[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}\\})\"#refs"))
|
||||||
|
{
|
||||||
|
slnContent = slnContent.Replace($" {m.Groups[1].Value}.", $" ##{m.Groups[1].Value}.");
|
||||||
|
}
|
||||||
foreach (var csprojFile in csprojFiles)
|
foreach (var csprojFile in csprojFiles)
|
||||||
{
|
{
|
||||||
var csprojContent = File.ReadAllText(csprojFile);
|
var csprojContent = File.ReadAllText(csprojFile);
|
||||||
@ -22,7 +27,7 @@ if (input == "1")
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
slnContent = Regex.Replace(slnContent, "<!--(.*)-->", "$1");
|
slnContent = Regex.Replace(slnContent, "##", "");
|
||||||
foreach (var csprojFile in csprojFiles)
|
foreach (var csprojFile in csprojFiles)
|
||||||
{
|
{
|
||||||
var csprojContent = File.ReadAllText(csprojFile);
|
var csprojContent = File.ReadAllText(csprojFile);
|
||||||
@ -34,4 +39,4 @@ else
|
|||||||
|
|
||||||
|
|
||||||
Console.WriteLine(slnContent);
|
Console.WriteLine(slnContent);
|
||||||
File.WriteAllText(slnxFile, slnContent);
|
File.WriteAllText(slnFile, slnContent);
|
91
scripts/sync.sln.files.csx
Normal file
91
scripts/sync.sln.files.csx
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
using System.Text.RegularExpressions;
|
||||||
|
|
||||||
|
var slnFile = Directory.GetFiles(@"../", "*.sln").First();
|
||||||
|
var content = File.ReadAllText(slnFile);
|
||||||
|
|
||||||
|
content = Regex.Replace(
|
||||||
|
content,
|
||||||
|
"Project\\(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\"\\) = \"meta\", \"meta\", \"{5198A03D-0CAC-4828-A807-34A693F73859}\"(?:.|\n)*?EndProject",
|
||||||
|
$$"""
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "meta", "meta", "{5198A03D-0CAC-4828-A807-34A693F73859}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
{{string.Join('\n',
|
||||||
|
Directory.GetFiles(@"../", "*").Where(x => !x.EndsWith(".sln") && !x.EndsWith(".user"))
|
||||||
|
.Select(x=>$" {Path.GetFileName(x)} = {Path.GetFileName(x)}")
|
||||||
|
)}}
|
||||||
|
EndProject
|
||||||
|
"""
|
||||||
|
);
|
||||||
|
|
||||||
|
content = Regex.Replace(
|
||||||
|
content,
|
||||||
|
"Project\\(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\"\\) = \"docker\", \"docker\", \"{E80A1018-C354-4A26-9029-8847BB9DA864}\"(?:.|\n)*?EndProject",
|
||||||
|
$$"""
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docker", "docker", "{E80A1018-C354-4A26-9029-8847BB9DA864}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
{{string.Join('\n',
|
||||||
|
Directory.GetFiles(@"../docker", "*")
|
||||||
|
.Select(x=>$" {Path.GetFileName(x)} = docker/{Path.GetFileName(x)}")
|
||||||
|
)}}
|
||||||
|
EndProject
|
||||||
|
"""
|
||||||
|
);
|
||||||
|
|
||||||
|
content = Regex.Replace(
|
||||||
|
content,
|
||||||
|
"Project\\(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\"\\) = \"workflows\", \"workflows\", \"{3C6F049E-3EE8-4D66-9AFF-E8A369032487}\"(?:.|\n)*?EndProject",
|
||||||
|
$$"""
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{3C6F049E-3EE8-4D66-9AFF-E8A369032487}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
{{string.Join('\n',
|
||||||
|
Directory.GetFiles(@"../.github/workflows", "*")
|
||||||
|
.Select(x=>$" {Path.GetFileName(x)} = .github/workflows/{Path.GetFileName(x)}")
|
||||||
|
)}}
|
||||||
|
EndProject
|
||||||
|
"""
|
||||||
|
);
|
||||||
|
|
||||||
|
content = Regex.Replace(
|
||||||
|
content,
|
||||||
|
"Project\\(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\"\\) = \"workflows\", \"workflows\", \"{BB5BB244-E7D2-4368-8C18-C1C0ED1E12D1}\"(?:.|\n)*?EndProject",
|
||||||
|
$$"""
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{BB5BB244-E7D2-4368-8C18-C1C0ED1E12D1}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
{{string.Join('\n',
|
||||||
|
Directory.GetFiles(@"../.drone/workflows", "*")
|
||||||
|
.Select(x=>$" {Path.GetFileName(x)} = .drone/workflows/{Path.GetFileName(x)}")
|
||||||
|
)}}
|
||||||
|
EndProject
|
||||||
|
"""
|
||||||
|
);
|
||||||
|
|
||||||
|
content = Regex.Replace(
|
||||||
|
content,
|
||||||
|
"Project\\(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\"\\) = \"scripts\", \"scripts\", \"{BB0B25C9-0901-4923-913F-00F9A6B352A5}\"(?:.|\n)*?EndProject",
|
||||||
|
$$"""
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "scripts", "scripts", "{BB0B25C9-0901-4923-913F-00F9A6B352A5}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
{{string.Join('\n',
|
||||||
|
Directory.GetFiles(@"../scripts", "*")
|
||||||
|
.Select(x=>$" {Path.GetFileName(x)} = scripts/{Path.GetFileName(x)}")
|
||||||
|
)}}
|
||||||
|
EndProject
|
||||||
|
"""
|
||||||
|
);
|
||||||
|
|
||||||
|
content = Regex.Replace(
|
||||||
|
content,
|
||||||
|
"Project\\(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\"\\) = \"build\", \"build\", \"{8E4C93BA-9493-4892-80C4-5E174C504829}\"(?:.|\n)*?EndProject",
|
||||||
|
$$"""
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{8E4C93BA-9493-4892-80C4-5E174C504829}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
{{string.Join('\n',
|
||||||
|
Directory.GetFiles(@"../build", "*")
|
||||||
|
.Select(x=>$" {Path.GetFileName(x)} = build/{Path.GetFileName(x)}")
|
||||||
|
)}}
|
||||||
|
EndProject
|
||||||
|
"""
|
||||||
|
);
|
||||||
|
|
||||||
|
Console.WriteLine(content);
|
||||||
|
File.WriteAllText(slnFile, content);
|
@ -1,87 +0,0 @@
|
|||||||
using System.Text.RegularExpressions;
|
|
||||||
|
|
||||||
var slnxFile = Directory.GetFiles(@"../", "*.slnx").First();
|
|
||||||
var content = File.ReadAllText(slnxFile);
|
|
||||||
|
|
||||||
content = Regex.Replace(
|
|
||||||
content,
|
|
||||||
"<Folder Name=\"/meta/\">(?:.|\n)*?</Folder>",
|
|
||||||
$$"""
|
|
||||||
<Folder Name="/meta/">
|
|
||||||
{{string.Join('\n',
|
|
||||||
Directory.GetFiles(@"../", "*").Where(x => !x.EndsWith(".slnx") && !x.EndsWith(".user"))
|
|
||||||
.Select(x=>$" <File Path=\"{Path.GetFileName(x)}\"/>")
|
|
||||||
)}}
|
|
||||||
</Folder>
|
|
||||||
"""
|
|
||||||
);
|
|
||||||
|
|
||||||
content = Regex.Replace(
|
|
||||||
content,
|
|
||||||
"<Folder Name=\"/docker/\">(?:.|\n)*?</Folder>",
|
|
||||||
$$"""
|
|
||||||
<Folder Name="/docker/">
|
|
||||||
{{string.Join('\n',
|
|
||||||
Directory.GetFiles(@"../docker", "*")
|
|
||||||
.Select(x=>$" <File Path=\"docker/{Path.GetFileName(x)}\"/>")
|
|
||||||
)}}
|
|
||||||
</Folder>
|
|
||||||
"""
|
|
||||||
);
|
|
||||||
|
|
||||||
content = Regex.Replace(
|
|
||||||
content,
|
|
||||||
"<Folder Name=\"/.github/workflows/\">(?:.|\n)*?</Folder>",
|
|
||||||
$$"""
|
|
||||||
<Folder Name="/.github/workflows/">
|
|
||||||
{{string.Join('\n',
|
|
||||||
Directory.GetFiles(@"../.github/workflows", "*")
|
|
||||||
.Select(x=>$" <File Path=\".github/workflows/{Path.GetFileName(x)}\"/>")
|
|
||||||
)}}
|
|
||||||
</Folder>
|
|
||||||
"""
|
|
||||||
);
|
|
||||||
|
|
||||||
content = Regex.Replace(
|
|
||||||
content,
|
|
||||||
"<Folder Name=\"/.drone/workflows/\">(?:.|\n)*?</Folder>",
|
|
||||||
$$"""
|
|
||||||
<Folder Name="/.drone/workflows/">
|
|
||||||
{{string.Join('\n',
|
|
||||||
Directory.GetFiles(@"../.drone/workflows", "*")
|
|
||||||
.Select(x=>$" <File Path=\".drone/workflows/{Path.GetFileName(x)}\"/>")
|
|
||||||
)}}
|
|
||||||
</Folder>
|
|
||||||
"""
|
|
||||||
);
|
|
||||||
|
|
||||||
content = Regex.Replace(
|
|
||||||
content,
|
|
||||||
"<Folder Name=\"/scripts/\">(?:.|\n)*?</Folder>",
|
|
||||||
$$"""
|
|
||||||
<Folder Name="/scripts/">
|
|
||||||
{{string.Join('\n',
|
|
||||||
Directory.GetFiles(@"../scripts", "*")
|
|
||||||
.Select(x=>$" <File Path=\"scripts/{Path.GetFileName(x)}\"/>")
|
|
||||||
)}}
|
|
||||||
</Folder>
|
|
||||||
"""
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
content = Regex.Replace(
|
|
||||||
content,
|
|
||||||
"<Folder Name=\"/build/\">(?:.|\n)*?</Folder>",
|
|
||||||
$$"""
|
|
||||||
<Folder Name="/build/">
|
|
||||||
{{string.Join('\n',
|
|
||||||
Directory.GetFiles(@"../build", "*")
|
|
||||||
.Select(x=>$" <File Path=\"build/{Path.GetFileName(x)}\"/>")
|
|
||||||
)}}
|
|
||||||
</Folder>
|
|
||||||
"""
|
|
||||||
);
|
|
||||||
|
|
||||||
Console.WriteLine(content);
|
|
||||||
File.WriteAllText(slnxFile, content);
|
|
@ -32,6 +32,7 @@ global using Gurion.DataEncryption;
|
|||||||
global using Gurion.DataValidation;
|
global using Gurion.DataValidation;
|
||||||
global using Gurion.DependencyInjection;
|
global using Gurion.DependencyInjection;
|
||||||
global using Gurion.DynamicApiController;
|
global using Gurion.DynamicApiController;
|
||||||
|
global using Gurion.EventBus;
|
||||||
global using Gurion.SpecificationDocument;
|
global using Gurion.SpecificationDocument;
|
||||||
global using Gurion.UnifyResult;
|
global using Gurion.UnifyResult;
|
||||||
global using Mapster;
|
global using Mapster;
|
||||||
@ -57,7 +58,6 @@ global using NetAdmin.Infrastructure.Configuration.Options.SubNodes.Redis;
|
|||||||
global using NetAdmin.Infrastructure.Configuration.Options.SubNodes.Upload;
|
global using NetAdmin.Infrastructure.Configuration.Options.SubNodes.Upload;
|
||||||
global using NetAdmin.Infrastructure.Constant;
|
global using NetAdmin.Infrastructure.Constant;
|
||||||
global using NetAdmin.Infrastructure.Enums;
|
global using NetAdmin.Infrastructure.Enums;
|
||||||
global using NetAdmin.Infrastructure.EventBus;
|
|
||||||
global using NetAdmin.Infrastructure.Exceptions;
|
global using NetAdmin.Infrastructure.Exceptions;
|
||||||
global using NetAdmin.Infrastructure.Extensions;
|
global using NetAdmin.Infrastructure.Extensions;
|
||||||
global using NetAdmin.Infrastructure.Languages;
|
global using NetAdmin.Infrastructure.Languages;
|
||||||
|
@ -8,14 +8,12 @@ namespace NetAdmin.Application.Modules;
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="TCreateReq">创建请求类型</typeparam>
|
/// <typeparam name="TCreateReq">创建请求类型</typeparam>
|
||||||
/// <typeparam name="TCreateRsp">创建响应类型</typeparam>
|
/// <typeparam name="TCreateRsp">创建响应类型</typeparam>
|
||||||
/// <typeparam name="TEditReq">编辑请求类型</typeparam>
|
|
||||||
/// <typeparam name="TQueryReq">查询请求类型</typeparam>
|
/// <typeparam name="TQueryReq">查询请求类型</typeparam>
|
||||||
/// <typeparam name="TQueryRsp">查询响应类型</typeparam>
|
/// <typeparam name="TQueryRsp">查询响应类型</typeparam>
|
||||||
/// <typeparam name="TDelReq">删除请求类型</typeparam>
|
/// <typeparam name="TDelReq">删除请求类型</typeparam>
|
||||||
public interface ICrudModule<in TCreateReq, TCreateRsp, in TEditReq, TQueryReq, TQueryRsp, TDelReq>
|
public interface ICrudModule<in TCreateReq, TCreateRsp, TQueryReq, TQueryRsp, TDelReq>
|
||||||
where TCreateReq : DataAbstraction, new()
|
where TCreateReq : DataAbstraction, new()
|
||||||
where TCreateRsp : DataAbstraction
|
where TCreateRsp : DataAbstraction
|
||||||
where TEditReq : DataAbstraction, new()
|
|
||||||
where TQueryReq : DataAbstraction, new()
|
where TQueryReq : DataAbstraction, new()
|
||||||
where TQueryRsp : DataAbstraction
|
where TQueryRsp : DataAbstraction
|
||||||
where TDelReq : DataAbstraction, new()
|
where TDelReq : DataAbstraction, new()
|
||||||
@ -30,11 +28,6 @@ public interface ICrudModule<in TCreateReq, TCreateRsp, in TEditReq, TQueryReq,
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
Task<long> CountAsync(QueryReq<TQueryReq> req);
|
Task<long> CountAsync(QueryReq<TQueryReq> req);
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 实体分组计数
|
|
||||||
/// </summary>
|
|
||||||
Task<IOrderedEnumerable<KeyValuePair<IImmutableDictionary<string, string>, int>>> CountByAsync(QueryReq<TQueryReq> req);
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 创建实体
|
/// 创建实体
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -46,9 +39,9 @@ public interface ICrudModule<in TCreateReq, TCreateRsp, in TEditReq, TQueryReq,
|
|||||||
Task<int> DeleteAsync(TDelReq req);
|
Task<int> DeleteAsync(TDelReq req);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 编辑实体
|
/// 判断实体是否存在
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Task<TQueryRsp> EditAsync(TEditReq req);
|
Task<bool> ExistAsync(QueryReq<TQueryReq> req);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 导出实体
|
/// 导出实体
|
||||||
|
@ -7,7 +7,6 @@ namespace NetAdmin.Application.Modules.Tpl;
|
|||||||
/// 示例模块
|
/// 示例模块
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IExampleModule : ICrudModule<CreateExampleReq, QueryExampleRsp // 创建类型
|
public interface IExampleModule : ICrudModule<CreateExampleReq, QueryExampleRsp // 创建类型
|
||||||
, EditExampleReq // 编辑类型
|
|
||||||
, QueryExampleReq, QueryExampleRsp // 查询类型
|
, QueryExampleReq, QueryExampleRsp // 查询类型
|
||||||
, DelReq // 删除类型
|
, DelReq // 删除类型
|
||||||
>;
|
>;
|
@ -2,11 +2,9 @@ using CsvHelper;
|
|||||||
using Microsoft.Net.Http.Headers;
|
using Microsoft.Net.Http.Headers;
|
||||||
using NetAdmin.Application.Repositories;
|
using NetAdmin.Application.Repositories;
|
||||||
using NetAdmin.Domain;
|
using NetAdmin.Domain;
|
||||||
using NetAdmin.Domain.Contexts;
|
|
||||||
using NetAdmin.Domain.DbMaps.Dependency;
|
using NetAdmin.Domain.DbMaps.Dependency;
|
||||||
using NetAdmin.Domain.DbMaps.Dependency.Fields;
|
using NetAdmin.Domain.DbMaps.Dependency.Fields;
|
||||||
using NetAdmin.Domain.Dto.Dependency;
|
using NetAdmin.Domain.Dto.Dependency;
|
||||||
using NetAdmin.Domain.Extensions;
|
|
||||||
|
|
||||||
namespace NetAdmin.Application.Services;
|
namespace NetAdmin.Application.Services;
|
||||||
|
|
||||||
@ -80,7 +78,7 @@ public abstract class RepositoryService<TEntity, TPrimary, TLogger>(BasicReposit
|
|||||||
// 默认匹配主键
|
// 默认匹配主键
|
||||||
whereExp ??= a => a.Id.Equals(newValue.Id);
|
whereExp ??= a => a.Id.Equals(newValue.Id);
|
||||||
var update = BuildUpdate(newValue, includeFields, excludeFields, ignoreVersion).Where(whereExp).Where(whereSql);
|
var update = BuildUpdate(newValue, includeFields, excludeFields, ignoreVersion).Where(whereExp).Where(whereSql);
|
||||||
return update.ExecuteEffectsAsync();
|
return update.ExecuteAffrowsAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
#if DBTYPE_SQLSERVER
|
#if DBTYPE_SQLSERVER
|
||||||
@ -134,30 +132,6 @@ public abstract class RepositoryService<TEntity, TPrimary, TLogger>(BasicReposit
|
|||||||
return new FileStreamResult(stream, Chars.FLG_HTTP_HEADER_VALUE_APPLICATION_OCTET_STREAM);
|
return new FileStreamResult(stream, Chars.FLG_HTTP_HEADER_VALUE_APPLICATION_OCTET_STREAM);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Dictionary<string, object> IncludeToDictionary(TEntity entity, List<string> includeFields)
|
|
||||||
{
|
|
||||||
var ret = includeFields!.ToDictionary(
|
|
||||||
x => x, x => typeof(TEntity).GetProperty(x, BindingFlags.Public | BindingFlags.Instance)!.GetValue(entity));
|
|
||||||
|
|
||||||
// ReSharper disable once ConvertIfStatementToSwitchStatement
|
|
||||||
if (entity is IFieldModifiedUser) {
|
|
||||||
var userInfo = App.GetService<ContextUserInfo>();
|
|
||||||
if (userInfo == null) {
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret.Add(nameof(IFieldModifiedUser.ModifiedUserId), userInfo.Id);
|
|
||||||
ret.Add(nameof(IFieldModifiedUser.ModifiedUserName), userInfo.UserName);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ReSharper disable once SuspiciousTypeConversion.Global
|
|
||||||
if (entity is IFieldModifiedClientIp) {
|
|
||||||
ret.Add(nameof(IFieldModifiedClientIp.ModifiedClientIp), App.HttpContext?.GetRealIpAddress()?.MapToIPv4().ToString().IpV4ToInt32());
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
private IUpdate<TEntity> BuildUpdate(TEntity entity, List<string> includeFields, List<string> excludeFields, bool ignoreVersion)
|
private IUpdate<TEntity> BuildUpdate(TEntity entity, List<string> includeFields, List<string> excludeFields, bool ignoreVersion)
|
||||||
{
|
{
|
||||||
IUpdate<TEntity> updateExp;
|
IUpdate<TEntity> updateExp;
|
||||||
@ -168,7 +142,9 @@ public abstract class RepositoryService<TEntity, TPrimary, TLogger>(BasicReposit
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
updateExp = Rpo.UpdateDiy.SetDto(IncludeToDictionary(entity, includeFields));
|
updateExp = Rpo.UpdateDiy.SetDto(includeFields!.ToDictionary(
|
||||||
|
x => x
|
||||||
|
, x => typeof(TEntity).GetProperty(x, BindingFlags.Public | BindingFlags.Instance)!.GetValue(entity)));
|
||||||
if (!ignoreVersion && entity is IFieldVersion ver) {
|
if (!ignoreVersion && entity is IFieldVersion ver) {
|
||||||
updateExp = updateExp.Where($"{nameof(IFieldVersion.Version)} = {ver.Version}");
|
updateExp = updateExp.Where($"{nameof(IFieldVersion.Version)} = {ver.Version}");
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,6 @@ using NetAdmin.Application.Services.Tpl.Dependency;
|
|||||||
using NetAdmin.Domain.DbMaps.Tpl;
|
using NetAdmin.Domain.DbMaps.Tpl;
|
||||||
using NetAdmin.Domain.Dto.Dependency;
|
using NetAdmin.Domain.Dto.Dependency;
|
||||||
using NetAdmin.Domain.Dto.Tpl.Example;
|
using NetAdmin.Domain.Dto.Tpl.Example;
|
||||||
using NetAdmin.Domain.Extensions;
|
|
||||||
|
|
||||||
namespace NetAdmin.Application.Services.Tpl;
|
namespace NetAdmin.Application.Services.Tpl;
|
||||||
|
|
||||||
@ -32,21 +31,6 @@ public sealed class ExampleService(BasicRepository<Tpl_Example, long> rpo) //
|
|||||||
return QueryInternal(req).WithNoLockNoWait().CountAsync();
|
return QueryInternal(req).WithNoLockNoWait().CountAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
|
||||||
public async Task<IOrderedEnumerable<KeyValuePair<IImmutableDictionary<string, string>, int>>> CountByAsync(QueryReq<QueryExampleReq> req)
|
|
||||||
{
|
|
||||||
req.ThrowIfInvalid();
|
|
||||||
var ret = await QueryInternal(req with { Order = Orders.None })
|
|
||||||
.WithNoLockNoWait()
|
|
||||||
.GroupBy(req.GetToListExp<Tpl_Example>())
|
|
||||||
.ToDictionaryAsync(a => a.Count())
|
|
||||||
.ConfigureAwait(false);
|
|
||||||
return ret.Select(x => new KeyValuePair<IImmutableDictionary<string, string>, int>(
|
|
||||||
req.RequiredFields.ToImmutableDictionary(y => y, y => typeof(Tpl_Example).GetProperty(y)!.GetValue(x.Key)!.ToString())
|
|
||||||
, x.Value))
|
|
||||||
.OrderByDescending(x => x.Value);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public async Task<QueryExampleRsp> CreateAsync(CreateExampleReq req)
|
public async Task<QueryExampleRsp> CreateAsync(CreateExampleReq req)
|
||||||
{
|
{
|
||||||
@ -63,14 +47,10 @@ public sealed class ExampleService(BasicRepository<Tpl_Example, long> rpo) //
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public async Task<QueryExampleRsp> EditAsync(EditExampleReq req)
|
public Task<bool> ExistAsync(QueryReq<QueryExampleReq> req)
|
||||||
{
|
{
|
||||||
req.ThrowIfInvalid();
|
req.ThrowIfInvalid();
|
||||||
#if DBTYPE_SQLSERVER
|
return QueryInternal(req).WithNoLockNoWait().AnyAsync();
|
||||||
return (await UpdateReturnListAsync(req).ConfigureAwait(false)).FirstOrDefault()?.Adapt<QueryExampleRsp>();
|
|
||||||
#else
|
|
||||||
return await UpdateAsync(req).ConfigureAwait(false) > 0 ? await GetAsync(new QueryExampleReq { Id = req.Id }).ConfigureAwait(false) : null;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
@ -92,12 +72,7 @@ public sealed class ExampleService(BasicRepository<Tpl_Example, long> rpo) //
|
|||||||
public async Task<PagedQueryRsp<QueryExampleRsp>> PagedQueryAsync(PagedQueryReq<QueryExampleReq> req)
|
public async Task<PagedQueryRsp<QueryExampleRsp>> PagedQueryAsync(PagedQueryReq<QueryExampleReq> req)
|
||||||
{
|
{
|
||||||
req.ThrowIfInvalid();
|
req.ThrowIfInvalid();
|
||||||
var list = await QueryInternal(req)
|
var list = await QueryInternal(req).Page(req.Page, req.PageSize).WithNoLockNoWait().Count(out var total).ToListAsync().ConfigureAwait(false);
|
||||||
.Page(req.Page, req.PageSize)
|
|
||||||
.WithNoLockNoWait()
|
|
||||||
.Count(out var total)
|
|
||||||
.ToListAsync(req)
|
|
||||||
.ConfigureAwait(false);
|
|
||||||
|
|
||||||
return new PagedQueryRsp<QueryExampleRsp>(req.Page, req.PageSize, total, list.Adapt<IEnumerable<QueryExampleRsp>>());
|
return new PagedQueryRsp<QueryExampleRsp>(req.Page, req.PageSize, total, list.Adapt<IEnumerable<QueryExampleRsp>>());
|
||||||
}
|
}
|
||||||
@ -106,7 +81,7 @@ public sealed class ExampleService(BasicRepository<Tpl_Example, long> rpo) //
|
|||||||
public async Task<IEnumerable<QueryExampleRsp>> QueryAsync(QueryReq<QueryExampleReq> req)
|
public async Task<IEnumerable<QueryExampleRsp>> QueryAsync(QueryReq<QueryExampleReq> req)
|
||||||
{
|
{
|
||||||
req.ThrowIfInvalid();
|
req.ThrowIfInvalid();
|
||||||
var ret = await QueryInternal(req).WithNoLockNoWait().Take(req.Count).ToListAsync(req).ConfigureAwait(false);
|
var ret = await QueryInternal(req).WithNoLockNoWait().Take(req.Count).ToListAsync().ConfigureAwait(false);
|
||||||
return ret.Adapt<IEnumerable<QueryExampleRsp>>();
|
return ret.Adapt<IEnumerable<QueryExampleRsp>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,5 +16,5 @@ public interface ICache<out TCacheLoad, out TService>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 关联的服务
|
/// 关联的服务
|
||||||
/// </summary>
|
/// </summary>
|
||||||
TService Service { get; }
|
public TService Service { get; }
|
||||||
}
|
}
|
@ -21,12 +21,6 @@ public sealed class ExampleCache(IDistributedCache cache, IExampleService servic
|
|||||||
return Service.CountAsync(req);
|
return Service.CountAsync(req);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
|
||||||
public Task<IOrderedEnumerable<KeyValuePair<IImmutableDictionary<string, string>, int>>> CountByAsync(QueryReq<QueryExampleReq> req)
|
|
||||||
{
|
|
||||||
return Service.CountByAsync(req);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Task<QueryExampleRsp> CreateAsync(CreateExampleReq req)
|
public Task<QueryExampleRsp> CreateAsync(CreateExampleReq req)
|
||||||
{
|
{
|
||||||
@ -40,9 +34,9 @@ public sealed class ExampleCache(IDistributedCache cache, IExampleService servic
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Task<QueryExampleRsp> EditAsync(EditExampleReq req)
|
public Task<bool> ExistAsync(QueryReq<QueryExampleReq> req)
|
||||||
{
|
{
|
||||||
return Service.EditAsync(req);
|
return Service.ExistAsync(req);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
|
@ -11,8 +11,7 @@ public sealed class ApiIdAttribute : ValidationAttribute
|
|||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
|
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
|
||||||
{
|
{
|
||||||
var service = App.GetService(
|
var service = App.GetService(App.EffectiveTypes.Single(x => x.FullName == "NetAdmin.SysComponent.Cache.Sys.Dependency.IApiCache"));
|
||||||
App.EffectiveTypes.Single(x => x.FullName == "NetAdmin.SysComponent.Application.Services.Sys.Dependency.IApiService"));
|
|
||||||
|
|
||||||
var req = new QueryReq<QueryApiReq> { Filter = new QueryApiReq { Id = value as string } };
|
var req = new QueryReq<QueryApiReq> { Filter = new QueryApiReq { Id = value as string } };
|
||||||
|
|
||||||
|
@ -11,8 +11,7 @@ public sealed class UserIdAttribute : ValidationAttribute
|
|||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
|
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
|
||||||
{
|
{
|
||||||
var service = App.GetService(
|
var service = App.GetService(App.EffectiveTypes.Single(x => x.FullName == "NetAdmin.SysComponent.Cache.Sys.Dependency.IUserCache"));
|
||||||
App.EffectiveTypes.Single(x => x.FullName == "NetAdmin.SysComponent.Application.Services.Sys.Dependency.IUserService"));
|
|
||||||
|
|
||||||
var req = new QueryReq<QueryUserReq> { Filter = new QueryUserReq { Id = (long)value! } };
|
var req = new QueryReq<QueryUserReq> { Filter = new QueryUserReq { Id = (long)value! } };
|
||||||
|
|
||||||
|
@ -1,24 +0,0 @@
|
|||||||
namespace NetAdmin.Domain.Attributes;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 枚举装饰
|
|
||||||
/// </summary>
|
|
||||||
/// <inheritdoc />
|
|
||||||
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Enum)]
|
|
||||||
public sealed class EnumDecorationAttribute(string indicate = nameof(Indicates.None), bool pulse = false, int sort = 0) : Attribute
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// 状态指示
|
|
||||||
/// </summary>
|
|
||||||
public string Indicate { get; } = indicate;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 脉动
|
|
||||||
/// </summary>
|
|
||||||
public bool Pulse { get; } = pulse;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 排序值
|
|
||||||
/// </summary>
|
|
||||||
public int Sort { get; } = sort;
|
|
||||||
}
|
|
@ -0,0 +1,14 @@
|
|||||||
|
namespace NetAdmin.Domain.Attributes;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 标记一个枚举的状态指示
|
||||||
|
/// </summary>
|
||||||
|
/// <inheritdoc />
|
||||||
|
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Enum)]
|
||||||
|
public sealed class IndicatorAttribute(string indicate) : Attribute
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 状态指示
|
||||||
|
/// </summary>
|
||||||
|
public string Indicate { get; } = indicate;
|
||||||
|
}
|
@ -8,5 +8,5 @@ public interface IFieldModifiedClientIp
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 客户端IP
|
/// 客户端IP
|
||||||
/// </summary>
|
/// </summary>
|
||||||
int? ModifiedClientIp { get; init; }
|
int ModifiedClientIp { get; init; }
|
||||||
}
|
}
|
@ -25,7 +25,7 @@ public abstract record ImmutableEntity<T> : LiteImmutableEntity<T>, IFieldCreate
|
|||||||
[Column(CanUpdate = false, Position = -1)]
|
[Column(CanUpdate = false, Position = -1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual long? CreatedUserId { get; init; }
|
public long? CreatedUserId { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 创建者用户名
|
/// 创建者用户名
|
||||||
|
@ -47,7 +47,7 @@ public abstract record MutableEntity<T> : LiteMutableEntity<T>, IFieldCreatedUse
|
|||||||
[Column(CanInsert = false, Position = -1)]
|
[Column(CanInsert = false, Position = -1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual long? ModifiedUserId { get; init; }
|
public long? ModifiedUserId { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 修改者用户名
|
/// 修改者用户名
|
||||||
@ -55,5 +55,5 @@ public abstract record MutableEntity<T> : LiteMutableEntity<T>, IFieldCreatedUse
|
|||||||
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanInsert = false, Position = -1)]
|
[Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanInsert = false, Position = -1)]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public virtual string ModifiedUserName { get; init; }
|
public string ModifiedUserName { get; init; }
|
||||||
}
|
}
|
@ -71,7 +71,7 @@ public record Sys_Api : ImmutableEntity<string>, IFieldSummary
|
|||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[Navigate(ManyToMany = typeof(Sys_RoleApi))]
|
[Navigate(ManyToMany = typeof(Sys_RoleApi))]
|
||||||
public IReadOnlyCollection<Sys_Role> Roles { get; init; }
|
public ICollection<Sys_Role> Roles { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 服务描述
|
/// 服务描述
|
||||||
|
@ -44,7 +44,7 @@ public record Sys_Dept : VersionEntity, IFieldEnabled, IFieldSummary, IFieldSort
|
|||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[Navigate(ManyToMany = typeof(Sys_RoleDept))]
|
[Navigate(ManyToMany = typeof(Sys_RoleDept))]
|
||||||
public IReadOnlyCollection<Sys_Role> Roles { get; init; }
|
public ICollection<Sys_Role> Roles { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 发送给此部门的站内信集合
|
/// 发送给此部门的站内信集合
|
||||||
@ -52,7 +52,7 @@ public record Sys_Dept : VersionEntity, IFieldEnabled, IFieldSummary, IFieldSort
|
|||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[Navigate(ManyToMany = typeof(Sys_SiteMsgDept))]
|
[Navigate(ManyToMany = typeof(Sys_SiteMsgDept))]
|
||||||
public IReadOnlyCollection<Sys_SiteMsg> SiteMsgs { get; init; }
|
public ICollection<Sys_SiteMsg> SiteMsgs { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 排序值,越大越前
|
/// 排序值,越大越前
|
||||||
|
@ -29,7 +29,7 @@ public record Sys_DicCatalog : VersionEntity
|
|||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[Navigate(nameof(Sys_DicContent.CatalogId))]
|
[Navigate(nameof(Sys_DicContent.CatalogId))]
|
||||||
public IReadOnlyCollection<Sys_DicContent> Contents { get; init; }
|
public ICollection<Sys_DicContent> Contents { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 字典目录名称
|
/// 字典目录名称
|
||||||
|
@ -29,7 +29,7 @@ public record Sys_DocCatalog : VersionEntity, IFieldOwner
|
|||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[Navigate(nameof(Sys_DocContent.CatalogId))]
|
[Navigate(nameof(Sys_DocContent.CatalogId))]
|
||||||
public IReadOnlyCollection<Sys_DocContent> Contents { get; init; }
|
public ICollection<Sys_DocContent> Contents { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 文档分类名称
|
/// 文档分类名称
|
||||||
|
@ -111,7 +111,7 @@ public record Sys_Menu : VersionEntity, IFieldSort
|
|||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[Navigate(ManyToMany = typeof(Sys_RoleMenu))]
|
[Navigate(ManyToMany = typeof(Sys_RoleMenu))]
|
||||||
public IReadOnlyCollection<Sys_Role> Roles { get; init; }
|
public ICollection<Sys_Role> Roles { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 排序值,越大越前
|
/// 排序值,越大越前
|
||||||
|
@ -100,7 +100,7 @@ public record Sys_RequestLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFi
|
|||||||
public virtual long? OwnerId { get; init; }
|
public virtual long? OwnerId { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 请求追踪标识
|
/// 请求跟踪标识
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column]
|
[Column]
|
||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
|
@ -16,7 +16,7 @@ public record Sys_Role : VersionEntity, IFieldSort, IFieldEnabled, IFieldSummary
|
|||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[Navigate(ManyToMany = typeof(Sys_RoleApi))]
|
[Navigate(ManyToMany = typeof(Sys_RoleApi))]
|
||||||
public IReadOnlyCollection<Sys_Api> Apis { get; init; }
|
public ICollection<Sys_Api> Apis { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 仪表板布局
|
/// 仪表板布局
|
||||||
@ -40,7 +40,7 @@ public record Sys_Role : VersionEntity, IFieldSort, IFieldEnabled, IFieldSummary
|
|||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[Navigate(ManyToMany = typeof(Sys_RoleDept))]
|
[Navigate(ManyToMany = typeof(Sys_RoleDept))]
|
||||||
public IReadOnlyCollection<Sys_Dept> Depts { get; init; }
|
public ICollection<Sys_Dept> Depts { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否显示仪表板
|
/// 是否显示仪表板
|
||||||
@ -72,7 +72,7 @@ public record Sys_Role : VersionEntity, IFieldSort, IFieldEnabled, IFieldSummary
|
|||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[Navigate(ManyToMany = typeof(Sys_RoleMenu))]
|
[Navigate(ManyToMany = typeof(Sys_RoleMenu))]
|
||||||
public IReadOnlyCollection<Sys_Menu> Menus { get; init; }
|
public ICollection<Sys_Menu> Menus { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 角色名称
|
/// 角色名称
|
||||||
@ -88,7 +88,7 @@ public record Sys_Role : VersionEntity, IFieldSort, IFieldEnabled, IFieldSummary
|
|||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[Navigate(ManyToMany = typeof(Sys_SiteMsgRole))]
|
[Navigate(ManyToMany = typeof(Sys_SiteMsgRole))]
|
||||||
public IReadOnlyCollection<Sys_SiteMsg> SiteMsgs { get; init; }
|
public ICollection<Sys_SiteMsg> SiteMsgs { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 排序值,越大越前
|
/// 排序值,越大越前
|
||||||
@ -112,7 +112,7 @@ public record Sys_Role : VersionEntity, IFieldSort, IFieldEnabled, IFieldSummary
|
|||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[Navigate(ManyToMany = typeof(Sys_UserRole))]
|
[Navigate(ManyToMany = typeof(Sys_UserRole))]
|
||||||
public IReadOnlyCollection<Sys_User> Users { get; init; }
|
public ICollection<Sys_User> Users { get; init; }
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public virtual void Register(TypeAdapterConfig config)
|
public virtual void Register(TypeAdapterConfig config)
|
||||||
|
@ -31,7 +31,7 @@ public record Sys_SiteMsg : VersionEntity, IRegister, IFieldSummary
|
|||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[Navigate(ManyToMany = typeof(Sys_SiteMsgDept))]
|
[Navigate(ManyToMany = typeof(Sys_SiteMsgDept))]
|
||||||
public IReadOnlyCollection<Sys_Dept> Depts { get; init; }
|
public ICollection<Sys_Dept> Depts { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 消息-标记映射
|
/// 消息-标记映射
|
||||||
@ -39,7 +39,7 @@ public record Sys_SiteMsg : VersionEntity, IRegister, IFieldSummary
|
|||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[Navigate(nameof(Sys_SiteMsgFlag.SiteMsgId))]
|
[Navigate(nameof(Sys_SiteMsgFlag.SiteMsgId))]
|
||||||
public IReadOnlyCollection<Sys_SiteMsgFlag> Flags { get; init; }
|
public ICollection<Sys_SiteMsgFlag> Flags { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 消息类型
|
/// 消息类型
|
||||||
@ -54,7 +54,7 @@ public record Sys_SiteMsg : VersionEntity, IRegister, IFieldSummary
|
|||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[Navigate(ManyToMany = typeof(Sys_SiteMsgRole))]
|
[Navigate(ManyToMany = typeof(Sys_SiteMsgRole))]
|
||||||
public IReadOnlyCollection<Sys_Role> Roles { get; init; }
|
public ICollection<Sys_Role> Roles { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 消息摘要
|
/// 消息摘要
|
||||||
@ -78,7 +78,7 @@ public record Sys_SiteMsg : VersionEntity, IRegister, IFieldSummary
|
|||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[Navigate(ManyToMany = typeof(Sys_SiteMsgUser))]
|
[Navigate(ManyToMany = typeof(Sys_SiteMsgUser))]
|
||||||
public IReadOnlyCollection<Sys_User> Users { get; init; }
|
public ICollection<Sys_User> Users { get; init; }
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public void Register(TypeAdapterConfig config)
|
public void Register(TypeAdapterConfig config)
|
||||||
|
@ -97,7 +97,7 @@ public record Sys_User : VersionEntity, IFieldSummary, IFieldEnabled, IRegister
|
|||||||
[CsvIgnore]
|
[CsvIgnore]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[Navigate(ManyToMany = typeof(Sys_SiteMsgUser))]
|
[Navigate(ManyToMany = typeof(Sys_SiteMsgUser))]
|
||||||
public IReadOnlyCollection<Sys_SiteMsg> SiteMsgs { get; init; }
|
public ICollection<Sys_SiteMsg> SiteMsgs { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 备注
|
/// 备注
|
||||||
|
@ -40,7 +40,7 @@ public record QueryReq<T> : DataAbstraction
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 所需字段
|
/// 所需字段
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string[] RequiredFields { get; init; }
|
public string[] RequiredFields { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 列表表达式
|
/// 列表表达式
|
||||||
|
@ -22,9 +22,4 @@ public record RestfulInfo<T> : DataAbstraction
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <example>请求成功</example>
|
/// <example>请求成功</example>
|
||||||
public object Msg { get; init; }
|
public object Msg { get; init; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 追踪标识
|
|
||||||
/// </summary>
|
|
||||||
public Guid? TraceId { get; set; }
|
|
||||||
}
|
}
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Api;
|
namespace NetAdmin.Domain.Dto.Sys.Api;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
namespace NetAdmin.Domain.Dto.Sys.Api;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 请求:编辑接口
|
|
||||||
/// </summary>
|
|
||||||
public sealed record EditApiReq : Sys_Api;
|
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Api;
|
namespace NetAdmin.Domain.Dto.Sys.Api;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Api;
|
namespace NetAdmin.Domain.Dto.Sys.Api;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -15,6 +15,11 @@ public sealed record CacheStatisticsRsp : DataAbstraction
|
|||||||
, new("redis_version:(.+)", RegexOptions.Compiled) //
|
, new("redis_version:(.+)", RegexOptions.Compiled) //
|
||||||
];
|
];
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="CacheStatisticsRsp" /> class.
|
||||||
|
/// </summary>
|
||||||
|
public CacheStatisticsRsp() { }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Initializes a new instance of the <see cref="CacheStatisticsRsp" /> class.
|
/// Initializes a new instance of the <see cref="CacheStatisticsRsp" /> class.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -7,6 +7,11 @@ namespace NetAdmin.Domain.Dto.Sys.Cache;
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public sealed record GetEntryRsp : DataAbstraction
|
public sealed record GetEntryRsp : DataAbstraction
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="GetEntryRsp" /> class.
|
||||||
|
/// </summary>
|
||||||
|
public GetEntryRsp() { }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 缓存值
|
/// 缓存值
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Config;
|
namespace NetAdmin.Domain.Dto.Sys.Config;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
using NetAdmin.Domain.Dto.Sys.Dept;
|
using NetAdmin.Domain.Dto.Sys.Dept;
|
||||||
using NetAdmin.Domain.Dto.Sys.Role;
|
using NetAdmin.Domain.Dto.Sys.Role;
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Config;
|
namespace NetAdmin.Domain.Dto.Sys.Config;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
using NetAdmin.Domain.Dto.Sys.Dept;
|
using NetAdmin.Domain.Dto.Sys.Dept;
|
||||||
using NetAdmin.Domain.Dto.Sys.Role;
|
using NetAdmin.Domain.Dto.Sys.Role;
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Config;
|
namespace NetAdmin.Domain.Dto.Sys.Config;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dept;
|
namespace NetAdmin.Domain.Dto.Sys.Dept;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dept;
|
namespace NetAdmin.Domain.Dto.Sys.Dept;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dept;
|
namespace NetAdmin.Domain.Dto.Sys.Dept;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dept;
|
namespace NetAdmin.Domain.Dto.Sys.Dept;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dic.Catalog;
|
namespace NetAdmin.Domain.Dto.Sys.Dic.Catalog;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dic.Catalog;
|
namespace NetAdmin.Domain.Dto.Sys.Dic.Catalog;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dic.Catalog;
|
namespace NetAdmin.Domain.Dto.Sys.Dic.Catalog;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
|
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
|
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
|
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
|
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
|
namespace NetAdmin.Domain.Dto.Sys.Dic.Content;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Doc.Catalog;
|
namespace NetAdmin.Domain.Dto.Sys.Doc.Catalog;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Doc.Catalog;
|
namespace NetAdmin.Domain.Dto.Sys.Doc.Catalog;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Doc.Catalog;
|
namespace NetAdmin.Domain.Dto.Sys.Doc.Catalog;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
using NetAdmin.Domain.Enums.Sys;
|
using NetAdmin.Domain.Enums.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Doc.Content;
|
namespace NetAdmin.Domain.Dto.Sys.Doc.Content;
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Doc.Content;
|
namespace NetAdmin.Domain.Dto.Sys.Doc.Content;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
using NetAdmin.Domain.Enums.Sys;
|
using NetAdmin.Domain.Enums.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Doc.Content;
|
namespace NetAdmin.Domain.Dto.Sys.Doc.Content;
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Doc.Content;
|
namespace NetAdmin.Domain.Dto.Sys.Doc.Content;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
namespace NetAdmin.Domain.Dto.Sys.File;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 响应:文件上传
|
|
||||||
/// </summary>
|
|
||||||
public record UploadFileRsp : DataAbstraction
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// 文件名
|
|
||||||
/// </summary>
|
|
||||||
public string FileName { get; init; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 可访问的url地址
|
|
||||||
/// </summary>
|
|
||||||
public string Url { get; init; }
|
|
||||||
}
|
|
@ -1,3 +1,4 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
using NetAdmin.Domain.Enums.Sys;
|
using NetAdmin.Domain.Enums.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Job;
|
namespace NetAdmin.Domain.Dto.Sys.Job;
|
||||||
|
@ -5,7 +5,7 @@ namespace NetAdmin.Domain.Dto.Sys.Job;
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public sealed record EditJobReq : CreateJobReq
|
public sealed record EditJobReq : CreateJobReq
|
||||||
{
|
{
|
||||||
/// <inheritdoc cref="IFieldVersion.Version" />
|
/// <inheritdoc cref="System.Version" />
|
||||||
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
|
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
|
||||||
public override long Version { get; init; }
|
public override long Version { get; init; }
|
||||||
}
|
}
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Job;
|
namespace NetAdmin.Domain.Dto.Sys.Job;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Job;
|
namespace NetAdmin.Domain.Dto.Sys.Job;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using CronExpressionDescriptor;
|
using CronExpressionDescriptor;
|
||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
using NetAdmin.Domain.Dto.Sys.User;
|
using NetAdmin.Domain.Dto.Sys.User;
|
||||||
using NetAdmin.Domain.Enums.Sys;
|
using NetAdmin.Domain.Enums.Sys;
|
||||||
using Options = CronExpressionDescriptor.Options;
|
using Options = CronExpressionDescriptor.Options;
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.Job;
|
namespace NetAdmin.Domain.Dto.Sys.Job;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.JobRecord;
|
namespace NetAdmin.Domain.Dto.Sys.JobRecord;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 请求:创建计划作业执行记录
|
/// 请求:创建计划作业执行记录
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public record CreateJobRecordReq : Sys_JobRecord;
|
public sealed record CreateJobRecordReq : Sys_JobRecord;
|
@ -1,6 +0,0 @@
|
|||||||
namespace NetAdmin.Domain.Dto.Sys.JobRecord;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 请求:编辑计划作业执行记录
|
|
||||||
/// </summary>
|
|
||||||
public sealed record EditJobRecordReq : CreateJobRecordReq;
|
|
@ -1,3 +1,4 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
using NetAdmin.Domain.Dto.Sys.Job;
|
using NetAdmin.Domain.Dto.Sys.Job;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.JobRecord;
|
namespace NetAdmin.Domain.Dto.Sys.JobRecord;
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.JobRecord;
|
namespace NetAdmin.Domain.Dto.Sys.JobRecord;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
using NetAdmin.Domain.Dto.Sys.Job;
|
using NetAdmin.Domain.Dto.Sys.Job;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.JobRecord;
|
namespace NetAdmin.Domain.Dto.Sys.JobRecord;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using NetAdmin.Domain.Contexts;
|
using NetAdmin.Domain.Contexts;
|
||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
using NetAdmin.Domain.Dto.Sys.RequestLog;
|
using NetAdmin.Domain.Dto.Sys.RequestLog;
|
||||||
using NetAdmin.Domain.Dto.Sys.User;
|
using NetAdmin.Domain.Dto.Sys.User;
|
||||||
|
|
||||||
@ -7,7 +8,7 @@ namespace NetAdmin.Domain.Dto.Sys.LoginLog;
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 请求:创建登录日志
|
/// 请求:创建登录日志
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public record CreateLoginLogReq : Sys_LoginLog, IRegister
|
public sealed record CreateLoginLogReq : Sys_LoginLog, IRegister
|
||||||
{
|
{
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public void Register(TypeAdapterConfig config)
|
public void Register(TypeAdapterConfig config)
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
namespace NetAdmin.Domain.Dto.Sys.LoginLog;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 请求:编辑登录日志
|
|
||||||
/// </summary>
|
|
||||||
public sealed record EditLoginLogReq : CreateLoginLogReq;
|
|
@ -1,3 +1,5 @@
|
|||||||
|
using NetAdmin.Domain.DbMaps.Sys;
|
||||||
|
|
||||||
namespace NetAdmin.Domain.Dto.Sys.LoginLog;
|
namespace NetAdmin.Domain.Dto.Sys.LoginLog;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user