diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 000000000..8d2a1fcea
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,4 @@
+[*.cs]
+
+# CS8618: Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable.
+dotnet_diagnostic.CS8618.severity = none
diff --git a/.github/workflows/build-check.yml b/.github/workflows/build-check.yml
index f4366ad7e..f43dcaeaf 100644
--- a/.github/workflows/build-check.yml
+++ b/.github/workflows/build-check.yml
@@ -4,7 +4,6 @@ on:
push:
branches:
- master
- - release/v1.0.0
schedule:
- cron: "0 2 * * 1-5"
@@ -18,7 +17,7 @@ jobs:
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
- dotnet-version: 5.0.2
+ dotnet-version: 5.0.202
#- name: Install Dependencies
# run: npm install
diff --git a/.github/workflows/cicd-dev-environment.yml b/.github/workflows/cicd-dev-environment.yml
deleted file mode 100644
index 483552bd0..000000000
--- a/.github/workflows/cicd-dev-environment.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-name: .NET Core
-
-on:
- push:
- branches:
- - develop
- schedule:
- - cron: "0 2 * * 1-5"
-
-jobs:
- build:
-
- runs-on: windows-latest
-
- steps:
- - uses: actions/checkout@v1
- - name: Setup .NET Core
- uses: actions/setup-dotnet@v1
- with:
- dotnet-version: 5.0.2
-
- #- name: Install Dependencies
- # run: npm install
-
- - name: Pull Mix Heart & Identity
- run: |
- git clone --depth=50 --branch=master https://github.com/mixcore/mix.heart.git /home/runner/work/mix.core/mix.heart
- git clone --depth=50 --branch=master https://github.com/mixcore/mix.identity.git /home/runner/work/mix.core/mix.identity
-
- - name: Build with dotnet
- run: |
- cd src/Mix.Cms.Web
- dotnet build --configuration Release
- dotnet pack -c Release -o out
-
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
deleted file mode 100644
index 53afde475..000000000
--- a/.github/workflows/codeql-analysis.yml
+++ /dev/null
@@ -1,67 +0,0 @@
-# For most projects, this workflow file will not need changing; you simply need
-# to commit it to your repository.
-#
-# You may wish to alter this file to override the set of languages analyzed,
-# or to provide custom queries or build logic.
-#
-# ******** NOTE ********
-# We have attempted to detect the languages in your repository. Please check
-# the `language` matrix defined below to confirm you have the correct set of
-# supported CodeQL languages.
-#
-name: "CodeQL"
-
-on:
- push:
- branches: [ master ]
- pull_request:
- # The branches below must be a subset of the branches above
- branches: [ master ]
- schedule:
- - cron: '32 13 * * 6'
-
-jobs:
- analyze:
- name: Analyze
- runs-on: ubuntu-latest
-
- strategy:
- fail-fast: false
- matrix:
- language: [ 'csharp' ]
- # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
- # Learn more:
- # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v2
-
- # Initializes the CodeQL tools for scanning.
- - name: Initialize CodeQL
- uses: github/codeql-action/init@v1
- with:
- languages: ${{ matrix.language }}
- # If you wish to specify custom queries, you can do so here or in a config file.
- # By default, queries listed here will override any specified in a config file.
- # Prefix the list here with "+" to use these queries and those in the config file.
- # queries: ./path/to/local/query, your-org/your-repo/queries@main
-
- # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
- # If this step fails, then you should remove it and run the build manually (see below)
- - name: Autobuild
- uses: github/codeql-action/autobuild@v1
-
- # ℹ️ Command-line programs to run using the OS shell.
- # 📚 https://git.io/JvXDl
-
- # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
- # and modify them (or add more) to build your code if your project
- # uses a compiled language
-
- #- run: |
- # make bootstrap
- # make release
-
- - name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@v1
diff --git a/.github/workflows/develop-v2_mixcore-platform.yml b/.github/workflows/develop-v2_mixcore-platform.yml
new file mode 100644
index 000000000..39ed803de
--- /dev/null
+++ b/.github/workflows/develop-v2_mixcore-platform.yml
@@ -0,0 +1,60 @@
+# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
+# More GitHub Actions for Azure: https://github.com/Azure/actions
+
+name: Build and deploy ASP.Net Core app to Azure Web App - mixcore-platform
+
+on:
+ push:
+ branches:
+ - develop-v2
+ workflow_dispatch:
+
+jobs:
+ build:
+ runs-on: windows-latest
+
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ submodules: recursive
+
+ - name: Set up .NET Core
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: '6.0.x'
+ include-prerelease: true
+
+ - name: Build with dotnet
+ run: dotnet build src/applications/Mixcore/mixcore.csproj --configuration Release
+
+ - name: dotnet publish
+ run: dotnet publish src/applications/Mixcore/mixcore.csproj -c Release -o ${{env.DOTNET_ROOT}}/myapp
+
+ - name: Upload artifact for deployment job
+ uses: actions/upload-artifact@v2
+ with:
+ name: .net-app
+ path: ${{env.DOTNET_ROOT}}/myapp
+
+
+ deploy:
+ runs-on: windows-latest
+ needs: build
+ environment:
+ name: 'production'
+ url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
+
+ steps:
+ - name: Download artifact from build job
+ uses: actions/download-artifact@v2
+ with:
+ name: .net-app
+
+ - name: Deploy to Azure Web App
+ id: deploy-to-webapp
+ uses: azure/webapps-deploy@v2
+ with:
+ app-name: 'mixcore-platform'
+ slot-name: 'production'
+ publish-profile: ${{ secrets.AzureAppService_PublishProfile_eae485bfa224498681bd8915d6bd8cd5 }}
+ package: .
diff --git a/.github/workflows/develop-v2_mixcore-v2-linux.yml b/.github/workflows/develop-v2_mixcore-v2-linux.yml
new file mode 100644
index 000000000..2517eb208
--- /dev/null
+++ b/.github/workflows/develop-v2_mixcore-v2-linux.yml
@@ -0,0 +1,59 @@
+# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
+# More GitHub Actions for Azure: https://github.com/Azure/actions
+
+name: Build and deploy ASP.Net Core app to Azure Web App - mixcore-v2-linux
+
+on:
+ push:
+ branches:
+ - develop-v2
+ workflow_dispatch:
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ submodules: recursive
+
+ - name: Set up .NET Core
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: '6.0.x'
+ include-prerelease: true
+
+ - name: Build with dotnet
+ run: dotnet build src/applications/Mixcore/mixcore.csproj --configuration Release
+
+ - name: dotnet publish
+ run: dotnet publish src/applications/Mixcore/mixcore.csproj -c Release -o ${{env.DOTNET_ROOT}}/myapp
+
+ - name: Upload artifact for deployment job
+ uses: actions/upload-artifact@v2
+ with:
+ name: .net-app
+ path: ${{env.DOTNET_ROOT}}/myapp
+
+ deploy:
+ runs-on: ubuntu-latest
+ needs: build
+ environment:
+ name: 'Production'
+ url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
+
+ steps:
+ - name: Download artifact from build job
+ uses: actions/download-artifact@v2
+ with:
+ name: .net-app
+
+ - name: Deploy to Azure Web App
+ id: deploy-to-webapp
+ uses: azure/webapps-deploy@v2
+ with:
+ app-name: 'mixcore-v2-linux'
+ slot-name: 'Production'
+ publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_A12BEB6F0D0743D48B61BC8B439ADBF1 }}
+ package: .
diff --git a/.github/workflows/main.yml b/.github/workflows/mix.spa.portal-dispatch.yml
similarity index 100%
rename from .github/workflows/main.yml
rename to .github/workflows/mix.spa.portal-dispatch.yml
diff --git a/.gitignore b/.gitignore
index 47029d5e0..cd2512abb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -274,3 +274,23 @@ src/Mix.Cms.Web/MixContent/mix-cms.db-wal
src/Mix.Cms.Web/MixContent/mix-cms.db-shm
/src/Mix.Cms.Web/wwwroot/mix-content/exports
+
+src/Mix.Cms.Web/MixContent/mix_cache.db
+
+*.db
+
+src/applications/Mixcore/mix.settings.json
+
+src/*/*/MixContent/
+
+src/applications/Mixcore/Properties/PublishProfiles/
+
+src/applications/Mixcore/Views/Shared/Templates/
+
+src/applications/Mixcore/wwwroot/mix-content/exports/
+
+src/applications/Mixcore/wwwroot/mix-content/
+
+src/shared/__pycache__/
+
+src/applications/Mixcore/logs/
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 000000000..558b78729
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "src/framework/mix-heart"]
+ path = src/framework/mix-heart
+ url = https://github.com/mixcore/mix.heart.git
diff --git a/.vscode/launch.json b/.vscode/launch.json
index 159506564..f63280279 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -10,9 +10,9 @@
"request": "launch",
"preLaunchTask": "build",
// If you have changed target frameworks, make sure to update the program path.
- "program": "${workspaceFolder}/src/Mix.Cms.Web/bin/Debug/net5.0/Mix.Cms.Web.dll",
+ "program": "${workspaceFolder}/src/applications/Mixcore/bin/Debug/net6.0/Mixcore.dll",
"args": [],
- "cwd": "${workspaceFolder}/src/Mix.Cms.Web",
+ "cwd": "${workspaceFolder}/src/applications/Mixcore",
"stopAtEntry": false,
// Enable launching a web browser when ASP.NET Core starts. For more information: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser
"serverReadyAction": {
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
index cba8d6da3..540fd012b 100644
--- a/.vscode/tasks.json
+++ b/.vscode/tasks.json
@@ -7,7 +7,7 @@
"type": "process",
"args": [
"build",
- "${workspaceFolder}/src/Mix.Cms.Web/Mix.Cms.Web.csproj",
+ "${workspaceFolder}/src/applications/Mixcore/mixcore.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
@@ -19,7 +19,7 @@
"type": "process",
"args": [
"publish",
- "${workspaceFolder}/src/Mix.Cms.Web/Mix.Cms.Web.csproj",
+ "${workspaceFolder}/src/applications/Mixcore/mixcore.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
@@ -32,7 +32,7 @@
"args": [
"watch",
"run",
- "${workspaceFolder}/src/Mix.Cms.Web/Mix.Cms.Web.csproj",
+ "${workspaceFolder}/src/applications/Mixcore/mixcore.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
diff --git a/Dockerfile b/Dockerfile
index a949ce01d..6442b91ef 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -5,8 +5,8 @@ WORKDIR /app
# Copy everything else and build
COPY src/. ./
-# RUN dotnet restore Mix.Cms.Web/Mix.Cms.Web.csproj
-RUN dotnet publish Mix.Cms.Web/Mix.Cms.Web.csproj -c Release
+# RUN dotnet restore Mix.Cms.Web/Mixcore.csproj
+RUN dotnet publish Mix.Cms.Web/Mixcore.csproj -c Release
# Build runtime image
FROM mcr.microsoft.com/dotnet/sdk:5.0 AS runtime
@@ -14,7 +14,7 @@ WORKDIR /app
# COPY --from=node-env /app/Mix.Cms.Web/wwwroot .
COPY --from=build-env /app/Mix.Cms.Web/bin/Release/net5.0/publish .
EXPOSE 80
-ENTRYPOINT ["dotnet", "Mix.Cms.Web.dll"]
+ENTRYPOINT ["dotnet", "mixcore.dll"]
#############################
diff --git a/Mixcore.sln b/Mixcore.sln
new file mode 100644
index 000000000..2dbef8ff4
--- /dev/null
+++ b/Mixcore.sln
@@ -0,0 +1,202 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.31912.275
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "platform", "platform", "{45077DFB-D35A-4491-993C-2AC4C8AC838E}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "modules", "modules", "{5B29B975-B0AC-46B3-8398-4C8A22EAE355}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{38F30F45-7DB6-4097-BA85-788ACCCBC5F2}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "applications", "applications", "{4E880812-C336-4EB2-9FED-2E437957F50A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mix.library", "src\platform\mix.library\mix.library.csproj", "{5CC5900C-50FE-4D78-9E4F-7CE267355622}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mixcore", "src\applications\Mixcore\mixcore.csproj", "{928B382F-48A0-4639-9EC0-0C9BE980C5C6}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mix.common", "src\modules\mix.common\mix.common.csproj", "{E6801B38-0264-456C-B8E6-A73262B6CBA7}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mix.database", "src\platform\mix.database\mix.database.csproj", "{3716FB3C-CDC3-45E7-9809-CF7F2DD30388}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mix.shared", "src\platform\mix.shared\mix.shared.csproj", "{4B1A6E00-C5E7-4DA7-B234-36EA35CC9B44}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "framework", "framework", "{A18F9CE9-32BA-46D6-B902-CF0E51102BD3}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mix.account", "src\modules\mix.account\mix.account.csproj", "{19560515-92A4-4955-BDD9-E1CDA7E8A3BC}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mix.portal", "src\modules\mix.portal\mix.portal.csproj", "{C56B8C71-AEFB-4B4C-9545-03F6A646A998}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mix.signalr", "src\platform\mix.signalr\mix.signalr.csproj", "{8401BAD4-7658-4357-859C-19F40E731848}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mix.identity", "src\platform\mix.identity\mix.identity.csproj", "{681C6E43-9F8E-4A9B-AD03-12702CF47720}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mix.messenger", "src\modules\mix.messenger\mix.messenger.csproj", "{A92D009D-2C5B-46BC-893A-7AE995EE8814}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mix.quartz", "src\platform\mix.quartz\mix.quartz.csproj", "{C7AF2FD1-8490-4238-B40D-7245872FCFEC}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mix.scheduler", "src\modules\mix.scheduler\mix.scheduler.csproj", "{F8E82C2E-0F24-4CD1-981D-436D08F73587}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{8D3FF4E3-4C56-4FA6-81CC-686DE037FF59}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mix.xunittest", "src\test\mix.xunittest\mix.xunittest.csproj", "{CD0F866F-FF61-456B-AAEA-9960B17107E3}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mix.grpc", "src\modules\mix.grpc\mix.grpc.csproj", "{80A478DE-09AD-4C60-B446-73946D8B0E51}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mix.queue", "src\platform\mix.queue\mix.queue.csproj", "{2E843175-B948-4D90-A11B-415EE67D9E1A}"
+EndProject
+Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "shared", "src\shared\", "{932D5063-AEC8-4DA6-8C1E-21BA6214BD5A}"
+ ProjectSection(WebsiteProperties) = preProject
+ TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.0"
+ Debug.AspNetCompiler.VirtualPath = "/localhost_65349"
+ Debug.AspNetCompiler.PhysicalPath = "src\shared\"
+ Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\localhost_65349\"
+ Debug.AspNetCompiler.Updateable = "true"
+ Debug.AspNetCompiler.ForceOverwrite = "true"
+ Debug.AspNetCompiler.FixedNames = "false"
+ Debug.AspNetCompiler.Debug = "True"
+ Release.AspNetCompiler.VirtualPath = "/localhost_65349"
+ Release.AspNetCompiler.PhysicalPath = "src\shared\"
+ Release.AspNetCompiler.TargetPath = "PrecompiledWeb\localhost_65349\"
+ Release.AspNetCompiler.Updateable = "true"
+ Release.AspNetCompiler.ForceOverwrite = "true"
+ Release.AspNetCompiler.FixedNames = "false"
+ Release.AspNetCompiler.Debug = "False"
+ VWDPort = "65349"
+ SlnRelativePath = "src\shared\"
+ EndProjectSection
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mix.Heart", "src\framework\mix-heart\src\Mix.Heart\Mix.Heart.csproj", "{D4938E22-22C3-4364-A710-557B63954B5E}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mix.tenancy", "src\modules\mix.tenancy\mix.tenancy.csproj", "{2D254550-CE54-43A2-8AE9-FAA72F2C0FD6}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{634C95AF-27D5-4DE7-AA3D-6067C3682C91}"
+ ProjectSection(SolutionItems) = preProject
+ .editorconfig = .editorconfig
+ EndProjectSection
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mix.communicator", "src\platform\mix.communicator\mix.communicator.csproj", "{5953D4C9-C11D-4307-815C-95898416A0FB}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mix.constant", "src\platform\mix.constant\mix.constant.csproj", "{34A92D4D-B94A-4674-BBA4-8D2F80BECCB6}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {5CC5900C-50FE-4D78-9E4F-7CE267355622}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5CC5900C-50FE-4D78-9E4F-7CE267355622}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5CC5900C-50FE-4D78-9E4F-7CE267355622}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5CC5900C-50FE-4D78-9E4F-7CE267355622}.Release|Any CPU.Build.0 = Release|Any CPU
+ {928B382F-48A0-4639-9EC0-0C9BE980C5C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {928B382F-48A0-4639-9EC0-0C9BE980C5C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {928B382F-48A0-4639-9EC0-0C9BE980C5C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {928B382F-48A0-4639-9EC0-0C9BE980C5C6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E6801B38-0264-456C-B8E6-A73262B6CBA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E6801B38-0264-456C-B8E6-A73262B6CBA7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E6801B38-0264-456C-B8E6-A73262B6CBA7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E6801B38-0264-456C-B8E6-A73262B6CBA7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3716FB3C-CDC3-45E7-9809-CF7F2DD30388}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3716FB3C-CDC3-45E7-9809-CF7F2DD30388}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3716FB3C-CDC3-45E7-9809-CF7F2DD30388}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3716FB3C-CDC3-45E7-9809-CF7F2DD30388}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4B1A6E00-C5E7-4DA7-B234-36EA35CC9B44}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4B1A6E00-C5E7-4DA7-B234-36EA35CC9B44}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4B1A6E00-C5E7-4DA7-B234-36EA35CC9B44}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4B1A6E00-C5E7-4DA7-B234-36EA35CC9B44}.Release|Any CPU.Build.0 = Release|Any CPU
+ {19560515-92A4-4955-BDD9-E1CDA7E8A3BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {19560515-92A4-4955-BDD9-E1CDA7E8A3BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {19560515-92A4-4955-BDD9-E1CDA7E8A3BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {19560515-92A4-4955-BDD9-E1CDA7E8A3BC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C56B8C71-AEFB-4B4C-9545-03F6A646A998}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C56B8C71-AEFB-4B4C-9545-03F6A646A998}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C56B8C71-AEFB-4B4C-9545-03F6A646A998}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C56B8C71-AEFB-4B4C-9545-03F6A646A998}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8401BAD4-7658-4357-859C-19F40E731848}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8401BAD4-7658-4357-859C-19F40E731848}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8401BAD4-7658-4357-859C-19F40E731848}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8401BAD4-7658-4357-859C-19F40E731848}.Release|Any CPU.Build.0 = Release|Any CPU
+ {681C6E43-9F8E-4A9B-AD03-12702CF47720}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {681C6E43-9F8E-4A9B-AD03-12702CF47720}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {681C6E43-9F8E-4A9B-AD03-12702CF47720}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {681C6E43-9F8E-4A9B-AD03-12702CF47720}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A92D009D-2C5B-46BC-893A-7AE995EE8814}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A92D009D-2C5B-46BC-893A-7AE995EE8814}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A92D009D-2C5B-46BC-893A-7AE995EE8814}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A92D009D-2C5B-46BC-893A-7AE995EE8814}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C7AF2FD1-8490-4238-B40D-7245872FCFEC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C7AF2FD1-8490-4238-B40D-7245872FCFEC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C7AF2FD1-8490-4238-B40D-7245872FCFEC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C7AF2FD1-8490-4238-B40D-7245872FCFEC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F8E82C2E-0F24-4CD1-981D-436D08F73587}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F8E82C2E-0F24-4CD1-981D-436D08F73587}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F8E82C2E-0F24-4CD1-981D-436D08F73587}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F8E82C2E-0F24-4CD1-981D-436D08F73587}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CD0F866F-FF61-456B-AAEA-9960B17107E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CD0F866F-FF61-456B-AAEA-9960B17107E3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CD0F866F-FF61-456B-AAEA-9960B17107E3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CD0F866F-FF61-456B-AAEA-9960B17107E3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {80A478DE-09AD-4C60-B446-73946D8B0E51}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {80A478DE-09AD-4C60-B446-73946D8B0E51}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {80A478DE-09AD-4C60-B446-73946D8B0E51}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {80A478DE-09AD-4C60-B446-73946D8B0E51}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2E843175-B948-4D90-A11B-415EE67D9E1A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2E843175-B948-4D90-A11B-415EE67D9E1A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2E843175-B948-4D90-A11B-415EE67D9E1A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2E843175-B948-4D90-A11B-415EE67D9E1A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {932D5063-AEC8-4DA6-8C1E-21BA6214BD5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {932D5063-AEC8-4DA6-8C1E-21BA6214BD5A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {932D5063-AEC8-4DA6-8C1E-21BA6214BD5A}.Release|Any CPU.ActiveCfg = Debug|Any CPU
+ {932D5063-AEC8-4DA6-8C1E-21BA6214BD5A}.Release|Any CPU.Build.0 = Debug|Any CPU
+ {D4938E22-22C3-4364-A710-557B63954B5E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D4938E22-22C3-4364-A710-557B63954B5E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D4938E22-22C3-4364-A710-557B63954B5E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D4938E22-22C3-4364-A710-557B63954B5E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2D254550-CE54-43A2-8AE9-FAA72F2C0FD6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2D254550-CE54-43A2-8AE9-FAA72F2C0FD6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2D254550-CE54-43A2-8AE9-FAA72F2C0FD6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2D254550-CE54-43A2-8AE9-FAA72F2C0FD6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5953D4C9-C11D-4307-815C-95898416A0FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5953D4C9-C11D-4307-815C-95898416A0FB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5953D4C9-C11D-4307-815C-95898416A0FB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5953D4C9-C11D-4307-815C-95898416A0FB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {34A92D4D-B94A-4674-BBA4-8D2F80BECCB6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {34A92D4D-B94A-4674-BBA4-8D2F80BECCB6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {34A92D4D-B94A-4674-BBA4-8D2F80BECCB6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {34A92D4D-B94A-4674-BBA4-8D2F80BECCB6}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {45077DFB-D35A-4491-993C-2AC4C8AC838E} = {38F30F45-7DB6-4097-BA85-788ACCCBC5F2}
+ {5B29B975-B0AC-46B3-8398-4C8A22EAE355} = {38F30F45-7DB6-4097-BA85-788ACCCBC5F2}
+ {4E880812-C336-4EB2-9FED-2E437957F50A} = {38F30F45-7DB6-4097-BA85-788ACCCBC5F2}
+ {5CC5900C-50FE-4D78-9E4F-7CE267355622} = {45077DFB-D35A-4491-993C-2AC4C8AC838E}
+ {928B382F-48A0-4639-9EC0-0C9BE980C5C6} = {4E880812-C336-4EB2-9FED-2E437957F50A}
+ {E6801B38-0264-456C-B8E6-A73262B6CBA7} = {5B29B975-B0AC-46B3-8398-4C8A22EAE355}
+ {3716FB3C-CDC3-45E7-9809-CF7F2DD30388} = {45077DFB-D35A-4491-993C-2AC4C8AC838E}
+ {4B1A6E00-C5E7-4DA7-B234-36EA35CC9B44} = {45077DFB-D35A-4491-993C-2AC4C8AC838E}
+ {A18F9CE9-32BA-46D6-B902-CF0E51102BD3} = {38F30F45-7DB6-4097-BA85-788ACCCBC5F2}
+ {19560515-92A4-4955-BDD9-E1CDA7E8A3BC} = {5B29B975-B0AC-46B3-8398-4C8A22EAE355}
+ {C56B8C71-AEFB-4B4C-9545-03F6A646A998} = {5B29B975-B0AC-46B3-8398-4C8A22EAE355}
+ {8401BAD4-7658-4357-859C-19F40E731848} = {45077DFB-D35A-4491-993C-2AC4C8AC838E}
+ {681C6E43-9F8E-4A9B-AD03-12702CF47720} = {45077DFB-D35A-4491-993C-2AC4C8AC838E}
+ {A92D009D-2C5B-46BC-893A-7AE995EE8814} = {5B29B975-B0AC-46B3-8398-4C8A22EAE355}
+ {C7AF2FD1-8490-4238-B40D-7245872FCFEC} = {45077DFB-D35A-4491-993C-2AC4C8AC838E}
+ {F8E82C2E-0F24-4CD1-981D-436D08F73587} = {5B29B975-B0AC-46B3-8398-4C8A22EAE355}
+ {8D3FF4E3-4C56-4FA6-81CC-686DE037FF59} = {38F30F45-7DB6-4097-BA85-788ACCCBC5F2}
+ {CD0F866F-FF61-456B-AAEA-9960B17107E3} = {8D3FF4E3-4C56-4FA6-81CC-686DE037FF59}
+ {80A478DE-09AD-4C60-B446-73946D8B0E51} = {5B29B975-B0AC-46B3-8398-4C8A22EAE355}
+ {2E843175-B948-4D90-A11B-415EE67D9E1A} = {45077DFB-D35A-4491-993C-2AC4C8AC838E}
+ {932D5063-AEC8-4DA6-8C1E-21BA6214BD5A} = {38F30F45-7DB6-4097-BA85-788ACCCBC5F2}
+ {D4938E22-22C3-4364-A710-557B63954B5E} = {A18F9CE9-32BA-46D6-B902-CF0E51102BD3}
+ {2D254550-CE54-43A2-8AE9-FAA72F2C0FD6} = {5B29B975-B0AC-46B3-8398-4C8A22EAE355}
+ {5953D4C9-C11D-4307-815C-95898416A0FB} = {45077DFB-D35A-4491-993C-2AC4C8AC838E}
+ {34A92D4D-B94A-4674-BBA4-8D2F80BECCB6} = {45077DFB-D35A-4491-993C-2AC4C8AC838E}
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {0143C230-7F40-44B2-8BA3-EF5B92D55848}
+ EndGlobalSection
+EndGlobal
diff --git a/README.md b/README.md
index 56093493e..a0cecd6f1 100644
--- a/README.md
+++ b/README.md
@@ -2,14 +2,52 @@
[](https://opencollective.com/mixcore#support) [](https://www.paypal.me/mixcore) [](https://www.buymeacoffee.com/mixcore)
-## Fully Open Source UI Tools to create multi-purpose Web Apps, Mobile Apps & Application Services
+### Fully Open Source UI Tools to create multi-purpose Enterprise Web Apps, Mobile Apps & Application Services
-### CMS and Dashboards built on top of ASP.Net Core / Dotnet Core, SignalR, Angular.JS and Bootstrap.
-
+## UI Screenshots
+
+### Admin Portal
+
+> Mixcore CMS Back-office is built on top of the much awaited Bootstrap 5. This makes starting a new project very simple. It also provides benefits if you are already working on a Bootstrap 5 project.
+
+(New Portal in Angular / Svelte will be coming soon)
+
+
+
+
+
+
+
+## Special features (Out of the box)
+
+- [x] **Databases** -MySQL, SQL Server, PostgreSQL, SQLite
+- [x] **Reliability** - Member roles and permissions.
+- [x] **High Security** - Strong Data Encryption and Security compliance.
+- [x] **Multilingual** - Flexible multilingual content migration.
+- [x] **High Performance** - Millisecond response time.
+- [x] **Cross Platforms** - Powered by .NET Core and run everywhere.
+- [x] **Online Coding** - Visual Studio Code's heart inside.
+- [x] **Customizable Designs** - Build any kinds of website.
+- [x] **SEO Friendly** - No extra plugin required.
+- [x] **Media Management** - Multiple file formats for your website / application.
+- [x] **Manage On The Go** - Manage and Code everywhere you want.
+- [x] **Easy and Accessible** - Non deep tech knowledge required.
+- [x] **Analytics** - Inside Google Analytics dashboard & no extra plugin required.
+- [x] **Dynamic Modular Architecture** - Powerful module layers & Attribute sets feature.
+- [x] **Extensibility** - API-first architecture for Plug & Play.
+- [x] **Easy Backup** - Powerful 1 step export.
+- [x] **More Coffee time!** - You can relax and explore more ton of features are not listed here...
+
+## Architecture
+
+
+
+### CMS and Dashboards built on top of ASP.Net Core / Dotnet Core, SignalR, Angular / Bootstrap / React / Vue / Svelte.
|Services |Result |Services |Result |
|---------|---------|---------|---------|
+|Github workflow |[](https://github.com/mixcore/mix.core/actions/workflows/build-check.yml)|
|Travis CI |[](https://travis-ci.org/mixcore/mix.core)|AppVeyor CI |[](https://ci.appveyor.com/project/Smilefounder/mix-core/branch/master) |
Gitter |[](https://gitter.im/mix-core/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)|Licenses status |[](https://app.fossa.io/projects/git%2Bgithub.com%2Fmixcore%2Fmix.core?ref=badge_shield) |
Codefactor |[](https://www.codefactor.io/repository/github/mixcore/mix.core) |Azure|[](https://dev.azure.com/mixcore/mix.core/_build/latest?definitionId=1&branchName=master)|
@@ -20,7 +58,7 @@ Codefactor |[ Ref: [How to install Mixcore CMS with Azure Docker Composer](https://community.mixcore.org/topic/4/install-mixcore-cms-with-azure-and-docker-compose)|
+|STAG / Demo |https://demo.mixcore.org or https://dev.mixcore.org or https://mochahost.demo.mixcore.org/portal (administrator / P@ssw0rd) Ref: [How to install Mixcore CMS with Azure Docker Composer](https://community.mixcore.org/topic/4/install-mixcore-cms-with-azure-and-docker-compose)|
|Dev docs |https://docs.mixcore.org / https://mixcore.dev|
|Community |https://community.mixcore.org|
|Youtube |https://www.youtube.com/channel/UChqzh6JnC8HBUSQ9AWIcZAw|
@@ -46,7 +84,7 @@ docker-compose up
mkdir mixcore
cd mixcore
-git clone https://github.com/mixcore/mix.core.git
+git clone --branch develop --recursive https://github.com/mixcore/mix.core.git
```
Optional:
@@ -54,8 +92,7 @@ Optional:
> Optional steps as those packages are Nuget Library
```bash
-git clone https://github.com/mixcore/mix.heart.git
-git clone https://github.com/mixcore/mix.identity.git
+git submodule update --init --recursive
```
@@ -87,46 +124,12 @@ gulp build
> Note: If you facing any System.Data.SqlClient.SqlException error, please replace all content inside "appsettings.json" file with "{}".
-## Special features (Out of the box)
-
-- [x] **Reliability** - Member roles and permissions.
-- [x] **High Security** - Strong Data Encryption and Security compliance.
-- [x] **Multilingual** - Flexible multilingual content migration.
-- [x] **High Performance** - Millisecond response time.
-- [x] **Cross Platforms** - Powered by .NET Core and run everywhere.
-- [x] **Online Coding** - Visual Studio Code's heart inside.
-- [x] **Customizable Designs** - Build any kinds of website.
-- [x] **SEO Friendly** - No extra plugin required.
-- [x] **Media Management** - Multiple file formats for your website / application.
-- [x] **Manage On The Go** - Manage and Code everywhere you want.
-- [x] **Easy and Accessible** - Non deep tech knowledge required.
-- [x] **Analytics** - Inside Google Analytics dashboard & no extra plugin required.
-- [x] **Dynamic Modular Architecture** - Powerful module layers & Attribute sets feature.
-- [x] **Extensibility** - API-first architecture for Plug & Play.
-- [x] **Easy Backup** - Powerful 1 step export.
-- [x] **More Coffee time!** - You can relax and explore more ton of features are not listed here...
-
-## UI Screenshots
-### Default Theme:
-
-> [Shards UI Kit](https://designrevision.com/demo/shards/) Shards is a modern design system based on Bootstrap 4 that comes packed with **10 extra custom components** and **two pre-built landing pages**. It’s also lightweight with its stylesheet weighting only **~13kb minified and gzipped**.
-
-
-
-### Admin Portal
-
-> Mixcore CMS Back-office is built on top of the much awaited Bootstrap 4. This makes starting a new project very simple. It also provides benefits if you are already working on a Bootstrap 4 project.
-
-
-
## Thanks to
> This project has been developed using:
-* [Creative Tim](https://www.creative-tim.com/)
+* [.NET](https://www.microsoft.com/net/core)
* [Bootstrap](https://getbootstrap.com/)
* [BrowserStack](https://www.browserstack.com/)
-* [Micon](http://xtoolkit.github.io/Micon/icons/)
-* [.NET](https://www.microsoft.com/net/core)
* [Designed by Freepik](https://www.freepik.com)
* And more...
@@ -146,6 +149,10 @@ Mixcore CMS is licensed under the **[MIT](https://github.com/mixcore/mix.core/bl
[](https://app.fossa.io/projects/git%2Bgithub.com%2Fmixcore%2Fmix.core?ref=badge_large)
+
+## Activity
+
+
=======
## How to contribute
diff --git a/diagrams/dg-overview-details.png b/diagrams/dg-overview-details.png
new file mode 100644
index 000000000..1e6e1acea
Binary files /dev/null and b/diagrams/dg-overview-details.png differ
diff --git a/diagrams/dg-overview.png b/diagrams/dg-overview.png
new file mode 100644
index 000000000..3694c7ef8
Binary files /dev/null and b/diagrams/dg-overview.png differ
diff --git a/diagrams/mixstore.mmd b/diagrams/mixstore.mmd
new file mode 100644
index 000000000..85f4670d0
--- /dev/null
+++ b/diagrams/mixstore.mmd
@@ -0,0 +1,22 @@
+stateDiagram-v2
+ [*] --> MixcoreCms
+ MixcoreCms --> Init
+ Init --> InstallTheme
+ MixcoreCms --> MixPortal
+ MixPortal --> MixPage
+ MixPortal --> MixPost
+ MixPortal --> MixModule
+ MixPortal --> MixDatabase
+ MixDatabase --> MixNavigation
+ MixDatabase --> MixCategory
+ MixDatabase --> MixTag
+ MixPortal --> MixTheme
+ MixTheme --> InstallTheme
+ InstallTheme --> MixStore
+ MixStore --> Checkout: select theme
+ Checkout --> Install: free theme
+ Checkout --> Paypal: not free theme
+ Paypal --> Install: checkout completed
+ Install --> Success: no error during install
+ Install --> Error: error during install
+ Error --> Refund
diff --git a/shared/{932D5063-AEC8-4DA6-8C1E-21BA6214BD5A}/CodeAnalysisLog.xml b/shared/{932D5063-AEC8-4DA6-8C1E-21BA6214BD5A}/CodeAnalysisLog.xml
new file mode 100644
index 000000000..e2b874cd7
--- /dev/null
+++ b/shared/{932D5063-AEC8-4DA6-8C1E-21BA6214BD5A}/CodeAnalysisLog.xml
@@ -0,0 +1,28 @@
+
+
+
+
+ Category
+ Certainty
+ Collapse All
+ Check Id
+ Error
+ error(s)
+ Expand All
+ Help
+ Line
+ message(s)
+ [Location not stored in Pdb]
+ Project
+ Resolution
+ Rule
+ Rule File
+ Rule Description
+ Source
+ Status
+ Target
+ Warning
+ warning(s)
+ Code Analysis Report
+
+
diff --git a/src/Mix.Cms.Api.RestFul/default.appsettings.json b/shared/{932D5063-AEC8-4DA6-8C1E-21BA6214BD5A}/WebProject.lastcodeanalysissucceeded
similarity index 100%
rename from src/Mix.Cms.Api.RestFul/default.appsettings.json
rename to shared/{932D5063-AEC8-4DA6-8C1E-21BA6214BD5A}/WebProject.lastcodeanalysissucceeded
diff --git a/src/.DS_Store b/src/.DS_Store
deleted file mode 100644
index 9b151bc60..000000000
Binary files a/src/.DS_Store and /dev/null differ
diff --git a/src/Mix.Cms.Api.GraphQL/Controllers/GraphqlController.cs b/src/Mix.Cms.Api.GraphQL/Controllers/GraphqlController.cs
deleted file mode 100644
index 5dfea5d4f..000000000
--- a/src/Mix.Cms.Api.GraphQL/Controllers/GraphqlController.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-using System.Threading.Tasks;
-using GraphQL;
-using GraphQL.Types;
-using Microsoft.AspNetCore.Mvc;
-using Mix.Cms.Lib.Models.Cms;
-using Mix.Cms.Api.GraphQL.Infrastructure.Models;
-
-namespace Mix.Cms.Api.GraphQL.Controllers
-{
- [Route("api/graphql")]
- [ApiController]
- public class GraphqlController : ControllerBase
- {
- private static readonly Schema graphQLSchema;
- static GraphqlController()
- {
- var dbContext = new MixCmsContext();
- var tableNameLookup = new TableNameLookup();
- var metaDatabase = new DatabaseMetadata(dbContext, tableNameLookup);
- var schema = new Schema { Query = new Mix.Cms.Api.GraphQL.Infrastructure.GraphQLQuery(dbContext, metaDatabase, tableNameLookup) };
- schema.Initialize();
- graphQLSchema = schema;
- }
- [HttpPost]
- public async Task Get([FromBody] QueryRequest query)
- {
- var result = await new DocumentExecuter().ExecuteAsync(
- new ExecutionOptions()
- {
- Schema = graphQLSchema,
- Query = query.Query
- }
- ).ConfigureAwait(false);
- if (result.Errors?.Count > 0)
- {
- return BadRequest(result.Errors);
- }
- return Ok(result);
- }
- }
-}
\ No newline at end of file
diff --git a/src/Mix.Cms.Api.GraphQL/Infrastructure/DbContextExtensions.cs b/src/Mix.Cms.Api.GraphQL/Infrastructure/DbContextExtensions.cs
deleted file mode 100644
index 318a2cf60..000000000
--- a/src/Mix.Cms.Api.GraphQL/Infrastructure/DbContextExtensions.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using Microsoft.EntityFrameworkCore;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Reflection;
-using System.Threading.Tasks;
-
-namespace Mix.Cms.Api.GraphQL.Infrastructure
-{
- public static class DbContextExtensions
- {
- public static IQueryable Query(this DbContext context, string entityName) =>
- context.Query(context.Model.FindEntityType(entityName).ClrType);
- static readonly MethodInfo SetMethod = typeof(DbContext).GetMethod(nameof(DbContext.Set));
- public static IQueryable Query(this DbContext context, Type entityType) =>
- (IQueryable)SetMethod.MakeGenericMethod(entityType).Invoke(context, null);
- }
-}
diff --git a/src/Mix.Cms.Api.GraphQL/Infrastructure/GraphQLQuery.cs b/src/Mix.Cms.Api.GraphQL/Infrastructure/GraphQLQuery.cs
deleted file mode 100644
index a6e19d368..000000000
--- a/src/Mix.Cms.Api.GraphQL/Infrastructure/GraphQLQuery.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-using GraphQL.Types;
-using Microsoft.EntityFrameworkCore;
-using Mix.Cms.Api.GraphQL.Infrastructure.Interfaces;
-using System;
-using System.Linq;
-using System.Reflection;
-
-namespace Mix.Cms.Api.GraphQL.Infrastructure
-{
- public class GraphQLQuery : ObjectGraphType