diff --git a/.gitignore b/.gitignore
index 0fca7e5e..986f2ada 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,7 @@
*.userosscache
*.sln.docstates
*.idea
+*.tye
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
diff --git a/EShopOnAbp.sln b/EShopOnAbp.sln
index 3a1d31cb..3cdee83d 100644
--- a/EShopOnAbp.sln
+++ b/EShopOnAbp.sln
@@ -23,14 +23,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EShopOnAbp.Shared.Hosting.M
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EShopOnAbp.AdministrationService.HttpApi.Host", "services\administration\src\EShopOnAbp.AdministrationService.HttpApi.Host\EShopOnAbp.AdministrationService.HttpApi.Host.csproj", "{0FA9667E-6A08-4EFF-8CAF-D2A3C3C1FBBD}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EShopOnAbp.SaasService.HttpApi.Host", "services\saas\src\EShopOnAbp.SaasService.HttpApi.Host\EShopOnAbp.SaasService.HttpApi.Host.csproj", "{9203C6CC-F491-4A9F-93B3-3BEA018D87B4}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EShopOnAbp.IdentityService.HttpApi.Host", "services\identity\src\EShopOnAbp.IdentityService.HttpApi.Host\EShopOnAbp.IdentityService.HttpApi.Host.csproj", "{FDFCA1B4-FD9D-445C-8655-3DF3F2D57CEA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EShopOnAbp.Shared.Hosting.Gateways", "shared\EShopOnAbp.Shared.Hosting.Gateways\EShopOnAbp.Shared.Hosting.Gateways.csproj", "{590B609C-5887-4896-9FC5-5E54A2658B18}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EShopOnAbp.InternalGateway", "gateways\internal\src\EShopOnAbp.InternalGateway\EShopOnAbp.InternalGateway.csproj", "{857EE54A-6116-46AA-AB34-50B19E51DB3B}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EShopOnAbp.WebGateway", "gateways\web\src\EShopOnAbp.WebGateway\EShopOnAbp.WebGateway.csproj", "{5D653BE4-7653-4684-B9F0-9A9B955093E5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EShopOnAbp.WebPublicGateway", "gateways\web-public\src\EShopOnAbp.WebPublicGateway\EShopOnAbp.WebPublicGateway.csproj", "{2E0B715C-3AAD-47B3-B2EB-D34CB24CBEFA}"
@@ -75,10 +71,6 @@ Global
{0FA9667E-6A08-4EFF-8CAF-D2A3C3C1FBBD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0FA9667E-6A08-4EFF-8CAF-D2A3C3C1FBBD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0FA9667E-6A08-4EFF-8CAF-D2A3C3C1FBBD}.Release|Any CPU.Build.0 = Release|Any CPU
- {9203C6CC-F491-4A9F-93B3-3BEA018D87B4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9203C6CC-F491-4A9F-93B3-3BEA018D87B4}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9203C6CC-F491-4A9F-93B3-3BEA018D87B4}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9203C6CC-F491-4A9F-93B3-3BEA018D87B4}.Release|Any CPU.Build.0 = Release|Any CPU
{FDFCA1B4-FD9D-445C-8655-3DF3F2D57CEA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FDFCA1B4-FD9D-445C-8655-3DF3F2D57CEA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FDFCA1B4-FD9D-445C-8655-3DF3F2D57CEA}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -87,10 +79,6 @@ Global
{590B609C-5887-4896-9FC5-5E54A2658B18}.Debug|Any CPU.Build.0 = Debug|Any CPU
{590B609C-5887-4896-9FC5-5E54A2658B18}.Release|Any CPU.ActiveCfg = Release|Any CPU
{590B609C-5887-4896-9FC5-5E54A2658B18}.Release|Any CPU.Build.0 = Release|Any CPU
- {857EE54A-6116-46AA-AB34-50B19E51DB3B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {857EE54A-6116-46AA-AB34-50B19E51DB3B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {857EE54A-6116-46AA-AB34-50B19E51DB3B}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {857EE54A-6116-46AA-AB34-50B19E51DB3B}.Release|Any CPU.Build.0 = Release|Any CPU
{5D653BE4-7653-4684-B9F0-9A9B955093E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5D653BE4-7653-4684-B9F0-9A9B955093E5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5D653BE4-7653-4684-B9F0-9A9B955093E5}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -130,10 +118,8 @@ Global
{2B608875-8226-44E4-B93A-D475E11A7B80} = {B8B59303-2178-459B-91A8-DF353044E090}
{49DDB3F1-6200-445E-9A0D-0339E31D5D77} = {B8B59303-2178-459B-91A8-DF353044E090}
{0FA9667E-6A08-4EFF-8CAF-D2A3C3C1FBBD} = {F415FFFD-E52D-4EBE-98DC-067C1EFFFFE3}
- {9203C6CC-F491-4A9F-93B3-3BEA018D87B4} = {F415FFFD-E52D-4EBE-98DC-067C1EFFFFE3}
{FDFCA1B4-FD9D-445C-8655-3DF3F2D57CEA} = {F415FFFD-E52D-4EBE-98DC-067C1EFFFFE3}
{590B609C-5887-4896-9FC5-5E54A2658B18} = {B8B59303-2178-459B-91A8-DF353044E090}
- {857EE54A-6116-46AA-AB34-50B19E51DB3B} = {1484E912-DCF3-4568-A72C-4C7622104DB8}
{5D653BE4-7653-4684-B9F0-9A9B955093E5} = {1484E912-DCF3-4568-A72C-4C7622104DB8}
{2E0B715C-3AAD-47B3-B2EB-D34CB24CBEFA} = {1484E912-DCF3-4568-A72C-4C7622104DB8}
{969029FC-CFCF-4F95-9778-E5C69117711E} = {866DB6CC-FEA8-4CC2-A2E4-143537D197B6}
diff --git a/NuGet.Config b/NuGet.Config
new file mode 100644
index 00000000..f578cf96
--- /dev/null
+++ b/NuGet.Config
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/angular/Dockerfile b/apps/angular/Dockerfile
index 6912e62c..837db661 100644
--- a/apps/angular/Dockerfile
+++ b/apps/angular/Dockerfile
@@ -1,3 +1,15 @@
-FROM nginx:alpine
+FROM node:14-alpine as build
+
WORKDIR /app
-COPY dist/EShopOnAbp /usr/share/nginx/html
\ No newline at end of file
+COPY package*.json /app/
+
+RUN npm install
+COPY . /app
+ARG configuration=production
+RUN npm run ng build -- --output-path=dist/EShopOnAbp --configuration $configuration
+
+FROM nginx:alpine
+COPY dynamic-env.json /usr/share/nginx/html
+COPY nginx.conf /etc/nginx/conf.d/default.conf
+
+COPY --from=build /app/dist/EShopOnAbp/ /usr/share/nginx/html
diff --git a/apps/angular/Dockerfile.local b/apps/angular/Dockerfile.local
new file mode 100644
index 00000000..5f83f0de
--- /dev/null
+++ b/apps/angular/Dockerfile.local
@@ -0,0 +1,5 @@
+FROM nginx:alpine
+WORKDIR /app
+COPY dist/EShopOnAbp /usr/share/nginx/html
+COPY dynamic-env.json /usr/share/nginx/html
+COPY /nginx.conf /etc/nginx/conf.d/default.conf
\ No newline at end of file
diff --git a/apps/angular/dynamic-env.json b/apps/angular/dynamic-env.json
new file mode 100644
index 00000000..1a1ff42a
--- /dev/null
+++ b/apps/angular/dynamic-env.json
@@ -0,0 +1,21 @@
+{
+ "production": true,
+ "application": {
+ "baseUrl":"https://eshop-st-web",
+ "name": "EShopOnAbp",
+ "logoUrl": ""
+ },
+ "oAuthConfig": {
+ "issuer": "https://eshop-st-authserver",
+ "redirectUri": "https://eshop-st-web",
+ "clientId": "EShopOnAbp_App",
+ "responseType": "code",
+ "scope": "offline_access openid profile email phone IdentityService AdministrationService SaasService"
+ },
+ "apis": {
+ "default": {
+ "url": "https://eshop-st-gateway-web",
+ "rootNamespace": "EShopOnAbp"
+ }
+ }
+}
\ No newline at end of file
diff --git a/apps/angular/nginx.conf b/apps/angular/nginx.conf
new file mode 100644
index 00000000..11f9847a
--- /dev/null
+++ b/apps/angular/nginx.conf
@@ -0,0 +1,30 @@
+server {
+ listen 80;
+ listen [::]:80;
+ server_name _;
+
+ #access_log /var/log/nginx/host.access.log main;
+
+ location / {
+ root /usr/share/nginx/html;
+ index index.html index.htm;
+ try_files $uri $uri/ /index.html =404;
+ }
+
+ location /getEnvConfig {
+ default_type 'application/json';
+ add_header 'Access-Control-Allow-Origin' '*' always;
+ add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
+ add_header 'Content-Type' 'application/json';
+ try_files $uri /dynamic-env.json;
+ }
+
+ #error_page 404 /404.html;
+
+ # redirect server error pages to the static page /50x.html
+ #
+ error_page 500 502 503 504 /50x.html;
+ location = /50x.html {
+ root /usr/share/nginx/html;
+ }
+}
\ No newline at end of file
diff --git a/apps/angular/package.json b/apps/angular/package.json
index 6d5af4df..95de0ece 100644
--- a/apps/angular/package.json
+++ b/apps/angular/package.json
@@ -56,4 +56,4 @@
"tslint": "~6.1.0",
"typescript": "~4.3.5"
}
-}
+}
\ No newline at end of file
diff --git a/apps/angular/src/environments/environment.prod.ts b/apps/angular/src/environments/environment.prod.ts
index b5ede0c0..20653898 100644
--- a/apps/angular/src/environments/environment.prod.ts
+++ b/apps/angular/src/environments/environment.prod.ts
@@ -12,9 +12,9 @@ export const environment = {
oAuthConfig: {
issuer: 'https://localhost:44394',
redirectUri: baseUrl,
- clientId: 'EShopOnAbp_App',
+ clientId: 'Web',
responseType: 'code',
- scope: 'offline_access EShopOnAbp',
+ scope: 'offline_access openid profile email phone IdentityService AdministrationService SaasService',
},
apis: {
default: {
@@ -22,4 +22,8 @@ export const environment = {
rootNamespace: 'EShopOnAbp',
},
},
+ remoteEnv:{
+ url: "/getEnvConfig",
+ mergeStrategy:'deepmerge'
+ }
} as Environment;
diff --git a/apps/angular/src/environments/environment.ts b/apps/angular/src/environments/environment.ts
index 0e9fa789..d79f4a8e 100644
--- a/apps/angular/src/environments/environment.ts
+++ b/apps/angular/src/environments/environment.ts
@@ -11,7 +11,7 @@ export const environment = {
oAuthConfig: {
issuer: 'https://localhost:44330',
redirectUri: baseUrl,
- clientId: 'EShopOnAbp_Angular',
+ clientId: 'Web',
responseType: 'code',
scope:
'offline_access openid profile email phone IdentityService AdministrationService SaasService',
diff --git a/apps/auth-server/src/EShopOnAbp.AuthServer/Dockerfile b/apps/auth-server/src/EShopOnAbp.AuthServer/Dockerfile
index 9eede96d..1bbffe2c 100644
--- a/apps/auth-server/src/EShopOnAbp.AuthServer/Dockerfile
+++ b/apps/auth-server/src/EShopOnAbp.AuthServer/Dockerfile
@@ -1,4 +1,53 @@
- FROM mcr.microsoft.com/dotnet/aspnet:6.0
- COPY bin/Release/net6.0/publish/ app/
- WORKDIR /app
- ENTRYPOINT ["dotnet", "EShopOnAbp.AuthServer.dll"]
\ No newline at end of file
+FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
+WORKDIR /app
+EXPOSE 80
+EXPOSE 443
+
+FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
+WORKDIR /src
+
+# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles
+# to take advantage of Docker's build cache, to speed up local container builds
+COPY "EShopOnAbp.sln" "EShopOnAbp.sln"
+
+# Applications
+COPY "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj" "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj"
+COPY "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj" "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj"
+
+# Shared
+COPY "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj" "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj"
+COPY "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj" "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj"
+COPY "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj" "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj"
+COPY "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj" "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj"
+COPY "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj" "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj"
+
+# Microservices
+COPY "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj" "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj"
+COPY "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj" "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj"
+COPY *"services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj" "services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj"
+COPY *"services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj" "services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj"
+COPY *"services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj" "services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj"
+COPY *"services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj" "services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj"
+COPY *"services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj" "services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj"
+
+# Gateways
+COPY "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj" "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj"
+COPY "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj" "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj"
+
+COPY "NuGet.Config" "NuGet.Config"
+
+RUN dotnet restore "EShopOnAbp.sln"
+COPY . .
+
+WORKDIR "/src/apps/auth-server/src/EShopOnAbp.AuthServer"
+
+RUN dotnet publish -c Release -o /app
+# Should be used after .net6 is out of preview for better performance
+# RUN dotnet publish --no-restore -c Release -o /app
+
+FROM build AS publish
+
+FROM base AS final
+WORKDIR /app
+COPY --from=publish /app .
+ENTRYPOINT ["dotnet", "EShopOnAbp.AuthServer.dll"]
\ No newline at end of file
diff --git a/gateways/internal/src/EShopOnAbp.InternalGateway/Dockerfile b/apps/auth-server/src/EShopOnAbp.AuthServer/Dockerfile.local
similarity index 63%
rename from gateways/internal/src/EShopOnAbp.InternalGateway/Dockerfile
rename to apps/auth-server/src/EShopOnAbp.AuthServer/Dockerfile.local
index 2b7cbf5a..9eede96d 100644
--- a/gateways/internal/src/EShopOnAbp.InternalGateway/Dockerfile
+++ b/apps/auth-server/src/EShopOnAbp.AuthServer/Dockerfile.local
@@ -1,4 +1,4 @@
FROM mcr.microsoft.com/dotnet/aspnet:6.0
COPY bin/Release/net6.0/publish/ app/
WORKDIR /app
- ENTRYPOINT ["dotnet", "EShopOnAbp.InternalGateway.dll"]
\ No newline at end of file
+ ENTRYPOINT ["dotnet", "EShopOnAbp.AuthServer.dll"]
\ No newline at end of file
diff --git a/apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj b/apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj
index 7a386146..0dce8548 100644
--- a/apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj
+++ b/apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj
@@ -2,32 +2,39 @@
net6.0
- true
- true
- true
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+ Always
+
diff --git a/apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbpAuthServerModule.cs b/apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbpAuthServerModule.cs
index 726fcc96..5110d159 100644
--- a/apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbpAuthServerModule.cs
+++ b/apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbpAuthServerModule.cs
@@ -1,6 +1,5 @@
using EShopOnAbp.AdministrationService.EntityFrameworkCore;
using EShopOnAbp.IdentityService.EntityFrameworkCore;
-using EShopOnAbp.SaasService.EntityFrameworkCore;
using EShopOnAbp.Shared.Hosting.AspNetCore;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Cors;
@@ -12,6 +11,11 @@ using StackExchange.Redis;
using System;
using System.IO;
using System.Linq;
+using System.Security.Cryptography.X509Certificates;
+using IdentityServer4.Configuration;
+using IdentityServer4.Extensions;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.Extensions.Configuration;
using Volo.Abp;
using Volo.Abp.Account;
using Volo.Abp.Account.Web;
@@ -23,6 +27,7 @@ using Volo.Abp.Caching;
using Volo.Abp.Caching.StackExchangeRedis;
using Volo.Abp.Emailing;
using Volo.Abp.EventBus.RabbitMq;
+using Volo.Abp.IdentityServer;
using Volo.Abp.Modularity;
using Volo.Abp.MultiTenancy;
using Volo.Abp.UI.Navigation.Urls;
@@ -40,15 +45,54 @@ namespace EShopOnAbp.AuthServer
typeof(EShopOnAbpSharedHostingAspNetCoreModule),
typeof(EShopOnAbpSharedLocalizationModule),
typeof(AdministrationServiceEntityFrameworkCoreModule),
- typeof(IdentityServiceEntityFrameworkCoreModule),
- typeof(SaasServiceEntityFrameworkCoreModule)
+ typeof(IdentityServiceEntityFrameworkCoreModule)
)]
public class EShopOnAbpAuthServerModule : AbpModule
{
+ public override void PreConfigureServices(ServiceConfigurationContext context)
+ {
+ var hostingEnvironment = context.Services.GetHostingEnvironment();
+
+ if (!hostingEnvironment.IsDevelopment())
+ {
+ var configuration = context.Services.GetConfiguration();
+
+ PreConfigure(options =>
+ {
+ options.AddDeveloperSigningCredential = false;
+ });
+
+ PreConfigure(builder =>
+ {
+ builder.AddSigningCredential(GetSigningCertificate(hostingEnvironment, configuration));
+ });
+ }
+ }
+
+ private X509Certificate2 GetSigningCertificate(IWebHostEnvironment hostingEnv, IConfiguration configuration)
+ {
+ var fileName = "eshoponabp-authserver.pfx";
+ var passPhrase = "780F3C11-0A96-40DE-B335-9848BE88C77D";
+ var file = Path.Combine(hostingEnv.ContentRootPath, fileName);
+
+ if (!File.Exists(file))
+ {
+ throw new FileNotFoundException($"Signing Certificate couldn't found: {file}");
+ }
+
+ return new X509Certificate2(file, passPhrase);
+ }
+
public override void ConfigureServices(ServiceConfigurationContext context)
{
+ Microsoft.IdentityModel.Logging.IdentityModelEventSource.ShowPII = true;
var hostingEnvironment = context.Services.GetHostingEnvironment();
var configuration = context.Services.GetConfiguration();
+
+ Configure(options =>
+ {
+ options.IssuerUri = configuration["App:SelfUrl"];
+ });
Configure(options =>
{
@@ -74,7 +118,8 @@ namespace EShopOnAbp.AuthServer
var redis = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]);
context.Services
.AddDataProtection()
- .PersistKeysToStackExchangeRedis(redis, "EShopOnAbp-Protection-Keys");
+ .PersistKeysToStackExchangeRedis(redis, "EShopOnAbp-Protection-Keys")
+ .SetApplicationName("eShopOnAbp-AuthServer");
context.Services.AddCors(options =>
{
@@ -114,10 +159,16 @@ namespace EShopOnAbp.AuthServer
var app = context.GetApplicationBuilder();
var env = context.GetEnvironment();
- app.Use((ctx, next) =>
+ var configuration = context.ServiceProvider.GetRequiredService();
+
+ app.Use(async (ctx, next) =>
{
- ctx.Request.Scheme = "https";
- return next();
+ if (ctx.Request.Headers.ContainsKey("from-ingress"))
+ {
+ ctx.SetIdentityServerOrigin(configuration["App:SelfUrl"]);
+ }
+
+ await next();
});
if (env.IsDevelopment())
@@ -138,7 +189,6 @@ namespace EShopOnAbp.AuthServer
app.UseCors();
// app.UseHttpMetrics();
app.UseAuthentication();
- app.UseMultiTenancy();
app.UseAbpSerilogEnrichers();
app.UseUnitOfWork();
app.UseIdentityServer();
diff --git a/apps/auth-server/src/EShopOnAbp.AuthServer/appsettings.json b/apps/auth-server/src/EShopOnAbp.AuthServer/appsettings.json
index 81e84e8e..cecca953 100644
--- a/apps/auth-server/src/EShopOnAbp.AuthServer/appsettings.json
+++ b/apps/auth-server/src/EShopOnAbp.AuthServer/appsettings.json
@@ -1,7 +1,7 @@
{
"App": {
"SelfUrl": "https://localhost:44330",
- "CorsOrigins": "https://*.EShopOnAbp.com,http://localhost:4200,https://localhost:44307,https://localhost:44371,https://localhost:44372,https://localhost:44353",
+ "CorsOrigins": "https://*.EShopOnAbp.com,http://localhost:4200,https://localhost:44307,https://localhost:44372,https://localhost:44353",
"RedirectAllowedUrls": "http://localhost:4200,https://localhost:44307"
},
"Logging": {
@@ -14,8 +14,7 @@
"AllowedHosts": "*",
"ConnectionStrings": {
"IdentityService": "Server=localhost,1434;Database=EShopOnAbp_Identity;User Id=sa;password=myPassw0rd;MultipleActiveResultSets=true",
- "AdministrationService": "Server=localhost,1434;Database=EShopOnAbp_Administration;User Id=sa;password=myPassw0rd;MultipleActiveResultSets=true",
- "SaasService": "Server=localhost,1434;Database=EShopOnAbp_Saas;User Id=sa;password=myPassw0rd;MultipleActiveResultSets=true"
+ "AdministrationService": "Server=localhost,1434;Database=EShopOnAbp_Administration;User Id=sa;password=myPassw0rd;MultipleActiveResultSets=true"
},
"StringEncryption": {
"DefaultPassPhrase": "gsKnGZ041HLL4IM8"
diff --git a/apps/auth-server/src/EShopOnAbp.AuthServer/eshoponabp-authserver.pfx b/apps/auth-server/src/EShopOnAbp.AuthServer/eshoponabp-authserver.pfx
new file mode 100644
index 00000000..3b0c5860
Binary files /dev/null and b/apps/auth-server/src/EShopOnAbp.AuthServer/eshoponabp-authserver.pfx differ
diff --git a/apps/auth-server/src/EShopOnAbp.AuthServer/package.json b/apps/auth-server/src/EShopOnAbp.AuthServer/package.json
index 4b835a4c..1596b6c1 100644
--- a/apps/auth-server/src/EShopOnAbp.AuthServer/package.json
+++ b/apps/auth-server/src/EShopOnAbp.AuthServer/package.json
@@ -3,7 +3,7 @@
"name": "EShopOnAbpAuthServer",
"private": true,
"dependencies": {
- "@abp/aspnetcore.mvc.ui.theme.basic": "~5.0.0-beta.1",
- "@volo/account": "~4.4.3"
+ "@abp/aspnetcore.mvc.ui.theme.basic": "^5.0.0-beta.2",
+ "@volo/account": "^5.0.0-beta.2"
}
}
\ No newline at end of file
diff --git a/apps/auth-server/src/EShopOnAbp.AuthServer/wwwroot/libs/select2/js/select2-bootstrap-modal-patch.js b/apps/auth-server/src/EShopOnAbp.AuthServer/wwwroot/libs/select2/js/select2-bootstrap-modal-patch.js
index 1fee6e79..d7b5d2d9 100644
--- a/apps/auth-server/src/EShopOnAbp.AuthServer/wwwroot/libs/select2/js/select2-bootstrap-modal-patch.js
+++ b/apps/auth-server/src/EShopOnAbp.AuthServer/wwwroot/libs/select2/js/select2-bootstrap-modal-patch.js
@@ -1,4 +1,6 @@
/*
https://select2.org/troubleshooting/common-problems
*/
-$.fn.modal.Constructor.prototype._enforceFocus = function () { };
\ No newline at end of file
+if ($.fn.modal) {
+ $.fn.modal.Constructor.prototype._enforceFocus = function () { };
+}
diff --git a/apps/auth-server/src/EShopOnAbp.AuthServer/yarn.lock b/apps/auth-server/src/EShopOnAbp.AuthServer/yarn.lock
index 0a5b5d3a..fb0f4b65 100644
--- a/apps/auth-server/src/EShopOnAbp.AuthServer/yarn.lock
+++ b/apps/auth-server/src/EShopOnAbp.AuthServer/yarn.lock
@@ -2,57 +2,37 @@
# yarn lockfile v1
-"@abp/aspnetcore.mvc.ui.theme.basic@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-5.0.0-beta.1.tgz#2c78c2bd977a67f6c2ed77cfcd404cf9533eaaae"
- integrity sha512-b8Boztxd5NbaDlXQvgHXHtw8ZNgM4tEgo14kw/bN3mcLx05fWLGd8Lzfdi7i+Ju6U3rKbgi+0MSbga93A0KSmg==
- dependencies:
- "@abp/aspnetcore.mvc.ui.theme.shared" "~5.0.0-beta.1"
-
-"@abp/aspnetcore.mvc.ui.theme.shared@~4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.4.3.tgz#464148bbf641e6988852235f94dc3393131c657e"
- integrity sha512-/aXlX5JZ/CYD6KdIBL2V216aNidqxf7ugU9dZPK1FbGSixN805lJVIu766ufEA5xZrMIGPL/O7MZmu+hJyclTA==
- dependencies:
- "@abp/aspnetcore.mvc.ui" "~4.4.3"
- "@abp/bootstrap" "~4.4.3"
- "@abp/bootstrap-datepicker" "~4.4.3"
- "@abp/datatables.net-bs4" "~4.4.3"
- "@abp/font-awesome" "~4.4.3"
- "@abp/jquery-form" "~4.4.3"
- "@abp/jquery-validation-unobtrusive" "~4.4.3"
- "@abp/lodash" "~4.4.3"
- "@abp/luxon" "~4.4.3"
- "@abp/malihu-custom-scrollbar-plugin" "~4.4.3"
- "@abp/select2" "~4.4.3"
- "@abp/sweetalert" "~4.4.3"
- "@abp/timeago" "~4.4.3"
- "@abp/toastr" "~4.4.3"
-
-"@abp/aspnetcore.mvc.ui.theme.shared@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-5.0.0-beta.1.tgz#25596652bb3f7b6bac5bbd966a731144cd9646c6"
- integrity sha512-N4SHu6rn8alK4jdve00IscngrfvqJNEjrwQclXNmP9c4NtPuVM9emZdxBzKF8jFb6Hz8HiwM9H3xV/SjKCS/7A==
- dependencies:
- "@abp/aspnetcore.mvc.ui" "~5.0.0-beta.1"
- "@abp/bootstrap" "~5.0.0-beta.1"
- "@abp/bootstrap-datepicker" "~5.0.0-beta.1"
- "@abp/datatables.net-bs4" "~5.0.0-beta.1"
- "@abp/font-awesome" "~5.0.0-beta.1"
- "@abp/jquery-form" "~5.0.0-beta.1"
- "@abp/jquery-validation-unobtrusive" "~5.0.0-beta.1"
- "@abp/lodash" "~5.0.0-beta.1"
- "@abp/luxon" "~5.0.0-beta.1"
- "@abp/malihu-custom-scrollbar-plugin" "~5.0.0-beta.1"
- "@abp/select2" "~5.0.0-beta.1"
- "@abp/sweetalert2" "~5.0.0-beta.1"
- "@abp/timeago" "~5.0.0-beta.1"
- "@abp/toastr" "~5.0.0-beta.1"
-
-"@abp/aspnetcore.mvc.ui@~4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.4.3.tgz#b7c217f23d39793a63baff9a56ff063bb0da3049"
- integrity sha512-dVZe5HcKRTg0gfWom7vY70JRZkHm1nFtYWq+ciEPvVqPAClzDEvJucoKiUTzfgmPQO13Yv5/GonTV99MV9sLHg==
+"@abp/aspnetcore.mvc.ui.theme.basic@^5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-5.0.0-beta.2.tgz#077d1edd88f2f1ccb5c8227180a75e3121eece19"
+ integrity sha512-b7f05Fza18NYHudrHosYuCX/UJ/Y3KYJrJMHqdvAsZYu0t3dc7EMWKYTDA/+rDEO8iV/83twRYfHLf0tmVyc1Q==
+ dependencies:
+ "@abp/aspnetcore.mvc.ui.theme.shared" "~5.0.0-beta.2"
+
+"@abp/aspnetcore.mvc.ui.theme.shared@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-5.0.0-beta.2.tgz#8c58d252f1a39f91c2c287b91691e5bd772f4918"
+ integrity sha512-l4suGM7PjGTw/MEg2f2BdbRXYzALhZQUSijzKIQTy5dwcA/JQPsLbezPzGy45fD3lXsYxBwS4QaOmofTosKkug==
+ dependencies:
+ "@abp/aspnetcore.mvc.ui" "~5.0.0-beta.2"
+ "@abp/bootstrap" "~5.0.0-beta.2"
+ "@abp/bootstrap-datepicker" "~5.0.0-beta.2"
+ "@abp/datatables.net-bs4" "~5.0.0-beta.2"
+ "@abp/font-awesome" "~5.0.0-beta.2"
+ "@abp/jquery-form" "~5.0.0-beta.2"
+ "@abp/jquery-validation-unobtrusive" "~5.0.0-beta.2"
+ "@abp/lodash" "~5.0.0-beta.2"
+ "@abp/luxon" "~5.0.0-beta.2"
+ "@abp/malihu-custom-scrollbar-plugin" "~5.0.0-beta.2"
+ "@abp/select2" "~5.0.0-beta.2"
+ "@abp/sweetalert2" "~5.0.0-beta.2"
+ "@abp/timeago" "~5.0.0-beta.2"
+ "@abp/toastr" "~5.0.0-beta.2"
+
+"@abp/aspnetcore.mvc.ui@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-5.0.0-beta.2.tgz#c30d9905e133451208e379f7173ed9c44dd5f487"
+ integrity sha512-8Dzfg5SzeVoXz/nY11o2u3y7ZQdUW/zVSYVTgbsCMC1HCe2yzptpr2XI0Goz8jQKgz0G+zg3iwfeur7vNoaoMw==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@@ -61,315 +41,161 @@
merge-stream "^2.0.0"
micromatch "^4.0.2"
-"@abp/aspnetcore.mvc.ui@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-5.0.0-beta.1.tgz#30c14386899596bf91e8871810dbaa1a0e51e996"
- integrity sha512-pabiGHghC62eg95RfAncEt0+yGdBxdMmyqCXV+Be4JjaMz/hGZIDOPIYnaqCayZtyMmIRqG6IAwi99DqBjkQAQ==
- dependencies:
- ansi-colors "^4.1.1"
- extend-object "^1.0.0"
- glob "^7.1.6"
- gulp "^4.0.2"
- merge-stream "^2.0.0"
- micromatch "^4.0.2"
-
-"@abp/bootstrap-datepicker@~4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.4.3.tgz#08fd1642ede232badb62a1536982ad2bfce6c265"
- integrity sha512-pwb+3DbLkhuNnjD74UwqZgK5hnoxAFFu8y7qlJEkSiKsLWrKNlJS+PHF1LLifPqXogU1MKwc18AuXnHOEKjzbQ==
+"@abp/bootstrap-datepicker@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-5.0.0-beta.2.tgz#dbf92485225a424f0e53e55c3ef8c993943682f0"
+ integrity sha512-jJWVKrkKcUMEqwBrEqhGD1zDFD8b0b3j0WdlzKuzlw26AaQkfE4LQ9Gjfjs+RnTW1LxPn8rGP8QCgdVeWMNjQQ==
dependencies:
bootstrap-datepicker "^1.9.0"
-"@abp/bootstrap-datepicker@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-5.0.0-beta.1.tgz#727e0f7305a94c95ece152ffff011bcff621f46d"
- integrity sha512-txhdlJqyO2D9MkGLYgrsiDaC58cb2eCpk2uxoqqQeVWvuRPo/L+9rCBk+bu6J37FGJtU8aabtHJyR5xnYbv0TQ==
+"@abp/bootstrap@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-5.0.0-beta.2.tgz#0faaa85871fd23076dd597dce83dc3020b1ff950"
+ integrity sha512-zy0DUcAJuX+Oeu4csw7XbyLGq/YdfonMLJt/Mkpq8CjAssD7n7aJK6PwG+akaI4giSQd7Sc1JvvnKRMRzyxy1Q==
dependencies:
- bootstrap-datepicker "^1.9.0"
-
-"@abp/bootstrap@~4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.4.3.tgz#76968df98fd5c6e5d26abea9cea5c9d76646d24e"
- integrity sha512-InA3AI1ydkqd7AYz+f9RAag1h/uhFsFAFGIo34jllIeFhG4C59EbkNwdWDk96lNHmt0qutQYydsO6WKPlgnjYA==
- dependencies:
- "@abp/core" "~4.4.3"
- bootstrap "^4.6.0"
- bootstrap-v4-rtl "4.6.0-1"
-
-"@abp/bootstrap@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-5.0.0-beta.1.tgz#075a15459ff8e3896b6553786e6c8f091c6ffcad"
- integrity sha512-W8z6qSAsRoXmG0++xH6Bk1oRc90hFqVcjKI+5XgBQhUUCn2qBruBYOKFxPg2GeT2f1k9K5TrCEnnVrh0sOP9/A==
- dependencies:
- "@abp/core" "~5.0.0-beta.1"
+ "@abp/core" "~5.0.0-beta.2"
bootstrap "^4.6.0"
bootstrap-v4-rtl "4.6.0-1"
-"@abp/core@~4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.4.3.tgz#fc79a2eebf37a61a6cc05287b722750000f38522"
- integrity sha512-gQ2rNyj1MpYCfLTg7Id/20AH4dqs0XIt/n+WqlgeGoYvEpAm4lakHWL7mxZaDQ+iMI/lVVrBhuzwuQv7xKpEIQ==
- dependencies:
- "@abp/utils" "^4.4.3"
-
-"@abp/core@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/core/-/core-5.0.0-beta.1.tgz#6cff06b13529ab9d7a6ddc4e89dc40616e6b7739"
- integrity sha512-TK1CnurJIK/SXfsNTk6HSpxdaJgVxwvqNd4F3fxCC0Uj8s5viD3TAGk39Hkp4909WGfNrRq8BEUNvTYM/rP6gg==
+"@abp/core@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/core/-/core-5.0.0-beta.2.tgz#f9643d21b19128be3ad58b23083e1fc9620f2102"
+ integrity sha512-AHlJQF5NC+yNsj5xILHk1CF++Z93aQDNp0zdJciDqIexH9lEJ+AQCX2EKLn0yjWt4Ga00pOOmQM5vJVJjuJCEw==
dependencies:
- "@abp/utils" "^5.0.0-beta.1"
+ "@abp/utils" "^5.0.0-beta.2"
-"@abp/cropperjs@~4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@abp/cropperjs/-/cropperjs-4.4.3.tgz#9320e6c827acdc4eb1c842e24a122a5bc4f447b6"
- integrity sha512-dbmfIz74AbF06gzDTtEeSTNAinjHY5b3Ea+sMyzJMr9akhi2ISEQB2TWU1VFbuFebnIPvLgKG1Yr34crG6Al6w==
+"@abp/cropperjs@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/cropperjs/-/cropperjs-5.0.0-beta.2.tgz#6b8d870e85add42941f778cec14122f962cf8e4b"
+ integrity sha512-fkkomk3+7gMoEGyx6Hq2cLC4zsCtddwz7QamjEA7g7SxzQf3Rvfv36Nk/GBf78Jn/5eQXAXwLiNIXxeYDTyARA==
dependencies:
- "@abp/core" "~4.4.3"
+ "@abp/core" "~5.0.0-beta.2"
cropperjs "^1.5.7"
-"@abp/datatables.net-bs4@~4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.4.3.tgz#69d3704d057fe39c3b4aff0654f098fac3a27f49"
- integrity sha512-Rs8u9BqaVnA7SYhaP849dVNQjaUdO3y5d95b5hv9kLgxquIEf/FIAmGMc0p9BkCK74SkRJ3WJLlR8DXxLi/tEw==
+"@abp/datatables.net-bs4@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-5.0.0-beta.2.tgz#3afb32918f59b55c68d3d37b2c1f0bf49bb06fc8"
+ integrity sha512-t6YserKkBId7KnT46uYaGw6HJrf8tcLp4bJmGyUSnCwVlgJcha/P6fr3pKWqFz9QPGk5riCZF3hK6x1BH9u71g==
dependencies:
- "@abp/datatables.net" "~4.4.3"
+ "@abp/datatables.net" "~5.0.0-beta.2"
datatables.net-bs4 "^1.10.21"
-"@abp/datatables.net-bs4@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-5.0.0-beta.1.tgz#110d7d8cf1c15db7432d8f0649f4317ba8de10dd"
- integrity sha512-CPodZP9pqLdwnFZ77/mcSfuhyK1WMi/c+9VWpGXFQSGaABNKPP2UIdAChwUcBRdGkZRa/IhXx3CCr1ZMLpJsMQ==
+"@abp/datatables.net@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-5.0.0-beta.2.tgz#fc87be76ebec94b16c6734c2249ea8a0a04a83b8"
+ integrity sha512-aEAlej1wNtxsxpwlw2GFOV0tFSZ7MWA+Wpfi5QZ4VIbYHSIkhEnz0apiNMBsoB8i7VJLJKZuKvynlJWYABNk0Q==
dependencies:
- "@abp/datatables.net" "~5.0.0-beta.1"
- datatables.net-bs4 "^1.10.21"
-
-"@abp/datatables.net@~4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.4.3.tgz#1515dcc2bdc7c65c1f24a366c738e1b21ad05723"
- integrity sha512-j0cIadlcIOLb/ZQnbqXi4sMEgyLCFA08GMIljvN6GhBObZjMQh4Eazk/B+a4xw+ATk0rbAW3dJyMx80zpi82cg==
- dependencies:
- "@abp/jquery" "~4.4.3"
+ "@abp/jquery" "~5.0.0-beta.2"
datatables.net "^1.10.21"
-"@abp/datatables.net@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-5.0.0-beta.1.tgz#8e784a011d33de154554f3239c448fcfd8adb713"
- integrity sha512-mRMYqTCoYLmDLvL+CvmwUS4JqCqdkn6mxHd7zgkaR04xlGLEmNae5aGbs1wURJ86MOWrHbfkx66lQjkul3zbQw==
- dependencies:
- "@abp/jquery" "~5.0.0-beta.1"
- datatables.net "^1.10.21"
-
-"@abp/font-awesome@~4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.4.3.tgz#9b0b03da07245e4458305e54490b4e37cbcc2b40"
- integrity sha512-R6s0jcAhmpUTdc4b/NJkfHXbXblmcuTNwiNG/CJJ/QNrVhk7OolzyqR5k/moaBpb4Uaqf5u07Aau24rOH35q5w==
- dependencies:
- "@abp/core" "~4.4.3"
- "@fortawesome/fontawesome-free" "^5.13.0"
-
-"@abp/font-awesome@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-5.0.0-beta.1.tgz#3ae721c447a009601226c381a20dc4adabe154e1"
- integrity sha512-fsMqwApogZ1rAogStQxBX/Nh8akXPW/Alm8UayfK6TXIkPPjBz5RQSHfdlosG7M/U3mwUNGcLlaDvQXsE/nqow==
+"@abp/font-awesome@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-5.0.0-beta.2.tgz#10a920fb20294f7ccd404ea2b302fb11f68f0705"
+ integrity sha512-Mmhfm7g5HdflvqbZOZDKk335IlY8ipwtKsCQ1qRaobsMpWi2AFh6/P/XX7y4H5p0wH5cluUsSzS1QB37QXp36w==
dependencies:
- "@abp/core" "~5.0.0-beta.1"
+ "@abp/core" "~5.0.0-beta.2"
"@fortawesome/fontawesome-free" "^5.13.0"
-"@abp/jquery-form@~4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.4.3.tgz#3d5760e9ece4984165304fa028a5eb997adc4d9f"
- integrity sha512-lk0QYruQVwXhVFYBiIrNx5zqF7fY7PKuGGvPQMHyeNaljvpbuK5FPwkge0y6nToWA4Y7PhSCYBU7xvkBuqEDgA==
+"@abp/jquery-form@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-5.0.0-beta.2.tgz#4b685858d54eafac123995ebfea759c769e49cab"
+ integrity sha512-ekytRAvAUNKJAPiR5i7kxASh5j3D5jabO1GHbPwq6UzapGLMzG5r8s6/1b4eX+4Zorfy+TmERNeUsWvQwf3P1A==
dependencies:
- "@abp/jquery" "~4.4.3"
+ "@abp/jquery" "~5.0.0-beta.2"
jquery-form "^4.3.0"
-"@abp/jquery-form@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-5.0.0-beta.1.tgz#d13f4cffce48125547b9da57cfc407f9a35a89e6"
- integrity sha512-RYE90XIDxWkvxO5ukuZ2PHk6aA/o7NQKLcR9WsN1G2xTU/frrNPgtruGRTIj7Nx3BPUeMp7EAN2rYZwglcnO5g==
+"@abp/jquery-validation-unobtrusive@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-5.0.0-beta.2.tgz#392ab72716baea26e6f560e2369d09f8c5488d3b"
+ integrity sha512-PyiWj0hj5jkjcZ1oJeLXYuoVCIAg51X4y6iLbcb1SpAbqYQP23gilDJK8xkURbysGPMiDq+7tOiKAnGiHSBnWA==
dependencies:
- "@abp/jquery" "~5.0.0-beta.1"
- jquery-form "^4.3.0"
-
-"@abp/jquery-validation-unobtrusive@~4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.4.3.tgz#c08e336debe60a119a5abd0cb66032da6ace6b08"
- integrity sha512-mfvYChTALH5nmB0docrEkS5/+Yxt6SgbQOjPVuQx5PgqoVscmf2/JvsBnW73/YVdQBkVXs339hoDGPA6K2WR9w==
- dependencies:
- "@abp/jquery-validation" "~4.4.3"
- jquery-validation-unobtrusive "^3.2.11"
-
-"@abp/jquery-validation-unobtrusive@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-5.0.0-beta.1.tgz#93ff6ee92bccdde77816bfb434e967fd142f6b83"
- integrity sha512-LZE1KIALGBCINdWrHzoGczekUFtKwbXbLIgb4ZgiipO5Xja7py/iVvts10QWqUzhnBk+kmbHbj+KnjdqP4Z8pQ==
- dependencies:
- "@abp/jquery-validation" "~5.0.0-beta.1"
+ "@abp/jquery-validation" "~5.0.0-beta.2"
jquery-validation-unobtrusive "^3.2.11"
-"@abp/jquery-validation@~4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.4.3.tgz#331f3671e6e37bed4dc737942e8eb2a6d1297722"
- integrity sha512-RjKn9xxoYQz0v8yzWcVlbIQYZQTcXgYFX7GMJf04V/QbdU6vsge+5vHKzhcaW5XWL8+GgKHTqqoxbqzdJykaPA==
- dependencies:
- "@abp/jquery" "~4.4.3"
- jquery-validation "^1.19.2"
-
-"@abp/jquery-validation@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-5.0.0-beta.1.tgz#2964ca1266b087e4c4c0e768bfc4bfe0284e4ff5"
- integrity sha512-ZDNdkPy2ZNu0EYDNH20Oh9R3bICCYv9CbEj4zZ8Qavixo9VTkybY3BW0nYjcu1yb1P92gZPp80W8vyfxSo//kw==
+"@abp/jquery-validation@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-5.0.0-beta.2.tgz#233eda5998ae566daeb945d8508999da2ef75a51"
+ integrity sha512-jKY0yfRgM5RGlJeQCGKkkczx5qptpPkhqWr4x+ffTUzR+ywF9FHUB5zcbELpEyWuOJ9cilap2hga2lvPZ8c+Pg==
dependencies:
- "@abp/jquery" "~5.0.0-beta.1"
+ "@abp/jquery" "~5.0.0-beta.2"
jquery-validation "^1.19.2"
-"@abp/jquery@~4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.4.3.tgz#9d2dc238596a6e5c878b5be4b1d49e7e8f95aec4"
- integrity sha512-BN2KU1mw0hyQD8/61ZOIDM0hyMDkhZix4TOWCQa3s18pWHlBEsjKVnINQlz9J9k4TZEdQP9D3wZmw+XUfZjoIw==
+"@abp/jquery@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-5.0.0-beta.2.tgz#62fa64fcc0bd5dca4b5e7534b24205a3f0461f08"
+ integrity sha512-tMzjo9qQAgJDYPvLk67YNlnOOUSTUfPWodlqfl5vvo6/NHSsB9eJhXH28txEtygX0o/Mepi9Ag87dL9VLh0DEw==
dependencies:
- "@abp/core" "~4.4.3"
+ "@abp/core" "~5.0.0-beta.2"
jquery "~3.6.0"
-"@abp/jquery@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-5.0.0-beta.1.tgz#360e7a164b6b4ce615a5ad91a1c78ef6893648f3"
- integrity sha512-v2t+76L45tlbpGeVR39GurZl60Rj1pR/TdUidpP6zwnpx1Y3I+CvlJNDwTESeE/ixTOT3PyFbXoMEi6hI+v39A==
+"@abp/lodash@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-5.0.0-beta.2.tgz#c821eb502de3211f94ca2f7ba8a5c0b0677c5c9b"
+ integrity sha512-lW8lz1JG8kweVOWVCB7jC6xxLUE0G6MJfwv4g0+eKwFLgsAO5dK6Yk4xZi+UXgST73OgGt5LIQJcS4+aCo/zmg==
dependencies:
- "@abp/core" "~5.0.0-beta.1"
- jquery "~3.6.0"
-
-"@abp/lodash@~4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.4.3.tgz#8e936ebc54a9043eee80cb22f3dad5ea8a2306cb"
- integrity sha512-QKFjdRd8cEZp7fg9MhuFhD5CP3MBw7CfaJ3yj0W1e5Tx+xtV+rYz4PrOE8/BLb4un7gxqUrEWBgdIzY+lBR7mQ==
- dependencies:
- "@abp/core" "~4.4.3"
+ "@abp/core" "~5.0.0-beta.2"
lodash "^4.17.15"
-"@abp/lodash@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-5.0.0-beta.1.tgz#618797bde42b17f91d7f99fdd5f24cb5e8a361b3"
- integrity sha512-WsUjzHRZ6RkSMd5PTw0oWijDbbq/Wgonv8++ufUZi1WK5spZi9ohjcYM4io3Ms3fG+g4pWznaicYraMpV5tcsQ==
+"@abp/luxon@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-5.0.0-beta.2.tgz#64c68c3091415153c8c470fb3e5650bbc00500d1"
+ integrity sha512-0mSVsycWEo5hamEuR7Mqw00JnVRlhQvpy8Bks58d7bRksIQzK8iPx9advTbP2ICF3iz9zHT9MJrMXYfvUT6oIQ==
dependencies:
- "@abp/core" "~5.0.0-beta.1"
- lodash "^4.17.15"
-
-"@abp/luxon@~4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.4.3.tgz#bd3328f45714155870bc8a91d41a197a613392b0"
- integrity sha512-rPVzSXEy+rJZLIQ10boOq6suQAZQWJyB5P+rvfSx8h9sbRpsQ5fJOX2ShnUUf/+49KHzRRIqy+vrhr1oiE0C8Q==
- dependencies:
- "@abp/core" "~4.4.3"
+ "@abp/core" "~5.0.0-beta.2"
luxon "^1.24.1"
-"@abp/luxon@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-5.0.0-beta.1.tgz#fc81fcbfb592d3baf7b9856b3cecf5b86df4bfdf"
- integrity sha512-t4lhJ/wr1rAVH1/bnzmc8niZYvolTuXUB0h6A6UYaw205QyNtimzusYkTwkc+Z3xHFUrkLCoG7J2SVoCJuioaA==
+"@abp/malihu-custom-scrollbar-plugin@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-5.0.0-beta.2.tgz#6c030cfe1e123be0a81f769dedd6a6b22aed9077"
+ integrity sha512-ZEkCMMDKe26b/sCArQjDOGEm8+lQB9Uis17FNyHDt/vA+FdtaPJjeLOqmfzMeLQYppvefH+JCpGzfaWwCNZmcw==
dependencies:
- "@abp/core" "~5.0.0-beta.1"
- luxon "^1.24.1"
-
-"@abp/malihu-custom-scrollbar-plugin@~4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.4.3.tgz#194f39ebbabad7853089549a7e19cfd2a7393e98"
- integrity sha512-bhME41UsDCPGxnLP+zqH8nsx1uAxRR8tAeBKOJV24Xf8FHEjUQEDBXG0t1PBYGZVn1/0Ugao7Z12G9uZOiZVog==
- dependencies:
- "@abp/core" "~4.4.3"
- malihu-custom-scrollbar-plugin "^3.1.5"
-
-"@abp/malihu-custom-scrollbar-plugin@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-5.0.0-beta.1.tgz#7af43d30af9b1f741fd9d9559d100aa4a5c52ae9"
- integrity sha512-B195PC4/75W0EXjGEQUd/ZARb/eGWj8DX7hq3K+J+lUWzWu46dZy8s5bBij78HqxS91/q6nbxU35Z+E9xl6ICg==
- dependencies:
- "@abp/core" "~5.0.0-beta.1"
+ "@abp/core" "~5.0.0-beta.2"
malihu-custom-scrollbar-plugin "^3.1.5"
-"@abp/select2@~4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.4.3.tgz#71015901aae117360f876c744903613494800c83"
- integrity sha512-s7ArMLq2LC0m1oFcuCJghf5lEnGbq1D8/WaIKGmmD0ERL0g5xMccFlNbXm+Z79MJoTvQFssSLPTLZICjzWPKJw==
+"@abp/select2@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-5.0.0-beta.2.tgz#f5e74d56ccdabde61825453044f31fa183573b58"
+ integrity sha512-ApL7ioC4p5GguQM2KfnqtGrJ9TqBRiQh1v+y1J2Z3Lh18SJU+tsA3f9Va9ZyZNIFrpV3Bsmim2cIu7bjm7IBRw==
dependencies:
- "@abp/core" "~4.4.3"
+ "@abp/core" "~5.0.0-beta.2"
select2 "^4.0.13"
-"@abp/select2@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-5.0.0-beta.1.tgz#15988165fcfed2ebc2b8d097965e2dc1984af35e"
- integrity sha512-SF+NkWDJNz1EeEimW5luaCMPTNN1oPzEWs47usPJo8m7HfijEvF3rymJ8jL5zWIOo05Tx3HUurLSVz0qu4vZsw==
+"@abp/sweetalert2@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-5.0.0-beta.2.tgz#164c1df63c2859fa5277673906f85cc8e7e2d1ef"
+ integrity sha512-UdENhKcfywOorjTf4+CxDO8UUet9lYAIDH2r+Kd1qjFKIDDu6w3TfJ7Gz108VG84+RsUevfVLgZ8qeYsA+drKQ==
dependencies:
- "@abp/core" "~5.0.0-beta.1"
- select2 "^4.0.13"
-
-"@abp/sweetalert2@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-5.0.0-beta.1.tgz#c6a1185f39d3207f67753e7c486eddcefc7fd0da"
- integrity sha512-ADotpiMkIzHLy/ufK0q49V9hgF8oKE0rLRzVZV2dHBpmFR7YRcPdbb5AN9CiXDk6ol8nsocEEAwRmgD3eJG63w==
- dependencies:
- "@abp/core" "~5.0.0-beta.1"
+ "@abp/core" "~5.0.0-beta.2"
sweetalert2 "^11.0.18"
-"@abp/sweetalert@~4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.4.3.tgz#287b9c89f90885742b074b4e3a427f0ec482952d"
- integrity sha512-tAEgHMaTe+E+uS+Mt8XV3dt5yJJHg01Zsbp4ojO3wvdoAS6MKRXWdH05u3ZdwRQrJFbSgQjY85vWn/a/PnYRng==
- dependencies:
- "@abp/core" "~4.4.3"
- sweetalert "^2.1.2"
-
-"@abp/timeago@~4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.4.3.tgz#7d31b9fcc128e9b8c6bb7870c4284427e9f9f383"
- integrity sha512-E8FeAraStlYsHz6D1oBrwM5eHhZeCGrP7aA768Ke5UGIZPoYwyIIYLRfK4MCoCLKgTVlRrUn0Dj7Xkj9tWOfBQ==
+"@abp/timeago@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-5.0.0-beta.2.tgz#7a6242e6cc403addf172ebf18ffb3513d4b30f21"
+ integrity sha512-wdXaKd0dBJP0mawzHqE04YWUgpUYzq8vJHGH3QGf9RpB+XpMztt1KNHR6d32VylDAEoPEtB7GH4rVvlimKa48g==
dependencies:
- "@abp/jquery" "~4.4.3"
+ "@abp/jquery" "~5.0.0-beta.2"
timeago "^1.6.7"
-"@abp/timeago@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-5.0.0-beta.1.tgz#0f7bb8cd85b7e90d7d5c0a0940b9102e3f4f1e42"
- integrity sha512-QwYZyeDRW+X8BGecBcK1SgsClVWNYfPgvct+WkQhTIRxzbP/c1c+1irj69sNdN3df2WLnmjfu3sBw2hzz5ykbg==
+"@abp/toastr@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-5.0.0-beta.2.tgz#924f5315d3ade6ee41869d8809b625116c5b02f1"
+ integrity sha512-iqmgO/8AwORzYKf/43+Fx/478la0w+g+mrDahzokPlZFv6WUvFL3QSD/fs1mjc2yUOxEuvgprEiEfWoZcrwtNA==
dependencies:
- "@abp/jquery" "~5.0.0-beta.1"
- timeago "^1.6.7"
-
-"@abp/toastr@~4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.4.3.tgz#45ef155fdbb6134a50794e456f820671c72e4105"
- integrity sha512-dmKYS7iw/a+eWCD+J+nZ1htmGEjJSCsV1H8dDwA+ZxYJrE2/ejUh0LZ+b8Hsvobqfe/6bwYBj6oe0R9+vszCfg==
- dependencies:
- "@abp/jquery" "~4.4.3"
+ "@abp/jquery" "~5.0.0-beta.2"
toastr "^2.1.4"
-"@abp/toastr@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-5.0.0-beta.1.tgz#d420fc5db6b15f6d623d3928bb6913996511937f"
- integrity sha512-82LfDrZQagtv4QLb643VTra4pxleOq5xYwhpOK1Ifop2K5CRgElxKfWvY2EtxdGkpCO2arvkOzjRNbxnecHB2w==
+"@abp/uppy@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/uppy/-/uppy-5.0.0-beta.2.tgz#9b2dc0333cd2b35431a7287d60883d57796b63cf"
+ integrity sha512-oNRMMqgaFMMLDqPRaVOLER04iZ3Mx3h1kmfWOnEra3zopHqB/c3B3sOgaYYVzav2IeO/lz4YUuzLN6+/kZEIVw==
dependencies:
- "@abp/jquery" "~5.0.0-beta.1"
- toastr "^2.1.4"
-
-"@abp/uppy@~4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@abp/uppy/-/uppy-4.4.3.tgz#2ce6eae0be3875f5666a94480662412d31d5fb92"
- integrity sha512-tMov0MgPLQnGiBRmAmyJHSlaUAIyyVWHGfXqdmeMn1fzlmqNkRDStaflO5ei94kXk+MvU8DLZXVaWRSfmai3fg==
- dependencies:
- "@abp/core" "~4.4.3"
+ "@abp/core" "~5.0.0-beta.2"
uppy "^1.16.1"
-"@abp/utils@^4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.4.3.tgz#5d6939be5463adaa938357d74d1a35fed21b0115"
- integrity sha512-B2E89fhM7vKDz9He6EeNc9P5RVYThiBLpTkKvJTeXG+DJtrP2ZbEICe1fcDA48wLFokXXKgx/SjoJlMvObhilQ==
- dependencies:
- just-compare "^1.3.0"
-
-"@abp/utils@^5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-5.0.0-beta.1.tgz#e1bf9240738276081c89a67073d9d85205fdf14c"
- integrity sha512-suzKxHUautizxt5XdlJ8ONIaVMcAHrb2dp1kEnXnFRW1ip+7ZQ9/nxJj+GtY1MhHX2yPmlUQP2K8f2upJh9aoA==
+"@abp/utils@^5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-5.0.0-beta.2.tgz#4d120c0f930b943071b4ba27dafedf6c8b730182"
+ integrity sha512-EZV1P+eafVBEHO6B+Ws6iX4xyeg8B6nCPLvpaFC6mStk7SGidh2rAYYWyydyh68Ky8YdbLYQE3oPaIewOhDWTg==
dependencies:
just-compare "^1.3.0"
@@ -672,21 +498,21 @@
"@uppy/utils" "^3.3.0"
cuid "^2.1.1"
-"@volo/abp.aspnetcore.mvc.ui.theme.commercial@~4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@volo/abp.aspnetcore.mvc.ui.theme.commercial/-/abp.aspnetcore.mvc.ui.theme.commercial-4.4.3.tgz#1dd1c57b1ef4ebe4a8dddef522c6a98d4b039945"
- integrity sha512-V5b8mw2vg+c+728LBmK4e/vCjKYV00qgFt3KCk790F2/zxVXWmKDRBQtbivgoTB46B01hVDGkLleXufkvOAh0g==
+"@volo/abp.aspnetcore.mvc.ui.theme.commercial@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@volo/abp.aspnetcore.mvc.ui.theme.commercial/-/abp.aspnetcore.mvc.ui.theme.commercial-5.0.0-beta.2.tgz#6ac19bc128920b6f45996a2f0cddc36653188164"
+ integrity sha512-63gJgqexwdeSeiEHLmR4jxMv9+fXWjkNVjW29xAdtFMC+/kW07IMSOTZEA9bbGLOukOPxvN3OruEFc4n5v2HeA==
dependencies:
- "@abp/aspnetcore.mvc.ui.theme.shared" "~4.4.3"
+ "@abp/aspnetcore.mvc.ui.theme.shared" "~5.0.0-beta.2"
-"@volo/account@~4.4.3":
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/@volo/account/-/account-4.4.3.tgz#a0f5f394d7551a894cf8dcbb0e20a4b2f13f2063"
- integrity sha512-GpzuisoDiTBlj/eH4KQogH6dzyTXDY23m1XiXh9wIZ2huR+SrrRkTtfB/kn3eMuBcUomVYKxTvu0ux3Sfrwc8w==
+"@volo/account@^5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@volo/account/-/account-5.0.0-beta.2.tgz#681915f8a40cea1a95115fa17b231996fc33418a"
+ integrity sha512-qjyK4ZnHPtnLSBfE/ox4O1lavZa/bQA4TOp6tDayuLKYaAM0zAG/pz0heBzgkTQzj5+LlAJx/IkIOI/0BhLjKA==
dependencies:
- "@abp/cropperjs" "~4.4.3"
- "@abp/uppy" "~4.4.3"
- "@volo/abp.aspnetcore.mvc.ui.theme.commercial" "~4.4.3"
+ "@abp/cropperjs" "~5.0.0-beta.2"
+ "@abp/uppy" "~5.0.0-beta.2"
+ "@volo/abp.aspnetcore.mvc.ui.theme.commercial" "~5.0.0-beta.2"
abortcontroller-polyfill@^1.4.0:
version "1.5.0"
@@ -1368,11 +1194,6 @@ es6-iterator@^2.0.1, es6-iterator@^2.0.3, es6-iterator@~2.0.3:
es5-ext "^0.10.35"
es6-symbol "^3.1.1"
-es6-object-assign@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c"
- integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=
-
es6-symbol@^3.1.1, es6-symbol@~3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18"
@@ -2642,11 +2463,6 @@ process-nextick-args@^2.0.0, process-nextick-args@~2.0.0:
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
-promise-polyfill@^6.0.2:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-6.1.0.tgz#dfa96943ea9c121fca4de9b5868cb39d3472e057"
- integrity sha1-36lpQ+qcEh/KTem1hoyznTRy4Fc=
-
proper-lockfile@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/proper-lockfile/-/proper-lockfile-2.0.1.tgz#159fb06193d32003f4b3691dd2ec1a634aa80d1d"
@@ -3073,14 +2889,6 @@ sweetalert2@^11.0.18:
resolved "https://registry.yarnpkg.com/sweetalert2/-/sweetalert2-11.1.7.tgz#0ff2851eae77a76a3fe0ab289d3c32493e811b6d"
integrity sha512-7MHQVtKCTORfA9e58g9ZOfT3X58DkSBtvoCQJnqSHobXXb5C7aB8Yg/tAccTFnefCUBU41PoStjXMkzG3bNeig==
-sweetalert@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/sweetalert/-/sweetalert-2.1.2.tgz#010baaa80d0dbdc86f96bfcaa96b490728594b79"
- integrity sha512-iWx7X4anRBNDa/a+AdTmvAzQtkN1+s4j/JJRWlHpYE8Qimkohs8/XnFcWeYHH2lMA8LRCa5tj2d244If3S/hzA==
- dependencies:
- es6-object-assign "^1.1.0"
- promise-polyfill "^6.0.2"
-
through2-filter@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254"
diff --git a/apps/public-web/src/EShopOnAbp.PublicWeb/Dockerfile b/apps/public-web/src/EShopOnAbp.PublicWeb/Dockerfile
index e783fe5e..813b2f49 100644
--- a/apps/public-web/src/EShopOnAbp.PublicWeb/Dockerfile
+++ b/apps/public-web/src/EShopOnAbp.PublicWeb/Dockerfile
@@ -1,4 +1,53 @@
- FROM mcr.microsoft.com/dotnet/aspnet:6.0
- COPY bin/Release/net6.0/publish/ app/
- WORKDIR /app
- ENTRYPOINT ["dotnet", "EShopOnAbp.PublicWeb.dll"]
\ No newline at end of file
+FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
+WORKDIR /app
+EXPOSE 80
+EXPOSE 443
+
+FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
+WORKDIR /src
+
+# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles
+# to take advantage of Docker's build cache, to speed up local container builds
+COPY "EShopOnAbp.sln" "EShopOnAbp.sln"
+
+# Applications
+COPY "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj" "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj"
+COPY "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj" "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj"
+
+# Shared
+COPY "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj" "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj"
+COPY "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj" "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj"
+COPY "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj" "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj"
+COPY "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj" "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj"
+COPY "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj" "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj"
+
+# Microservices
+COPY "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj" "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj"
+COPY "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj" "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj"
+COPY *"services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj" "services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj"
+COPY *"services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj" "services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj"
+COPY *"services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj" "services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj"
+COPY *"services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj" "services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj"
+COPY *"services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj" "services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj"
+
+# Gateways
+COPY "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj" "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj"
+COPY "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj" "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj"
+
+COPY "NuGet.Config" "NuGet.Config"
+
+RUN dotnet restore "EShopOnAbp.sln"
+COPY . .
+
+WORKDIR "/src/apps/public-web/src/EShopOnAbp.PublicWeb"
+
+RUN dotnet publish -c Release -o /app
+# Should be used after .net6 is out of preview for better performance
+# RUN dotnet publish --no-restore -c Release -o /app
+
+FROM build AS publish
+
+FROM base AS final
+WORKDIR /app
+COPY --from=publish /app .
+ENTRYPOINT ["dotnet", "EShopOnAbp.PublicWeb.dll"]
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/Dockerfile b/apps/public-web/src/EShopOnAbp.PublicWeb/Dockerfile.local
similarity index 59%
rename from services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/Dockerfile
rename to apps/public-web/src/EShopOnAbp.PublicWeb/Dockerfile.local
index 505246d8..e783fe5e 100644
--- a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/Dockerfile
+++ b/apps/public-web/src/EShopOnAbp.PublicWeb/Dockerfile.local
@@ -1,4 +1,4 @@
FROM mcr.microsoft.com/dotnet/aspnet:6.0
COPY bin/Release/net6.0/publish/ app/
WORKDIR /app
- ENTRYPOINT ["dotnet", "EShopOnAbp.SaasService.HttpApi.Host.dll"]
\ No newline at end of file
+ ENTRYPOINT ["dotnet", "EShopOnAbp.PublicWeb.dll"]
\ No newline at end of file
diff --git a/apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj b/apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj
index e73523ba..c8e4799b 100644
--- a/apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj
+++ b/apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj
@@ -3,14 +3,28 @@
net6.0
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Always
@@ -21,29 +35,10 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <_ContentIncludedByDefault Remove="Pages\Products\Index.cshtml" />
+
+
+
+
diff --git a/apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbpPublicWebModule.cs b/apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbpPublicWebModule.cs
index 7da26e01..2bb7b7ad 100644
--- a/apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbpPublicWebModule.cs
+++ b/apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbpPublicWebModule.cs
@@ -55,6 +55,7 @@ namespace EShopOnAbp.PublicWeb
public override void ConfigureServices(ServiceConfigurationContext context)
{
+ Microsoft.IdentityModel.Logging.IdentityModelEventSource.ShowPII = true;
var hostingEnvironment = context.Services.GetHostingEnvironment();
var configuration = context.Services.GetConfiguration();
@@ -104,7 +105,8 @@ namespace EShopOnAbp.PublicWeb
var redis = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]);
context.Services
.AddDataProtection()
- .PersistKeysToStackExchangeRedis(redis, "MyProjectName-Protection-Keys");
+ .PersistKeysToStackExchangeRedis(redis, "EShopOnAbp-Protection-Keys")
+ .SetApplicationName("eShopOnAbp-PublicWeb");
Configure(options =>
{
@@ -145,7 +147,6 @@ namespace EShopOnAbp.PublicWeb
app.UseRouting();
// app.UseHttpMetrics();
app.UseAuthentication();
- app.UseMultiTenancy();
app.UseAbpSerilogEnrichers();
app.UseAuthorization();
app.UseConfiguredEndpoints(endpoints =>
diff --git a/apps/public-web/src/EShopOnAbp.PublicWeb/appsettings.json b/apps/public-web/src/EShopOnAbp.PublicWeb/appsettings.json
index bbc66d71..9d2fea29 100644
--- a/apps/public-web/src/EShopOnAbp.PublicWeb/appsettings.json
+++ b/apps/public-web/src/EShopOnAbp.PublicWeb/appsettings.json
@@ -38,7 +38,7 @@
"AuthServer": {
"Authority": "https://localhost:44330",
"RequireHttpsMetadata": "true",
- "ClientId": "EShopOnAbp_PublicWeb",
+ "ClientId": "PublicWeb",
"ClientSecret": "1q2w3e*"
}
}
\ No newline at end of file
diff --git a/apps/public-web/src/EShopOnAbp.PublicWeb/package.json b/apps/public-web/src/EShopOnAbp.PublicWeb/package.json
index b1d9804f..3ccc36c3 100644
--- a/apps/public-web/src/EShopOnAbp.PublicWeb/package.json
+++ b/apps/public-web/src/EShopOnAbp.PublicWeb/package.json
@@ -3,6 +3,6 @@
"name": "EShopOnAbpPublicWeb",
"private": true,
"dependencies": {
- "@abp/aspnetcore.mvc.ui.theme.basic": "~5.0.0-beta.1"
+ "@abp/aspnetcore.mvc.ui.theme.basic": "^5.0.0-beta.2"
}
}
\ No newline at end of file
diff --git a/apps/public-web/src/EShopOnAbp.PublicWeb/wwwroot/libs/select2/js/select2-bootstrap-modal-patch.js b/apps/public-web/src/EShopOnAbp.PublicWeb/wwwroot/libs/select2/js/select2-bootstrap-modal-patch.js
index 1fee6e79..d7b5d2d9 100644
--- a/apps/public-web/src/EShopOnAbp.PublicWeb/wwwroot/libs/select2/js/select2-bootstrap-modal-patch.js
+++ b/apps/public-web/src/EShopOnAbp.PublicWeb/wwwroot/libs/select2/js/select2-bootstrap-modal-patch.js
@@ -1,4 +1,6 @@
/*
https://select2.org/troubleshooting/common-problems
*/
-$.fn.modal.Constructor.prototype._enforceFocus = function () { };
\ No newline at end of file
+if ($.fn.modal) {
+ $.fn.modal.Constructor.prototype._enforceFocus = function () { };
+}
diff --git a/apps/public-web/src/EShopOnAbp.PublicWeb/yarn.lock b/apps/public-web/src/EShopOnAbp.PublicWeb/yarn.lock
index 5f7f660e..d2d77766 100644
--- a/apps/public-web/src/EShopOnAbp.PublicWeb/yarn.lock
+++ b/apps/public-web/src/EShopOnAbp.PublicWeb/yarn.lock
@@ -2,37 +2,37 @@
# yarn lockfile v1
-"@abp/aspnetcore.mvc.ui.theme.basic@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-5.0.0-beta.1.tgz#2c78c2bd977a67f6c2ed77cfcd404cf9533eaaae"
- integrity sha512-b8Boztxd5NbaDlXQvgHXHtw8ZNgM4tEgo14kw/bN3mcLx05fWLGd8Lzfdi7i+Ju6U3rKbgi+0MSbga93A0KSmg==
- dependencies:
- "@abp/aspnetcore.mvc.ui.theme.shared" "~5.0.0-beta.1"
-
-"@abp/aspnetcore.mvc.ui.theme.shared@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-5.0.0-beta.1.tgz#25596652bb3f7b6bac5bbd966a731144cd9646c6"
- integrity sha512-N4SHu6rn8alK4jdve00IscngrfvqJNEjrwQclXNmP9c4NtPuVM9emZdxBzKF8jFb6Hz8HiwM9H3xV/SjKCS/7A==
- dependencies:
- "@abp/aspnetcore.mvc.ui" "~5.0.0-beta.1"
- "@abp/bootstrap" "~5.0.0-beta.1"
- "@abp/bootstrap-datepicker" "~5.0.0-beta.1"
- "@abp/datatables.net-bs4" "~5.0.0-beta.1"
- "@abp/font-awesome" "~5.0.0-beta.1"
- "@abp/jquery-form" "~5.0.0-beta.1"
- "@abp/jquery-validation-unobtrusive" "~5.0.0-beta.1"
- "@abp/lodash" "~5.0.0-beta.1"
- "@abp/luxon" "~5.0.0-beta.1"
- "@abp/malihu-custom-scrollbar-plugin" "~5.0.0-beta.1"
- "@abp/select2" "~5.0.0-beta.1"
- "@abp/sweetalert2" "~5.0.0-beta.1"
- "@abp/timeago" "~5.0.0-beta.1"
- "@abp/toastr" "~5.0.0-beta.1"
-
-"@abp/aspnetcore.mvc.ui@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-5.0.0-beta.1.tgz#30c14386899596bf91e8871810dbaa1a0e51e996"
- integrity sha512-pabiGHghC62eg95RfAncEt0+yGdBxdMmyqCXV+Be4JjaMz/hGZIDOPIYnaqCayZtyMmIRqG6IAwi99DqBjkQAQ==
+"@abp/aspnetcore.mvc.ui.theme.basic@^5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-5.0.0-beta.2.tgz#077d1edd88f2f1ccb5c8227180a75e3121eece19"
+ integrity sha512-b7f05Fza18NYHudrHosYuCX/UJ/Y3KYJrJMHqdvAsZYu0t3dc7EMWKYTDA/+rDEO8iV/83twRYfHLf0tmVyc1Q==
+ dependencies:
+ "@abp/aspnetcore.mvc.ui.theme.shared" "~5.0.0-beta.2"
+
+"@abp/aspnetcore.mvc.ui.theme.shared@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-5.0.0-beta.2.tgz#8c58d252f1a39f91c2c287b91691e5bd772f4918"
+ integrity sha512-l4suGM7PjGTw/MEg2f2BdbRXYzALhZQUSijzKIQTy5dwcA/JQPsLbezPzGy45fD3lXsYxBwS4QaOmofTosKkug==
+ dependencies:
+ "@abp/aspnetcore.mvc.ui" "~5.0.0-beta.2"
+ "@abp/bootstrap" "~5.0.0-beta.2"
+ "@abp/bootstrap-datepicker" "~5.0.0-beta.2"
+ "@abp/datatables.net-bs4" "~5.0.0-beta.2"
+ "@abp/font-awesome" "~5.0.0-beta.2"
+ "@abp/jquery-form" "~5.0.0-beta.2"
+ "@abp/jquery-validation-unobtrusive" "~5.0.0-beta.2"
+ "@abp/lodash" "~5.0.0-beta.2"
+ "@abp/luxon" "~5.0.0-beta.2"
+ "@abp/malihu-custom-scrollbar-plugin" "~5.0.0-beta.2"
+ "@abp/select2" "~5.0.0-beta.2"
+ "@abp/sweetalert2" "~5.0.0-beta.2"
+ "@abp/timeago" "~5.0.0-beta.2"
+ "@abp/toastr" "~5.0.0-beta.2"
+
+"@abp/aspnetcore.mvc.ui@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-5.0.0-beta.2.tgz#c30d9905e133451208e379f7173ed9c44dd5f487"
+ integrity sha512-8Dzfg5SzeVoXz/nY11o2u3y7ZQdUW/zVSYVTgbsCMC1HCe2yzptpr2XI0Goz8jQKgz0G+zg3iwfeur7vNoaoMw==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@@ -41,145 +41,145 @@
merge-stream "^2.0.0"
micromatch "^4.0.2"
-"@abp/bootstrap-datepicker@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-5.0.0-beta.1.tgz#727e0f7305a94c95ece152ffff011bcff621f46d"
- integrity sha512-txhdlJqyO2D9MkGLYgrsiDaC58cb2eCpk2uxoqqQeVWvuRPo/L+9rCBk+bu6J37FGJtU8aabtHJyR5xnYbv0TQ==
+"@abp/bootstrap-datepicker@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-5.0.0-beta.2.tgz#dbf92485225a424f0e53e55c3ef8c993943682f0"
+ integrity sha512-jJWVKrkKcUMEqwBrEqhGD1zDFD8b0b3j0WdlzKuzlw26AaQkfE4LQ9Gjfjs+RnTW1LxPn8rGP8QCgdVeWMNjQQ==
dependencies:
bootstrap-datepicker "^1.9.0"
-"@abp/bootstrap@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-5.0.0-beta.1.tgz#075a15459ff8e3896b6553786e6c8f091c6ffcad"
- integrity sha512-W8z6qSAsRoXmG0++xH6Bk1oRc90hFqVcjKI+5XgBQhUUCn2qBruBYOKFxPg2GeT2f1k9K5TrCEnnVrh0sOP9/A==
+"@abp/bootstrap@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-5.0.0-beta.2.tgz#0faaa85871fd23076dd597dce83dc3020b1ff950"
+ integrity sha512-zy0DUcAJuX+Oeu4csw7XbyLGq/YdfonMLJt/Mkpq8CjAssD7n7aJK6PwG+akaI4giSQd7Sc1JvvnKRMRzyxy1Q==
dependencies:
- "@abp/core" "~5.0.0-beta.1"
+ "@abp/core" "~5.0.0-beta.2"
bootstrap "^4.6.0"
bootstrap-v4-rtl "4.6.0-1"
-"@abp/core@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/core/-/core-5.0.0-beta.1.tgz#6cff06b13529ab9d7a6ddc4e89dc40616e6b7739"
- integrity sha512-TK1CnurJIK/SXfsNTk6HSpxdaJgVxwvqNd4F3fxCC0Uj8s5viD3TAGk39Hkp4909WGfNrRq8BEUNvTYM/rP6gg==
+"@abp/core@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/core/-/core-5.0.0-beta.2.tgz#f9643d21b19128be3ad58b23083e1fc9620f2102"
+ integrity sha512-AHlJQF5NC+yNsj5xILHk1CF++Z93aQDNp0zdJciDqIexH9lEJ+AQCX2EKLn0yjWt4Ga00pOOmQM5vJVJjuJCEw==
dependencies:
- "@abp/utils" "^5.0.0-beta.1"
+ "@abp/utils" "^5.0.0-beta.2"
-"@abp/datatables.net-bs4@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-5.0.0-beta.1.tgz#110d7d8cf1c15db7432d8f0649f4317ba8de10dd"
- integrity sha512-CPodZP9pqLdwnFZ77/mcSfuhyK1WMi/c+9VWpGXFQSGaABNKPP2UIdAChwUcBRdGkZRa/IhXx3CCr1ZMLpJsMQ==
+"@abp/datatables.net-bs4@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-5.0.0-beta.2.tgz#3afb32918f59b55c68d3d37b2c1f0bf49bb06fc8"
+ integrity sha512-t6YserKkBId7KnT46uYaGw6HJrf8tcLp4bJmGyUSnCwVlgJcha/P6fr3pKWqFz9QPGk5riCZF3hK6x1BH9u71g==
dependencies:
- "@abp/datatables.net" "~5.0.0-beta.1"
+ "@abp/datatables.net" "~5.0.0-beta.2"
datatables.net-bs4 "^1.10.21"
-"@abp/datatables.net@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-5.0.0-beta.1.tgz#8e784a011d33de154554f3239c448fcfd8adb713"
- integrity sha512-mRMYqTCoYLmDLvL+CvmwUS4JqCqdkn6mxHd7zgkaR04xlGLEmNae5aGbs1wURJ86MOWrHbfkx66lQjkul3zbQw==
+"@abp/datatables.net@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-5.0.0-beta.2.tgz#fc87be76ebec94b16c6734c2249ea8a0a04a83b8"
+ integrity sha512-aEAlej1wNtxsxpwlw2GFOV0tFSZ7MWA+Wpfi5QZ4VIbYHSIkhEnz0apiNMBsoB8i7VJLJKZuKvynlJWYABNk0Q==
dependencies:
- "@abp/jquery" "~5.0.0-beta.1"
+ "@abp/jquery" "~5.0.0-beta.2"
datatables.net "^1.10.21"
-"@abp/font-awesome@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-5.0.0-beta.1.tgz#3ae721c447a009601226c381a20dc4adabe154e1"
- integrity sha512-fsMqwApogZ1rAogStQxBX/Nh8akXPW/Alm8UayfK6TXIkPPjBz5RQSHfdlosG7M/U3mwUNGcLlaDvQXsE/nqow==
+"@abp/font-awesome@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-5.0.0-beta.2.tgz#10a920fb20294f7ccd404ea2b302fb11f68f0705"
+ integrity sha512-Mmhfm7g5HdflvqbZOZDKk335IlY8ipwtKsCQ1qRaobsMpWi2AFh6/P/XX7y4H5p0wH5cluUsSzS1QB37QXp36w==
dependencies:
- "@abp/core" "~5.0.0-beta.1"
+ "@abp/core" "~5.0.0-beta.2"
"@fortawesome/fontawesome-free" "^5.13.0"
-"@abp/jquery-form@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-5.0.0-beta.1.tgz#d13f4cffce48125547b9da57cfc407f9a35a89e6"
- integrity sha512-RYE90XIDxWkvxO5ukuZ2PHk6aA/o7NQKLcR9WsN1G2xTU/frrNPgtruGRTIj7Nx3BPUeMp7EAN2rYZwglcnO5g==
+"@abp/jquery-form@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-5.0.0-beta.2.tgz#4b685858d54eafac123995ebfea759c769e49cab"
+ integrity sha512-ekytRAvAUNKJAPiR5i7kxASh5j3D5jabO1GHbPwq6UzapGLMzG5r8s6/1b4eX+4Zorfy+TmERNeUsWvQwf3P1A==
dependencies:
- "@abp/jquery" "~5.0.0-beta.1"
+ "@abp/jquery" "~5.0.0-beta.2"
jquery-form "^4.3.0"
-"@abp/jquery-validation-unobtrusive@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-5.0.0-beta.1.tgz#93ff6ee92bccdde77816bfb434e967fd142f6b83"
- integrity sha512-LZE1KIALGBCINdWrHzoGczekUFtKwbXbLIgb4ZgiipO5Xja7py/iVvts10QWqUzhnBk+kmbHbj+KnjdqP4Z8pQ==
+"@abp/jquery-validation-unobtrusive@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-5.0.0-beta.2.tgz#392ab72716baea26e6f560e2369d09f8c5488d3b"
+ integrity sha512-PyiWj0hj5jkjcZ1oJeLXYuoVCIAg51X4y6iLbcb1SpAbqYQP23gilDJK8xkURbysGPMiDq+7tOiKAnGiHSBnWA==
dependencies:
- "@abp/jquery-validation" "~5.0.0-beta.1"
+ "@abp/jquery-validation" "~5.0.0-beta.2"
jquery-validation-unobtrusive "^3.2.11"
-"@abp/jquery-validation@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-5.0.0-beta.1.tgz#2964ca1266b087e4c4c0e768bfc4bfe0284e4ff5"
- integrity sha512-ZDNdkPy2ZNu0EYDNH20Oh9R3bICCYv9CbEj4zZ8Qavixo9VTkybY3BW0nYjcu1yb1P92gZPp80W8vyfxSo//kw==
+"@abp/jquery-validation@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-5.0.0-beta.2.tgz#233eda5998ae566daeb945d8508999da2ef75a51"
+ integrity sha512-jKY0yfRgM5RGlJeQCGKkkczx5qptpPkhqWr4x+ffTUzR+ywF9FHUB5zcbELpEyWuOJ9cilap2hga2lvPZ8c+Pg==
dependencies:
- "@abp/jquery" "~5.0.0-beta.1"
+ "@abp/jquery" "~5.0.0-beta.2"
jquery-validation "^1.19.2"
-"@abp/jquery@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-5.0.0-beta.1.tgz#360e7a164b6b4ce615a5ad91a1c78ef6893648f3"
- integrity sha512-v2t+76L45tlbpGeVR39GurZl60Rj1pR/TdUidpP6zwnpx1Y3I+CvlJNDwTESeE/ixTOT3PyFbXoMEi6hI+v39A==
+"@abp/jquery@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-5.0.0-beta.2.tgz#62fa64fcc0bd5dca4b5e7534b24205a3f0461f08"
+ integrity sha512-tMzjo9qQAgJDYPvLk67YNlnOOUSTUfPWodlqfl5vvo6/NHSsB9eJhXH28txEtygX0o/Mepi9Ag87dL9VLh0DEw==
dependencies:
- "@abp/core" "~5.0.0-beta.1"
+ "@abp/core" "~5.0.0-beta.2"
jquery "~3.6.0"
-"@abp/lodash@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-5.0.0-beta.1.tgz#618797bde42b17f91d7f99fdd5f24cb5e8a361b3"
- integrity sha512-WsUjzHRZ6RkSMd5PTw0oWijDbbq/Wgonv8++ufUZi1WK5spZi9ohjcYM4io3Ms3fG+g4pWznaicYraMpV5tcsQ==
+"@abp/lodash@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-5.0.0-beta.2.tgz#c821eb502de3211f94ca2f7ba8a5c0b0677c5c9b"
+ integrity sha512-lW8lz1JG8kweVOWVCB7jC6xxLUE0G6MJfwv4g0+eKwFLgsAO5dK6Yk4xZi+UXgST73OgGt5LIQJcS4+aCo/zmg==
dependencies:
- "@abp/core" "~5.0.0-beta.1"
+ "@abp/core" "~5.0.0-beta.2"
lodash "^4.17.15"
-"@abp/luxon@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-5.0.0-beta.1.tgz#fc81fcbfb592d3baf7b9856b3cecf5b86df4bfdf"
- integrity sha512-t4lhJ/wr1rAVH1/bnzmc8niZYvolTuXUB0h6A6UYaw205QyNtimzusYkTwkc+Z3xHFUrkLCoG7J2SVoCJuioaA==
+"@abp/luxon@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-5.0.0-beta.2.tgz#64c68c3091415153c8c470fb3e5650bbc00500d1"
+ integrity sha512-0mSVsycWEo5hamEuR7Mqw00JnVRlhQvpy8Bks58d7bRksIQzK8iPx9advTbP2ICF3iz9zHT9MJrMXYfvUT6oIQ==
dependencies:
- "@abp/core" "~5.0.0-beta.1"
+ "@abp/core" "~5.0.0-beta.2"
luxon "^1.24.1"
-"@abp/malihu-custom-scrollbar-plugin@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-5.0.0-beta.1.tgz#7af43d30af9b1f741fd9d9559d100aa4a5c52ae9"
- integrity sha512-B195PC4/75W0EXjGEQUd/ZARb/eGWj8DX7hq3K+J+lUWzWu46dZy8s5bBij78HqxS91/q6nbxU35Z+E9xl6ICg==
+"@abp/malihu-custom-scrollbar-plugin@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-5.0.0-beta.2.tgz#6c030cfe1e123be0a81f769dedd6a6b22aed9077"
+ integrity sha512-ZEkCMMDKe26b/sCArQjDOGEm8+lQB9Uis17FNyHDt/vA+FdtaPJjeLOqmfzMeLQYppvefH+JCpGzfaWwCNZmcw==
dependencies:
- "@abp/core" "~5.0.0-beta.1"
+ "@abp/core" "~5.0.0-beta.2"
malihu-custom-scrollbar-plugin "^3.1.5"
-"@abp/select2@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-5.0.0-beta.1.tgz#15988165fcfed2ebc2b8d097965e2dc1984af35e"
- integrity sha512-SF+NkWDJNz1EeEimW5luaCMPTNN1oPzEWs47usPJo8m7HfijEvF3rymJ8jL5zWIOo05Tx3HUurLSVz0qu4vZsw==
+"@abp/select2@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-5.0.0-beta.2.tgz#f5e74d56ccdabde61825453044f31fa183573b58"
+ integrity sha512-ApL7ioC4p5GguQM2KfnqtGrJ9TqBRiQh1v+y1J2Z3Lh18SJU+tsA3f9Va9ZyZNIFrpV3Bsmim2cIu7bjm7IBRw==
dependencies:
- "@abp/core" "~5.0.0-beta.1"
+ "@abp/core" "~5.0.0-beta.2"
select2 "^4.0.13"
-"@abp/sweetalert2@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-5.0.0-beta.1.tgz#c6a1185f39d3207f67753e7c486eddcefc7fd0da"
- integrity sha512-ADotpiMkIzHLy/ufK0q49V9hgF8oKE0rLRzVZV2dHBpmFR7YRcPdbb5AN9CiXDk6ol8nsocEEAwRmgD3eJG63w==
+"@abp/sweetalert2@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-5.0.0-beta.2.tgz#164c1df63c2859fa5277673906f85cc8e7e2d1ef"
+ integrity sha512-UdENhKcfywOorjTf4+CxDO8UUet9lYAIDH2r+Kd1qjFKIDDu6w3TfJ7Gz108VG84+RsUevfVLgZ8qeYsA+drKQ==
dependencies:
- "@abp/core" "~5.0.0-beta.1"
+ "@abp/core" "~5.0.0-beta.2"
sweetalert2 "^11.0.18"
-"@abp/timeago@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-5.0.0-beta.1.tgz#0f7bb8cd85b7e90d7d5c0a0940b9102e3f4f1e42"
- integrity sha512-QwYZyeDRW+X8BGecBcK1SgsClVWNYfPgvct+WkQhTIRxzbP/c1c+1irj69sNdN3df2WLnmjfu3sBw2hzz5ykbg==
+"@abp/timeago@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-5.0.0-beta.2.tgz#7a6242e6cc403addf172ebf18ffb3513d4b30f21"
+ integrity sha512-wdXaKd0dBJP0mawzHqE04YWUgpUYzq8vJHGH3QGf9RpB+XpMztt1KNHR6d32VylDAEoPEtB7GH4rVvlimKa48g==
dependencies:
- "@abp/jquery" "~5.0.0-beta.1"
+ "@abp/jquery" "~5.0.0-beta.2"
timeago "^1.6.7"
-"@abp/toastr@~5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-5.0.0-beta.1.tgz#d420fc5db6b15f6d623d3928bb6913996511937f"
- integrity sha512-82LfDrZQagtv4QLb643VTra4pxleOq5xYwhpOK1Ifop2K5CRgElxKfWvY2EtxdGkpCO2arvkOzjRNbxnecHB2w==
+"@abp/toastr@~5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-5.0.0-beta.2.tgz#924f5315d3ade6ee41869d8809b625116c5b02f1"
+ integrity sha512-iqmgO/8AwORzYKf/43+Fx/478la0w+g+mrDahzokPlZFv6WUvFL3QSD/fs1mjc2yUOxEuvgprEiEfWoZcrwtNA==
dependencies:
- "@abp/jquery" "~5.0.0-beta.1"
+ "@abp/jquery" "~5.0.0-beta.2"
toastr "^2.1.4"
-"@abp/utils@^5.0.0-beta.1":
- version "5.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-5.0.0-beta.1.tgz#e1bf9240738276081c89a67073d9d85205fdf14c"
- integrity sha512-suzKxHUautizxt5XdlJ8ONIaVMcAHrb2dp1kEnXnFRW1ip+7ZQ9/nxJj+GtY1MhHX2yPmlUQP2K8f2upJh9aoA==
+"@abp/utils@^5.0.0-beta.2":
+ version "5.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-5.0.0-beta.2.tgz#4d120c0f930b943071b4ba27dafedf6c8b730182"
+ integrity sha512-EZV1P+eafVBEHO6B+Ws6iX4xyeg8B6nCPLvpaFC6mStk7SGidh2rAYYWyydyh68Ky8YdbLYQE3oPaIewOhDWTg==
dependencies:
just-compare "^1.3.0"
diff --git a/build/build-images-locally.ps1 b/build/build-images-locally.ps1
new file mode 100644
index 00000000..cf85bc3f
--- /dev/null
+++ b/build/build-images-locally.ps1
@@ -0,0 +1,68 @@
+param ($version='latest')
+
+$currentFolder = $PSScriptRoot
+$slnFolder = Join-Path $currentFolder "../"
+$webAppFolder = Join-Path $slnFolder "apps/angular"
+$authserverFolder = Join-Path $slnFolder "apps/auth-server/src/EShopOnAbp.AuthServer"
+$publicWebFolder = Join-Path $slnFolder "apps/public-web/src/EShopOnAbp.PublicWeb"
+
+$webGatewayFolder = Join-Path $slnFolder "gateways/web/src/EShopOnAbp.WebGateway"
+$webPublicGatewayFolder = Join-Path $slnFolder "gateways/web-public/src/EShopOnAbp.WebPublicGateway"
+
+$identityServiceFolder = Join-Path $slnFolder "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host"
+$administrationServiceFolder = Join-Path $slnFolder "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host"
+$saasServiceFolder = Join-Path $slnFolder "services/saas/src/EShopOnAbp.SaasService.HttpApi.Host"
+
+### Angular WEB App(WWW)
+Write-Host "*** BUILDING WEB (WWW) ****************" -ForegroundColor Green
+Set-Location $webAppFolder
+yarn
+# ng build --prod
+npm run build:prod
+docker build -t eshoponabp/app-web:$version .
+
+### AUTH-SERVER
+Write-Host "*** BUILDING AUTH-SERVER ****************" -ForegroundColor Green
+Set-Location $authserverFolder
+dotnet publish -c Release
+docker build -f Dockerfile.local -t eshoponabp/app-authserver:$version .
+
+### PUBLIC-WEB
+Write-Host "*** BUILDING WEB-PUBLIC ****************" -ForegroundColor Green
+Set-Location $publicWebFolder
+dotnet publish -c Release
+docker build -f Dockerfile.local -t eshoponabp/app-publicweb:$version .
+
+### WEB-GATEWAY
+Write-Host "*** BUILDING WEB-GATEWAY ****************" -ForegroundColor Green
+Set-Location $webGatewayFolder
+dotnet publish -c Release
+docker build -f Dockerfile.local -t eshoponabp/gateway-web:$version .
+
+### PUBLICWEB-GATEWAY
+Write-Host "*** BUILDING WEB-PUBLIC-GATEWAY ****************" -ForegroundColor Green
+Set-Location $webPublicGatewayFolder
+dotnet publish -c Release
+docker build -f Dockerfile.local -t eshoponabp/gateway-web-public:$version .
+
+### IDENTITY-SERVICE
+Write-Host "*** BUILDING IDENTITY-SERVICE ****************" -ForegroundColor Green
+Set-Location $identityServiceFolder
+dotnet publish -c Release
+docker build -f Dockerfile.local -t eshoponabp/service-identity:$version .
+
+### ADMINISTRATION-SERVICE
+Write-Host "*** BUILDING ADMINISTRATION-SERVICE ****************" -ForegroundColor Green
+Set-Location $administrationServiceFolder
+dotnet publish -c Release
+docker build -f Dockerfile.local -t eshoponabp/service-administration:$version .
+
+### SAAS-SERVICE
+Write-Host "*** BUILDING SAAS-SERVICE ****************" -ForegroundColor Green
+Set-Location $saasServiceFolder
+dotnet publish -c Release
+docker build -f Dockerfile.local -t eshoponabp/service-saas:$version .
+
+### ALL COMPLETED
+Write-Host "ALL COMPLETED" -ForegroundColor Green
+Set-Location $currentFolder
\ No newline at end of file
diff --git a/build/build-images.ps1 b/build/build-images.ps1
new file mode 100644
index 00000000..c85d615c
--- /dev/null
+++ b/build/build-images.ps1
@@ -0,0 +1,64 @@
+param ($version='1.0')
+
+$currentFolder = $PSScriptRoot
+$slnFolder = Join-Path $currentFolder "../"
+$webAppFolder = Join-Path $slnFolder "apps/angular"
+$authserverFolder = Join-Path $slnFolder "apps/auth-server/src/EShopOnAbp.AuthServer"
+$publicWebFolder = Join-Path $slnFolder "apps/public-web/src/EShopOnAbp.PublicWeb"
+
+$webGatewayFolder = Join-Path $slnFolder "gateways/web/src/EShopOnAbp.WebGateway"
+$webPublicGatewayFolder = Join-Path $slnFolder "gateways/web-public/src/EShopOnAbp.WebPublicGateway"
+
+$identityServiceFolder = Join-Path $slnFolder "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host"
+$administrationServiceFolder = Join-Path $slnFolder "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host"
+$saasServiceFolder = Join-Path $slnFolder "services/saas/src/EShopOnAbp.SaasService.HttpApi.Host"
+
+Write-Host "===== BUILDING APPLICATIONS =====" -ForegroundColor Yellow
+
+### Angular WEB App
+Write-Host "*** BUILDING ANGULAR WEB APPLICATION ***" -ForegroundColor Green
+Set-Location $webAppFolder
+docker build -f "$webAppFolder/Dockerfile" -t eshoponabp/app-web:$version .
+
+### AUTH-SERVER
+Write-Host "**************** BUILDING AUTH-SERVER ****************" -ForegroundColor Green
+Set-Location $slnFolder
+docker build -f "$authserverFolder/Dockerfile" -t eshoponabp/app-authserver:$version .
+
+### PUBLIC-WEB
+Write-Host "**************** BUILDING WEB-PUBLIC ****************" -ForegroundColor Green
+Set-Location $slnFolder
+docker build -f "$publicWebFolder/Dockerfile" -t eshoponabp/app-publicweb:$version .
+
+Write-Host "===== BUILDING GATEWAYS =====" -ForegroundColor Yellow
+
+### WEB-GATEWAY
+Write-Host "**************** BUILDING WEB-GATEWAY ****************" -ForegroundColor Green
+Set-Location $slnFolder
+docker build -f "$webGatewayFolder/Dockerfile" -t eshoponabp/gateway-web:$version .
+
+### PUBLICWEB-GATEWAY
+Write-Host "**************** BUILDING WEB-PUBLIC-GATEWAY ****************" -ForegroundColor Green
+Set-Location $slnFolder
+docker build -f "$webPublicGatewayFolder/Dockerfile" -t eshoponabp/gateway-web-public:$version .
+
+Write-Host "===== BUILDING MICROSERVICES =====" -ForegroundColor Yellow
+
+### IDENTITY-SERVICE
+Write-Host "**************** BUILDING IDENTITY-SERVICE ****************" -ForegroundColor Green
+Set-Location $slnFolder
+docker build -f "$identityServiceFolder/Dockerfile" -t eshoponabp/service-identity:$version .
+
+### ADMINISTRATION-SERVICE
+Write-Host "**************** BUILDING ADMINISTRATION-SERVICE ****************" -ForegroundColor Green
+Set-Location $slnFolder
+docker build -f "$administrationServiceFolder/Dockerfile" -t eshoponabp/service-administration:$version .
+
+### SAAS-SERVICE
+Write-Host "**************** BUILDING SAAS-SERVICE ****************" -ForegroundColor Green
+Set-Location $slnFolder
+docker build -f "$saasServiceFolder/Dockerfile" -t eshoponabp/service-saas:$version .
+
+### ALL COMPLETED
+Write-Host "ALL COMPLETED" -ForegroundColor Green
+Set-Location $currentFolder
\ No newline at end of file
diff --git a/docs/roadmap/Phase_1.png b/docs/roadmap/Phase_1.png
index f1b32c7e..b0085561 100644
Binary files a/docs/roadmap/Phase_1.png and b/docs/roadmap/Phase_1.png differ
diff --git a/etc/k8s/README.md b/etc/README.md
similarity index 65%
rename from etc/k8s/README.md
rename to etc/README.md
index e34481e5..b1c368b7 100644
--- a/etc/k8s/README.md
+++ b/etc/README.md
@@ -4,7 +4,7 @@
* Install [NGINX ingress](https://kubernetes.github.io/ingress-nginx/deploy/) for k8s
OR
* Install NGINX ingress using helm
-```
+```powershell
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
@@ -17,17 +17,19 @@ helm install ingress-nginx ingress-nginx/ingress-nginx
* Add entries to the hosts file (in Windows: `C:\Windows\System32\drivers\etc\hosts`):
-````
-127.0.0.1 eshoponabp-public-web
-127.0.0.1 eshoponabp-authserver
-127.0.0.1 eshoponabp-identity
-127.0.0.1 eshoponabp-administration
-127.0.0.1 eshoponabp-saas
-127.0.0.1 eshoponabp-public-webgateway
+````powershell
+127.0.0.1 eshop-st-web
+127.0.0.1 eshop-st-public-web
+127.0.0.1 eshop-st-authserver
+127.0.0.1 eshop-st-identity
+127.0.0.1 eshop-st-administration
+127.0.0.1 eshop-st-saas
+127.0.0.1 eshop-st-gateway-web
+127.0.0.1 eshop-st-gateway-web-public
````
* Run `build-images.ps1` in the `scripts` directory.
-* Run `deploy-staging.ps1` in the `helm-chart` directory. It is deployed with the `eventhub` namespace.
+* Run `deploy-staging.ps1` in the `helm-chart` directory. It is deployed with the `eshop` namespace.
* *You may wait ~30 seconds on first run for preparing the database*.
-* Browse https://eshoponabp-public-web and https://eshoponabp-authserver
+* Browse https://eshop-st-public-web for public and https://eshop-st-web for web application
* Username: `admin`, password: `1q2w3E*`.
diff --git a/etc/k8s/deploy-staging.ps1 b/etc/k8s/deploy-staging.ps1
index ad6e28ce..3b3b8f97 100644
--- a/etc/k8s/deploy-staging.ps1
+++ b/etc/k8s/deploy-staging.ps1
@@ -1,3 +1 @@
-param ($version='latest')
-
-helm upgrade --install eshoponabp eshoponabp --namespace eshop --create-namespace --set global.eshoponabpImageVersion=$version
\ No newline at end of file
+helm upgrade --install es-st eshoponabp --namespace eshop --create-namespace
\ No newline at end of file
diff --git a/etc/k8s/eshoponabp/charts/administration/templates/administration-deployment.yaml b/etc/k8s/eshoponabp/charts/administration/templates/administration-deployment.yaml
new file mode 100644
index 00000000..26f80d03
--- /dev/null
+++ b/etc/k8s/eshoponabp/charts/administration/templates/administration-deployment.yaml
@@ -0,0 +1,52 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ .Release.Name }}-{{ .Chart.Name }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ .Release.Name }}-{{ .Chart.Name }}
+ template:
+ metadata:
+ labels:
+ app: {{ .Release.Name }}-{{ .Chart.Name }}
+ spec:
+ containers:
+ - image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+ name: {{ .Release.Name }}-{{ .Chart.Name }}
+ ports:
+ - name: http
+ containerPort: 80
+ - name: https
+ containerPort: 443
+ env:
+ - name: App__SelfUrl
+ value: "{{ .Values.config.selfUrl }}"
+ - name: RemoteServices__Default__BaseUrl
+ value: "{{ .Values.config.gatewayUrl }}"
+ - name: App__CorsOrigins
+ value: "{{ .Values.config.corsOrigins }}"
+ - name: IdentityClients__Default__Authority
+ value: "{{ .Values.synchedCommunication.authority }}"
+ - name: "ConnectionStrings__AdministrationService"
+ value: "{{ .Values.config.connectionStrings.administrationService }}"
+ - name: "ConnectionStrings__SaasService"
+ value: "{{ .Values.config.connectionStrings.saasService }}"
+ - name: "DOTNET_ENVIRONMENT"
+ value: "{{ .Values.config.dotnetEnv }}"
+ - name: "Redis__Configuration"
+ value: "{{ .Values.config.redisHost }}"
+ - name: "AuthServer__Authority"
+ value: "{{ .Values.config.authServer.authority }}"
+ - name: "AuthServer__RequireHttpsMetadata"
+ value: "{{ .Values.config.authServer.requireHttpsMetadata }}"
+ - name: "StringEncryption__DefaultPassPhrase"
+ value: "{{ .Values.config.stringEncryptionDefaultPassPhrase }}"
+ - name: "RabbitMQ__Connections__Default__HostName"
+ value: "{{ .Values.config.rabbitmqHost }}"
+ - name: "ElasticSearch__Url"
+ value: "{{ .Values.config.elasticsearchHost }}"
+ {{- if .Values.env }}
+{{ toYaml .Values.env | indent 8 }}
+ {{- end }}
diff --git a/etc/k8s/eshoponabp/charts/administration/templates/administration-ingress.yaml b/etc/k8s/eshoponabp/charts/administration/templates/administration-ingress.yaml
index 14af3ff2..e843265f 100644
--- a/etc/k8s/eshoponabp/charts/administration/templates/administration-ingress.yaml
+++ b/etc/k8s/eshoponabp/charts/administration/templates/administration-ingress.yaml
@@ -6,16 +6,16 @@ metadata:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
- nginx.ingress.kubernetes.io/proxy-buffer-size: "{{ .Values.global.nginxProxyBufferSize }}"
- nginx.ingress.kubernetes.io/proxy-buffers-number: "{{ .Values.global.nginxProxyBuffersNumber }}"
+ nginx.ingress.kubernetes.io/proxy-buffer-size: 32k
+ nginx.ingress.kubernetes.io/proxy-buffers-number: "8"
cert-manager.io/cluster-issuer: letsencrypt
spec:
tls:
- hosts:
- - {{ .Values.global.administrationService.domain }}
- secretName: {{ .Release.Name }}-{{ .Chart.Name }}-tls
+ - {{ .Values.ingress.host }}
+ secretName: {{ .Values.ingress.tlsSecret }}
rules:
- - host: "{{ .Values.global.administrationService.domain }}"
+ - host: "{{ .Values.ingress.host }}"
http:
paths:
- path: /
diff --git a/etc/k8s/eshoponabp/charts/administration/templates/administration.yaml b/etc/k8s/eshoponabp/charts/administration/templates/administration.yaml
deleted file mode 100644
index 387b49d0..00000000
--- a/etc/k8s/eshoponabp/charts/administration/templates/administration.yaml
+++ /dev/null
@@ -1,31 +0,0 @@
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: {{ .Release.Name }}-{{ .Chart.Name }}
-spec:
- selector:
- matchLabels:
- app: {{ .Release.Name }}-{{ .Chart.Name }}
- template:
- metadata:
- labels:
- app: {{ .Release.Name }}-{{ .Chart.Name }}
- spec:
- containers:
- - image: {{ .Values.global.administrationService.containerImage }}:{{ .Values.global.eshoponabpImageVersion }}
- imagePullPolicy: {{ .Values.global.imagePullPolicy }}
- name: {{ .Release.Name }}-{{ .Chart.Name }}
- ports:
- - name: http
- containerPort: 80
- - name: https
- containerPort: 443
- env:
-{{ include "eshoponabp.global.env" . | indent 8 }}
- - name: "ConnectionStrings__AdministrationService"
- value: {{ .Values.global.administrationService.connString }}
- - name: "ConnectionStrings__SaasService"
- value: {{ .Values.global.saasService.connString }}
- {{- if .Values.env }}
-{{ toYaml .Values.env | indent 8 }}
- {{- end }}
diff --git a/etc/k8s/eshoponabp/charts/administration/values.yaml b/etc/k8s/eshoponabp/charts/administration/values.yaml
index e69de29b..50b4e536 100644
--- a/etc/k8s/eshoponabp/charts/administration/values.yaml
+++ b/etc/k8s/eshoponabp/charts/administration/values.yaml
@@ -0,0 +1,33 @@
+config:
+ selfUrl: # https://eshop-st-administration
+ gatewayUrl: # https://eshop-st-gateway-internal/
+ corsOrigins: # https://eshop-st-gateway-web,https://eshop-st-gateway-public-web,https://eshop-st-gateway-internal
+ connectionStrings:
+ administrationService: #
+ saasService: #
+ authServer:
+ authority: http://eshop-st-authserver
+ requireHttpsMetadata: "false"
+ dotnetEnv: Staging
+ redisHost: es-st-redis
+ rabbitmqHost: es-st-rabbitmq
+ elasticsearchHost: #
+ stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8
+
+synchedCommunication:
+ grantType: # "client_credentials"
+ clientId: #
+ clientSecret: #
+ authority: https://eshop-st-authserver
+ scope: # "IdentityService"
+
+ingress:
+ host: # eshop-st-administration
+ tlsSecret: eshop-demo-tls
+
+image:
+ repository: eshoponabp/service-administration
+ tag: latest
+ pullPolicy: IfNotPresent
+
+env: {}
diff --git a/etc/k8s/eshoponabp/charts/authserver/templates/authserver-deployment.yaml b/etc/k8s/eshoponabp/charts/authserver/templates/authserver-deployment.yaml
new file mode 100644
index 00000000..162929db
--- /dev/null
+++ b/etc/k8s/eshoponabp/charts/authserver/templates/authserver-deployment.yaml
@@ -0,0 +1,49 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ .Release.Name }}-{{ .Chart.Name }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ .Release.Name }}-{{ .Chart.Name }}
+ template:
+ metadata:
+ labels:
+ app: {{ .Release.Name }}-{{ .Chart.Name }}
+ spec:
+ containers:
+ - image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+ name: {{ .Release.Name }}-{{ .Chart.Name }}
+ ports:
+ - name: http
+ containerPort: 80
+ - name: https
+ containerPort: 443
+ env:
+ - name: App__SelfUrl
+ value: "{{ .Values.config.selfUrl }}"
+ - name: App__CorsOrigins
+ value: "{{ .Values.config.corsOrigins }}"
+ - name: App__RedirectAllowedUrls
+ value: "{{ .Values.config.allowedRedirectUrls }}"
+ - name: "ConnectionStrings__IdentityService"
+ value: "{{ .Values.config.identityService.connString }}"
+ - name: "ConnectionStrings__AdministrationService"
+ value: "{{ .Values.config.administrationService.connString }}"
+ - name: "ConnectionStrings__SaasService"
+ value: "{{ .Values.config.saasService.connString }}"
+ - name: "DOTNET_ENVIRONMENT"
+ value: "{{ .Values.config.dotnetEnv }}"
+ - name: "Redis__Configuration"
+ value: "{{ .Values.config.redisHost }}"
+ - name: "StringEncryption__DefaultPassPhrase"
+ value: "{{ .Values.config.stringEncryptionDefaultPassPhrase }}"
+ - name: "RabbitMQ__Connections__Default__HostName"
+ value: "{{ .Values.config.rabbitmqHost }}"
+ - name: "ElasticSearch__Url"
+ value: "{{ .Values.config.elasticsearchHost }}"
+ {{- if .Values.env }}
+{{ toYaml .Values.env | indent 8 }}
+ {{- end }}
+
\ No newline at end of file
diff --git a/etc/k8s/eshoponabp/charts/authserver/templates/authserver-ingress.yaml b/etc/k8s/eshoponabp/charts/authserver/templates/authserver-ingress.yaml
index a09b9cc5..b74c1044 100644
--- a/etc/k8s/eshoponabp/charts/authserver/templates/authserver-ingress.yaml
+++ b/etc/k8s/eshoponabp/charts/authserver/templates/authserver-ingress.yaml
@@ -3,21 +3,21 @@ kind: Ingress
metadata:
name: {{ .Release.Name }}-{{ .Chart.Name }}-ingress
annotations:
- kubernetes.io/ingress.class: nginx
+ kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
- nginx.ingress.kubernetes.io/proxy-buffer-size: "{{ .Values.global.nginxProxyBufferSize }}"
- nginx.ingress.kubernetes.io/proxy-buffers-number: "{{ .Values.global.nginxProxyBuffersNumber }}"
+ nginx.ingress.kubernetes.io/proxy-buffer-size: 32k
+ nginx.ingress.kubernetes.io/proxy-buffers-number: "8"
cert-manager.io/cluster-issuer: letsencrypt
nginx.ingress.kubernetes.io/configuration-snippet: |
more_set_input_headers "from-ingress: true";
spec:
tls:
- hosts:
- - {{ .Values.global.authServer.domain }}
- secretName: {{ .Release.Name }}-{{ .Chart.Name }}-tls
+ - {{ .Values.ingress.host }}
+ secretName: {{ .Values.ingress.tlsSecret }}
rules:
- - host: "{{ .Values.global.authServer.domain }}"
+ - host: "{{ .Values.ingress.host }}"
http:
paths:
- path: /
diff --git a/etc/k8s/eshoponabp/charts/authserver/templates/authserver.yaml b/etc/k8s/eshoponabp/charts/authserver/templates/authserver.yaml
deleted file mode 100644
index e59d1c5a..00000000
--- a/etc/k8s/eshoponabp/charts/authserver/templates/authserver.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: {{ .Release.Name }}-{{ .Chart.Name }}
-spec:
- selector:
- matchLabels:
- app: {{ .Release.Name }}-{{ .Chart.Name }}
- template:
- metadata:
- labels:
- app: {{ .Release.Name }}-{{ .Chart.Name }}
- spec:
- containers:
- - image: {{ .Values.global.authServer.containerImage }}:{{ .Values.global.eshoponabpImageVersion }}
- imagePullPolicy: {{ .Values.global.imagePullPolicy }}
- name: {{ .Release.Name }}-{{ .Chart.Name }}
- ports:
- - name: http
- containerPort: 80
- - name: https
- containerPort: 443
- env:
-{{ include "eshoponabp.global.env" . | indent 8 }}
- - name: "ConnectionStrings__IdentityService"
- value: {{ .Values.global.identityService.connString }}
- - name: "ConnectionStrings__AdministrationService"
- value: {{ .Values.global.administrationService.connString }}
- - name: "ConnectionStrings__SaasService"
- value: {{ .Values.global.saasService.connString }}
\ No newline at end of file
diff --git a/etc/k8s/eshoponabp/charts/authserver/values.yaml b/etc/k8s/eshoponabp/charts/authserver/values.yaml
index e69de29b..7ac6934f 100644
--- a/etc/k8s/eshoponabp/charts/authserver/values.yaml
+++ b/etc/k8s/eshoponabp/charts/authserver/values.yaml
@@ -0,0 +1,27 @@
+config:
+ selfUrl: # https://eshop-st-authserver
+ corsOrigins: # https://eshop-st-identity,https://eshop-st-administration,https://eshop-st-saas
+ allowedRedirectUrls: https://eshop-st-web
+ identityService:
+ connString: #
+ administrationService:
+ connString: #
+ saasService:
+ connString: #
+ dotnetEnv: #
+ redisHost: #
+ rabbitmqHost: #
+ elasticsearchHost: #
+ stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8
+
+ingress:
+ host: # eshop-st-authserver
+ tlsSecret: eshop-demo-tls
+
+image:
+ repository: eshoponabp/app-authserver
+ tag: latest
+ pullPolicy: IfNotPresent
+
+env: {}
+
\ No newline at end of file
diff --git a/etc/k8s/eshoponabp/charts/consul/templates/consul-service.yaml b/etc/k8s/eshoponabp/charts/consul/templates/consul-service.yaml
deleted file mode 100644
index 1af77696..00000000
--- a/etc/k8s/eshoponabp/charts/consul/templates/consul-service.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-apiVersion: v1
-kind: Service
-metadata:
- labels:
- name: {{ .Release.Name }}-{{ .Chart.Name }}
- name: {{ .Release.Name }}-{{ .Chart.Name }}
-spec:
- type: ClusterIP
- ports:
- - name: consul-1
- protocol: TCP
- port: 8500
- - name: consul-2
- protocol: TCP
- port: 8600
- selector:
- app: {{ .Release.Name }}-{{ .Chart.Name }}
\ No newline at end of file
diff --git a/etc/k8s/eshoponabp/charts/consul/templates/consul.yaml b/etc/k8s/eshoponabp/charts/consul/templates/consul.yaml
deleted file mode 100644
index cb1cc9e1..00000000
--- a/etc/k8s/eshoponabp/charts/consul/templates/consul.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: {{ .Release.Name }}-{{ .Chart.Name }}
-spec:
- replicas: 1
- selector:
- matchLabels:
- app: {{ .Release.Name }}-{{ .Chart.Name }}
- template:
- metadata:
- labels:
- app: {{ .Release.Name }}-{{ .Chart.Name }}
- spec:
- containers:
- - image: consul
- name: {{ .Release.Name }}-{{ .Chart.Name }}
- ports:
- - name: consul-1
- protocol: TCP
- containerPort: 8500
- - name: consul-2
- protocol: TCP
- containerPort: 8600
\ No newline at end of file
diff --git a/etc/k8s/eshoponabp/charts/consul/values.yaml b/etc/k8s/eshoponabp/charts/consul/values.yaml
deleted file mode 100644
index e69de29b..00000000
diff --git a/etc/k8s/eshoponabp/charts/gateway-web-public/Chart.yaml b/etc/k8s/eshoponabp/charts/gateway-web-public/Chart.yaml
new file mode 100644
index 00000000..50b051d8
--- /dev/null
+++ b/etc/k8s/eshoponabp/charts/gateway-web-public/Chart.yaml
@@ -0,0 +1,6 @@
+apiVersion: v2
+name: gateway-web-public
+appVersion: "1.0"
+description: eShopOnAbp Web Public Gateway Application
+version: 1.0.0
+type: application
diff --git a/etc/k8s/eshoponabp/charts/gateway-web-public/templates/gateway-web-public-configmap.yaml b/etc/k8s/eshoponabp/charts/gateway-web-public/templates/gateway-web-public-configmap.yaml
new file mode 100644
index 00000000..88f4794e
--- /dev/null
+++ b/etc/k8s/eshoponabp/charts/gateway-web-public/templates/gateway-web-public-configmap.yaml
@@ -0,0 +1,74 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ .Release.Name }}-{{ .Chart.Name }}-configmap
+data:
+ appsettings.json: |-
+ {
+ "Routes": [
+ {
+ "ServiceKey": "Identity Service",
+ "DownstreamPathTemplate": "/api/account/{everything}",
+ "DownstreamScheme": "{{ .Values.reRoutes.identityService.schema }}",
+ "DownstreamHostAndPorts": [
+ {
+ "Host": "{{ .Values.reRoutes.identityService.host }}",
+ "Port": {{ .Values.reRoutes.identityService.port }}
+ }
+ ],
+ "UpstreamPathTemplate": "/api/account/{everything}",
+ "UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ]
+ },
+ {
+ "ServiceKey": "Administration Service",
+ "DownstreamPathTemplate": "/api/abp/{everything}",
+ "DownstreamScheme": "{{ .Values.reRoutes.administrationService.schema }}",
+ "DownstreamHostAndPorts": [
+ {
+ "Host": "{{ .Values.reRoutes.administrationService.host }}",
+ "Port": "{{ .Values.reRoutes.administrationService.port }}",
+ }
+ ],
+ "UpstreamPathTemplate": "/api/abp/{everything}",
+ "UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ]
+ },
+ {
+ "ServiceKey": "Catalog Service",
+ "DownstreamPathTemplate": "/api/catalog/{everything}",
+ "DownstreamScheme": "{{ .Values.reRoutes.catalogService.schema }}",
+ "DownstreamHostAndPorts": [
+ {
+ "Host": "{{ .Values.reRoutes.catalogService.host }}",
+ "Port": "{{ .Values.reRoutes.catalogService.port }}",
+ }
+ ],
+ "UpstreamPathTemplate": "/api/catalog/{everything}",
+ "UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ]
+ },
+ {
+ "ServiceKey": "Basket Service",
+ "DownstreamPathTemplate": "/api/basket/{everything}",
+ "DownstreamScheme": "{{ .Values.reRoutes.basketService.schema }}",
+ "DownstreamHostAndPorts": [
+ {
+ "Host": "{{ .Values.reRoutes.basketService.host }}",
+ "Port": "{{ .Values.reRoutes.basketService.port }}",
+ }
+ ],
+ "UpstreamPathTemplate": "/api/basket/{everything}",
+ "UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ]
+ },
+ {
+ "ServiceKey": "Ordering Service",
+ "DownstreamPathTemplate": "/api/ordering/{everything}",
+ "DownstreamScheme": "{{ .Values.reRoutes.orderService.schema }}",
+ "DownstreamHostAndPorts": [
+ {
+ "Host": "{{ .Values.reRoutes.orderService.host }}",
+ "Port": "{{ .Values.reRoutes.orderService.port }}",
+ }
+ ],
+ "UpstreamPathTemplate": "/api/ordering/{everything}",
+ "UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ]
+ }]
+ }
\ No newline at end of file
diff --git a/etc/k8s/eshoponabp/charts/gateway-web-public/templates/gateway-web-public-deployment.yaml b/etc/k8s/eshoponabp/charts/gateway-web-public/templates/gateway-web-public-deployment.yaml
new file mode 100644
index 00000000..a64d660e
--- /dev/null
+++ b/etc/k8s/eshoponabp/charts/gateway-web-public/templates/gateway-web-public-deployment.yaml
@@ -0,0 +1,52 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ .Release.Name }}-{{ .Chart.Name }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ .Release.Name }}-{{ .Chart.Name }}
+ template:
+ metadata:
+ labels:
+ app: {{ .Release.Name }}-{{ .Chart.Name }}
+ spec:
+ containers:
+ - image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+ name: {{ .Release.Name }}-{{ .Chart.Name }}
+ ports:
+ - name: http
+ containerPort: 80
+ - name: https
+ containerPort: 443
+ volumeMounts:
+ - name: config-volume
+ mountPath: /app/appsettings.json
+ subPath: appsettings.json
+ env:
+ - name: App__SelfUrl
+ value: "{{ .Values.config.selfUrl }}"
+ - name: GlobalConfiguration__BaseUrl
+ value: "{{ .Values.config.globalConfigurationBaseUrl }}"
+ - name: "DOTNET_ENVIRONMENT"
+ value: "{{ .Values.config.dotnetEnv }}"
+ - name: "Redis__Configuration"
+ value: "{{ .Values.config.redisHost }}"
+ - name: "RabbitMQ__Connections__Default__HostName"
+ value: "{{ .Values.config.rabbitmqHost }}"
+ - name: "AuthServer__Authority"
+ value: "{{ .Values.config.authServer.authority }}"
+ - name: "AuthServer__RequireHttpsMetadata"
+ value: "{{ .Values.config.authServer.requireHttpsMetadata }}"
+ - name: "ElasticSearch__Url"
+ value: "{{ .Values.config.elasticsearchHost }}"
+ - name: "StringEncryption__DefaultPassPhrase"
+ value: "{{ .Values.config.stringEncryptionDefaultPassPhrase }}"
+ {{- if .Values.env }}
+{{ toYaml .Values.env | indent 8 }}
+ {{- end }}
+ volumes:
+ - name: config-volume
+ configMap:
+ name: {{ .Release.Name }}-{{ .Chart.Name }}-configmap
\ No newline at end of file
diff --git a/etc/k8s/eshoponabp/charts/gateway-web-public/templates/gateway-web-public-ingress.yaml b/etc/k8s/eshoponabp/charts/gateway-web-public/templates/gateway-web-public-ingress.yaml
new file mode 100644
index 00000000..539025ac
--- /dev/null
+++ b/etc/k8s/eshoponabp/charts/gateway-web-public/templates/gateway-web-public-ingress.yaml
@@ -0,0 +1,37 @@
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ name: {{ .Release.Name }}-{{ .Chart.Name }}-ingress
+ annotations:
+ kubernetes.io/ingress.class: "nginx"
+ nginx.ingress.kubernetes.io/rewrite-target: /
+ nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
+ nginx.ingress.kubernetes.io/proxy-buffer-size: 32k
+ nginx.ingress.kubernetes.io/proxy-buffers-number: "8"
+ cert-manager.io/cluster-issuer: letsencrypt
+{{- if eq .Release.Name "es-az" }}
+ nginx.ingress.kubernetes.io/from-to-www-redirect: "true"
+{{- end }}
+spec:
+ tls:
+ - hosts:
+ - {{ .Values.ingress.host }}
+{{- if eq .Release.Name "es-az" }}
+ - {{ print "www." .Values.global.ingress.host }}
+{{- end }}
+ secretName: {{ .Values.ingress.tlsSecret }}
+ rules:
+{{- if eq .Release.Name "es-az" }}
+ - host: "{{ print "www." .Values.ingress.host }}"
+{{- else }}
+ - host: "{{ .Values.ingress.host }}"
+{{- end }}
+ http:
+ paths:
+ - path: /
+ pathType: Prefix
+ backend:
+ service:
+ name: {{ .Release.Name }}-{{ .Chart.Name }}
+ port:
+ number: 80
\ No newline at end of file
diff --git a/etc/k8s/eshoponabp/charts/public-webgateway/templates/public-webgateway-service.yaml b/etc/k8s/eshoponabp/charts/gateway-web-public/templates/gateway-web-public-service.yaml
similarity index 100%
rename from etc/k8s/eshoponabp/charts/public-webgateway/templates/public-webgateway-service.yaml
rename to etc/k8s/eshoponabp/charts/gateway-web-public/templates/gateway-web-public-service.yaml
diff --git a/etc/k8s/eshoponabp/charts/gateway-web-public/values.yaml b/etc/k8s/eshoponabp/charts/gateway-web-public/values.yaml
new file mode 100644
index 00000000..321eeaca
--- /dev/null
+++ b/etc/k8s/eshoponabp/charts/gateway-web-public/values.yaml
@@ -0,0 +1,45 @@
+config:
+ selfUrl: https://eshop-st-gateway-public-web
+ globalConfigurationBaseUrl: http://eshop-st-gateway-public-web
+ authServer:
+ authority: http://eshop-st-authserver
+ requireHttpsMetadata: "false"
+ dotnetEnv: Staging
+ redisHost: es-st-redis
+ rabbitmqHost: es-st-rabbitmq
+ elasticsearchHost: #
+ stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8
+
+reRoutes:
+ identityService:
+ schema: http
+ host: eshop-st-identity
+ port: 80
+ administrationService:
+ schema: http
+ host: eshop-st-administration
+ port: 80
+ catalogService:
+ schema: http
+ host: eshop-st-catalog
+ port: 80
+ basketService:
+ schema: http
+ host: eshop-st-basket
+ port: 80
+ orderService:
+ schema: http
+ host: eshop-st-order
+ port: 80
+
+ingress:
+ host: eshop-st-gateway-web-public
+ tlsSecret: eshop-demo-tls
+
+image:
+ repository: eshoponabp/gateway-web-public
+ tag: latest
+ pullPolicy: IfNotPresent
+
+env: {}
+
\ No newline at end of file
diff --git a/etc/k8s/eshoponabp/charts/consul/Chart.yaml b/etc/k8s/eshoponabp/charts/gateway-web/Chart.yaml
similarity index 50%
rename from etc/k8s/eshoponabp/charts/consul/Chart.yaml
rename to etc/k8s/eshoponabp/charts/gateway-web/Chart.yaml
index ae174a63..d251efb7 100644
--- a/etc/k8s/eshoponabp/charts/consul/Chart.yaml
+++ b/etc/k8s/eshoponabp/charts/gateway-web/Chart.yaml
@@ -1,6 +1,6 @@
apiVersion: v2
-name: consul
+name: gateway-web
appVersion: "1.0"
-description: Runs Consul instance
+description: eShopOnAbp Web Gateway Application
version: 1.0.0
type: application
diff --git a/gateways/internal/src/EShopOnAbp.InternalGateway/appsettings.json b/etc/k8s/eshoponabp/charts/gateway-web/templates/gateway-web-configmap.yaml
similarity index 56%
rename from gateways/internal/src/EShopOnAbp.InternalGateway/appsettings.json
rename to etc/k8s/eshoponabp/charts/gateway-web/templates/gateway-web-configmap.yaml
index 8c6acb10..80b4cb7c 100644
--- a/gateways/internal/src/EShopOnAbp.InternalGateway/appsettings.json
+++ b/etc/k8s/eshoponabp/charts/gateway-web/templates/gateway-web-configmap.yaml
@@ -1,24 +1,19 @@
-{
- "App": {
- "SelfUrl": "https://localhost:44371"
- },
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft": "Warning",
- "Microsoft.Hosting.Lifetime": "Information"
- }
- },
- "AllowedHosts": "*",
- "Routes": [
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ .Release.Name }}-{{ .Chart.Name }}-configmap
+data:
+ appsettings.json: |-
+ {
+ "Routes": [
{
"ServiceKey": "Identity Service",
"DownstreamPathTemplate": "/api/identity/{everything}",
- "DownstreamScheme": "https",
+ "DownstreamScheme": "{{ .Values.reRoutes.identityService.schema }}",
"DownstreamHostAndPorts": [
{
- "Host": "localhost",
- "Port": 44351
+ "Host": "{{ .Values.reRoutes.identityService.host }}",
+ "Port": {{ .Values.reRoutes.identityService.port }}
}
],
"UpstreamPathTemplate": "/api/identity/{everything}",
@@ -27,11 +22,11 @@
{
"ServiceKey": "Identity Service",
"DownstreamPathTemplate": "/api/account/{everything}",
- "DownstreamScheme": "https",
+ "DownstreamScheme": "{{ .Values.reRoutes.identityService.schema }}",
"DownstreamHostAndPorts": [
{
- "Host": "localhost",
- "Port": 44351
+ "Host": "{{ .Values.reRoutes.identityService.host }}",
+ "Port": {{ .Values.reRoutes.identityService.port }}
}
],
"UpstreamPathTemplate": "/api/account/{everything}",
@@ -40,11 +35,11 @@
{
"ServiceKey": "Saas Service",
"DownstreamPathTemplate": "/api/saas/{everything}",
- "DownstreamScheme": "https",
+ "DownstreamScheme": "{{ .Values.reRoutes.saasService.schema }}",
"DownstreamHostAndPorts": [
{
- "Host": "localhost",
- "Port": 44352
+ "Host": "{{ .Values.reRoutes.saasService.host }}",
+ "Port": {{ .Values.reRoutes.saasService.port }}
}
],
"UpstreamPathTemplate": "/api/saas/{everything}",
@@ -53,11 +48,11 @@
{
"ServiceKey": "Administration Service",
"DownstreamPathTemplate": "/api/abp/{everything}",
- "DownstreamScheme": "https",
+ "DownstreamScheme": "{{ .Values.reRoutes.administrationService.schema }}",
"DownstreamHostAndPorts": [
{
- "Host": "localhost",
- "Port": 44353
+ "Host": "{{ .Values.reRoutes.administrationService.host }}",
+ "Port": "{{ .Values.reRoutes.administrationService.port }}",
}
],
"UpstreamPathTemplate": "/api/abp/{everything}",
@@ -66,11 +61,11 @@
{
"ServiceKey": "Administration Service",
"DownstreamPathTemplate": "/api/feature-management/{everything}",
- "DownstreamScheme": "https",
+ "DownstreamScheme": "{{ .Values.reRoutes.administrationService.schema }}",
"DownstreamHostAndPorts": [
{
- "Host": "localhost",
- "Port": 44353
+ "Host": "{{ .Values.reRoutes.administrationService.host }}",
+ "Port": "{{ .Values.reRoutes.administrationService.port }}",
}
],
"UpstreamPathTemplate": "/api/feature-management/{everything}",
@@ -79,11 +74,11 @@
{
"ServiceKey": "Administration Service",
"DownstreamPathTemplate": "/api/permission-management/{everything}",
- "DownstreamScheme": "https",
+ "DownstreamScheme": "{{ .Values.reRoutes.administrationService.schema }}",
"DownstreamHostAndPorts": [
{
- "Host": "localhost",
- "Port": 44353
+ "Host": "{{ .Values.reRoutes.administrationService.host }}",
+ "Port": "{{ .Values.reRoutes.administrationService.port }}",
}
],
"UpstreamPathTemplate": "/api/permission-management/{everything}",
@@ -92,37 +87,14 @@
{
"ServiceKey": "Administration Service",
"DownstreamPathTemplate": "/api/setting-management/{everything}",
- "DownstreamScheme": "https",
+ "DownstreamScheme": "{{ .Values.reRoutes.administrationService.schema }}",
"DownstreamHostAndPorts": [
{
- "Host": "localhost",
- "Port": 44353
+ "Host": "{{ .Values.reRoutes.administrationService.host }}",
+ "Port": "{{ .Values.reRoutes.administrationService.port }}",
}
],
"UpstreamPathTemplate": "/api/setting-management/{everything}",
"UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ]
- },
- {
- "ServiceKey": "Payment Service",
- "DownstreamPathTemplate": "/api/payment/{everything}",
- "DownstreamScheme": "https",
- "DownstreamHostAndPorts": [
- {
- "Host": "localhost",
- "Port": 44357
- }
- ],
- "UpstreamPathTemplate": "/api/payment/{everything}",
- "UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ]
- }
- ],
- "GlobalConfiguration": {
- "BaseUrl": "https://localhost:44371"
- },
- "Redis": {
- "Configuration": "localhost:6379"
- },
- "ElasticSearch": {
- "Url": "http://localhost:9200"
- }
-}
+ }]
+ }
\ No newline at end of file
diff --git a/etc/k8s/eshoponabp/charts/gateway-web/templates/gateway-web-deployment.yaml b/etc/k8s/eshoponabp/charts/gateway-web/templates/gateway-web-deployment.yaml
new file mode 100644
index 00000000..75e1f1a0
--- /dev/null
+++ b/etc/k8s/eshoponabp/charts/gateway-web/templates/gateway-web-deployment.yaml
@@ -0,0 +1,54 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ .Release.Name }}-{{ .Chart.Name }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ .Release.Name }}-{{ .Chart.Name }}
+ template:
+ metadata:
+ labels:
+ app: {{ .Release.Name }}-{{ .Chart.Name }}
+ spec:
+ containers:
+ - image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+ name: {{ .Release.Name }}-{{ .Chart.Name }}
+ ports:
+ - name: http
+ containerPort: 80
+ - name: https
+ containerPort: 443
+ volumeMounts:
+ - name: config-volume
+ mountPath: /app/appsettings.json
+ subPath: appsettings.json
+ env:
+ - name: App__SelfUrl
+ value: "{{ .Values.config.selfUrl }}"
+ - name: App__CorsOrigins
+ value: "{{ .Values.config.corsOrigins }}"
+ - name: GlobalConfiguration__BaseUrl
+ value: "{{ .Values.config.globalConfigurationBaseUrl }}"
+ - name: "DOTNET_ENVIRONMENT"
+ value: "{{ .Values.config.dotnetEnv }}"
+ - name: "Redis__Configuration"
+ value: "{{ .Values.config.redisHost }}"
+ - name: "RabbitMQ__Connections__Default__HostName"
+ value: "{{ .Values.config.rabbitmqHost }}"
+ - name: "AuthServer__Authority"
+ value: "{{ .Values.config.authServer.authority }}"
+ - name: "AuthServer__RequireHttpsMetadata"
+ value: "{{ .Values.config.authServer.requireHttpsMetadata }}"
+ - name: "ElasticSearch__Url"
+ value: "{{ .Values.config.elasticsearchHost }}"
+ - name: "StringEncryption__DefaultPassPhrase"
+ value: "{{ .Values.config.stringEncryptionDefaultPassPhrase }}"
+ {{- if .Values.env }}
+{{ toYaml .Values.env | indent 8 }}
+ {{- end }}
+ volumes:
+ - name: config-volume
+ configMap:
+ name: {{ .Release.Name }}-{{ .Chart.Name }}-configmap
\ No newline at end of file
diff --git a/etc/k8s/eshoponabp/charts/gateway-web/templates/gateway-web-ingress.yaml b/etc/k8s/eshoponabp/charts/gateway-web/templates/gateway-web-ingress.yaml
new file mode 100644
index 00000000..8e106909
--- /dev/null
+++ b/etc/k8s/eshoponabp/charts/gateway-web/templates/gateway-web-ingress.yaml
@@ -0,0 +1,37 @@
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ name: {{ .Release.Name }}-{{ .Chart.Name }}-ingress
+ annotations:
+ kubernetes.io/ingress.class: "nginx"
+ nginx.ingress.kubernetes.io/rewrite-target: /
+ nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
+ nginx.ingress.kubernetes.io/proxy-buffer-size: 32k
+ nginx.ingress.kubernetes.io/proxy-buffers-number: "8"
+ cert-manager.io/cluster-issuer: letsencrypt
+{{- if eq .Release.Name "es-az" }}
+ nginx.ingress.kubernetes.io/from-to-www-redirect: "true"
+{{- end }}
+spec:
+ tls:
+ - hosts:
+ - {{ .Values.ingress.host }}
+{{- if eq .Release.Name "es-az" }}
+ - {{ print "www." .Values.ingress.host }}
+{{- end }}
+ secretName: {{ .Values.ingress.tlsSecret }}
+ rules:
+{{- if eq .Release.Name "es-az" }}
+ - host: "{{ print "www." .Values.ingress.host }}"
+{{- else }}
+ - host: "{{ .Values.ingress.host }}"
+{{- end }}
+ http:
+ paths:
+ - path: /
+ pathType: Prefix
+ backend:
+ service:
+ name: {{ .Release.Name }}-{{ .Chart.Name }}
+ port:
+ number: 80
\ No newline at end of file
diff --git a/etc/k8s/eshoponabp/charts/gateway-web/templates/gateway-web-service.yaml b/etc/k8s/eshoponabp/charts/gateway-web/templates/gateway-web-service.yaml
new file mode 100644
index 00000000..ee157c01
--- /dev/null
+++ b/etc/k8s/eshoponabp/charts/gateway-web/templates/gateway-web-service.yaml
@@ -0,0 +1,14 @@
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ name: {{ .Release.Name }}-{{ .Chart.Name }}
+ name: {{ .Release.Name }}-{{ .Chart.Name }}
+spec:
+ ports:
+ - name: "80"
+ port: 80
+ - name: "443"
+ port: 443
+ selector:
+ app: {{ .Release.Name }}-{{ .Chart.Name }}
diff --git a/etc/k8s/eshoponabp/charts/gateway-web/values.yaml b/etc/k8s/eshoponabp/charts/gateway-web/values.yaml
new file mode 100644
index 00000000..68d4588f
--- /dev/null
+++ b/etc/k8s/eshoponabp/charts/gateway-web/values.yaml
@@ -0,0 +1,35 @@
+config:
+ selfUrl: # https://eshop-st-gateway-web
+ corsOrigins: # localhost:4200
+ globalConfigurationBaseUrl: # http://eshop-st-gateway-web
+ authServer:
+ authority: http://eshop-st-authserver
+ requireHttpsMetadata: "false"
+ dotnetEnv: #
+ redisHost: #
+ rabbitmqHost: #
+ elasticsearchHost: #
+ stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8
+reRoutes:
+ identityService:
+ schema: http
+ host: eshop-st-identity
+ port: 80
+ administrationService:
+ schema: http
+ host: eshop-st-administration
+ port: 80
+ saasService:
+ schema: # http
+ host: # eshop-st-saas
+ port: # 80
+ingress:
+ host: # eshop-st-gateway-web
+ tlsSecret: eshop-demo-tls
+
+image:
+ repository: eshoponabp/gateway-web
+ tag: latest
+ pullPolicy: IfNotPresent
+
+env: {}
\ No newline at end of file
diff --git a/etc/k8s/eshoponabp/charts/identity/templates/identity-deployment.yaml b/etc/k8s/eshoponabp/charts/identity/templates/identity-deployment.yaml
new file mode 100644
index 00000000..072eb431
--- /dev/null
+++ b/etc/k8s/eshoponabp/charts/identity/templates/identity-deployment.yaml
@@ -0,0 +1,67 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ .Release.Name }}-{{ .Chart.Name }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ .Release.Name }}-{{ .Chart.Name }}
+ template:
+ metadata:
+ labels:
+ app: {{ .Release.Name }}-{{ .Chart.Name }}
+ spec:
+ containers:
+ - image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+ name: {{ .Release.Name }}-{{ .Chart.Name }}
+ ports:
+ - name: http
+ containerPort: 80
+ - name: https
+ containerPort: 443
+ env:
+ - name: App__SelfUrl
+ value: "{{ .Values.config.selfUrl }}"
+ - name: App__CorsOrigins
+ value: "{{ .Values.config.corsOrigins }}"
+ - name: "ConnectionStrings__IdentityService"
+ value: {{ .Values.config.connectionStrings.identityService }}
+ - name: "ConnectionStrings__AdministrationService"
+ value: {{ .Values.config.connectionStrings.administrationService }}
+ - name: "ConnectionStrings__SaasService"
+ value: {{ .Values.config.connectionStrings.saasService }}
+ - name: "DOTNET_ENVIRONMENT"
+ value: "{{ .Values.config.dotnetEnv }}"
+ - name: "Redis__Configuration"
+ value: "{{ .Values.config.redisHost }}"
+ - name: "RabbitMQ__Connections__Default__HostName"
+ value: "{{ .Values.config.rabbitmqHost }}"
+ - name: "ElasticSearch__Url"
+ value: "{{ .Values.config.elasticsearchHost }}"
+ - name: "AuthServer__Authority"
+ value: "{{ .Values.config.authServer.authority }}"
+ - name: "AuthServer__RequireHttpsMetadata"
+ value: "{{ .Values.config.authServer.requireHttpsMetadata }}"
+ - name: "StringEncryption__DefaultPassPhrase"
+ value: "{{ .Values.config.stringEncryptionDefaultPassPhrase }}"
+ - name: "IdentityServerClients__Web__RootUrl"
+ value: {{ .Values.identityServerClients.webRootUrl }}
+ - name: "IdentityServerClients__PublicWeb__RootUrl"
+ value: {{ .Values.identityServerClients.publicWebRootUrl }}
+ - name: "IdentityServerClients__IdentityService__RootUrl"
+ value: {{ .Values.identityServerClients.identityServiceRootUrl }}
+ - name: "IdentityServerClients__SaasService__RootUrl"
+ value: {{ .Values.identityServerClients.saasServiceRootUrl }}
+ - name: "IdentityServerClients__AdministrationService__RootUrl"
+ value: {{ .Values.identityServerClients.administrationServiceRootUrl }}
+ - name: "IdentityServerClients__InternalGateway__RootUrl"
+ value: {{ .Values.identityServerClients.webRootUrl }}
+ - name: "IdentityServerClients__PublicWebGateway__RootUrl"
+ value: {{ .Values.identityServerClients.publicWebRootUrl }}
+ - name: "IdentityServerClients__WebGateway__RootUrl"
+ value: {{ .Values.identityServerClients.webGatewayRootUrl }}
+ {{- if .Values.env }}
+{{ toYaml .Values.env | indent 8 }}
+ {{- end }}
+
diff --git a/etc/k8s/eshoponabp/charts/identity/templates/identity-ingress.yaml b/etc/k8s/eshoponabp/charts/identity/templates/identity-ingress.yaml
index 3e8002eb..e843265f 100644
--- a/etc/k8s/eshoponabp/charts/identity/templates/identity-ingress.yaml
+++ b/etc/k8s/eshoponabp/charts/identity/templates/identity-ingress.yaml
@@ -6,16 +6,16 @@ metadata:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
- nginx.ingress.kubernetes.io/proxy-buffer-size: "{{ .Values.global.nginxProxyBufferSize }}"
- nginx.ingress.kubernetes.io/proxy-buffers-number: "{{ .Values.global.nginxProxyBuffersNumber }}"
+ nginx.ingress.kubernetes.io/proxy-buffer-size: 32k
+ nginx.ingress.kubernetes.io/proxy-buffers-number: "8"
cert-manager.io/cluster-issuer: letsencrypt
spec:
tls:
- hosts:
- - {{ .Values.global.identityService.domain }}
- secretName: {{ .Release.Name }}-{{ .Chart.Name }}-tls
+ - {{ .Values.ingress.host }}
+ secretName: {{ .Values.ingress.tlsSecret }}
rules:
- - host: "{{ .Values.global.identityService.domain }}"
+ - host: "{{ .Values.ingress.host }}"
http:
paths:
- path: /
diff --git a/etc/k8s/eshoponabp/charts/identity/templates/identity.yaml b/etc/k8s/eshoponabp/charts/identity/templates/identity.yaml
deleted file mode 100644
index 89128bd8..00000000
--- a/etc/k8s/eshoponabp/charts/identity/templates/identity.yaml
+++ /dev/null
@@ -1,31 +0,0 @@
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: {{ .Release.Name }}-{{ .Chart.Name }}
-spec:
- selector:
- matchLabels:
- app: {{ .Release.Name }}-{{ .Chart.Name }}
- template:
- metadata:
- labels:
- app: {{ .Release.Name }}-{{ .Chart.Name }}
- spec:
- containers:
- - image: {{ .Values.global.identityService.containerImage }}:{{ .Values.global.eshoponabpImageVersion }}
- imagePullPolicy: {{ .Values.global.imagePullPolicy }}
- name: {{ .Release.Name }}-{{ .Chart.Name }}
- ports:
- - name: http
- containerPort: 80
- - name: https
- containerPort: 443
- env:
-{{ include "eshoponabp.global.env" . | indent 8 }}
- - name: "ConnectionStrings__IdentityService"
- value: {{ .Values.global.identityService.connString }}
- - name: "ConnectionStrings__AdministrationService"
- value: {{ .Values.global.administrationService.connString }}
- - name: "ConnectionStrings__SaasService"
- value: {{ .Values.global.saasService.connString }}
-
diff --git a/etc/k8s/eshoponabp/charts/identity/values.yaml b/etc/k8s/eshoponabp/charts/identity/values.yaml
index e69de29b..fb40c806 100644
--- a/etc/k8s/eshoponabp/charts/identity/values.yaml
+++ b/etc/k8s/eshoponabp/charts/identity/values.yaml
@@ -0,0 +1,37 @@
+config:
+ selfUrl: # https://eshop-st-identity
+ corsOrigins: # https://eshop-st-gateway-web,https://eshop-st-gateway-public-web,https://eshop-st-gateway-internal
+ connectionStrings:
+ identityService: #
+ administrationService: #
+ saasService: #
+ authServer:
+ authority: http://eshop-st-authserver
+ requireHttpsMetadata: "false"
+ dotnetEnv: Staging
+ redisHost: es-st-redis
+ rabbitmqHost: es-st-rabbitmq
+ elasticsearchHost: es-st-elasticsearch
+ stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8
+
+# Seeded clients
+identityServerClients:
+ webRootUrl: #
+ publicWebRootUrl: #
+ webGatewayRootUrl: #
+ publicWebGatewayRootUrl: #
+ identityServiceRootUrl: #
+ administrationServiceRootUrl: #
+ saasServiceRootUrl: #
+
+ingress:
+ host: eshop-st-identity
+ tlsSecret: eshop-demo-tls
+
+image:
+ repository: eshoponabp/service-identity
+ tag: latest
+ pullPolicy: IfNotPresent
+
+env: {}
+
\ No newline at end of file
diff --git a/etc/k8s/eshoponabp/charts/public-web/templates/public-web-deployment.yaml b/etc/k8s/eshoponabp/charts/public-web/templates/public-web-deployment.yaml
new file mode 100644
index 00000000..0faddf89
--- /dev/null
+++ b/etc/k8s/eshoponabp/charts/public-web/templates/public-web-deployment.yaml
@@ -0,0 +1,44 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ .Release.Name }}-{{ .Chart.Name }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ .Release.Name }}-{{ .Chart.Name }}
+ template:
+ metadata:
+ labels:
+ app: {{ .Release.Name }}-{{ .Chart.Name }}
+ spec:
+ containers:
+ - image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+ name: {{ .Release.Name }}-{{ .Chart.Name }}
+ ports:
+ - name: http
+ containerPort: 80
+ - name: https
+ containerPort: 443
+ env:
+ - name: App__SelfUrl
+ value: {{ .Values.config.selfUrl}}
+ - name: RemoteServices__Default__BaseUrl
+ value: {{ .Values.config.gatewayUrl}}
+ - name: "AuthServer__Authority"
+ value: {{ .Values.config.authServer.authority }}
+ - name: "AuthServer__RequireHttpsMetadata"
+ value: "{{ .Values.config.authServer.requireHttpsMetadata }}"
+ - name: "DOTNET_ENVIRONMENT"
+ value: {{ .Values.config.dotnetEnv }}
+ - name: "Redis__Configuration"
+ value: {{ .Values.config.redisHost }}
+ - name: "StringEncryption__DefaultPassPhrase"
+ value: {{ .Values.config.stringEncryptionDefaultPassPhrase }}
+ - name: "RabbitMQ__Connections__Default__HostName"
+ value: {{ .Values.config.rabbitmqHost }}
+ - name: "ElasticSearch__Url"
+ value: {{ .Values.config.elasticsearchHost }}
+ {{- if .Values.env }}
+{{ toYaml .Values.env | indent 8 }}
+ {{- end }}
\ No newline at end of file
diff --git a/etc/k8s/eshoponabp/charts/public-web/templates/public-web-ingress.yaml b/etc/k8s/eshoponabp/charts/public-web/templates/public-web-ingress.yaml
index 8211a13b..ec4080bc 100644
--- a/etc/k8s/eshoponabp/charts/public-web/templates/public-web-ingress.yaml
+++ b/etc/k8s/eshoponabp/charts/public-web/templates/public-web-ingress.yaml
@@ -3,28 +3,28 @@ kind: Ingress
metadata:
name: {{ .Release.Name }}-{{ .Chart.Name }}-ingress
annotations:
- kubernetes.io/ingress.class: nginx
+ kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
- nginx.ingress.kubernetes.io/proxy-buffer-size: "{{ .Values.global.nginxProxyBufferSize }}"
- nginx.ingress.kubernetes.io/proxy-buffers-number: "{{ .Values.global.nginxProxyBuffersNumber }}"
-{{- if eq .Release.Name "eh-az" }}
+ nginx.ingress.kubernetes.io/proxy-buffer-size: 32k
+ nginx.ingress.kubernetes.io/proxy-buffers-number: "8"
+ cert-manager.io/cluster-issuer: letsencrypt
+{{- if eq .Release.Name "es-az" }}
nginx.ingress.kubernetes.io/from-to-www-redirect: "true"
{{- end }}
- cert-manager.io/cluster-issuer: letsencrypt
spec:
tls:
- hosts:
- - {{ .Values.global.publicWeb.domain }}
-{{- if eq .Release.Name "eh-az" }}
- - {{ print "www." .Values.global.publicWeb.domain }}
+ - {{ .Values.ingress.host }}
+{{- if eq .Release.Name "es-az" }}
+ - {{ print "www." .Values.ingress.host }}
{{- end }}
- secretName: {{ .Release.Name }}-{{ .Chart.Name }}-tls
+ secretName: {{ .Values.ingress.tlsSecret }}
rules:
-{{- if eq .Release.Name "eh-az" }}
- - host: "{{ print "www." .Values.global.publicWeb.domain }}"
+{{- if eq .Release.Name "es-az" }}
+ - host: "{{ print "www." .Values.ingress.host }}"
{{- else }}
- - host: "{{ .Values.global.publicWeb.domain }}"
+ - host: "{{ .Values.ingress.host }}"
{{- end }}
http:
paths:
diff --git a/etc/k8s/eshoponabp/charts/public-web/values.yaml b/etc/k8s/eshoponabp/charts/public-web/values.yaml
index e69de29b..72542a20 100644
--- a/etc/k8s/eshoponabp/charts/public-web/values.yaml
+++ b/etc/k8s/eshoponabp/charts/public-web/values.yaml
@@ -0,0 +1,22 @@
+config:
+ selfUrl: https://eshop-st-public-web
+ gatewayUrl: "http://eshop-st-gateway-web-public/"
+ authServer:
+ authority: http://eshop-st-authserver
+ requireHttpsMetadata: "false"
+ dotnetEnv: Staging
+ redisHost: es-st-redis
+ rabbitmqHost: es-st-rabbitmq
+ elasticsearchHost: es-st-elasticsearch
+ stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8
+
+ingress:
+ host: # eshop-st-public-web
+ tlsSecret: eshop-demo-tls
+
+image:
+ repository: eshoponabp/app-publicweb
+ tag: latest
+ pullPolicy: IfNotPresent
+
+env: {}
diff --git a/etc/k8s/eshoponabp/charts/public-webgateway/Chart.yaml b/etc/k8s/eshoponabp/charts/public-webgateway/Chart.yaml
deleted file mode 100644
index b2cd0e01..00000000
--- a/etc/k8s/eshoponabp/charts/public-webgateway/Chart.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
-apiVersion: v2
-name: public-webgateway
-appVersion: "1.0"
-description: eShopOnAbp Public Web Gateway Application
-version: 1.0.0
-type: application
\ No newline at end of file
diff --git a/etc/k8s/eshoponabp/charts/public-webgateway/templates/public-webgateway-ingress.yaml b/etc/k8s/eshoponabp/charts/public-webgateway/templates/public-webgateway-ingress.yaml
deleted file mode 100644
index 0a24b78c..00000000
--- a/etc/k8s/eshoponabp/charts/public-webgateway/templates/public-webgateway-ingress.yaml
+++ /dev/null
@@ -1,37 +0,0 @@
-apiVersion: networking.k8s.io/v1
-kind: Ingress
-metadata:
- name: {{ .Release.Name }}-{{ .Chart.Name }}-ingress
- annotations:
- kubernetes.io/ingress.class: nginx
- nginx.ingress.kubernetes.io/rewrite-target: /
- nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
- nginx.ingress.kubernetes.io/proxy-buffer-size: "{{ .Values.global.nginxProxyBufferSize }}"
- nginx.ingress.kubernetes.io/proxy-buffers-number: "{{ .Values.global.nginxProxyBuffersNumber }}"
-{{- if eq .Release.Name "eh-az" }}
- nginx.ingress.kubernetes.io/from-to-www-redirect: "true"
-{{- end }}
- cert-manager.io/cluster-issuer: letsencrypt
-spec:
- tls:
- - hosts:
- - {{ .Values.global.publicWebGateway.domain }}
-{{- if eq .Release.Name "eh-az" }}
- - {{ print "www." .Values.global.publicWebGateway.domain }}
-{{- end }}
- secretName: {{ .Release.Name }}-{{ .Chart.Name }}-tls
- rules:
-{{- if eq .Release.Name "eh-az" }}
- - host: "{{ print "www." .Values.global.publicWebGateway.domain }}"
-{{- else }}
- - host: "{{ .Values.global.publicWebGateway.domain }}"
-{{- end }}
- http:
- paths:
- - path: /
- pathType: Prefix
- backend:
- service:
- name: {{ .Release.Name }}-{{ .Chart.Name }}
- port:
- number: 80
\ No newline at end of file
diff --git a/etc/k8s/eshoponabp/charts/public-webgateway/templates/public-webgateway.yaml b/etc/k8s/eshoponabp/charts/public-webgateway/templates/public-webgateway.yaml
deleted file mode 100644
index 470e520d..00000000
--- a/etc/k8s/eshoponabp/charts/public-webgateway/templates/public-webgateway.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: {{ .Release.Name }}-{{ .Chart.Name }}
-spec:
- selector:
- matchLabels:
- app: {{ .Release.Name }}-{{ .Chart.Name }}
- template:
- metadata:
- labels:
- app: {{ .Release.Name }}-{{ .Chart.Name }}
- spec:
- containers:
- - image: {{ .Values.global.publicWebGateway.containerImage }}:{{ .Values.global.eshoponabpImageVersion }}
- imagePullPolicy: {{ .Values.global.imagePullPolicy }}
- name: {{ .Release.Name }}-{{ .Chart.Name }}
- ports:
- - name: http
- containerPort: 80
- - name: https
- containerPort: 443
- env:
-{{ include "eshoponabp.global.env" . | indent 8 }}
diff --git a/etc/k8s/eshoponabp/charts/public-webgateway/values.yaml b/etc/k8s/eshoponabp/charts/public-webgateway/values.yaml
deleted file mode 100644
index e69de29b..00000000
diff --git a/etc/k8s/eshoponabp/charts/saas/templates/saas-ingress.yaml b/etc/k8s/eshoponabp/charts/saas/templates/saas-ingress.yaml
index 3e8002eb..e843265f 100644
--- a/etc/k8s/eshoponabp/charts/saas/templates/saas-ingress.yaml
+++ b/etc/k8s/eshoponabp/charts/saas/templates/saas-ingress.yaml
@@ -6,16 +6,16 @@ metadata:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
- nginx.ingress.kubernetes.io/proxy-buffer-size: "{{ .Values.global.nginxProxyBufferSize }}"
- nginx.ingress.kubernetes.io/proxy-buffers-number: "{{ .Values.global.nginxProxyBuffersNumber }}"
+ nginx.ingress.kubernetes.io/proxy-buffer-size: 32k
+ nginx.ingress.kubernetes.io/proxy-buffers-number: "8"
cert-manager.io/cluster-issuer: letsencrypt
spec:
tls:
- hosts:
- - {{ .Values.global.identityService.domain }}
- secretName: {{ .Release.Name }}-{{ .Chart.Name }}-tls
+ - {{ .Values.ingress.host }}
+ secretName: {{ .Values.ingress.tlsSecret }}
rules:
- - host: "{{ .Values.global.identityService.domain }}"
+ - host: "{{ .Values.ingress.host }}"
http:
paths:
- path: /
diff --git a/etc/k8s/eshoponabp/charts/saas/templates/saas.yaml b/etc/k8s/eshoponabp/charts/saas/templates/saas.yaml
index 58845209..52b83826 100644
--- a/etc/k8s/eshoponabp/charts/saas/templates/saas.yaml
+++ b/etc/k8s/eshoponabp/charts/saas/templates/saas.yaml
@@ -12,8 +12,8 @@ spec:
app: {{ .Release.Name }}-{{ .Chart.Name }}
spec:
containers:
- - image: {{ .Values.global.saasService.containerImage }}:{{ .Values.global.eshoponabpImageVersion }}
- imagePullPolicy: {{ .Values.global.imagePullPolicy }}
+ - image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
name: {{ .Release.Name }}-{{ .Chart.Name }}
ports:
- name: http
@@ -21,9 +21,29 @@ spec:
- name: https
containerPort: 443
env:
-{{ include "eshoponabp.global.env" . | indent 8 }}
+ - name: App__SelfUrl
+ value: "{{ .Values.config.selfUrl }}"
+ - name: App__CorsOrigins
+ value: "{{ .Values.config.corsOrigins }}"
- name: "ConnectionStrings__AdministrationService"
- value: {{ .Values.global.administrationService.connString }}
+ value: {{ .Values.config.connectionStrings.administrationService }}
- name: "ConnectionStrings__SaasService"
- value: {{ .Values.global.saasService.connString }}
+ value: {{ .Values.config.connectionStrings.saasService }}
+ - name: "DOTNET_ENVIRONMENT"
+ value: "{{ .Values.config.dotnetEnv }}"
+ - name: "Redis__Configuration"
+ value: "{{ .Values.config.redisHost }}"
+ - name: "RabbitMQ__Connections__Default__HostName"
+ value: "{{ .Values.config.rabbitmqHost }}"
+ - name: "ElasticSearch__Url"
+ value: "{{ .Values.config.elasticsearchHost }}"
+ - name: "AuthServer__Authority"
+ value: "{{ .Values.config.authServer.authority }}"
+ - name: "AuthServer__RequireHttpsMetadata"
+ value: "{{ .Values.config.authServer.requireHttpsMetadata }}"
+ - name: "StringEncryption__DefaultPassPhrase"
+ value: "{{ .Values.config.stringEncryptionDefaultPassPhrase }}"
+ {{- if .Values.env }}
+{{ toYaml .Values.env | indent 8 }}
+ {{- end }}
diff --git a/etc/k8s/eshoponabp/charts/saas/values.yaml b/etc/k8s/eshoponabp/charts/saas/values.yaml
index e69de29b..badbfdf7 100644
--- a/etc/k8s/eshoponabp/charts/saas/values.yaml
+++ b/etc/k8s/eshoponabp/charts/saas/values.yaml
@@ -0,0 +1,25 @@
+config:
+ selfUrl: https://eshop-st-saas
+ corsOrigins: https://eshop-st-gateway-web,https://eshop-st-gateway-public-web,https://eshop-st-gateway-internal
+ connectionStrings:
+ administrationService: "Server=es-st-sqldb,1433;Database=EShopOnAbp_Administration;User Id=sa;password=myPassw@rd;MultipleActiveResultSets=true"
+ saasService: "Server=es-st-sqldb,1433;Database=EShopOnAbp_Saas;User Id=sa;password=myPassw@rd;MultipleActiveResultSets=true"
+ authServer:
+ authority: http://eshop-st-authserver
+ requireHttpsMetadata: "false"
+ dotnetEnv: Staging
+ redisHost: es-st-redis
+ rabbitmqHost: es-st-rabbitmq
+ elasticsearchHost: es-st-elasticsearch
+ stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8
+
+ingress:
+ host: eshop-st-saas
+ tlsSecret: eshop-demo-tls
+
+image:
+ repository: eshoponabp/service-saas
+ tag: latest
+ pullPolicy: IfNotPresent
+
+env: {}
\ No newline at end of file
diff --git a/etc/k8s/eshoponabp/charts/sqlserver/templates/sqlserver.yaml b/etc/k8s/eshoponabp/charts/sqlserver/templates/sqlserver.yaml
index 57a5bcac..dfe41eb8 100644
--- a/etc/k8s/eshoponabp/charts/sqlserver/templates/sqlserver.yaml
+++ b/etc/k8s/eshoponabp/charts/sqlserver/templates/sqlserver.yaml
@@ -16,7 +16,7 @@ spec:
containers:
- image: mcr.microsoft.com/mssql/server
name: {{ .Release.Name }}-{{ .Chart.Name }}
-{{- if eq .Release.Name "eh-az" }}
+{{- if eq .Release.Name "es-az" }}
volumeMounts:
- mountPath: "/var/opt/mssql"
name: {{ .Release.Name }}-{{ .Chart.Name }}-database-volume
@@ -30,7 +30,7 @@ spec:
value: "myPassw@rd"
- name: ACCEPT_EULA
value: "Y"
-{{- if eq .Release.Name "eh-az" }}
+{{- if eq .Release.Name "es-az" }}
volumeClaimTemplates:
- metadata:
name: {{ .Release.Name }}-{{ .Chart.Name }}-database-volume
diff --git a/etc/k8s/eshoponabp/charts/web/Chart.yaml b/etc/k8s/eshoponabp/charts/web/Chart.yaml
new file mode 100644
index 00000000..3a66440f
--- /dev/null
+++ b/etc/k8s/eshoponabp/charts/web/Chart.yaml
@@ -0,0 +1,6 @@
+apiVersion: v2
+name: web
+appVersion: "1.0"
+description: eShopOnAbp BackOffice Web Application
+version: 1.0.0
+type: application
\ No newline at end of file
diff --git a/etc/k8s/eshoponabp/charts/public-web/templates/public-web.yaml b/etc/k8s/eshoponabp/charts/web/templates/web-deployment.yaml
similarity index 56%
rename from etc/k8s/eshoponabp/charts/public-web/templates/public-web.yaml
rename to etc/k8s/eshoponabp/charts/web/templates/web-deployment.yaml
index 8e688a21..cbe7b699 100644
--- a/etc/k8s/eshoponabp/charts/public-web/templates/public-web.yaml
+++ b/etc/k8s/eshoponabp/charts/web/templates/web-deployment.yaml
@@ -12,8 +12,8 @@ spec:
app: {{ .Release.Name }}-{{ .Chart.Name }}
spec:
containers:
- - image: {{ .Values.global.publicWeb.containerImage }}:{{ .Values.global.eshoponabpImageVersion }}
- imagePullPolicy: {{ .Values.global.imagePullPolicy }}
+ - image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
name: {{ .Release.Name }}-{{ .Chart.Name }}
ports:
- name: http
@@ -21,6 +21,10 @@ spec:
- name: https
containerPort: 443
env:
-{{ include "eshoponabp.global.env" . | indent 8 }}
- - name: "RemoteServices__Default__BaseUrl"
- value: {{ .Values.global.publicWeb.remoteServiceUrl }}
\ No newline at end of file
+ - name: BASE_URL
+ value: {{ .Values.config.selfUrl}}
+ - name: API_URL
+ value: {{ .Values.config.gatewayUrl}}
+ {{- if .Values.env }}
+{{ toYaml .Values.env | indent 8 }}
+ {{- end }}
\ No newline at end of file
diff --git a/etc/k8s/eshoponabp/charts/web/templates/web-ingress.yaml b/etc/k8s/eshoponabp/charts/web/templates/web-ingress.yaml
new file mode 100644
index 00000000..54a62c3c
--- /dev/null
+++ b/etc/k8s/eshoponabp/charts/web/templates/web-ingress.yaml
@@ -0,0 +1,37 @@
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ name: {{ .Release.Name }}-{{ .Chart.Name }}-ingress
+ annotations:
+ kubernetes.io/ingress.class: "nginx"
+ nginx.ingress.kubernetes.io/rewrite-target: /
+ nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
+ nginx.ingress.kubernetes.io/proxy-buffer-size: 32k
+ nginx.ingress.kubernetes.io/proxy-buffers-number: "8"
+ cert-manager.io/cluster-issuer: letsencrypt
+{{- if eq .Release.Name "es-az" }}
+ nginx.ingress.kubernetes.io/from-to-www-redirect: "true"
+{{- end }}
+spec:
+ tls:
+ - hosts:
+ - {{ .Values.ingress.host }}
+{{- if eq .Release.Name "eh-es" }}
+ - {{ print "www." .Values.ingress.host }}
+{{- end }}
+ secretName: {{ .Values.ingress.tlsSecret }}
+ rules:
+{{- if eq .Release.Name "eh-es" }}
+ - host: "{{ print "www." .Values.ingress.host }}"
+{{- else }}
+ - host: "{{ .Values.ingress.host }}"
+{{- end }}
+ http:
+ paths:
+ - path: /
+ pathType: Prefix
+ backend:
+ service:
+ name: {{ .Release.Name }}-{{ .Chart.Name }}
+ port:
+ number: 80
\ No newline at end of file
diff --git a/etc/k8s/eshoponabp/charts/web/templates/web-service.yaml b/etc/k8s/eshoponabp/charts/web/templates/web-service.yaml
new file mode 100644
index 00000000..ee157c01
--- /dev/null
+++ b/etc/k8s/eshoponabp/charts/web/templates/web-service.yaml
@@ -0,0 +1,14 @@
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ name: {{ .Release.Name }}-{{ .Chart.Name }}
+ name: {{ .Release.Name }}-{{ .Chart.Name }}
+spec:
+ ports:
+ - name: "80"
+ port: 80
+ - name: "443"
+ port: 443
+ selector:
+ app: {{ .Release.Name }}-{{ .Chart.Name }}
diff --git a/etc/k8s/eshoponabp/charts/web/values.yaml b/etc/k8s/eshoponabp/charts/web/values.yaml
new file mode 100644
index 00000000..db30b07e
--- /dev/null
+++ b/etc/k8s/eshoponabp/charts/web/values.yaml
@@ -0,0 +1,15 @@
+config:
+ selfUrl: https://eshop-st-web
+ gatewayUrl: "https://eshop-st-gateway-web/"
+
+ingress:
+ host: eshop-st-web
+ tlsSecret: eshop-demo-tls
+
+image:
+ repository: eshoponabp/app-web
+ tag: latest
+ pullPolicy: IfNotPresent
+
+# Extra environment variables or configurations
+env: {}
diff --git a/etc/k8s/eshoponabp/templates/NOTES.txt b/etc/k8s/eshoponabp/templates/NOTES.txt
index c9abfbdb..044f1a72 100644
--- a/etc/k8s/eshoponabp/templates/NOTES.txt
+++ b/etc/k8s/eshoponabp/templates/NOTES.txt
@@ -1,5 +1,10 @@
-1. Get the application URL by running these commands:
-{{- if .Values.ingress.enabled }}
+1. Web (Back Office) angular application URL:{{- if .Values.web.config.selfUrl }} {{ .Values.web.config.selfUrl }} {{- end }}
+2. Public Web mvc application URL:{{- if index .Values "public-web" "config" "selfUrl" }} {{ index .Values "public-web" "config" "selfUrl" }} {{- end }}
+3. Authentication Server URL:{{- if .Values.authserver.config.selfUrl }} {{ .Values.authserver.config.selfUrl }}
+
+For RabbitMq Administration use:
+"kubectl port-forward services/{{ .Release.Name }}-rabbitmq 15672:15672 -n {{ .Release.Namespace }}"
+{{- else if .Values.ingress.enabled }}
{{- range $host := .Values.ingress.hosts }}
{{- range .paths }}
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }}
diff --git a/etc/k8s/eshoponabp/templates/_helpers.tpl b/etc/k8s/eshoponabp/templates/_helpers.tpl
index c9dd2693..901e5bb0 100644
--- a/etc/k8s/eshoponabp/templates/_helpers.tpl
+++ b/etc/k8s/eshoponabp/templates/_helpers.tpl
@@ -60,22 +60,3 @@ Create the name of the service account to use
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}
-
-{{- define "eshoponabp.global.env" -}}
-- name: "DOTNET_ENVIRONMENT"
- value: "{{ .Values.global.dotnetEnvironment }}"
-- name: "AppUrls__ApiInternal"
- value: "{{ .Values.global.apiUrlInternal }}"
-- name: "Redis__Configuration"
- value: "{{ .Values.global.redisConfiguration }}"
-- name: "AuthServer__Authority"
- value: "{{ .Values.global.internalAuthServerAuthority }}"
-- name: "AuthServer__RequireHttpsMetadata"
- value: "{{ .Values.global.internalAuthServerRequireHttpsMetadata }}"
-- name: "StringEncryption__DefaultPassPhrase"
- value: "{{ .Values.global.stringEncryptionDefaultPassPhrase }}"
-- name: "RabbitMQ__Connections__Default__HostName"
- value: "{{ .Values.global.rabbitMqHostName }}"
-- name: "Consul__Host"
- value: "{{ .Values.global.consulHostname }}"
-{{- end }}
diff --git a/etc/k8s/eshoponabp/templates/tests/test-connection.yaml b/etc/k8s/eshoponabp/templates/tests/test-connection.yaml
deleted file mode 100644
index 9ca7d87c..00000000
--- a/etc/k8s/eshoponabp/templates/tests/test-connection.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-apiVersion: v1
-kind: Pod
-metadata:
- name: "{{ include "eshoponabp.fullname" . }}-test-connection"
- labels:
- {{- include "eshoponabp.labels" . | nindent 4 }}
- annotations:
- "helm.sh/hook": test
-spec:
- containers:
- - name: wget
- image: busybox
- command: ['wget']
- args: ['{{ include "eshoponabp.fullname" . }}:{{ .Values.service.port }}']
- restartPolicy: Never
diff --git a/etc/k8s/eshoponabp/values.yaml b/etc/k8s/eshoponabp/values.yaml
index 16d8a212..514c90ac 100644
--- a/etc/k8s/eshoponabp/values.yaml
+++ b/etc/k8s/eshoponabp/values.yaml
@@ -1,3 +1,182 @@
+# auth-server sub-chart override
+authserver:
+ config:
+ selfUrl: https://eshop-st-authserver
+ corsOrigins: https://eshop-st-gateway-web,https://eshop-st-gateway-web-public,https://eshop-st-gateway-internal
+ allowedRedirectUrls: https://eshop-st-web
+ identityService:
+ connString: "Server=es-st-sqldb,1433;Database=EShopOnAbp_Identity;User Id=sa;password=myPassw@rd;MultipleActiveResultSets=true"
+ administrationService:
+ connString: "Server=es-st-sqldb,1433;Database=EShopOnAbp_Administration;User Id=sa;password=myPassw@rd;MultipleActiveResultSets=true"
+ saasService:
+ connString: "Server=es-st-sqldb,1433;Database=EShopOnAbp_Saas;User Id=sa;password=myPassw@rd;MultipleActiveResultSets=true"
+ dotnetEnv: Staging
+ redisHost: es-st-redis
+ rabbitmqHost: es-st-rabbitmq
+ elasticsearchHost: es-st-elasticsearch
+ ingress:
+ host: eshop-st-authserver
+ image:
+ repository: "eshoponabp/app-authserver"
+ tag: latest
+
+# web sub-chart override
+web:
+ config:
+ selfUrl: https://eshop-st-web
+ gatewayUrl: "https://eshop-st-gateway-web/"
+ ingress:
+ host: eshop-st-web
+ image:
+ repository: "eshoponabp/app-web"
+ tag: latest
+
+# public-web sub-chart override
+public-web:
+ config:
+ selfUrl: https://eshop-st-public-web
+ gatewayUrl: "http://eshop-st-gateway-web-public/"
+ authServer:
+ authority: http://eshop-st-authserver
+ requireHttpsMetadata: "false"
+ dotnetEnv: Staging
+ redisHost: es-st-redis
+ rabbitmqHost: es-st-rabbitmq
+ elasticsearchHost: es-st-elasticsearch
+ ingress:
+ host: eshop-st-public-web
+ image:
+ repository: "eshoponabp/app-publicweb"
+ tag: latest
+
+# identity-service sub-chart override
+identity:
+ config:
+ selfUrl: https://eshop-st-identity
+ corsOrigins: https://eshop-st-gateway-web,https://eshop-st-gateway-web-public
+ connectionStrings:
+ identityService: "Server=es-st-sqldb,1433;Database=EShopOnAbp_Identity;User Id=sa;password=myPassw@rd;MultipleActiveResultSets=true"
+ administrationService: "Server=es-st-sqldb,1433;Database=EShopOnAbp_Administration;User Id=sa;password=myPassw@rd;MultipleActiveResultSets=true"
+ saasService: "Server=es-st-sqldb,1433;Database=EShopOnAbp_Saas;User Id=sa;password=myPassw@rd;MultipleActiveResultSets=true"
+ authServer:
+ authority: http://eshop-st-authserver
+ requireHttpsMetadata: "false"
+ dotnetEnv: Staging
+ redisHost: es-st-redis
+ rabbitmqHost: es-st-rabbitmq
+ elasticsearchHost: es-st-elasticsearch
+ identityServerClients: # Seeded Clients
+ webRootUrl: https://eshop-st-web/
+ publicWebRootUrl: https://eshop-st-public-web/
+ webGatewayRootUrl: https://eshop-st-gateway-web/
+ publicWebGatewayRootUrl: https://eshop-st-gateway-web-public/
+ identityServiceRootUrl: https://eshop-st-identity/
+ administrationServiceRootUrl: https://eshop-st-administration/
+ saasServiceRootUrl: https://eshop-st-saas/
+ ingress:
+ host: eshop-st-identity
+ image:
+ repository: "eshoponabp/service-identity"
+ tag: latest
+
+# administration sub-chart override
+administration:
+ config:
+ selfUrl: https://eshop-st-administration
+ gatewayUrl: https://eshop-st-gateway-internal/
+ corsOrigins: https://eshop-st-gateway-web,https://eshop-st-gateway-web-public,https://eshop-st-gateway-internal
+ connectionStrings:
+ administrationService: "Server=es-st-sqldb,1433;Database=EShopOnAbp_Administration;User Id=sa;password=myPassw@rd;MultipleActiveResultSets=true"
+ saasService: "Server=es-st-sqldb,1433;Database=EShopOnAbp_Saas;User Id=sa;password=myPassw@rd;MultipleActiveResultSets=true"
+ authServer:
+ authority: http://eshop-st-authserver
+ requireHttpsMetadata: "false"
+ dotnetEnv: Staging
+ redisHost: es-st-redis
+ rabbitmqHost: es-st-rabbitmq
+ elasticsearchHost: es-st-elasticsearch
+ synchedCommunication: # Used for server-to-server (client-credentials) communication with identityService for user permissions
+ authority: https://eshop-st-authserver
+ ingress:
+ host: eshop-st-administration
+ image:
+ repository: "eshoponabp/service-administration"
+ tag: latest
+
+# gateway-web sub-chart override
+gateway-web:
+ config:
+ selfUrl: https://eshop-st-gateway-web
+ corsOrigins: https://eshop-st-web
+ globalConfigurationBaseUrl: http://eshop-st-gateway-public
+ authServer:
+ authority: http://eshop-st-authserver
+ requireHttpsMetadata: "false"
+ dotnetEnv: Staging
+ redisHost: es-st-redis
+ rabbitmqHost: es-st-rabbitmq
+ elasticsearchHost: es-st-elasticsearch
+ stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8
+ ingress:
+ host: eshop-st-gateway-web
+ image:
+ repository: "eshoponabp/gateway-web"
+ tag: latest
+ reRoutes:
+ identityService:
+ schema: http
+ host: eshop-st-identity
+ port: 80
+ administrationService:
+ schema: http
+ host: eshop-st-administration
+ port: 80
+ saasService:
+ schema: http
+ host: eshop-st-saas
+ port: 80
+
+# gateway-web-public sub-chart override
+gateway-web-public:
+ config:
+ selfUrl: https://eshop-st-gateway-web-public
+ globalConfigurationBaseUrl: http://eshop-st-gateway-public-web
+ authServer:
+ authority: http://eshop-st-AUTHSERVER
+ requireHttpsMetadata: "false"
+ dotnetEnv: Staging
+ redisHost: es-st-redis
+ rabbitmqHost: es-st-rabbitmq
+ elasticsearchHost: es-st-elasticsearch
+ stringEncryptionDefaultPassPhrase: gsKnGZ041HLL4IM8
+ ingress:
+ host: eshop-st-gateway-web-public
+ image:
+ repository: "eshoponabp/gateway-web-public"
+ tag: latest
+ reRoutes:
+ identityService:
+ schema: http
+ host: eshop-st-identity
+ port: 80
+ administrationService:
+ schema: http
+ host: eshop-st-administration
+ port: 80
+ catalogService:
+ schema: http
+ host: eshop-st-catalog
+ port: 80
+ basketService:
+ schema: http
+ host: eshop-st-basket
+ port: 80
+ orderService:
+ schema: http
+ host: eshop-st-order
+ port: 80
+
+
# Default values for eshoponabp.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
@@ -10,11 +189,6 @@ image:
# Overrides the image tag whose default is the chart appVersion.
tag: ""
-administration:
- env:
- # - name: "ADMIN_SPECIFIC_ENV_NAME"
- # value: "ADMIN_SPECIFIC_ENV_VALUE"
-
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
@@ -84,45 +258,4 @@ nodeSelector: {}
tolerations: []
-affinity: {}
-
-global:
- dotnetEnvironment: "Staging"
- imagePullPolicy: Never
- eshoponabpImageVersion: latest
- publicWeb:
- domain: eshoponabp-public-web
- url: https://eshoponabp-public-web
- containerImage: "eshoponabp/app-publicweb"
- remoteServiceUrl: http://eshoponabp-public-webgateway
- authServer:
- domain: eshoponabp-authserver
- url: https://eshoponabp-authserver
- containerImage: "eshoponabp/app-authserver"
- identityService:
- domain: eshoponabp-identity
- url: https://eshoponabp-identity
- containerImage: "eshoponabp/service-identity"
- connString: "Server=eshoponabp-sqldb,1433;Database=EShopOnAbp_Identity;User Id=sa;password=myPassw@rd;MultipleActiveResultSets=true"
- administrationService:
- domain: eshoponabp-administration
- url: https://eshoponabp-administration
- containerImage: "eshoponabp/service-administration"
- connString: "Server=eshoponabp-sqldb,1433;Database=EShopOnAbp_Administration;User Id=sa;password=myPassw@rd;MultipleActiveResultSets=true"
- saasService:
- domain: eshoponabp-saas
- url: https://eshoponabp-saas
- containerImage: "eshoponabp/service-saas"
- connString: "Server=eshoponabp-sqldb,1433;Database=EShopOnAbp_Saas;User Id=sa;password=myPassw@rd;MultipleActiveResultSets=true"
- publicWebGateway:
- domain: eshoponabp-public-webgateway
- url: https://eshoponabp-public-webgateway
- containerImage: "eshoponabp/gateway-publicweb"
- redisConfiguration: "eshoponabp-redis"
- rabbitMqHostName: "eshoponabp-rabbitmq"
- consulHostname: "http://eshoponabp-consul"
- nginxProxyBufferSize: "32k"
- nginxProxyBuffersNumber: "8"
- internalAuthServerAuthority: "http://eshoponabp-authserver"
- internalAuthServerRequireHttpsMetadata: "false"
- stringEncryptionDefaultPassPhrase: "gsKnGZ041HLL4IM8"
\ No newline at end of file
+affinity: {}
\ No newline at end of file
diff --git a/etc/k8s/tls-cert/eshop-st-cert.pem b/etc/k8s/tls-cert/eshop-st-cert.pem
new file mode 100644
index 00000000..45649b42
--- /dev/null
+++ b/etc/k8s/tls-cert/eshop-st-cert.pem
@@ -0,0 +1,31 @@
+-----BEGIN CERTIFICATE-----
+MIIFQzCCA6ugAwIBAgIRANj5oNi+QQIoyV51y/ZIJlYwDQYJKoZIhvcNAQELBQAw
+gZ8xHjAcBgNVBAoTFW1rY2VydCBkZXZlbG9wbWVudCBDQTE6MDgGA1UECwwxZ3Nl
+bmd1bkBHb2toYW5zLU1hY0Jvb2stUHJvLmxvY2FsIChHb2toYW4gU2VuZ3VuKTFB
+MD8GA1UEAww4bWtjZXJ0IGdzZW5ndW5AR29raGFucy1NYWNCb29rLVByby5sb2Nh
+bCAoR29raGFuIFNlbmd1bikwHhcNMTkwNjAxMDAwMDAwWhcNMzExMTA0MDgyNjUw
+WjBlMScwJQYDVQQKEx5ta2NlcnQgZGV2ZWxvcG1lbnQgY2VydGlmaWNhdGUxOjA4
+BgNVBAsMMWdzZW5ndW5AR29raGFucy1NYWNCb29rLVByby5sb2NhbCAoR29raGFu
+IFNlbmd1bikwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDKu7X3b2Cg
+dpBnz90KboUnpWRcCK96oq97pAEbR9sirN3+3jT0JRBY2TYKLDPW8i50QJFbdYE7
+zky58c+RWPrxVDoeqRC8E1+TLsuW+TdMmOL746k36X1VtKy3rqUG9IS6MXjH/MX8
+H1kgldHvE9mFEpyp3q/8cUPHSBUE+M0CA05wlDm8qgkGXcp43qrNElWg5Y2WWWIp
+WUm8r5obktSAxhA+ZxFX4cJHFmxKymMqSRStDpTFCIW9C3kx5ierPNQS6g5sSMtW
+OuPuh0Uhc0Q0lJBoA7Mj1CGvtO5nld0+6kAK1GMB7Vbigoqd00eqKMYaA3Aa5QZm
+bf84wZjofJx1AgMBAAGjggExMIIBLTAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAww
+CgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBR6TnYaWT+NPghb
+dQnZ+MAbx9UB2DCB1gYDVR0RBIHOMIHLgghlc2hvcC1zdIIXZXNob3Atc3QtYWRt
+aW5pc3RyYXRpb26CE2VzaG9wLXN0LWF1dGhzZXJ2ZXKCGWVzaG9wLXN0LWdhdGV3
+YXktaW50ZXJuYWyCG2VzaG9wLXN0LWdhdGV3YXktcHVibGljLXdlYoIUZXNob3At
+c3QtZ2F0ZXdheS13ZWKCEWVzaG9wLXN0LWlkZW50aXR5ghNlc2hvcC1zdC1wdWJs
+aWMtd2Vigg1lc2hvcC1zdC1zYWFzggxlc2hvcC1zdC13ZWIwDQYJKoZIhvcNAQEL
+BQADggGBADjQroM3gD7g56S8bxlUbt1sJYfvo0VCIDPH9aHE3WwhGCOn18SRDOpM
+mNw4c0HO+P1+rlCfn2pvN2oQ6v731fQZPpGcE0ljeVrixqfyVvoggGMbOwegvWPh
+dPK/cxLi9wYfQtFw5vy8YxsinowSRCQ3KJGxI4fsyjEQu939WvYSPDdEUPx952LR
+2pG8yRSso7dixDW4rDCoI/QKM/ImnqsNtZSpGa93HLgjkJr/PsOVMogt8dOsDOkC
+vHq9F6TJKTDb7WizMJcE0qfisJgtTC2isvYA3u7kiyfxW26kd1h7s4m3njn+0Sks
+0xGcXiYPZm8y/lVrxcF3/QlgOfWfRmls3D17yX28QwuwvNkUv2aSP/WGOMWEtgPD
+9WYPk1OhOGFxT3IKu8iw6ITTCKXpcBeQ/QiEuFjo/khDGE4NMSkrp16nVebkAWal
+/eufFWZJTzO7kgCmApS2SAhRdsM+JEsioHF/gM2chzV+eP4CCKv3pw5z07eemhx2
+HnEbhDFHEA==
+-----END CERTIFICATE-----
diff --git a/etc/k8s/tls-cert/eshop-st-key.pem b/etc/k8s/tls-cert/eshop-st-key.pem
new file mode 100644
index 00000000..146780f7
--- /dev/null
+++ b/etc/k8s/tls-cert/eshop-st-key.pem
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDKu7X3b2CgdpBn
+z90KboUnpWRcCK96oq97pAEbR9sirN3+3jT0JRBY2TYKLDPW8i50QJFbdYE7zky5
+8c+RWPrxVDoeqRC8E1+TLsuW+TdMmOL746k36X1VtKy3rqUG9IS6MXjH/MX8H1kg
+ldHvE9mFEpyp3q/8cUPHSBUE+M0CA05wlDm8qgkGXcp43qrNElWg5Y2WWWIpWUm8
+r5obktSAxhA+ZxFX4cJHFmxKymMqSRStDpTFCIW9C3kx5ierPNQS6g5sSMtWOuPu
+h0Uhc0Q0lJBoA7Mj1CGvtO5nld0+6kAK1GMB7Vbigoqd00eqKMYaA3Aa5QZmbf84
+wZjofJx1AgMBAAECggEBALvJLd9ZInbf/Bi8uLFt+BbmI1UAkpKU2Nk86+16HKg8
+2ZC4APLY1hCGeoDnusjyIUd7e2jtKdzc1cMzEiI++orJiuBVl/OuOkxZ/ykEBU4F
+G9NYaKkqtPbLWWT291O+8KaLJqaQJE/KNcNyIzhB+a1CtSy/4eGChNa1lQq67yJZ
+iTFPNSHT1RTzjv2BAuUASq1gK+bX4F65otVYQBMg3JGsfkAdhWPbzEX0XLVpgbh/
+jtyAHSsiWIkyVjXvA3Zjp+3Gmf3dbd/86Uwd4XowPfcSOP4iyd76FS4iTlthsF5D
+M0psBOgotVl5RHv2ljOy7fUzrudnSQ0HepgdHed4Em0CgYEA7q+j7cbcb43ZW5Rx
+p2pMuuuEeFY+L2Ns8N4t26OoURQCzyACR5H4KgFtrrdqTwQPs7L8SWAjU8SoP2jX
+j+4+TJnK/Grt0YQ2pLpEM8j7kjGWfskHDfQhrL3o4VhdCm/1URWYSn7nzdNnX1Fk
+ZlKjUJWBXGTvthCUVY9Jk30hU4sCgYEA2XBupvyIpmjoNdsEdwxxSebLyIYu2FA/
+sjI5gdzXIOo9DsFfn9HTNbXyEsiQm9StNXS585jRhyht9OF7SYajrJ/E3O086tf4
+2MmDbUdFdvMdPdGxxTU2mXa9Vd6JASnFG+fSsRhABk57iNzcUE4+PNW1ztLmRyLx
+diW9cXjXz/8CgYBxGF43U0utu+uqvgqgRfj3dJL/JfYvJBBBjTTzZndhe3bdR5Bs
+8xhAZw7eg1/m8six3/Q0nE4A6iTCbt38/+kbCKAqvEvVQ61UnkGku+2f1sk1Z/Fk
+xjGSlSWcaO8k++mkMvRHEByr5SiM/Jby+OMTUtPJwLXocbCnXc6CCP9agwKBgEe7
+I4XLAXmEWjaKDisH28e5b7izK3kI4Dp0/yusIvwkyge4G0ep/LdXUoiHyczemFVu
+MHoAC/8+gyepyvYyiIRGILeRO+ttXBaIQ+ck//GBuj/OkYqxR1XRKhzN0PylPvU5
+wPPTQCvUcERyN+v2I+oFxnh4cqc9C9MiGCD68JcZAoGBAIi1RxcWKZUCjSETT1PY
+V7j5FIyMzBdUo0RN44eUdeu0CWAOnMG2s26z6fXl7EZp+Em5ee7dYEmSP49X69n9
+T9ueN1LRJaqko45Eo3uPl6rolz5vXcTr2Tooc3yqE3XbRxe2jOeczq06nj06kjuf
+hPPdSqjjOwWPy63DWboSkh+0
+-----END PRIVATE KEY-----
diff --git a/etc/k8s/tls-cert/notes.md b/etc/k8s/tls-cert/notes.md
new file mode 100644
index 00000000..d10840d4
--- /dev/null
+++ b/etc/k8s/tls-cert/notes.md
@@ -0,0 +1,9 @@
+# Notes
+
+## Creating demo tls cert
+
+```
+kubectl create secret tls eshop-demo-tls \
+ --cert=eshop-st-cert.pem \
+ --key=eshop-st-key.pem
+```
diff --git a/etc/scripts/build-images.ps1 b/etc/scripts/build-images.ps1
index 4e5b07f6..592bef60 100644
--- a/etc/scripts/build-images.ps1
+++ b/etc/scripts/build-images.ps1
@@ -7,7 +7,7 @@ $authserverFolder = Join-Path $slnFolder "apps/auth-server/src/EShopOnAbp.AuthSe
$publicWebFolder = Join-Path $slnFolder "apps/public-web/src/EShopOnAbp.PublicWeb"
$webGatewayFolder = Join-Path $slnFolder "gateways/web/src/EShopOnAbp.WebGateway"
-$publicWebGatewayFolder = Join-Path $slnFolder "gateways/web-public/src/EShopOnAbp.WebPublicGateway"
+$webPublicGatewayFolder = Join-Path $slnFolder "gateways/web-public/src/EShopOnAbp.WebPublicGateway"
$internalGatewayFolder = Join-Path $slnFolder "gateways/internal/src/EShopOnAbp.InternalGateway"
$identityServiceFolder = Join-Path $slnFolder "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host"
@@ -18,7 +18,8 @@ $saasServiceFolder = Join-Path $slnFolder "services/saas/src/EShopOnAbp.SaasServ
Write-Host "*** BUILDING WEB (WWW) ****************" -ForegroundColor Green
Set-Location $webAppFolder
yarn
-ng build --prod
+# ng build --prod
+npm run build:prod
docker build -t eshoponabp/app-web:$version .
### AUTH-SERVER
@@ -28,7 +29,7 @@ dotnet publish -c Release
docker build -t eshoponabp/app-authserver:$version .
### PUBLIC-WEB
-Write-Host "*** BUILDING PUBLIC-WEB ****************" -ForegroundColor Green
+Write-Host "*** BUILDING WEB-PUBLIC ****************" -ForegroundColor Green
Set-Location $publicWebFolder
dotnet publish -c Release
docker build -t eshoponabp/app-publicweb:$version .
@@ -40,10 +41,10 @@ dotnet publish -c Release
docker build -t eshoponabp/gateway-web:$version .
### PUBLICWEB-GATEWAY
-Write-Host "*** BUILDING PUBLICWEB-GATEWAY ****************" -ForegroundColor Green
-Set-Location $publicWebGatewayFolder
+Write-Host "*** BUILDING WEB-PUBLIC-GATEWAY ****************" -ForegroundColor Green
+Set-Location $webPublicGatewayFolder
dotnet publish -c Release
-docker build -t eshoponabp/gateway-publicweb:$version .
+docker build -t eshoponabp/gateway-web-public:$version .
### INTERNAL-GATEWAY
Write-Host "*** BUILDING INTERNAL-GATEWAY ****************" -ForegroundColor Green
diff --git a/gateways/internal/EShopOnAbp.InternalGateway.sln b/gateways/internal/EShopOnAbp.InternalGateway.sln
deleted file mode 100644
index e04495b7..00000000
--- a/gateways/internal/EShopOnAbp.InternalGateway.sln
+++ /dev/null
@@ -1,32 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 16
-VisualStudioVersion = 16.0.31320.298
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{138BBFFC-09B9-49FB-9C57-E25327CCE0C1}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{A5E7F07B-7A5D-416D-A9E0-2009A48CBE2A}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EShopOnAbp.InternalGateway", "src\EShopOnAbp.InternalGateway\EShopOnAbp.InternalGateway.csproj", "{EB7B7C24-2A6D-4500-B8E0-2988EF65DC8C}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {EB7B7C24-2A6D-4500-B8E0-2988EF65DC8C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {EB7B7C24-2A6D-4500-B8E0-2988EF65DC8C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {EB7B7C24-2A6D-4500-B8E0-2988EF65DC8C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {EB7B7C24-2A6D-4500-B8E0-2988EF65DC8C}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {EB7B7C24-2A6D-4500-B8E0-2988EF65DC8C} = {138BBFFC-09B9-49FB-9C57-E25327CCE0C1}
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {1753A143-A9EF-43ED-970D-C71BAD179AE6}
- EndGlobalSection
-EndGlobal
diff --git a/gateways/internal/src/EShopOnAbp.InternalGateway/Controllers/HomeController.cs b/gateways/internal/src/EShopOnAbp.InternalGateway/Controllers/HomeController.cs
deleted file mode 100644
index a577ae25..00000000
--- a/gateways/internal/src/EShopOnAbp.InternalGateway/Controllers/HomeController.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using Microsoft.AspNetCore.Mvc;
-using Volo.Abp.AspNetCore.Mvc;
-
-namespace EShopOnAbp.InternalGateway.Controllers
-{
- public class HomeController : AbpController
- {
- public ActionResult Index()
- {
- return Redirect("/swagger");
- }
- }
-}
diff --git a/gateways/internal/src/EShopOnAbp.InternalGateway/EShopOnAbp.InternalGateway.csproj b/gateways/internal/src/EShopOnAbp.InternalGateway/EShopOnAbp.InternalGateway.csproj
deleted file mode 100644
index 5e292444..00000000
--- a/gateways/internal/src/EShopOnAbp.InternalGateway/EShopOnAbp.InternalGateway.csproj
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
- net6.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/gateways/internal/src/EShopOnAbp.InternalGateway/EShopOnAbpInternalGatewayModule.cs b/gateways/internal/src/EShopOnAbp.InternalGateway/EShopOnAbpInternalGatewayModule.cs
deleted file mode 100644
index d1d65f16..00000000
--- a/gateways/internal/src/EShopOnAbp.InternalGateway/EShopOnAbpInternalGatewayModule.cs
+++ /dev/null
@@ -1,67 +0,0 @@
-using EShopOnAbp.Shared.Hosting.Gateways;
-using Microsoft.AspNetCore.Builder;
-using Microsoft.Extensions.Configuration;
-using Microsoft.Extensions.DependencyInjection;
-using Microsoft.Extensions.Hosting;
-using Ocelot.Middleware;
-using System.Collections.Generic;
-using System.Linq;
-using EShopOnAbp.Shared.Hosting.AspNetCore;
-using Volo.Abp;
-using Volo.Abp.Modularity;
-
-namespace EShopOnAbp.InternalGateway
-{
- [DependsOn(
- typeof(EShopOnAbpSharedHostingGatewaysModule)
-)]
- public class EShopOnAbpInternalGatewayModule : AbpModule
- {
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- var configuration = context.Services.GetConfiguration();
- var hostingEnvironment = context.Services.GetHostingEnvironment();
- SwaggerConfigurationHelper.Configure(context, "Internal Gateway");
- }
-
- public override void OnApplicationInitialization(ApplicationInitializationContext context)
- {
- var app = context.GetApplicationBuilder();
- var env = context.GetEnvironment();
-
- if (env.IsDevelopment())
- {
- app.UseDeveloperExceptionPage();
- }
-
- app.UseCorrelationId();
- app.UseSwagger();
- app.UseSwaggerUI(options =>
- {
- var configuration = context.ServiceProvider.GetRequiredService();
- var routes = configuration.GetSection("Routes").Get>();
-
- foreach (var config in routes.GroupBy(t => t.ServiceKey).Select(r => r.First()).Distinct())
- {
- var url =
- $"{config.DownstreamScheme}://{config.DownstreamHostAndPorts.FirstOrDefault()?.Host}:{config.DownstreamHostAndPorts.FirstOrDefault()?.Port}";
-
- options.SwaggerEndpoint($"{url}/swagger/v1/swagger.json", $"{config.ServiceKey} API");
- options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]);
- options.OAuthClientSecret(configuration["AuthServer:SwaggerClientSecret"]);
- }
- });
- app.UseAbpSerilogEnrichers();
- app.MapWhen(
- ctx => ctx.Request.Path.ToString().StartsWith("/api/abp/api-definition") ||
- ctx.Request.Path.ToString().TrimEnd('/').Equals(""),
- app2 =>
- {
- app2.UseRouting();
- app2.UseConfiguredEndpoints();
- }
- );
- app.UseOcelot().Wait();
- }
- }
-}
diff --git a/gateways/internal/src/EShopOnAbp.InternalGateway/Program.cs b/gateways/internal/src/EShopOnAbp.InternalGateway/Program.cs
deleted file mode 100644
index be086550..00000000
--- a/gateways/internal/src/EShopOnAbp.InternalGateway/Program.cs
+++ /dev/null
@@ -1,46 +0,0 @@
-using EShopOnAbp.Shared.Hosting.AspNetCore;
-using Microsoft.AspNetCore.Hosting;
-using Microsoft.Extensions.Configuration;
-using Microsoft.Extensions.Hosting;
-using Serilog;
-using System;
-using System.Threading.Tasks;
-
-namespace EShopOnAbp.InternalGateway
-{
- public class Program
- {
- public static async Task Main(string[] args)
- {
- var assemblyName = typeof(Program).Assembly.GetName().Name;
-
- SerilogConfigurationHelper.Configure(assemblyName);
-
- try
- {
- Log.Information($"Starting {assemblyName}.");
- await CreateHostBuilder(args).Build().RunAsync();
- return 0;
- }
- catch (Exception ex)
- {
- Log.Fatal(ex, $"{assemblyName} terminated unexpectedly!");
- return 1;
- }
- finally
- {
- Log.CloseAndFlush();
- }
- }
-
- internal static IHostBuilder CreateHostBuilder(string[] args) =>
- Host.CreateDefaultBuilder(args)
- .ConfigureAppConfiguration(build =>
- {
- build.AddJsonFile("appsettings.secrets.json", optional: true);
- })
- .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); })
- .UseAutofac()
- .UseSerilog();
- }
-}
diff --git a/gateways/internal/src/EShopOnAbp.InternalGateway/Properties/launchSettings.json b/gateways/internal/src/EShopOnAbp.InternalGateway/Properties/launchSettings.json
deleted file mode 100644
index ee03a415..00000000
--- a/gateways/internal/src/EShopOnAbp.InternalGateway/Properties/launchSettings.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "$schema": "http://json.schemastore.org/launchsettings.json",
- "iisSettings": {
- "windowsAuthentication": false,
- "anonymousAuthentication": true,
- "iisExpress": {
- "applicationUrl": "https://localhost:44371",
- "sslPort": 0
- }
- },
- "profiles": {
- "IIS Express": {
- "commandName": "IISExpress",
- "launchBrowser": true,
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
- }
- },
- "EShopOnAbp.InternalGateway": {
- "commandName": "Project",
- "dotnetRunMessages": "true",
- "launchBrowser": true,
- "applicationUrl": "https://localhost:44371",
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
- }
- }
- }
-}
diff --git a/gateways/internal/src/EShopOnAbp.InternalGateway/Startup.cs b/gateways/internal/src/EShopOnAbp.InternalGateway/Startup.cs
deleted file mode 100644
index 11f3388c..00000000
--- a/gateways/internal/src/EShopOnAbp.InternalGateway/Startup.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using Microsoft.AspNetCore.Builder;
-using Microsoft.AspNetCore.Hosting;
-using Microsoft.Extensions.DependencyInjection;
-
-namespace EShopOnAbp.InternalGateway
-{
- public class Startup
- {
- public void ConfigureServices(IServiceCollection services)
- {
- services.AddApplication();
- }
-
- public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
- {
- app.InitializeApplication();
- }
- }
-}
diff --git a/gateways/internal/src/EShopOnAbp.InternalGateway/appsettings.Development.json b/gateways/internal/src/EShopOnAbp.InternalGateway/appsettings.Development.json
deleted file mode 100644
index 8983e0fc..00000000
--- a/gateways/internal/src/EShopOnAbp.InternalGateway/appsettings.Development.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft": "Warning",
- "Microsoft.Hosting.Lifetime": "Information"
- }
- }
-}
diff --git a/gateways/web-public/src/EShopOnAbp.WebPublicGateway/Dockerfile b/gateways/web-public/src/EShopOnAbp.WebPublicGateway/Dockerfile
index 2d3b43d9..ea373981 100644
--- a/gateways/web-public/src/EShopOnAbp.WebPublicGateway/Dockerfile
+++ b/gateways/web-public/src/EShopOnAbp.WebPublicGateway/Dockerfile
@@ -1,4 +1,52 @@
- FROM mcr.microsoft.com/dotnet/aspnet:6.0
- COPY bin/Release/net6.0/publish/ app/
- WORKDIR /app
- ENTRYPOINT ["dotnet", "EShopOnAbp.WebPublicGateway.dll"]
\ No newline at end of file
+FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
+WORKDIR /app
+EXPOSE 80
+EXPOSE 443
+
+FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
+WORKDIR /src
+
+# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles
+# to take advantage of Docker's build cache, to speed up local container builds
+COPY "EShopOnAbp.sln" "EShopOnAbp.sln"
+
+# Applications
+COPY "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj" "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj"
+COPY "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj" "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj"
+
+# Shared
+COPY "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj" "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj"
+COPY "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj" "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj"
+COPY "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj" "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj"
+COPY "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj" "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj"
+COPY "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj" "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj"
+
+# Microservices
+COPY "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj" "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj"
+COPY "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj" "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj"
+COPY *"services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj" "services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj"
+COPY *"services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj" "services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj"
+COPY *"services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj" "services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj"
+COPY *"services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj" "services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj"
+COPY *"services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj" "services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj"
+
+# Gateways
+COPY "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj" "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj"
+COPY "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj" "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj"
+
+COPY "NuGet.Config" "NuGet.Config"
+
+RUN dotnet restore "EShopOnAbp.sln"
+COPY . .
+
+WORKDIR "/src/gateways/web-public/src/EShopOnAbp.WebPublicGateway"
+RUN dotnet publish -c Release -o /app
+# Should be used after .net6 is out of preview for better performance
+# RUN dotnet publish --no-restore -c Release -o /app
+
+FROM build AS publish
+
+FROM base AS final
+WORKDIR /app
+COPY --from=publish /app .
+ENTRYPOINT ["dotnet", "EShopOnAbp.WebPublicGateway.dll"]
\ No newline at end of file
diff --git a/gateways/web-public/src/EShopOnAbp.WebPublicGateway/Dockerfile.local b/gateways/web-public/src/EShopOnAbp.WebPublicGateway/Dockerfile.local
new file mode 100644
index 00000000..2d3b43d9
--- /dev/null
+++ b/gateways/web-public/src/EShopOnAbp.WebPublicGateway/Dockerfile.local
@@ -0,0 +1,4 @@
+ FROM mcr.microsoft.com/dotnet/aspnet:6.0
+ COPY bin/Release/net6.0/publish/ app/
+ WORKDIR /app
+ ENTRYPOINT ["dotnet", "EShopOnAbp.WebPublicGateway.dll"]
\ No newline at end of file
diff --git a/gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbpWebPublicGatewayModule.cs b/gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbpWebPublicGatewayModule.cs
index cf71cce0..ec322373 100644
--- a/gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbpWebPublicGatewayModule.cs
+++ b/gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbpWebPublicGatewayModule.cs
@@ -45,6 +45,10 @@ namespace EShopOnAbp.WebPublicGateway
{
var url =
$"{config.DownstreamScheme}://{config.DownstreamHostAndPorts.FirstOrDefault()?.Host}:{config.DownstreamHostAndPorts.FirstOrDefault()?.Port}";
+ if (!env.IsDevelopment())
+ {
+ url = $"https://{config.DownstreamHostAndPorts.FirstOrDefault()?.Host}";
+ }
options.SwaggerEndpoint($"{url}/swagger/v1/swagger.json", $"{config.ServiceKey} API");
options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]);
diff --git a/gateways/web-public/src/EShopOnAbp.WebPublicGateway/Program.cs b/gateways/web-public/src/EShopOnAbp.WebPublicGateway/Program.cs
index cd7274fa..7e4b70f7 100644
--- a/gateways/web-public/src/EShopOnAbp.WebPublicGateway/Program.cs
+++ b/gateways/web-public/src/EShopOnAbp.WebPublicGateway/Program.cs
@@ -37,7 +37,7 @@ namespace EShopOnAbp.WebPublicGateway
Host.CreateDefaultBuilder(args)
.ConfigureAppConfiguration(build =>
{
- build.AddJsonFile("appsettings.secrets.json", optional: true);
+ build.AddJsonFile("appsettings.secrets.json", optional: true, reloadOnChange:true);
})
.ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); })
.UseAutofac()
diff --git a/gateways/web-public/src/EShopOnAbp.WebPublicGateway/appsettings.json b/gateways/web-public/src/EShopOnAbp.WebPublicGateway/appsettings.json
index 312cbe61..fceda57f 100644
--- a/gateways/web-public/src/EShopOnAbp.WebPublicGateway/appsettings.json
+++ b/gateways/web-public/src/EShopOnAbp.WebPublicGateway/appsettings.json
@@ -42,7 +42,12 @@
}
],
"UpstreamPathTemplate": "/api/abp/{everything}",
- "UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ]
+ "UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ],
+ "QoSOptions": {
+ "ExceptionsAllowedBeforeBreaking": 3,
+ "DurationOfBreak": 3000,
+ "TimeoutValue": 2500
+ }
},
{
"ServiceKey": "Catalog Service",
diff --git a/gateways/web/src/EShopOnAbp.WebGateway/Dockerfile b/gateways/web/src/EShopOnAbp.WebGateway/Dockerfile
index 26009670..9ad062f6 100644
--- a/gateways/web/src/EShopOnAbp.WebGateway/Dockerfile
+++ b/gateways/web/src/EShopOnAbp.WebGateway/Dockerfile
@@ -1,4 +1,52 @@
- FROM mcr.microsoft.com/dotnet/aspnet:6.0
- COPY bin/Release/net6.0/publish/ app/
- WORKDIR /app
- ENTRYPOINT ["dotnet", "EShopOnAbp.WebGateway.dll"]
\ No newline at end of file
+FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
+WORKDIR /app
+EXPOSE 80
+EXPOSE 443
+
+FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
+WORKDIR /src
+
+# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles
+# to take advantage of Docker's build cache, to speed up local container builds
+COPY "EShopOnAbp.sln" "EShopOnAbp.sln"
+
+# Applications
+COPY "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj" "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj"
+COPY "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj" "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj"
+
+# Shared
+COPY "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj" "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj"
+COPY "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj" "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj"
+COPY "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj" "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj"
+COPY "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj" "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj"
+COPY "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj" "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj"
+
+# Microservices
+COPY "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj" "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj"
+COPY "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj" "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj"
+COPY *"services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj" "services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj"
+COPY *"services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj" "services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj"
+COPY *"services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj" "services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj"
+COPY *"services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj" "services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj"
+COPY *"services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj" "services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj"
+
+# Gateways
+COPY "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj" "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj"
+COPY "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj" "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj"
+
+COPY "NuGet.Config" "NuGet.Config"
+
+RUN dotnet restore "EShopOnAbp.sln"
+COPY . .
+
+WORKDIR "/src/gateways/web/src/EShopOnAbp.WebGateway"
+RUN dotnet publish -c Release -o /app
+# Should be used after .net6 is out of preview for better performance
+# RUN dotnet publish --no-restore -c Release -o /app
+
+FROM build AS publish
+
+FROM base AS final
+WORKDIR /app
+COPY --from=publish /app .
+ENTRYPOINT ["dotnet", "EShopOnAbp.WebGateway.dll"]
\ No newline at end of file
diff --git a/gateways/web/src/EShopOnAbp.WebGateway/Dockerfile.local b/gateways/web/src/EShopOnAbp.WebGateway/Dockerfile.local
new file mode 100644
index 00000000..26009670
--- /dev/null
+++ b/gateways/web/src/EShopOnAbp.WebGateway/Dockerfile.local
@@ -0,0 +1,4 @@
+ FROM mcr.microsoft.com/dotnet/aspnet:6.0
+ COPY bin/Release/net6.0/publish/ app/
+ WORKDIR /app
+ ENTRYPOINT ["dotnet", "EShopOnAbp.WebGateway.dll"]
\ No newline at end of file
diff --git a/gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbpWebGatewayModule.cs b/gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbpWebGatewayModule.cs
index 119ed7b5..0e89339c 100644
--- a/gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbpWebGatewayModule.cs
+++ b/gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbpWebGatewayModule.cs
@@ -25,6 +25,25 @@ namespace EShopOnAbp.WebGateway
var configuration = context.Services.GetConfiguration();
var hostingEnvironment = context.Services.GetHostingEnvironment();
SwaggerConfigurationHelper.Configure(context, "Web Gateway");
+
+ context.Services.AddCors(options =>
+ {
+ options.AddDefaultPolicy(builder =>
+ {
+ builder
+ .WithOrigins(
+ configuration["App:CorsOrigins"]
+ .Split(",", StringSplitOptions.RemoveEmptyEntries)
+ .Select(o => o.Trim().RemovePostFix("/"))
+ .ToArray()
+ )
+ .WithAbpExposedHeaders()
+ .SetIsOriginAllowedToAllowWildcardSubdomains()
+ .AllowAnyHeader()
+ .AllowAnyMethod()
+ .AllowCredentials();
+ });
+ });
}
public override void OnApplicationInitialization(ApplicationInitializationContext context)
@@ -38,6 +57,7 @@ namespace EShopOnAbp.WebGateway
}
app.UseCorrelationId();
+ app.UseCors();
app.UseSwagger();
app.UseSwaggerUI(options =>
{
@@ -48,6 +68,10 @@ namespace EShopOnAbp.WebGateway
{
var url =
$"{config.DownstreamScheme}://{config.DownstreamHostAndPorts.FirstOrDefault()?.Host}:{config.DownstreamHostAndPorts.FirstOrDefault()?.Port}";
+ if (!env.IsDevelopment())
+ {
+ url = $"https://{config.DownstreamHostAndPorts.FirstOrDefault()?.Host}";
+ }
options.SwaggerEndpoint($"{url}/swagger/v1/swagger.json", $"{config.ServiceKey} API");
options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]);
diff --git a/gateways/web/src/EShopOnAbp.WebGateway/appsettings.json b/gateways/web/src/EShopOnAbp.WebGateway/appsettings.json
index 13fb37e6..e7b9ea22 100644
--- a/gateways/web/src/EShopOnAbp.WebGateway/appsettings.json
+++ b/gateways/web/src/EShopOnAbp.WebGateway/appsettings.json
@@ -68,7 +68,12 @@
}
],
"UpstreamPathTemplate": "/api/abp/{everything}",
- "UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ]
+ "UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ],
+ "QoSOptions": {
+ "ExceptionsAllowedBeforeBreaking": 3,
+ "DurationOfBreak": 5000,
+ "TimeoutValue": 2500
+ }
},
{
"ServiceKey": "Administration Service",
diff --git a/services/administration/src/EShopOnAbp.AdministrationService.Application.Contracts/EShopOnAbp.AdministrationService.Application.Contracts.csproj b/services/administration/src/EShopOnAbp.AdministrationService.Application.Contracts/EShopOnAbp.AdministrationService.Application.Contracts.csproj
index 93532fcb..06b9c85e 100644
--- a/services/administration/src/EShopOnAbp.AdministrationService.Application.Contracts/EShopOnAbp.AdministrationService.Application.Contracts.csproj
+++ b/services/administration/src/EShopOnAbp.AdministrationService.Application.Contracts/EShopOnAbp.AdministrationService.Application.Contracts.csproj
@@ -10,9 +10,9 @@
-
-
-
+
+
+
diff --git a/services/administration/src/EShopOnAbp.AdministrationService.Application/EShopOnAbp.AdministrationService.Application.csproj b/services/administration/src/EShopOnAbp.AdministrationService.Application/EShopOnAbp.AdministrationService.Application.csproj
index b923426f..f8daf35c 100644
--- a/services/administration/src/EShopOnAbp.AdministrationService.Application/EShopOnAbp.AdministrationService.Application.csproj
+++ b/services/administration/src/EShopOnAbp.AdministrationService.Application/EShopOnAbp.AdministrationService.Application.csproj
@@ -11,9 +11,9 @@
-
-
-
+
+
+
diff --git a/services/administration/src/EShopOnAbp.AdministrationService.Domain.Shared/EShopOnAbp.AdministrationService.Domain.Shared.csproj b/services/administration/src/EShopOnAbp.AdministrationService.Domain.Shared/EShopOnAbp.AdministrationService.Domain.Shared.csproj
index 3afaea58..d0966243 100644
--- a/services/administration/src/EShopOnAbp.AdministrationService.Domain.Shared/EShopOnAbp.AdministrationService.Domain.Shared.csproj
+++ b/services/administration/src/EShopOnAbp.AdministrationService.Domain.Shared/EShopOnAbp.AdministrationService.Domain.Shared.csproj
@@ -7,14 +7,14 @@
-
+
-
-
-
-
+
+
+
+
diff --git a/services/administration/src/EShopOnAbp.AdministrationService.Domain/EShopOnAbp.AdministrationService.Domain.csproj b/services/administration/src/EShopOnAbp.AdministrationService.Domain/EShopOnAbp.AdministrationService.Domain.csproj
index 8a781f41..83245074 100644
--- a/services/administration/src/EShopOnAbp.AdministrationService.Domain/EShopOnAbp.AdministrationService.Domain.csproj
+++ b/services/administration/src/EShopOnAbp.AdministrationService.Domain/EShopOnAbp.AdministrationService.Domain.csproj
@@ -10,12 +10,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/services/administration/src/EShopOnAbp.AdministrationService.EntityFrameworkCore/EShopOnAbp.AdministrationService.EntityFrameworkCore.csproj b/services/administration/src/EShopOnAbp.AdministrationService.EntityFrameworkCore/EShopOnAbp.AdministrationService.EntityFrameworkCore.csproj
index b312a680..65e8cbe4 100644
--- a/services/administration/src/EShopOnAbp.AdministrationService.EntityFrameworkCore/EShopOnAbp.AdministrationService.EntityFrameworkCore.csproj
+++ b/services/administration/src/EShopOnAbp.AdministrationService.EntityFrameworkCore/EShopOnAbp.AdministrationService.EntityFrameworkCore.csproj
@@ -6,19 +6,19 @@
-
+
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Client/EShopOnAbp.AdministrationService.HttpApi.Client.csproj b/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Client/EShopOnAbp.AdministrationService.HttpApi.Client.csproj
index 27140ae7..29a4d997 100644
--- a/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Client/EShopOnAbp.AdministrationService.HttpApi.Client.csproj
+++ b/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Client/EShopOnAbp.AdministrationService.HttpApi.Client.csproj
@@ -10,9 +10,9 @@
-
-
-
+
+
+
diff --git a/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/AdministrationServiceHttpApiHostModule.cs b/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/AdministrationServiceHttpApiHostModule.cs
index 2e64a6ab..8253bf1e 100644
--- a/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/AdministrationServiceHttpApiHostModule.cs
+++ b/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/AdministrationServiceHttpApiHostModule.cs
@@ -3,7 +3,6 @@ using System.Collections.Generic;
using System.Linq;
using EShopOnAbp.AdministrationService.DbMigrations;
using EShopOnAbp.AdministrationService.EntityFrameworkCore;
-using EShopOnAbp.SaasService;
using EShopOnAbp.Shared.Hosting.AspNetCore;
using EShopOnAbp.Shared.Hosting.Microservices;
using Microsoft.AspNetCore.Builder;
@@ -12,7 +11,6 @@ using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Volo.Abp;
using Volo.Abp.Account;
-using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy;
using Volo.Abp.Http.Client.IdentityModel.Web;
using Volo.Abp.Identity;
@@ -29,7 +27,6 @@ namespace EShopOnAbp.AdministrationService
typeof(AbpAccountApplicationContractsModule),
typeof(AbpHttpClientIdentityModelWebModule),
typeof(AbpAspNetCoreMvcUiMultiTenancyModule),
- typeof(SaasServiceApplicationContractsModule),
typeof(AbpIdentityHttpApiClientModule)
)]
public class AdministrationServiceHttpApiHostModule : AbpModule
@@ -88,7 +85,6 @@ namespace EShopOnAbp.AdministrationService
//app.UseHttpMetrics();
app.UseAuthentication();
app.UseAbpClaimsMap();
- app.UseMultiTenancy();
app.UseAuthorization();
app.UseSwagger();
app.UseSwaggerUI(options =>
diff --git a/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/DbMigrations/AdministrationServiceDatabaseMigrationEventHandler.cs b/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/DbMigrations/AdministrationServiceDatabaseMigrationEventHandler.cs
index 148befce..b5f8c7d8 100644
--- a/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/DbMigrations/AdministrationServiceDatabaseMigrationEventHandler.cs
+++ b/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/DbMigrations/AdministrationServiceDatabaseMigrationEventHandler.cs
@@ -8,7 +8,6 @@ using Volo.Abp.Data;
using Volo.Abp.EventBus.Distributed;
using Volo.Abp.MultiTenancy;
using Volo.Abp.PermissionManagement;
-using Volo.Abp.TenantManagement;
using Volo.Abp.Uow;
namespace EShopOnAbp.AdministrationService.DbMigrations
@@ -27,13 +26,11 @@ namespace EShopOnAbp.AdministrationService.DbMigrations
ITenantStore tenantStore,
IPermissionDefinitionManager permissionDefinitionManager,
IPermissionDataSeeder permissionDataSeeder,
- ITenantRepository tenantRepository,
IDistributedEventBus distributedEventBus
) : base(
currentTenant,
unitOfWorkManager,
tenantStore,
- tenantRepository,
distributedEventBus,
AdministrationServiceDbProperties.ConnectionStringName)
{
@@ -52,12 +49,6 @@ namespace EShopOnAbp.AdministrationService.DbMigrations
{
var schemaMigrated = await MigrateDatabaseSchemaAsync(eventData.TenantId);
await SeedDataAsync(eventData.TenantId);
-
- if (eventData.TenantId == null && schemaMigrated)
- {
- /* Migrate tenant databases after host migration */
- await QueueTenantMigrationsAsync();
- }
}
catch (Exception ex)
{
diff --git a/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/Dockerfile b/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/Dockerfile
index 6767ed03..d498afbf 100644
--- a/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/Dockerfile
+++ b/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/Dockerfile
@@ -1,4 +1,52 @@
- FROM mcr.microsoft.com/dotnet/aspnet:6.0
- COPY bin/Release/net6.0/publish/ app/
- WORKDIR /app
- ENTRYPOINT ["dotnet", "EShopOnAbp.AdministrationService.HttpApi.Host.dll"]
\ No newline at end of file
+FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
+WORKDIR /app
+EXPOSE 80
+EXPOSE 443
+
+FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
+WORKDIR /src
+
+# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles
+# to take advantage of Docker's build cache, to speed up local container builds
+COPY "EShopOnAbp.sln" "EShopOnAbp.sln"
+
+# Applications
+COPY "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj" "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj"
+COPY "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj" "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj"
+
+# Shared
+COPY "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj" "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj"
+COPY "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj" "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj"
+COPY "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj" "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj"
+COPY "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj" "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj"
+COPY "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj" "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj"
+
+# Microservices
+COPY "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj" "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj"
+COPY "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj" "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj"
+COPY *"services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj" "services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj"
+COPY *"services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj" "services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj"
+COPY *"services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj" "services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj"
+COPY *"services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj" "services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj"
+COPY *"services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj" "services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj"
+
+# Gateways
+COPY "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj" "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj"
+COPY "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj" "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj"
+
+COPY "NuGet.Config" "NuGet.Config"
+
+RUN dotnet restore "EShopOnAbp.sln"
+COPY . .
+
+WORKDIR "/src/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host"
+RUN dotnet publish -c Release -o /app
+# Should be used after .net6 is out of preview for better performance
+# RUN dotnet publish --no-restore -c Release -o /app
+
+FROM build AS publish
+
+FROM base AS final
+WORKDIR /app
+COPY --from=publish /app .
+ENTRYPOINT ["dotnet", "EShopOnAbp.AdministrationService.HttpApi.Host.dll"]
\ No newline at end of file
diff --git a/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/Dockerfile.local b/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/Dockerfile.local
new file mode 100644
index 00000000..6767ed03
--- /dev/null
+++ b/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/Dockerfile.local
@@ -0,0 +1,4 @@
+ FROM mcr.microsoft.com/dotnet/aspnet:6.0
+ COPY bin/Release/net6.0/publish/ app/
+ WORKDIR /app
+ ENTRYPOINT ["dotnet", "EShopOnAbp.AdministrationService.HttpApi.Host.dll"]
\ No newline at end of file
diff --git a/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj b/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj
index e9fc35dc..2e78e8f8 100644
--- a/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj
+++ b/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj
@@ -7,16 +7,16 @@
-
+
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
-
+
+
+
+
@@ -27,7 +27,6 @@
-
diff --git a/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/appsettings.json b/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/appsettings.json
index ba5d742b..12fbc8fa 100644
--- a/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/appsettings.json
+++ b/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/appsettings.json
@@ -1,7 +1,7 @@
{
"App": {
"SelfUrl": "https://localhost:44353",
- "CorsOrigins": "https://localhost:44371,https://localhost:44372,https://localhost:44373"
+ "CorsOrigins": "https://localhost:44372,https://localhost:44373"
},
"AuthServer": {
"Authority": "https://localhost:44330",
@@ -10,8 +10,8 @@
"SwaggerClientSecret": "1q2w3e*"
},
"RemoteServices": {
- "Default": {
- "BaseUrl": "https://localhost:44371/",
+ "AbpIdentity": {
+ "BaseUrl": "https://localhost:44351/",
"UseCurrentAccessToken": "false"
}
},
@@ -33,7 +33,6 @@
},
"AllowedHosts": "*",
"ConnectionStrings": {
- "SaasService": "Server=localhost,1434;Database=EShopOnAbp_Saas;User Id=sa;password=myPassw0rd;MultipleActiveResultSets=true",
"AdministrationService": "Server=localhost,1434;Database=EShopOnAbp_Administration;User Id=sa;password=myPassw0rd;MultipleActiveResultSets=true"
},
"StringEncryption": {
@@ -55,10 +54,5 @@
},
"ElasticSearch": {
"Url": "http://localhost:9200"
- },
- "Consul": {
- "Enabled": true,
- "Host": "http://localhost:8500",
- "Service": "Administration Service"
}
}
diff --git a/services/administration/src/EShopOnAbp.AdministrationService.HttpApi/EShopOnAbp.AdministrationService.HttpApi.csproj b/services/administration/src/EShopOnAbp.AdministrationService.HttpApi/EShopOnAbp.AdministrationService.HttpApi.csproj
index a26486a5..fd3bed46 100644
--- a/services/administration/src/EShopOnAbp.AdministrationService.HttpApi/EShopOnAbp.AdministrationService.HttpApi.csproj
+++ b/services/administration/src/EShopOnAbp.AdministrationService.HttpApi/EShopOnAbp.AdministrationService.HttpApi.csproj
@@ -10,9 +10,9 @@
-
-
-
+
+
+
diff --git a/services/administration/test/EShopOnAbp.AdministrationService.EntityFrameworkCore.Tests/EShopOnAbp.AdministrationService.EntityFrameworkCore.Tests.csproj b/services/administration/test/EShopOnAbp.AdministrationService.EntityFrameworkCore.Tests/EShopOnAbp.AdministrationService.EntityFrameworkCore.Tests.csproj
index 6622994c..334dcdb1 100644
--- a/services/administration/test/EShopOnAbp.AdministrationService.EntityFrameworkCore.Tests/EShopOnAbp.AdministrationService.EntityFrameworkCore.Tests.csproj
+++ b/services/administration/test/EShopOnAbp.AdministrationService.EntityFrameworkCore.Tests/EShopOnAbp.AdministrationService.EntityFrameworkCore.Tests.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/services/administration/test/EShopOnAbp.AdministrationService.TestBase/EShopOnAbp.AdministrationService.TestBase.csproj b/services/administration/test/EShopOnAbp.AdministrationService.TestBase/EShopOnAbp.AdministrationService.TestBase.csproj
index 1dd01683..2331afec 100644
--- a/services/administration/test/EShopOnAbp.AdministrationService.TestBase/EShopOnAbp.AdministrationService.TestBase.csproj
+++ b/services/administration/test/EShopOnAbp.AdministrationService.TestBase/EShopOnAbp.AdministrationService.TestBase.csproj
@@ -5,9 +5,9 @@
-
-
-
+
+
+
diff --git a/services/basket/src/EShopOnAbp.BasketService.Application.Contracts/EShopOnAbp.BasketService.Application.Contracts.csproj b/services/basket/src/EShopOnAbp.BasketService.Application.Contracts/EShopOnAbp.BasketService.Application.Contracts.csproj
index 34df95cf..b065b98e 100644
--- a/services/basket/src/EShopOnAbp.BasketService.Application.Contracts/EShopOnAbp.BasketService.Application.Contracts.csproj
+++ b/services/basket/src/EShopOnAbp.BasketService.Application.Contracts/EShopOnAbp.BasketService.Application.Contracts.csproj
@@ -12,8 +12,8 @@
-
-
+
+
diff --git a/services/basket/src/EShopOnAbp.BasketService.Application/EShopOnAbp.BasketService.Application.csproj b/services/basket/src/EShopOnAbp.BasketService.Application/EShopOnAbp.BasketService.Application.csproj
index 4115bcd4..8b43963d 100644
--- a/services/basket/src/EShopOnAbp.BasketService.Application/EShopOnAbp.BasketService.Application.csproj
+++ b/services/basket/src/EShopOnAbp.BasketService.Application/EShopOnAbp.BasketService.Application.csproj
@@ -13,8 +13,8 @@
-
-
+
+
diff --git a/services/basket/src/EShopOnAbp.BasketService.Domain.Shared/EShopOnAbp.BasketService.Domain.Shared.csproj b/services/basket/src/EShopOnAbp.BasketService.Domain.Shared/EShopOnAbp.BasketService.Domain.Shared.csproj
index e3dcf348..0e7c2f6c 100644
--- a/services/basket/src/EShopOnAbp.BasketService.Domain.Shared/EShopOnAbp.BasketService.Domain.Shared.csproj
+++ b/services/basket/src/EShopOnAbp.BasketService.Domain.Shared/EShopOnAbp.BasketService.Domain.Shared.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/services/basket/src/EShopOnAbp.BasketService.Domain/EShopOnAbp.BasketService.Domain.csproj b/services/basket/src/EShopOnAbp.BasketService.Domain/EShopOnAbp.BasketService.Domain.csproj
index effd4663..215dc225 100644
--- a/services/basket/src/EShopOnAbp.BasketService.Domain/EShopOnAbp.BasketService.Domain.csproj
+++ b/services/basket/src/EShopOnAbp.BasketService.Domain/EShopOnAbp.BasketService.Domain.csproj
@@ -12,7 +12,7 @@
-
+
diff --git a/services/basket/src/EShopOnAbp.BasketService.HttpApi.Client/EShopOnAbp.BasketService.HttpApi.Client.csproj b/services/basket/src/EShopOnAbp.BasketService.HttpApi.Client/EShopOnAbp.BasketService.HttpApi.Client.csproj
index 06af9966..7363ea9c 100644
--- a/services/basket/src/EShopOnAbp.BasketService.HttpApi.Client/EShopOnAbp.BasketService.HttpApi.Client.csproj
+++ b/services/basket/src/EShopOnAbp.BasketService.HttpApi.Client/EShopOnAbp.BasketService.HttpApi.Client.csproj
@@ -12,7 +12,7 @@
-
+
diff --git a/services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/BasketServiceHttpApiHostModule.cs b/services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/BasketServiceHttpApiHostModule.cs
index b3118a87..aa2e62ce 100644
--- a/services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/BasketServiceHttpApiHostModule.cs
+++ b/services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/BasketServiceHttpApiHostModule.cs
@@ -75,7 +75,6 @@ namespace EShopOnAbp.BasketService
// app.UseHttpMetrics();
app.UseAuthentication();
app.UseAbpClaimsMap();
- app.UseMultiTenancy();
app.UseAuthorization();
app.UseSwagger();
app.UseSwaggerUI(options => { options.SwaggerEndpoint("/swagger/v1/swagger.json", "Saas Service API"); });
diff --git a/services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/Dockerfile.local b/services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/Dockerfile.local
new file mode 100644
index 00000000..c9ac1070
--- /dev/null
+++ b/services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/Dockerfile.local
@@ -0,0 +1,4 @@
+ FROM mcr.microsoft.com/dotnet/aspnet:6.0
+ COPY bin/Release/net6.0/publish/ app/
+ WORKDIR /app
+ ENTRYPOINT ["dotnet", "EShopOnAbp.BasketService.HttpApi.Host.dll"]
\ No newline at end of file
diff --git a/services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/appsettings.json b/services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/appsettings.json
index 74b8e977..31fc1e23 100644
--- a/services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/appsettings.json
+++ b/services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/appsettings.json
@@ -1,7 +1,7 @@
{
"App": {
"SelfUrl": "https://localhost:44355",
- "CorsOrigins": "https://localhost:44371,https://localhost:44372,https://localhost:44373"
+ "CorsOrigins": "https://localhost:44372,https://localhost:44373"
},
"AuthServer": {
"Authority": "https://localhost:44330",
diff --git a/services/basket/src/EShopOnAbp.BasketService.HttpApi/EShopOnAbp.BasketService.HttpApi.csproj b/services/basket/src/EShopOnAbp.BasketService.HttpApi/EShopOnAbp.BasketService.HttpApi.csproj
index b3caff61..446e1cb4 100644
--- a/services/basket/src/EShopOnAbp.BasketService.HttpApi/EShopOnAbp.BasketService.HttpApi.csproj
+++ b/services/basket/src/EShopOnAbp.BasketService.HttpApi/EShopOnAbp.BasketService.HttpApi.csproj
@@ -12,7 +12,7 @@
-
+
diff --git a/services/basket/test/EShopOnAbp.BasketService.EntityFrameworkCore.Tests/EShopOnAbp.BasketService.EntityFrameworkCore.Tests.csproj b/services/basket/test/EShopOnAbp.BasketService.EntityFrameworkCore.Tests/EShopOnAbp.BasketService.EntityFrameworkCore.Tests.csproj
index 2117ba35..cea4da3b 100644
--- a/services/basket/test/EShopOnAbp.BasketService.EntityFrameworkCore.Tests/EShopOnAbp.BasketService.EntityFrameworkCore.Tests.csproj
+++ b/services/basket/test/EShopOnAbp.BasketService.EntityFrameworkCore.Tests/EShopOnAbp.BasketService.EntityFrameworkCore.Tests.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/services/basket/test/EShopOnAbp.BasketService.HttpApi.Client.ConsoleTestApp/EShopOnAbp.BasketService.HttpApi.Client.ConsoleTestApp.csproj b/services/basket/test/EShopOnAbp.BasketService.HttpApi.Client.ConsoleTestApp/EShopOnAbp.BasketService.HttpApi.Client.ConsoleTestApp.csproj
index 6c184840..08207a00 100644
--- a/services/basket/test/EShopOnAbp.BasketService.HttpApi.Client.ConsoleTestApp/EShopOnAbp.BasketService.HttpApi.Client.ConsoleTestApp.csproj
+++ b/services/basket/test/EShopOnAbp.BasketService.HttpApi.Client.ConsoleTestApp/EShopOnAbp.BasketService.HttpApi.Client.ConsoleTestApp.csproj
@@ -19,7 +19,7 @@
-
+
diff --git a/services/basket/test/EShopOnAbp.BasketService.TestBase/EShopOnAbp.BasketService.TestBase.csproj b/services/basket/test/EShopOnAbp.BasketService.TestBase/EShopOnAbp.BasketService.TestBase.csproj
index fd68828f..02ad5e36 100644
--- a/services/basket/test/EShopOnAbp.BasketService.TestBase/EShopOnAbp.BasketService.TestBase.csproj
+++ b/services/basket/test/EShopOnAbp.BasketService.TestBase/EShopOnAbp.BasketService.TestBase.csproj
@@ -8,9 +8,9 @@
-
-
-
+
+
+
diff --git a/services/catalog/src/EShopOnAbp.CatalogService.Application.Contracts/EShopOnAbp.CatalogService.Application.Contracts.csproj b/services/catalog/src/EShopOnAbp.CatalogService.Application.Contracts/EShopOnAbp.CatalogService.Application.Contracts.csproj
index ea927ba1..cb747838 100644
--- a/services/catalog/src/EShopOnAbp.CatalogService.Application.Contracts/EShopOnAbp.CatalogService.Application.Contracts.csproj
+++ b/services/catalog/src/EShopOnAbp.CatalogService.Application.Contracts/EShopOnAbp.CatalogService.Application.Contracts.csproj
@@ -12,8 +12,8 @@
-
-
+
+
diff --git a/services/catalog/src/EShopOnAbp.CatalogService.Application/EShopOnAbp.CatalogService.Application.csproj b/services/catalog/src/EShopOnAbp.CatalogService.Application/EShopOnAbp.CatalogService.Application.csproj
index 075b1252..a1bb8507 100644
--- a/services/catalog/src/EShopOnAbp.CatalogService.Application/EShopOnAbp.CatalogService.Application.csproj
+++ b/services/catalog/src/EShopOnAbp.CatalogService.Application/EShopOnAbp.CatalogService.Application.csproj
@@ -13,8 +13,8 @@
-
-
+
+
diff --git a/services/catalog/src/EShopOnAbp.CatalogService.Domain.Shared/EShopOnAbp.CatalogService.Domain.Shared.csproj b/services/catalog/src/EShopOnAbp.CatalogService.Domain.Shared/EShopOnAbp.CatalogService.Domain.Shared.csproj
index 83acf82b..791705ee 100644
--- a/services/catalog/src/EShopOnAbp.CatalogService.Domain.Shared/EShopOnAbp.CatalogService.Domain.Shared.csproj
+++ b/services/catalog/src/EShopOnAbp.CatalogService.Domain.Shared/EShopOnAbp.CatalogService.Domain.Shared.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/services/catalog/src/EShopOnAbp.CatalogService.Domain/EShopOnAbp.CatalogService.Domain.csproj b/services/catalog/src/EShopOnAbp.CatalogService.Domain/EShopOnAbp.CatalogService.Domain.csproj
index 6f4f0a19..149f5c27 100644
--- a/services/catalog/src/EShopOnAbp.CatalogService.Domain/EShopOnAbp.CatalogService.Domain.csproj
+++ b/services/catalog/src/EShopOnAbp.CatalogService.Domain/EShopOnAbp.CatalogService.Domain.csproj
@@ -12,7 +12,7 @@
-
+
diff --git a/services/catalog/src/EShopOnAbp.CatalogService.EntityFrameworkCore/EShopOnAbp.CatalogService.EntityFrameworkCore.csproj b/services/catalog/src/EShopOnAbp.CatalogService.EntityFrameworkCore/EShopOnAbp.CatalogService.EntityFrameworkCore.csproj
index 1a240394..1edca607 100644
--- a/services/catalog/src/EShopOnAbp.CatalogService.EntityFrameworkCore/EShopOnAbp.CatalogService.EntityFrameworkCore.csproj
+++ b/services/catalog/src/EShopOnAbp.CatalogService.EntityFrameworkCore/EShopOnAbp.CatalogService.EntityFrameworkCore.csproj
@@ -12,7 +12,7 @@
-
+
diff --git a/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Client/EShopOnAbp.CatalogService.HttpApi.Client.csproj b/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Client/EShopOnAbp.CatalogService.HttpApi.Client.csproj
index b1bf5614..7fdf29d2 100644
--- a/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Client/EShopOnAbp.CatalogService.HttpApi.Client.csproj
+++ b/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Client/EShopOnAbp.CatalogService.HttpApi.Client.csproj
@@ -12,7 +12,7 @@
-
+
diff --git a/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/CatalogServiceHttpApiHostModule.cs b/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/CatalogServiceHttpApiHostModule.cs
index 8cadceea..78d3ea91 100644
--- a/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/CatalogServiceHttpApiHostModule.cs
+++ b/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/CatalogServiceHttpApiHostModule.cs
@@ -80,7 +80,6 @@ namespace EShopOnAbp.CatalogService
// app.UseHttpMetrics();
app.UseAuthentication();
app.UseAbpClaimsMap();
- app.UseMultiTenancy();
app.UseAuthorization();
app.UseSwagger();
app.UseSwaggerUI(options => { options.SwaggerEndpoint("/swagger/v1/swagger.json", "Saas Service API"); });
diff --git a/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/DbMigrations/CatalogServiceDatabaseMigrationEventHandler.cs b/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/DbMigrations/CatalogServiceDatabaseMigrationEventHandler.cs
index 59f04153..ee8cda8c 100644
--- a/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/DbMigrations/CatalogServiceDatabaseMigrationEventHandler.cs
+++ b/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/DbMigrations/CatalogServiceDatabaseMigrationEventHandler.cs
@@ -5,7 +5,6 @@ using System.Threading.Tasks;
using Volo.Abp.Data;
using Volo.Abp.EventBus.Distributed;
using Volo.Abp.MultiTenancy;
-using Volo.Abp.TenantManagement;
using Volo.Abp.Uow;
namespace EShopOnAbp.CatalogService.DbMigrations
@@ -18,13 +17,11 @@ namespace EShopOnAbp.CatalogService.DbMigrations
ICurrentTenant currentTenant,
IUnitOfWorkManager unitOfWorkManager,
ITenantStore tenantStore,
- ITenantRepository tenantRepository,
IDistributedEventBus distributedEventBus
) : base(
currentTenant,
unitOfWorkManager,
tenantStore,
- tenantRepository,
distributedEventBus,
CatalogServiceDbProperties.ConnectionStringName)
{
diff --git a/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/Dockerfile.local b/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/Dockerfile.local
new file mode 100644
index 00000000..28dcb67f
--- /dev/null
+++ b/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/Dockerfile.local
@@ -0,0 +1,4 @@
+ FROM mcr.microsoft.com/dotnet/aspnet:6.0
+ COPY bin/Release/net6.0/publish/ app/
+ WORKDIR /app
+ ENTRYPOINT ["dotnet", "EShopOnAbp.CatalogService.HttpApi.Host.dll"]
\ No newline at end of file
diff --git a/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj b/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj
index 76b13b19..5024ad55 100644
--- a/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj
+++ b/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj
@@ -1,4 +1,4 @@
-
+
diff --git a/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/appsettings.json b/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/appsettings.json
index 3455109c..7d8efd15 100644
--- a/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/appsettings.json
+++ b/services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/appsettings.json
@@ -1,7 +1,7 @@
{
"App": {
"SelfUrl": "https://localhost:44354",
- "CorsOrigins": "https://localhost:44371,https://localhost:44372,https://localhost:44373"
+ "CorsOrigins": "https://localhost:44372,https://localhost:44373"
},
"AuthServer": {
"Authority": "https://localhost:44330",
diff --git a/services/catalog/src/EShopOnAbp.CatalogService.HttpApi/EShopOnAbp.CatalogService.HttpApi.csproj b/services/catalog/src/EShopOnAbp.CatalogService.HttpApi/EShopOnAbp.CatalogService.HttpApi.csproj
index 4309057e..17a9093e 100644
--- a/services/catalog/src/EShopOnAbp.CatalogService.HttpApi/EShopOnAbp.CatalogService.HttpApi.csproj
+++ b/services/catalog/src/EShopOnAbp.CatalogService.HttpApi/EShopOnAbp.CatalogService.HttpApi.csproj
@@ -12,7 +12,7 @@
-
+
diff --git a/services/catalog/test/EShopOnAbp.CatalogService.EntityFrameworkCore.Tests/EShopOnAbp.CatalogService.EntityFrameworkCore.Tests.csproj b/services/catalog/test/EShopOnAbp.CatalogService.EntityFrameworkCore.Tests/EShopOnAbp.CatalogService.EntityFrameworkCore.Tests.csproj
index 4bd6a924..db0600fe 100644
--- a/services/catalog/test/EShopOnAbp.CatalogService.EntityFrameworkCore.Tests/EShopOnAbp.CatalogService.EntityFrameworkCore.Tests.csproj
+++ b/services/catalog/test/EShopOnAbp.CatalogService.EntityFrameworkCore.Tests/EShopOnAbp.CatalogService.EntityFrameworkCore.Tests.csproj
@@ -10,7 +10,7 @@
-
+
diff --git a/services/catalog/test/EShopOnAbp.CatalogService.HttpApi.Client.ConsoleTestApp/EShopOnAbp.CatalogService.HttpApi.Client.ConsoleTestApp.csproj b/services/catalog/test/EShopOnAbp.CatalogService.HttpApi.Client.ConsoleTestApp/EShopOnAbp.CatalogService.HttpApi.Client.ConsoleTestApp.csproj
index 18bb15b7..3af3a3fc 100644
--- a/services/catalog/test/EShopOnAbp.CatalogService.HttpApi.Client.ConsoleTestApp/EShopOnAbp.CatalogService.HttpApi.Client.ConsoleTestApp.csproj
+++ b/services/catalog/test/EShopOnAbp.CatalogService.HttpApi.Client.ConsoleTestApp/EShopOnAbp.CatalogService.HttpApi.Client.ConsoleTestApp.csproj
@@ -19,7 +19,7 @@
-
+
diff --git a/services/catalog/test/EShopOnAbp.CatalogService.TestBase/EShopOnAbp.CatalogService.TestBase.csproj b/services/catalog/test/EShopOnAbp.CatalogService.TestBase/EShopOnAbp.CatalogService.TestBase.csproj
index f6cc6f10..2c627dcb 100644
--- a/services/catalog/test/EShopOnAbp.CatalogService.TestBase/EShopOnAbp.CatalogService.TestBase.csproj
+++ b/services/catalog/test/EShopOnAbp.CatalogService.TestBase/EShopOnAbp.CatalogService.TestBase.csproj
@@ -8,9 +8,9 @@
-
-
-
+
+
+
diff --git a/services/identity/src/EShopOnAbp.IdentityService.Application.Contracts/EShopOnAbp.IdentityService.Application.Contracts.csproj b/services/identity/src/EShopOnAbp.IdentityService.Application.Contracts/EShopOnAbp.IdentityService.Application.Contracts.csproj
index 47eae2b5..170a9483 100644
--- a/services/identity/src/EShopOnAbp.IdentityService.Application.Contracts/EShopOnAbp.IdentityService.Application.Contracts.csproj
+++ b/services/identity/src/EShopOnAbp.IdentityService.Application.Contracts/EShopOnAbp.IdentityService.Application.Contracts.csproj
@@ -10,8 +10,8 @@
-
-
+
+
diff --git a/services/identity/src/EShopOnAbp.IdentityService.Application/EShopOnAbp.IdentityService.Application.csproj b/services/identity/src/EShopOnAbp.IdentityService.Application/EShopOnAbp.IdentityService.Application.csproj
index 7b962d30..626e51d6 100644
--- a/services/identity/src/EShopOnAbp.IdentityService.Application/EShopOnAbp.IdentityService.Application.csproj
+++ b/services/identity/src/EShopOnAbp.IdentityService.Application/EShopOnAbp.IdentityService.Application.csproj
@@ -11,8 +11,8 @@
-
-
+
+
diff --git a/services/identity/src/EShopOnAbp.IdentityService.Domain.Shared/EShopOnAbp.IdentityService.Domain.Shared.csproj b/services/identity/src/EShopOnAbp.IdentityService.Domain.Shared/EShopOnAbp.IdentityService.Domain.Shared.csproj
index a53ca62b..47f771d3 100644
--- a/services/identity/src/EShopOnAbp.IdentityService.Domain.Shared/EShopOnAbp.IdentityService.Domain.Shared.csproj
+++ b/services/identity/src/EShopOnAbp.IdentityService.Domain.Shared/EShopOnAbp.IdentityService.Domain.Shared.csproj
@@ -6,12 +6,12 @@
-
+
-
-
+
+
diff --git a/services/identity/src/EShopOnAbp.IdentityService.Domain/EShopOnAbp.IdentityService.Domain.csproj b/services/identity/src/EShopOnAbp.IdentityService.Domain/EShopOnAbp.IdentityService.Domain.csproj
index 36259867..dcf27f56 100644
--- a/services/identity/src/EShopOnAbp.IdentityService.Domain/EShopOnAbp.IdentityService.Domain.csproj
+++ b/services/identity/src/EShopOnAbp.IdentityService.Domain/EShopOnAbp.IdentityService.Domain.csproj
@@ -10,8 +10,8 @@
-
-
+
+
diff --git a/services/identity/src/EShopOnAbp.IdentityService.EntityFrameworkCore/EShopOnAbp.IdentityService.EntityFrameworkCore.csproj b/services/identity/src/EShopOnAbp.IdentityService.EntityFrameworkCore/EShopOnAbp.IdentityService.EntityFrameworkCore.csproj
index 7d565779..18b0d148 100644
--- a/services/identity/src/EShopOnAbp.IdentityService.EntityFrameworkCore/EShopOnAbp.IdentityService.EntityFrameworkCore.csproj
+++ b/services/identity/src/EShopOnAbp.IdentityService.EntityFrameworkCore/EShopOnAbp.IdentityService.EntityFrameworkCore.csproj
@@ -6,7 +6,7 @@
-
+
runtime; build; native; contentfiles; analyzers; buildtransitive
@@ -16,9 +16,9 @@
-
-
-
+
+
+
diff --git a/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Client/EShopOnAbp.IdentityService.HttpApi.Client.csproj b/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Client/EShopOnAbp.IdentityService.HttpApi.Client.csproj
index 0fddd41a..2817d504 100644
--- a/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Client/EShopOnAbp.IdentityService.HttpApi.Client.csproj
+++ b/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Client/EShopOnAbp.IdentityService.HttpApi.Client.csproj
@@ -10,8 +10,8 @@
-
-
+
+
diff --git a/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/DbMigrations/IdentityServerDataSeeder.cs b/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/DbMigrations/IdentityServerDataSeeder.cs
index 504be8b6..98b4cb84 100644
--- a/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/DbMigrations/IdentityServerDataSeeder.cs
+++ b/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/DbMigrations/IdentityServerDataSeeder.cs
@@ -215,10 +215,10 @@ namespace EShopOnAbp.IdentityService.DbMigrations
};
//Public Web Client
- var publicWebClientRootUrl = _configuration["IdentityServerClients:EShopOnAbp_PublicWeb:RootUrl"]
+ var publicWebClientRootUrl = _configuration["IdentityServerClients:PublicWeb:RootUrl"]
.EnsureEndsWith('/');
await CreateClientAsync(
- name: "EShopOnAbp_PublicWeb",
+ name: "PublicWeb",
scopes: commonScopes.Union(new[]
{
"AdministrationService"
@@ -233,9 +233,9 @@ namespace EShopOnAbp.IdentityService.DbMigrations
//Angular Client
var angularClientRootUrl =
- _configuration["IdentityServerClients:EShopOnAbp_Angular:RootUrl"].TrimEnd('/');
+ _configuration["IdentityServerClients:Web:RootUrl"].TrimEnd('/');
await CreateClientAsync(
- name: "EShopOnAbp_Angular",
+ name: "Web",
scopes: commonScopes.Union(new[]
{
"IdentityService",
diff --git a/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/DbMigrations/IdentityServiceDatabaseMigrationEventHandler.cs b/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/DbMigrations/IdentityServiceDatabaseMigrationEventHandler.cs
index c63ec2f5..f028b895 100644
--- a/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/DbMigrations/IdentityServiceDatabaseMigrationEventHandler.cs
+++ b/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/DbMigrations/IdentityServiceDatabaseMigrationEventHandler.cs
@@ -9,7 +9,6 @@ using Volo.Abp.EventBus.Distributed;
using Volo.Abp.EventBus.Local;
using Volo.Abp.Identity;
using Volo.Abp.MultiTenancy;
-using Volo.Abp.TenantManagement;
using Volo.Abp.Uow;
namespace EShopOnAbp.IdentityService.DbMigrations
@@ -29,14 +28,12 @@ namespace EShopOnAbp.IdentityService.DbMigrations
ITenantStore tenantStore,
IIdentityDataSeeder identityDataSeeder,
IdentityServerDataSeeder identityServerDataSeeder,
- ITenantRepository tenantRepository,
IDistributedEventBus distributedEventBus,
ILocalEventBus localEventBus
) : base(
currentTenant,
unitOfWorkManager,
tenantStore,
- tenantRepository,
distributedEventBus,
IdentityServiceDbProperties.ConnectionStringName)
{
@@ -61,12 +58,6 @@ namespace EShopOnAbp.IdentityService.DbMigrations
adminPassword: IdentityServiceDbProperties.DefaultAdminPassword
);
- if (eventData.TenantId == null && schemaMigrated)
- {
- /* Migrate tenant databases after host migration */
- await QueueTenantMigrationsAsync();
- }
-
await _localEventBus.PublishAsync(new ApplyDatabaseSeedsEto());
}
catch (Exception ex)
diff --git a/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/Dockerfile b/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/Dockerfile
index b9c94610..a2a86593 100644
--- a/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/Dockerfile
+++ b/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/Dockerfile
@@ -1,4 +1,52 @@
- FROM mcr.microsoft.com/dotnet/aspnet:6.0
- COPY bin/Release/net6.0/publish/ app/
- WORKDIR /app
- ENTRYPOINT ["dotnet", "EShopOnAbp.IdentityService.HttpApi.Host.dll"]
\ No newline at end of file
+FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
+WORKDIR /app
+EXPOSE 80
+EXPOSE 443
+
+FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
+WORKDIR /src
+
+# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles
+# to take advantage of Docker's build cache, to speed up local container builds
+COPY "EShopOnAbp.sln" "EShopOnAbp.sln"
+
+# Applications
+COPY "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj" "apps/auth-server/src/EShopOnAbp.AuthServer/EShopOnAbp.AuthServer.csproj"
+COPY "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj" "apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj"
+
+# Shared
+COPY "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj" "shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj"
+COPY "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj" "shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj"
+COPY "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj" "shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj"
+COPY "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj" "shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj"
+COPY "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj" "shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj"
+
+# Microservices
+COPY "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj" "services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj"
+COPY "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj" "services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj"
+COPY *"services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj" "services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj"
+COPY *"services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj" "services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/EShopOnAbp.BasketService.HttpApi.Host.csproj"
+COPY *"services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj" "services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj"
+COPY *"services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj" "services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/EShopOnAbp.CatalogService.HttpApi.Host.csproj"
+COPY *"services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj" "services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj"
+
+# Gateways
+COPY "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj" "gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj"
+COPY "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj" "gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj"
+
+COPY "NuGet.Config" "NuGet.Config"
+
+RUN dotnet restore "EShopOnAbp.sln"
+COPY . .
+
+WORKDIR "/src/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host"
+RUN dotnet publish -c Release -o /app
+# Should be used after .net6 is out of preview for better performance
+# RUN dotnet publish --no-restore -c Release -o /app
+
+FROM build AS publish
+
+FROM base AS final
+WORKDIR /app
+COPY --from=publish /app .
+ENTRYPOINT ["dotnet", "EShopOnAbp.IdentityService.HttpApi.Host.dll"]
\ No newline at end of file
diff --git a/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/Dockerfile.local b/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/Dockerfile.local
new file mode 100644
index 00000000..b9c94610
--- /dev/null
+++ b/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/Dockerfile.local
@@ -0,0 +1,4 @@
+ FROM mcr.microsoft.com/dotnet/aspnet:6.0
+ COPY bin/Release/net6.0/publish/ app/
+ WORKDIR /app
+ ENTRYPOINT ["dotnet", "EShopOnAbp.IdentityService.HttpApi.Host.dll"]
\ No newline at end of file
diff --git a/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj b/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj
index c3b1a16f..98858afd 100644
--- a/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj
+++ b/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/EShopOnAbp.IdentityService.HttpApi.Host.csproj
@@ -6,8 +6,7 @@
-
- all
+
runtime; build; native; contentfiles; analyzers; buildtransitive
@@ -26,351 +25,5 @@
-
-
- <_ContentIncludedByDefault Remove="wwwroot\global-styles.css" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\@fortawesome\fontawesome-free\css\all.css" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\@fortawesome\fontawesome-free\css\v4-shims.css" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\@fortawesome\fontawesome-free\webfonts\fa-brands-400.eot" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\@fortawesome\fontawesome-free\webfonts\fa-brands-400.svg" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\@fortawesome\fontawesome-free\webfonts\fa-brands-400.ttf" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\@fortawesome\fontawesome-free\webfonts\fa-brands-400.woff" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\@fortawesome\fontawesome-free\webfonts\fa-brands-400.woff2" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\@fortawesome\fontawesome-free\webfonts\fa-regular-400.eot" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\@fortawesome\fontawesome-free\webfonts\fa-regular-400.svg" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\@fortawesome\fontawesome-free\webfonts\fa-regular-400.ttf" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\@fortawesome\fontawesome-free\webfonts\fa-regular-400.woff" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\@fortawesome\fontawesome-free\webfonts\fa-regular-400.woff2" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\@fortawesome\fontawesome-free\webfonts\fa-solid-900.eot" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\@fortawesome\fontawesome-free\webfonts\fa-solid-900.svg" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\@fortawesome\fontawesome-free\webfonts\fa-solid-900.ttf" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\@fortawesome\fontawesome-free\webfonts\fa-solid-900.woff" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\@fortawesome\fontawesome-free\webfonts\fa-solid-900.woff2" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\abp\core\abp.css" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\abp\core\abp.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\abp\jquery\abp.jquery.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\abp\luxon\abp.luxon.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\abp\utils\abp-utils.umd.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\abp\utils\abp-utils.umd.js.map" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\abp\utils\abp-utils.umd.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\abp\utils\abp-utils.umd.min.js.map" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\bootstrap-datepicker.css.map" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\bootstrap-datepicker.min.css" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\bootstrap-datepicker.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker-en-CA.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.ar-tn.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.ar.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.az.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.bg.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.bm.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.bn.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.br.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.bs.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.ca.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.cs.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.cy.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.da.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.de.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.el.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.en-AU.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.en-CA.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.en-GB.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.en-IE.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.en-NZ.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.en-ZA.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.eo.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.es.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.et.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.eu.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.fa.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.fi.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.fo.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.fr-CH.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.fr.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.gl.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.he.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.hi.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.hr.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.hu.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.hy.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.id.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.is.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.it-CH.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.it.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.ja.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.ka.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.kh.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.kk.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.km.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.ko.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.kr.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.lt.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.lv.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.me.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.mk.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.mn.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.ms.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.nl-BE.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.nl.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.no.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.oc.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.pl.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.pt-BR.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.pt.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.ro.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.rs-latin.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.rs.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.ru.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.si.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.sk.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.sl.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.sq.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.sr-latin.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.sr.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.sv.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.sw.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.ta.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.tg.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.th.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.tk.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.tr.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.uk.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.uz-cyrl.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.uz-latn.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.vi.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.zh-CN.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap-datepicker\locales\bootstrap-datepicker.zh-TW.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap\css\bootstrap-rtl.css" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap\css\bootstrap-rtl.css.map" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap\css\bootstrap-rtl.min.css" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap\css\bootstrap-rtl.min.css.map" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap\css\bootstrap.css" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap\css\bootstrap.css.map" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap\css\bootstrap.min.css" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap\css\bootstrap.min.css.map" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap\js\bootstrap.bundle.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap\js\bootstrap.bundle.js.map" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap\js\bootstrap.bundle.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\bootstrap\js\bootstrap.bundle.min.js.map" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\datatables.net-bs4\css\dataTables.bootstrap4.css" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\datatables.net-bs4\js\dataTables.bootstrap4.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\datatables.net\js\jquery.dataTables.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-form\jquery.form.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-form\jquery.form.min.js.map" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation-unobtrusive\jquery.validate.unobtrusive.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\jquery.validate.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_ar.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_az.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_bg.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_bn_BD.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_ca.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_cs.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_da.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_de.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_el.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_es.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_es_AR.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_es_PE.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_et.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_eu.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_fa.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_fi.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_fr.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_ge.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_gl.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_he.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_hr.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_hu.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_hy_AM.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_id.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_is.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_it.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_ja.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_ka.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_kk.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_ko.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_lt.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_lv.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_mk.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_my.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_nl.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_no.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_pl.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_pt_BR.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_pt_PT.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_ro.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_ru.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_sd.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_si.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_sk.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_sl.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_sr.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_sr_lat.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_sv.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_th.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_tj.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_tr.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_uk.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_ur.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_vi.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_zh.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\messages_zh_TW.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\methods_de.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\methods_es_CL.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\methods_fi.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\methods_nl.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery-validation\localization\methods_pt.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\jquery\jquery.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\lodash\lodash.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\luxon\luxon.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\luxon\luxon.js.map" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\luxon\luxon.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\luxon\luxon.min.js.map" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\malihu-custom-scrollbar-plugin\jquery.mCustomScrollbar.concat.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\malihu-custom-scrollbar-plugin\jquery.mCustomScrollbar.css" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\malihu-custom-scrollbar-plugin\jquery.mCustomScrollbar.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\malihu-custom-scrollbar-plugin\mCSB_buttons.png" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\malihu-custom-scrollbar-plugin\package.json" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\malihu-custom-scrollbar-plugin\readme.md" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\css\select2.min.css" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\af.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\ar.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\az.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\bg.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\bn.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\bs.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\ca.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\cs.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\da.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\de.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\dsb.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\el.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\en.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\es.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\et.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\eu.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\fa.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\fi.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\fr.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\gl.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\he.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\hi.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\hr.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\hsb.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\hu.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\hy.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\id.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\is.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\it.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\ja.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\ka.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\km.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\ko.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\lt.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\lv.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\mk.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\ms.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\nb.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\ne.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\nl.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\pl.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\ps.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\pt-BR.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\pt.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\ro.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\ru.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\sk.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\sl.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\sq.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\sr-Cyrl.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\sr.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\sv.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\th.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\tk.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\tr.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\uk.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\vi.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\zh-CN.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\i18n\zh-TW.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\select2-bootstrap-modal-patch.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\select2.full.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\select2\js\select2.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\sweetalert\sweetalert.min.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\jquery.timeago.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.af.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.am.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.ar.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.az-short.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.az.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.be.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.bg.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.bs.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.ca.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.cs.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.cy.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.da.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.de-short.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.de.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.dv.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.el.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.en-short.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.en.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.es-short.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.es.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.et.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.eu.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.fa-short.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.fa.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.fi.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.fr-short.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.fr.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.gl.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.he.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.hr.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.hu.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.hy.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.id.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.is.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.it-short.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.it.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.ja.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.jv.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.ko.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.ky.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.lt.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.lv.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.mk.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.nl.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.no.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.pl.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.pt-br-short.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.pt-br.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.pt-short.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.pt.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.ro.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.rs.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.ru.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.rw.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.si.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.sk.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.sl.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.sq.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.sr.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.sv.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.th.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.tr-short.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.tr.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.uk.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.ur.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.uz.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.vi.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.zh-CN.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\jquery.timeago.zh-TW.js" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\timeago\locales\README.md" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\toastr\toastr.css" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\toastr\toastr.js.map" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\toastr\toastr.min.css" />
- <_ContentIncludedByDefault Remove="wwwroot\libs\toastr\toastr.min.js" />
-
-
+
diff --git a/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/IdentityServiceHttpApiHostModule.cs b/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/IdentityServiceHttpApiHostModule.cs
index 80122c46..44e5a01f 100644
--- a/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/IdentityServiceHttpApiHostModule.cs
+++ b/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/IdentityServiceHttpApiHostModule.cs
@@ -81,7 +81,6 @@ namespace EShopOnAbp.IdentityService
// app.UseHttpMetrics();
app.UseAuthentication();
app.UseAbpClaimsMap();
- app.UseMultiTenancy();
app.UseAuthorization();
app.UseSwagger();
app.UseSwaggerUI(options =>
diff --git a/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/appsettings.json b/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/appsettings.json
index f6ddc93a..4b03f5f5 100644
--- a/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/appsettings.json
+++ b/services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/appsettings.json
@@ -1,7 +1,7 @@
{
"App": {
"SelfUrl": "https://localhost:44351",
- "CorsOrigins": "https://localhost:44371,https://localhost:44372,https://localhost:44373"
+ "CorsOrigins": "https://localhost:44372,https://localhost:44373"
},
"AuthServer": {
"Authority": "https://localhost:44330",
@@ -42,18 +42,19 @@
"ElasticSearch": {
"Url": "http://localhost:9200"
},
- "Consul": {
- "Enabled": true,
- "Host": "http://localhost:8500",
- "Service": "Identity Service"
- },
"IdentityServerClients": {
- "EShopOnAbp_Angular": {
+ "Web": {
"RootUrl": "http://localhost:4200"
},
- "EShopOnAbp_PublicWeb": {
+ "PublicWeb": {
"RootUrl": "https://localhost:44335/"
},
+ "WebGateway": {
+ "RootUrl": "https://localhost:44372"
+ },
+ "PublicWebGateway": {
+ "RootUrl": "https://localhost:44373"
+ },
"IdentityService": {
"RootUrl": "https://localhost:44351"
},
diff --git a/services/identity/src/EShopOnAbp.IdentityService.HttpApi/EShopOnAbp.IdentityService.HttpApi.csproj b/services/identity/src/EShopOnAbp.IdentityService.HttpApi/EShopOnAbp.IdentityService.HttpApi.csproj
index c0c3bc84..760450a4 100644
--- a/services/identity/src/EShopOnAbp.IdentityService.HttpApi/EShopOnAbp.IdentityService.HttpApi.csproj
+++ b/services/identity/src/EShopOnAbp.IdentityService.HttpApi/EShopOnAbp.IdentityService.HttpApi.csproj
@@ -10,8 +10,8 @@
-
-
+
+
diff --git a/services/identity/test/EShopOnAbp.IdentityService.EntityFrameworkCore.Tests/EShopOnAbp.IdentityService.EntityFrameworkCore.Tests.csproj b/services/identity/test/EShopOnAbp.IdentityService.EntityFrameworkCore.Tests/EShopOnAbp.IdentityService.EntityFrameworkCore.Tests.csproj
index f0ac2cde..945c3612 100644
--- a/services/identity/test/EShopOnAbp.IdentityService.EntityFrameworkCore.Tests/EShopOnAbp.IdentityService.EntityFrameworkCore.Tests.csproj
+++ b/services/identity/test/EShopOnAbp.IdentityService.EntityFrameworkCore.Tests/EShopOnAbp.IdentityService.EntityFrameworkCore.Tests.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/services/identity/test/EShopOnAbp.IdentityService.TestBase/EShopOnAbp.IdentityService.TestBase.csproj b/services/identity/test/EShopOnAbp.IdentityService.TestBase/EShopOnAbp.IdentityService.TestBase.csproj
index 9bd2dc3f..c72dab2c 100644
--- a/services/identity/test/EShopOnAbp.IdentityService.TestBase/EShopOnAbp.IdentityService.TestBase.csproj
+++ b/services/identity/test/EShopOnAbp.IdentityService.TestBase/EShopOnAbp.IdentityService.TestBase.csproj
@@ -6,9 +6,9 @@
-
-
-
+
+
+
diff --git a/services/ordering/src/EShopOnAbp.OrderingService.Application.Contracts/EShopOnAbp.OrderingService.Application.Contracts.csproj b/services/ordering/src/EShopOnAbp.OrderingService.Application.Contracts/EShopOnAbp.OrderingService.Application.Contracts.csproj
index dbd7eb07..518b1cdf 100644
--- a/services/ordering/src/EShopOnAbp.OrderingService.Application.Contracts/EShopOnAbp.OrderingService.Application.Contracts.csproj
+++ b/services/ordering/src/EShopOnAbp.OrderingService.Application.Contracts/EShopOnAbp.OrderingService.Application.Contracts.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/services/ordering/src/EShopOnAbp.OrderingService.Application/EShopOnAbp.OrderingService.Application.csproj b/services/ordering/src/EShopOnAbp.OrderingService.Application/EShopOnAbp.OrderingService.Application.csproj
index c352dca2..39b139e4 100644
--- a/services/ordering/src/EShopOnAbp.OrderingService.Application/EShopOnAbp.OrderingService.Application.csproj
+++ b/services/ordering/src/EShopOnAbp.OrderingService.Application/EShopOnAbp.OrderingService.Application.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/services/ordering/src/EShopOnAbp.OrderingService.Domain.Shared/EShopOnAbp.OrderingService.Domain.Shared.csproj b/services/ordering/src/EShopOnAbp.OrderingService.Domain.Shared/EShopOnAbp.OrderingService.Domain.Shared.csproj
index e238c380..311a68f3 100644
--- a/services/ordering/src/EShopOnAbp.OrderingService.Domain.Shared/EShopOnAbp.OrderingService.Domain.Shared.csproj
+++ b/services/ordering/src/EShopOnAbp.OrderingService.Domain.Shared/EShopOnAbp.OrderingService.Domain.Shared.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/services/ordering/src/EShopOnAbp.OrderingService.Domain/EShopOnAbp.OrderingService.Domain.csproj b/services/ordering/src/EShopOnAbp.OrderingService.Domain/EShopOnAbp.OrderingService.Domain.csproj
index d213e41d..86088977 100644
--- a/services/ordering/src/EShopOnAbp.OrderingService.Domain/EShopOnAbp.OrderingService.Domain.csproj
+++ b/services/ordering/src/EShopOnAbp.OrderingService.Domain/EShopOnAbp.OrderingService.Domain.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/services/ordering/src/EShopOnAbp.OrderingService.EntityFrameworkCore/EShopOnAbp.OrderingService.EntityFrameworkCore.csproj b/services/ordering/src/EShopOnAbp.OrderingService.EntityFrameworkCore/EShopOnAbp.OrderingService.EntityFrameworkCore.csproj
index 61fb80d3..41acf5c4 100644
--- a/services/ordering/src/EShopOnAbp.OrderingService.EntityFrameworkCore/EShopOnAbp.OrderingService.EntityFrameworkCore.csproj
+++ b/services/ordering/src/EShopOnAbp.OrderingService.EntityFrameworkCore/EShopOnAbp.OrderingService.EntityFrameworkCore.csproj
@@ -1,4 +1,4 @@
-
+
@@ -9,7 +9,7 @@
-
+
diff --git a/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Client/EShopOnAbp.OrderingService.HttpApi.Client.csproj b/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Client/EShopOnAbp.OrderingService.HttpApi.Client.csproj
index 0352b247..27e9e75b 100644
--- a/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Client/EShopOnAbp.OrderingService.HttpApi.Client.csproj
+++ b/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Client/EShopOnAbp.OrderingService.HttpApi.Client.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/DbMigrations/OrderingServiceDatabaseMigrationEventHandler.cs b/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/DbMigrations/OrderingServiceDatabaseMigrationEventHandler.cs
index 65caa81f..a6c61851 100644
--- a/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/DbMigrations/OrderingServiceDatabaseMigrationEventHandler.cs
+++ b/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/DbMigrations/OrderingServiceDatabaseMigrationEventHandler.cs
@@ -1,14 +1,10 @@
using EShopOnAbp.OrderingService.EntityFrameworkCore;
using EShopOnAbp.Shared.Hosting.Microservices.DbMigrations;
using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Data;
using Volo.Abp.EventBus.Distributed;
using Volo.Abp.MultiTenancy;
-using Volo.Abp.TenantManagement;
using Volo.Abp.Uow;
namespace EShopOnAbp.OrderingService.DbMigrations
@@ -21,13 +17,11 @@ namespace EShopOnAbp.OrderingService.DbMigrations
ICurrentTenant currentTenant,
IUnitOfWorkManager unitOfWorkManager,
ITenantStore tenantStore,
- ITenantRepository tenantRepository,
IDistributedEventBus distributedEventBus)
: base(
currentTenant,
unitOfWorkManager,
tenantStore,
- tenantRepository,
distributedEventBus,
OrderingServiceDbProperties.ConnectionStringName)
{
diff --git a/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/Dockerfile.local b/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/Dockerfile.local
new file mode 100644
index 00000000..a4e919b7
--- /dev/null
+++ b/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/Dockerfile.local
@@ -0,0 +1,4 @@
+ FROM mcr.microsoft.com/dotnet/aspnet:6.0
+ COPY bin/Release/net6.0/publish/ app/
+ WORKDIR /app
+ ENTRYPOINT ["dotnet", "EShopOnAbp.OrderingService.HttpApi.Host.dll"]
\ No newline at end of file
diff --git a/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj b/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj
index 79434b15..a7610d8f 100644
--- a/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj
+++ b/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/EShopOnAbp.OrderingService.HttpApi.Host.csproj
@@ -1,4 +1,4 @@
-
+
@@ -10,9 +10,9 @@
-
-
-
+
+
+
diff --git a/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/OrderingServiceHttpApiHostModule.cs b/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/OrderingServiceHttpApiHostModule.cs
index 61941110..2fbed780 100644
--- a/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/OrderingServiceHttpApiHostModule.cs
+++ b/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/OrderingServiceHttpApiHostModule.cs
@@ -80,7 +80,6 @@ namespace EShopOnAbp.OrderingService
// app.UseHttpMetrics();
app.UseAuthentication();
app.UseAbpClaimsMap();
- app.UseMultiTenancy();
app.UseAuthorization();
app.UseSwagger();
app.UseSwaggerUI(options => { options.SwaggerEndpoint("/swagger/v1/swagger.json", "Saas Service API"); });
diff --git a/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/appsettings.json b/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/appsettings.json
index fbec0f06..450518aa 100644
--- a/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/appsettings.json
+++ b/services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/appsettings.json
@@ -1,7 +1,7 @@
{
"App": {
"SelfUrl": "https://localhost:44356",
- "CorsOrigins": "https://localhost:44371,https://localhost:44372,https://localhost:44373"
+ "CorsOrigins": "https://localhost:44372,https://localhost:44373"
},
"AuthServer": {
"Authority": "https://localhost:44330",
diff --git a/services/ordering/src/EShopOnAbp.OrderingService.HttpApi/EShopOnAbp.OrderingService.HttpApi.csproj b/services/ordering/src/EShopOnAbp.OrderingService.HttpApi/EShopOnAbp.OrderingService.HttpApi.csproj
index 93da1eab..d227847c 100644
--- a/services/ordering/src/EShopOnAbp.OrderingService.HttpApi/EShopOnAbp.OrderingService.HttpApi.csproj
+++ b/services/ordering/src/EShopOnAbp.OrderingService.HttpApi/EShopOnAbp.OrderingService.HttpApi.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/services/ordering/test/EShopOnAbp.OrderingService.EntityFrameworkCore.Tests/EShopOnAbp.OrderingService.EntityFrameworkCore.Tests.csproj b/services/ordering/test/EShopOnAbp.OrderingService.EntityFrameworkCore.Tests/EShopOnAbp.OrderingService.EntityFrameworkCore.Tests.csproj
index b49efe8b..d0c22871 100644
--- a/services/ordering/test/EShopOnAbp.OrderingService.EntityFrameworkCore.Tests/EShopOnAbp.OrderingService.EntityFrameworkCore.Tests.csproj
+++ b/services/ordering/test/EShopOnAbp.OrderingService.EntityFrameworkCore.Tests/EShopOnAbp.OrderingService.EntityFrameworkCore.Tests.csproj
@@ -12,7 +12,7 @@
-
+
diff --git a/services/ordering/test/EShopOnAbp.OrderingService.HttpApi.Client.ConsoleTestApp/EShopOnAbp.OrderingService.HttpApi.Client.ConsoleTestApp.csproj b/services/ordering/test/EShopOnAbp.OrderingService.HttpApi.Client.ConsoleTestApp/EShopOnAbp.OrderingService.HttpApi.Client.ConsoleTestApp.csproj
index 884fe289..1f1ee24f 100644
--- a/services/ordering/test/EShopOnAbp.OrderingService.HttpApi.Client.ConsoleTestApp/EShopOnAbp.OrderingService.HttpApi.Client.ConsoleTestApp.csproj
+++ b/services/ordering/test/EShopOnAbp.OrderingService.HttpApi.Client.ConsoleTestApp/EShopOnAbp.OrderingService.HttpApi.Client.ConsoleTestApp.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/services/ordering/test/EShopOnAbp.OrderingService.TestBase/EShopOnAbp.OrderingService.TestBase.csproj b/services/ordering/test/EShopOnAbp.OrderingService.TestBase/EShopOnAbp.OrderingService.TestBase.csproj
index f0bdf6fb..e92ad921 100644
--- a/services/ordering/test/EShopOnAbp.OrderingService.TestBase/EShopOnAbp.OrderingService.TestBase.csproj
+++ b/services/ordering/test/EShopOnAbp.OrderingService.TestBase/EShopOnAbp.OrderingService.TestBase.csproj
@@ -14,9 +14,9 @@
-
-
-
+
+
+
diff --git a/services/payment/src/EShopOnAbp.PaymentService.Application.Contracts/EShopOnAbp.PaymentService.Application.Contracts.csproj b/services/payment/src/EShopOnAbp.PaymentService.Application.Contracts/EShopOnAbp.PaymentService.Application.Contracts.csproj
index 6ce4b39a..6018ef83 100644
--- a/services/payment/src/EShopOnAbp.PaymentService.Application.Contracts/EShopOnAbp.PaymentService.Application.Contracts.csproj
+++ b/services/payment/src/EShopOnAbp.PaymentService.Application.Contracts/EShopOnAbp.PaymentService.Application.Contracts.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/services/payment/src/EShopOnAbp.PaymentService.Application/EShopOnAbp.PaymentService.Application.csproj b/services/payment/src/EShopOnAbp.PaymentService.Application/EShopOnAbp.PaymentService.Application.csproj
index 730ad0d1..dd628a6b 100644
--- a/services/payment/src/EShopOnAbp.PaymentService.Application/EShopOnAbp.PaymentService.Application.csproj
+++ b/services/payment/src/EShopOnAbp.PaymentService.Application/EShopOnAbp.PaymentService.Application.csproj
@@ -1,4 +1,4 @@
-
+
@@ -9,8 +9,8 @@
-
-
+
+
diff --git a/services/payment/src/EShopOnAbp.PaymentService.Domain.Shared/EShopOnAbp.PaymentService.Domain.Shared.csproj b/services/payment/src/EShopOnAbp.PaymentService.Domain.Shared/EShopOnAbp.PaymentService.Domain.Shared.csproj
index de87538d..5cd3f273 100644
--- a/services/payment/src/EShopOnAbp.PaymentService.Domain.Shared/EShopOnAbp.PaymentService.Domain.Shared.csproj
+++ b/services/payment/src/EShopOnAbp.PaymentService.Domain.Shared/EShopOnAbp.PaymentService.Domain.Shared.csproj
@@ -1,4 +1,4 @@
-
+
@@ -9,7 +9,7 @@
-
+
diff --git a/services/payment/src/EShopOnAbp.PaymentService.Domain/EShopOnAbp.PaymentService.Domain.csproj b/services/payment/src/EShopOnAbp.PaymentService.Domain/EShopOnAbp.PaymentService.Domain.csproj
index 96a20f9e..08712ddb 100644
--- a/services/payment/src/EShopOnAbp.PaymentService.Domain/EShopOnAbp.PaymentService.Domain.csproj
+++ b/services/payment/src/EShopOnAbp.PaymentService.Domain/EShopOnAbp.PaymentService.Domain.csproj
@@ -1,4 +1,4 @@
-
+
@@ -8,7 +8,7 @@
-
+
diff --git a/services/payment/src/EShopOnAbp.PaymentService.EntityFrameworkCore/EShopOnAbp.PaymentService.EntityFrameworkCore.csproj b/services/payment/src/EShopOnAbp.PaymentService.EntityFrameworkCore/EShopOnAbp.PaymentService.EntityFrameworkCore.csproj
index 9fc8d5fd..c4a3ccca 100644
--- a/services/payment/src/EShopOnAbp.PaymentService.EntityFrameworkCore/EShopOnAbp.PaymentService.EntityFrameworkCore.csproj
+++ b/services/payment/src/EShopOnAbp.PaymentService.EntityFrameworkCore/EShopOnAbp.PaymentService.EntityFrameworkCore.csproj
@@ -1,4 +1,4 @@
-
+
@@ -9,7 +9,7 @@
-
+
diff --git a/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Client/EShopOnAbp.PaymentService.HttpApi.Client.csproj b/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Client/EShopOnAbp.PaymentService.HttpApi.Client.csproj
index 7fe1af2d..fe175183 100644
--- a/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Client/EShopOnAbp.PaymentService.HttpApi.Client.csproj
+++ b/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Client/EShopOnAbp.PaymentService.HttpApi.Client.csproj
@@ -1,4 +1,4 @@
-
+
@@ -8,7 +8,7 @@
-
+
diff --git a/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/DbMigrations/PaymentServiceDatabaseMigrationEventHandler.cs b/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/DbMigrations/PaymentServiceDatabaseMigrationEventHandler.cs
index 1974b789..6b06f8b5 100644
--- a/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/DbMigrations/PaymentServiceDatabaseMigrationEventHandler.cs
+++ b/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/DbMigrations/PaymentServiceDatabaseMigrationEventHandler.cs
@@ -5,7 +5,6 @@ using System.Threading.Tasks;
using Volo.Abp.Data;
using Volo.Abp.EventBus.Distributed;
using Volo.Abp.MultiTenancy;
-using Volo.Abp.TenantManagement;
using Volo.Abp.Uow;
namespace EShopOnAbp.PaymentService.DbMigrations
@@ -18,13 +17,11 @@ namespace EShopOnAbp.PaymentService.DbMigrations
ICurrentTenant currentTenant,
IUnitOfWorkManager unitOfWorkManager,
ITenantStore tenantStore,
- ITenantRepository tenantRepository,
IDistributedEventBus distributedEventBus)
: base(
currentTenant,
unitOfWorkManager,
tenantStore,
- tenantRepository,
distributedEventBus,
PaymentServiceDbProperties.ConnectionStringName)
{
diff --git a/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/Dockerfile.local b/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/Dockerfile.local
new file mode 100644
index 00000000..07db2a8c
--- /dev/null
+++ b/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/Dockerfile.local
@@ -0,0 +1,4 @@
+ FROM mcr.microsoft.com/dotnet/aspnet:6.0
+ COPY bin/Release/net6.0/publish/ app/
+ WORKDIR /app
+ ENTRYPOINT ["dotnet", "EShopOnAbp.PaymentService.HttpApi.Host.dll"]
\ No newline at end of file
diff --git a/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj b/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj
index c1c7f3e1..405c7a06 100644
--- a/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj
+++ b/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/EShopOnAbp.PaymentService.HttpApi.Host.csproj
@@ -1,4 +1,4 @@
-
+
diff --git a/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/PaymentServiceHttpApiHostModule.cs b/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/PaymentServiceHttpApiHostModule.cs
index 530aa5c2..1ebad85e 100644
--- a/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/PaymentServiceHttpApiHostModule.cs
+++ b/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/PaymentServiceHttpApiHostModule.cs
@@ -79,7 +79,6 @@ namespace EShopOnAbp.PaymentService
// app.UseHttpMetrics();
app.UseAuthentication();
app.UseAbpClaimsMap();
- app.UseMultiTenancy();
app.UseAuthorization();
app.UseSwagger();
app.UseSwaggerUI(options => { options.SwaggerEndpoint("/swagger/v1/swagger.json", "Saas Service API"); });
diff --git a/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/appsettings.json b/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/appsettings.json
index 017c3fc5..e26f48a0 100644
--- a/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/appsettings.json
+++ b/services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/appsettings.json
@@ -1,7 +1,7 @@
{
"App": {
"SelfUrl": "https://localhost:44357",
- "CorsOrigins": "https://localhost:44371,https://localhost:44372,https://localhost:44373"
+ "CorsOrigins": "https://localhost:44372,https://localhost:44373"
},
"AuthServer": {
"Authority": "https://localhost:44330",
diff --git a/services/payment/src/EShopOnAbp.PaymentService.HttpApi/EShopOnAbp.PaymentService.HttpApi.csproj b/services/payment/src/EShopOnAbp.PaymentService.HttpApi/EShopOnAbp.PaymentService.HttpApi.csproj
index 9c5888d6..01f8407d 100644
--- a/services/payment/src/EShopOnAbp.PaymentService.HttpApi/EShopOnAbp.PaymentService.HttpApi.csproj
+++ b/services/payment/src/EShopOnAbp.PaymentService.HttpApi/EShopOnAbp.PaymentService.HttpApi.csproj
@@ -1,4 +1,4 @@
-
+
@@ -8,7 +8,7 @@
-
+
diff --git a/services/payment/test/EShopOnAbp.PaymentService.Application.Tests/EShopOnAbp.PaymentService.Application.Tests.csproj b/services/payment/test/EShopOnAbp.PaymentService.Application.Tests/EShopOnAbp.PaymentService.Application.Tests.csproj
index 110632e8..e68c6249 100644
--- a/services/payment/test/EShopOnAbp.PaymentService.Application.Tests/EShopOnAbp.PaymentService.Application.Tests.csproj
+++ b/services/payment/test/EShopOnAbp.PaymentService.Application.Tests/EShopOnAbp.PaymentService.Application.Tests.csproj
@@ -1,4 +1,4 @@
-
+
diff --git a/services/payment/test/EShopOnAbp.PaymentService.Domain.Tests/EShopOnAbp.PaymentService.Domain.Tests.csproj b/services/payment/test/EShopOnAbp.PaymentService.Domain.Tests/EShopOnAbp.PaymentService.Domain.Tests.csproj
index feb9fd14..5a3199d5 100644
--- a/services/payment/test/EShopOnAbp.PaymentService.Domain.Tests/EShopOnAbp.PaymentService.Domain.Tests.csproj
+++ b/services/payment/test/EShopOnAbp.PaymentService.Domain.Tests/EShopOnAbp.PaymentService.Domain.Tests.csproj
@@ -1,4 +1,4 @@
-
+
diff --git a/services/payment/test/EShopOnAbp.PaymentService.EntityFrameworkCore.Tests/EShopOnAbp.PaymentService.EntityFrameworkCore.Tests.csproj b/services/payment/test/EShopOnAbp.PaymentService.EntityFrameworkCore.Tests/EShopOnAbp.PaymentService.EntityFrameworkCore.Tests.csproj
index 1b92399b..4ddb42c4 100644
--- a/services/payment/test/EShopOnAbp.PaymentService.EntityFrameworkCore.Tests/EShopOnAbp.PaymentService.EntityFrameworkCore.Tests.csproj
+++ b/services/payment/test/EShopOnAbp.PaymentService.EntityFrameworkCore.Tests/EShopOnAbp.PaymentService.EntityFrameworkCore.Tests.csproj
@@ -1,4 +1,4 @@
-
+
@@ -12,7 +12,7 @@
-
+
diff --git a/services/payment/test/EShopOnAbp.PaymentService.HttpApi.Client.ConsoleTestApp/EShopOnAbp.PaymentService.HttpApi.Client.ConsoleTestApp.csproj b/services/payment/test/EShopOnAbp.PaymentService.HttpApi.Client.ConsoleTestApp/EShopOnAbp.PaymentService.HttpApi.Client.ConsoleTestApp.csproj
index d18fdb86..2559f0cf 100644
--- a/services/payment/test/EShopOnAbp.PaymentService.HttpApi.Client.ConsoleTestApp/EShopOnAbp.PaymentService.HttpApi.Client.ConsoleTestApp.csproj
+++ b/services/payment/test/EShopOnAbp.PaymentService.HttpApi.Client.ConsoleTestApp/EShopOnAbp.PaymentService.HttpApi.Client.ConsoleTestApp.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/services/payment/test/EShopOnAbp.PaymentService.TestBase/EShopOnAbp.PaymentService.TestBase.csproj b/services/payment/test/EShopOnAbp.PaymentService.TestBase/EShopOnAbp.PaymentService.TestBase.csproj
index 3bc97cd7..7c9b3ae7 100644
--- a/services/payment/test/EShopOnAbp.PaymentService.TestBase/EShopOnAbp.PaymentService.TestBase.csproj
+++ b/services/payment/test/EShopOnAbp.PaymentService.TestBase/EShopOnAbp.PaymentService.TestBase.csproj
@@ -1,4 +1,4 @@
-
+
@@ -14,9 +14,9 @@
-
-
-
+
+
+
diff --git a/services/saas/.gitattributes b/services/saas/.gitattributes
deleted file mode 100644
index c941e526..00000000
--- a/services/saas/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-**/wwwroot/libs/** linguist-vendored
diff --git a/services/saas/.gitignore b/services/saas/.gitignore
deleted file mode 100644
index 62278a88..00000000
--- a/services/saas/.gitignore
+++ /dev/null
@@ -1,258 +0,0 @@
-## Ignore Visual Studio temporary files, build results, and
-## files generated by popular Visual Studio add-ons.
-
-# User-specific files
-*.suo
-*.user
-*.userosscache
-*.sln.docstates
-
-# User-specific files (MonoDevelop/Xamarin Studio)
-*.userprefs
-
-# Build results
-[Dd]ebug/
-[Dd]ebugPublic/
-[Rr]elease/
-[Rr]eleases/
-x64/
-x86/
-bld/
-[Bb]in/
-[Oo]bj/
-[Ll]og/
-
-# Visual Studio 2015 cache/options directory
-.vs/
-# Uncomment if you have tasks that create the project's static files in wwwroot
-#wwwroot/
-
-# MSTest test Results
-[Tt]est[Rr]esult*/
-[Bb]uild[Ll]og.*
-
-# NUNIT
-*.VisualState.xml
-TestResult.xml
-
-# Build Results of an ATL Project
-[Dd]ebugPS/
-[Rr]eleasePS/
-dlldata.c
-
-# DNX
-project.lock.json
-artifacts/
-
-*_i.c
-*_p.c
-*_i.h
-*.ilk
-*.meta
-*.obj
-*.pch
-*.pdb
-*.pgc
-*.pgd
-*.rsp
-*.sbr
-*.tlb
-*.tli
-*.tlh
-*.tmp
-*.tmp_proj
-*.log
-*.vspscc
-*.vssscc
-.builds
-*.pidb
-*.svclog
-*.scc
-
-# Chutzpah Test files
-_Chutzpah*
-
-# Visual C++ cache files
-ipch/
-*.aps
-*.ncb
-*.opendb
-*.opensdf
-*.sdf
-*.cachefile
-*.VC.db
-*.VC.VC.opendb
-
-# Visual Studio profiler
-*.psess
-*.vsp
-*.vspx
-*.sap
-
-# TFS 2012 Local Workspace
-$tf/
-
-# Guidance Automation Toolkit
-*.gpState
-
-# ReSharper is a .NET coding add-in
-_ReSharper*/
-*.[Rr]e[Ss]harper
-*.DotSettings.user
-
-# JustCode is a .NET coding add-in
-.JustCode
-
-# TeamCity is a build add-in
-_TeamCity*
-
-# DotCover is a Code Coverage Tool
-*.dotCover
-
-# NCrunch
-_NCrunch_*
-.*crunch*.local.xml
-nCrunchTemp_*
-
-# MightyMoose
-*.mm.*
-AutoTest.Net/
-
-# Web workbench (sass)
-.sass-cache/
-
-# Installshield output folder
-[Ee]xpress/
-
-# DocProject is a documentation generator add-in
-DocProject/buildhelp/
-DocProject/Help/*.HxT
-DocProject/Help/*.HxC
-DocProject/Help/*.hhc
-DocProject/Help/*.hhk
-DocProject/Help/*.hhp
-DocProject/Help/Html2
-DocProject/Help/html
-
-# Click-Once directory
-publish/
-
-# Publish Web Output
-*.[Pp]ublish.xml
-*.azurePubxml
-# TODO: Comment the next line if you want to checkin your web deploy settings
-# but database connection strings (with potential passwords) will be unencrypted
-*.pubxml
-*.publishproj
-
-# Microsoft Azure Web App publish settings. Comment the next line if you want to
-# checkin your Azure Web App publish settings, but sensitive information contained
-# in these scripts will be unencrypted
-PublishScripts/
-
-# NuGet Packages
-*.nupkg
-# The packages folder can be ignored because of Package Restore
-**/packages/*
-# except build/, which is used as an MSBuild target.
-!**/packages/build/
-# Uncomment if necessary however generally it will be regenerated when needed
-#!**/packages/repositories.config
-# NuGet v3's project.json files produces more ignoreable files
-*.nuget.props
-*.nuget.targets
-
-# Microsoft Azure Build Output
-csx/
-*.build.csdef
-
-# Microsoft Azure Emulator
-ecf/
-rcf/
-
-# Windows Store app package directories and files
-AppPackages/
-BundleArtifacts/
-Package.StoreAssociation.xml
-_pkginfo.txt
-
-# Visual Studio cache files
-# files ending in .cache can be ignored
-*.[Cc]ache
-# but keep track of directories ending in .cache
-!*.[Cc]ache/
-
-# Others
-ClientBin/
-~$*
-*~
-*.dbmdl
-*.dbproj.schemaview
-*.pfx
-*.publishsettings
-node_modules/
-orleans.codegen.cs
-
-# Since there are multiple workflows, uncomment next line to ignore bower_components
-# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
-#bower_components/
-
-# RIA/Silverlight projects
-Generated_Code/
-
-# Backup & report files from converting an old project file
-# to a newer Visual Studio version. Backup files are not needed,
-# because we have git ;-)
-_UpgradeReport_Files/
-Backup*/
-UpgradeLog*.XML
-UpgradeLog*.htm
-
-# SQL Server files
-*.mdf
-*.ldf
-
-# Business Intelligence projects
-*.rdl.data
-*.bim.layout
-*.bim_*.settings
-
-# Microsoft Fakes
-FakesAssemblies/
-
-# GhostDoc plugin setting file
-*.GhostDoc.xml
-
-# Node.js Tools for Visual Studio
-.ntvs_analysis.dat
-
-# Visual Studio 6 build log
-*.plg
-
-# Visual Studio 6 workspace options file
-*.opt
-
-# Visual Studio LightSwitch build output
-**/*.HTMLClient/GeneratedArtifacts
-**/*.DesktopClient/GeneratedArtifacts
-**/*.DesktopClient/ModelManifest.xml
-**/*.Server/GeneratedArtifacts
-**/*.Server/ModelManifest.xml
-_Pvt_Extensions
-
-# Paket dependency manager
-.paket/paket.exe
-paket-files/
-
-# FAKE - F# Make
-.fake/
-
-# JetBrains Rider
-.idea/
-*.sln.iml
-
-# SaasService
-host/EShopOnAbp.SaasService.IdentityServer/Logs/logs.txt
-host/EShopOnAbp.SaasService.HttpApi.Host/Logs/logs.txt
-host/EShopOnAbp.SaasService.Web.Host/Logs/logs.txt
-host/EShopOnAbp.SaasService.Web.Unified/Logs/logs.txt
diff --git a/services/saas/EShopOnAbp.SaasService.sln b/services/saas/EShopOnAbp.SaasService.sln
deleted file mode 100644
index 070e943a..00000000
--- a/services/saas/EShopOnAbp.SaasService.sln
+++ /dev/null
@@ -1,116 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 16
-VisualStudioVersion = 16.0.29001.49
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EShopOnAbp.SaasService.Domain.Shared", "src\EShopOnAbp.SaasService.Domain.Shared\EShopOnAbp.SaasService.Domain.Shared.csproj", "{D64C1577-4929-4B60-939E-96DE1534891A}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EShopOnAbp.SaasService.Domain", "src\EShopOnAbp.SaasService.Domain\EShopOnAbp.SaasService.Domain.csproj", "{F2840BC7-0188-4606-9126-DADD0F5ABF7A}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EShopOnAbp.SaasService.Application.Contracts", "src\EShopOnAbp.SaasService.Application.Contracts\EShopOnAbp.SaasService.Application.Contracts.csproj", "{BD65D04F-08D5-40C1-8C24-77CA0BACB877}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EShopOnAbp.SaasService.Application", "src\EShopOnAbp.SaasService.Application\EShopOnAbp.SaasService.Application.csproj", "{78040F9E-3501-4A40-82DF-00A597710F35}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{649A3FFA-182F-4E56-9717-E6A9A2BEC545}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EShopOnAbp.SaasService.EntityFrameworkCore", "src\EShopOnAbp.SaasService.EntityFrameworkCore\EShopOnAbp.SaasService.EntityFrameworkCore.csproj", "{0CE86223-D31D-4315-A1F5-87BA3EE1B844}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EShopOnAbp.SaasService.HttpApi", "src\EShopOnAbp.SaasService.HttpApi\EShopOnAbp.SaasService.HttpApi.csproj", "{077AA5F8-8B61-420C-A6B5-0150A66FDB34}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EShopOnAbp.SaasService.HttpApi.Client", "src\EShopOnAbp.SaasService.HttpApi.Client\EShopOnAbp.SaasService.HttpApi.Client.csproj", "{36E2735F-CEAB-44C8-A6D1-2CDAFF399751}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EShopOnAbp.SaasService.TestBase", "test\EShopOnAbp.SaasService.TestBase\EShopOnAbp.SaasService.TestBase.csproj", "{C5BB573D-3030-4BCB-88B7-F6A85C32766C}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EShopOnAbp.SaasService.EntityFrameworkCore.Tests", "test\EShopOnAbp.SaasService.EntityFrameworkCore.Tests\EShopOnAbp.SaasService.EntityFrameworkCore.Tests.csproj", "{527F645C-C1FC-406E-8479-81386C8ECF13}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EShopOnAbp.SaasService.Domain.Tests", "test\EShopOnAbp.SaasService.Domain.Tests\EShopOnAbp.SaasService.Domain.Tests.csproj", "{E60895E5-79C4-447D-88B7-85CB5BA336A4}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EShopOnAbp.SaasService.Application.Tests", "test\EShopOnAbp.SaasService.Application.Tests\EShopOnAbp.SaasService.Application.Tests.csproj", "{90CB5DC4-C040-45C7-8900-9688B26405BC}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EShopOnAbp.SaasService.Blazor", "src\EShopOnAbp.SaasService.Blazor\EShopOnAbp.SaasService.Blazor.csproj", "{827FCC18-A22B-4175-82CD-1233F6DEE8FB}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EShopOnAbp.SaasService.HttpApi.Host", "src\EShopOnAbp.SaasService.HttpApi.Host\EShopOnAbp.SaasService.HttpApi.Host.csproj", "{D651FE09-CF19-472F-819C-47FECD4A697E}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {D64C1577-4929-4B60-939E-96DE1534891A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D64C1577-4929-4B60-939E-96DE1534891A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D64C1577-4929-4B60-939E-96DE1534891A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D64C1577-4929-4B60-939E-96DE1534891A}.Release|Any CPU.Build.0 = Release|Any CPU
- {F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Release|Any CPU.Build.0 = Release|Any CPU
- {BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Release|Any CPU.Build.0 = Release|Any CPU
- {78040F9E-3501-4A40-82DF-00A597710F35}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {78040F9E-3501-4A40-82DF-00A597710F35}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {78040F9E-3501-4A40-82DF-00A597710F35}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {78040F9E-3501-4A40-82DF-00A597710F35}.Release|Any CPU.Build.0 = Release|Any CPU
- {0CE86223-D31D-4315-A1F5-87BA3EE1B844}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0CE86223-D31D-4315-A1F5-87BA3EE1B844}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0CE86223-D31D-4315-A1F5-87BA3EE1B844}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0CE86223-D31D-4315-A1F5-87BA3EE1B844}.Release|Any CPU.Build.0 = Release|Any CPU
- {077AA5F8-8B61-420C-A6B5-0150A66FDB34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {077AA5F8-8B61-420C-A6B5-0150A66FDB34}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {077AA5F8-8B61-420C-A6B5-0150A66FDB34}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {077AA5F8-8B61-420C-A6B5-0150A66FDB34}.Release|Any CPU.Build.0 = Release|Any CPU
- {36E2735F-CEAB-44C8-A6D1-2CDAFF399751}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {36E2735F-CEAB-44C8-A6D1-2CDAFF399751}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {36E2735F-CEAB-44C8-A6D1-2CDAFF399751}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {36E2735F-CEAB-44C8-A6D1-2CDAFF399751}.Release|Any CPU.Build.0 = Release|Any CPU
- {C5BB573D-3030-4BCB-88B7-F6A85C32766C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C5BB573D-3030-4BCB-88B7-F6A85C32766C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C5BB573D-3030-4BCB-88B7-F6A85C32766C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C5BB573D-3030-4BCB-88B7-F6A85C32766C}.Release|Any CPU.Build.0 = Release|Any CPU
- {527F645C-C1FC-406E-8479-81386C8ECF13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {527F645C-C1FC-406E-8479-81386C8ECF13}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {527F645C-C1FC-406E-8479-81386C8ECF13}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {527F645C-C1FC-406E-8479-81386C8ECF13}.Release|Any CPU.Build.0 = Release|Any CPU
- {E60895E5-79C4-447D-88B7-85CB5BA336A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E60895E5-79C4-447D-88B7-85CB5BA336A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E60895E5-79C4-447D-88B7-85CB5BA336A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E60895E5-79C4-447D-88B7-85CB5BA336A4}.Release|Any CPU.Build.0 = Release|Any CPU
- {90CB5DC4-C040-45C7-8900-9688B26405BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {90CB5DC4-C040-45C7-8900-9688B26405BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {90CB5DC4-C040-45C7-8900-9688B26405BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {90CB5DC4-C040-45C7-8900-9688B26405BC}.Release|Any CPU.Build.0 = Release|Any CPU
- {827FCC18-A22B-4175-82CD-1233F6DEE8FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {827FCC18-A22B-4175-82CD-1233F6DEE8FB}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {827FCC18-A22B-4175-82CD-1233F6DEE8FB}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {827FCC18-A22B-4175-82CD-1233F6DEE8FB}.Release|Any CPU.Build.0 = Release|Any CPU
- {D651FE09-CF19-472F-819C-47FECD4A697E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D651FE09-CF19-472F-819C-47FECD4A697E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D651FE09-CF19-472F-819C-47FECD4A697E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D651FE09-CF19-472F-819C-47FECD4A697E}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {D64C1577-4929-4B60-939E-96DE1534891A} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
- {F2840BC7-0188-4606-9126-DADD0F5ABF7A} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
- {BD65D04F-08D5-40C1-8C24-77CA0BACB877} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
- {78040F9E-3501-4A40-82DF-00A597710F35} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
- {0CE86223-D31D-4315-A1F5-87BA3EE1B844} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
- {077AA5F8-8B61-420C-A6B5-0150A66FDB34} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
- {36E2735F-CEAB-44C8-A6D1-2CDAFF399751} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
- {C5BB573D-3030-4BCB-88B7-F6A85C32766C} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}
- {527F645C-C1FC-406E-8479-81386C8ECF13} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}
- {E60895E5-79C4-447D-88B7-85CB5BA336A4} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}
- {90CB5DC4-C040-45C7-8900-9688B26405BC} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}
- {827FCC18-A22B-4175-82CD-1233F6DEE8FB} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
- {D651FE09-CF19-472F-819C-47FECD4A697E} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {6AAFA1C6-603E-13FA-45E5-7910AA9F661D}
- EndGlobalSection
-EndGlobal
diff --git a/services/saas/EShopOnAbp.SaasService.sln.DotSettings b/services/saas/EShopOnAbp.SaasService.sln.DotSettings
deleted file mode 100644
index cb0b2c91..00000000
--- a/services/saas/EShopOnAbp.SaasService.sln.DotSettings
+++ /dev/null
@@ -1,23 +0,0 @@
-
- True
- WARNING
- WARNING
- WARNING
- WARNING
- WARNING
- WARNING
- WARNING
- WARNING
- Required
- Required
- Required
- Required
- False
- True
- False
- False
- True
- False
- False
- SQL
-
\ No newline at end of file
diff --git a/services/saas/NuGet.Config b/services/saas/NuGet.Config
deleted file mode 100644
index 5e43251e..00000000
--- a/services/saas/NuGet.Config
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.Application.Contracts/EShopOnAbp.SaasService.Application.Contracts.csproj b/services/saas/src/EShopOnAbp.SaasService.Application.Contracts/EShopOnAbp.SaasService.Application.Contracts.csproj
deleted file mode 100644
index 26f3610d..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Application.Contracts/EShopOnAbp.SaasService.Application.Contracts.csproj
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
- netstandard2.0
- EShopOnAbp.SaasService
-
-
-
-
-
-
-
-
diff --git a/services/saas/src/EShopOnAbp.SaasService.Application.Contracts/SaasServiceApplicationContractsModule.cs b/services/saas/src/EShopOnAbp.SaasService.Application.Contracts/SaasServiceApplicationContractsModule.cs
deleted file mode 100644
index c00751f3..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Application.Contracts/SaasServiceApplicationContractsModule.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using Volo.Abp.Modularity;
-using Volo.Abp.TenantManagement;
-
-namespace EShopOnAbp.SaasService
-{
- [DependsOn(
- typeof(SaasServiceDomainSharedModule),
- typeof(AbpTenantManagementApplicationContractsModule)
- )]
- public class SaasServiceApplicationContractsModule : AbpModule
- {
-
- }
-}
diff --git a/services/saas/src/EShopOnAbp.SaasService.Application.Contracts/SaasServiceRemoteServiceConsts.cs b/services/saas/src/EShopOnAbp.SaasService.Application.Contracts/SaasServiceRemoteServiceConsts.cs
deleted file mode 100644
index 829eb199..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Application.Contracts/SaasServiceRemoteServiceConsts.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace EShopOnAbp.SaasService
-{
- public static class SaasServiceRemoteServiceConsts
- {
- public const string RemoteServiceName = "SaasService";
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.Application/EShopOnAbp.SaasService.Application.csproj b/services/saas/src/EShopOnAbp.SaasService.Application/EShopOnAbp.SaasService.Application.csproj
deleted file mode 100644
index 02c914db..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Application/EShopOnAbp.SaasService.Application.csproj
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- netstandard2.0
- EShopOnAbp.SaasService
-
-
-
-
-
-
-
-
-
diff --git a/services/saas/src/EShopOnAbp.SaasService.Application/SaasServiceApplicationAutoMapperProfile.cs b/services/saas/src/EShopOnAbp.SaasService.Application/SaasServiceApplicationAutoMapperProfile.cs
deleted file mode 100644
index 90a7a253..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Application/SaasServiceApplicationAutoMapperProfile.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using AutoMapper;
-
-namespace EShopOnAbp.SaasService
-{
- public class SaasServiceApplicationAutoMapperProfile : Profile
- {
- public SaasServiceApplicationAutoMapperProfile()
- {
- /* You can configure your AutoMapper mapping configuration here.
- * Alternatively, you can split your mapping configurations
- * into multiple profile classes for a better organization. */
- }
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.Application/SaasServiceApplicationModule.cs b/services/saas/src/EShopOnAbp.SaasService.Application/SaasServiceApplicationModule.cs
deleted file mode 100644
index 7ae95482..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Application/SaasServiceApplicationModule.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using Microsoft.Extensions.DependencyInjection;
-using Volo.Abp.AutoMapper;
-using Volo.Abp.Modularity;
-using Volo.Abp.TenantManagement;
-
-namespace EShopOnAbp.SaasService
-{
- [DependsOn(
- typeof(SaasServiceDomainModule),
- typeof(AbpTenantManagementApplicationModule)
- )]
- public class SaasServiceApplicationModule : AbpModule
- {
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- context.Services.AddAutoMapperObjectMapper();
- Configure(options =>
- {
- options.AddMaps(validate: true);
- });
- }
- }
-}
diff --git a/services/saas/src/EShopOnAbp.SaasService.Application/SaasTenantAppService.cs b/services/saas/src/EShopOnAbp.SaasService.Application/SaasTenantAppService.cs
deleted file mode 100644
index 96df4063..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Application/SaasTenantAppService.cs
+++ /dev/null
@@ -1,49 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Volo.Abp.Data;
-using Volo.Abp.DependencyInjection;
-using Volo.Abp.EventBus.Distributed;
-using Volo.Abp.MultiTenancy;
-using Volo.Abp.ObjectExtending;
-using Volo.Abp.TenantManagement;
-
-namespace EShopOnAbp.SaasService
-{
- [Dependency(ReplaceServices = true)]
- public class SaasTenantAppService : TenantAppService, ITenantAppService
- {
- public SaasTenantAppService(
- ITenantRepository tenantRepository,
- ITenantManager tenantManager,
- IDataSeeder dataSeeder,
- IDistributedEventBus distributedEventBus) : base(tenantRepository, tenantManager, dataSeeder, distributedEventBus)
- {
- }
-
- public override async Task CreateAsync(TenantCreateDto input)
- {
- var tenant = await TenantManager.CreateAsync(input.Name);
- input.MapExtraPropertiesTo(tenant);
-
- await TenantRepository.InsertAsync(tenant);
-
- await CurrentUnitOfWork.SaveChangesAsync();
-
- await DistributedEventBus.PublishAsync(new TenantCreatedEto
- {
- Id = tenant.Id,
- Name = tenant.Name,
- Properties = new Dictionary
- {
- { "AdminEmail", input.AdminEmailAddress },
- { "AdminPassword", input.AdminPassword }
- }
- });
-
- return ObjectMapper.Map(tenant);
- }
- }
-}
diff --git a/services/saas/src/EShopOnAbp.SaasService.Blazor/EShopOnAbp.SaasService.Blazor.csproj b/services/saas/src/EShopOnAbp.SaasService.Blazor/EShopOnAbp.SaasService.Blazor.csproj
deleted file mode 100644
index ae80715b..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Blazor/EShopOnAbp.SaasService.Blazor.csproj
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- net6.0
-
-
-
-
-
-
-
-
-
-
diff --git a/services/saas/src/EShopOnAbp.SaasService.Blazor/Menus/SaasServiceMenuContributor.cs b/services/saas/src/EShopOnAbp.SaasService.Blazor/Menus/SaasServiceMenuContributor.cs
deleted file mode 100644
index 9e713779..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Blazor/Menus/SaasServiceMenuContributor.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using System.Threading.Tasks;
-using Volo.Abp.UI.Navigation;
-
-namespace EShopOnAbp.SaasService.Blazor.Menus
-{
- public class SaasServiceMenuContributor : IMenuContributor
- {
- public async Task ConfigureMenuAsync(MenuConfigurationContext context)
- {
- if (context.Menu.Name == StandardMenus.Main)
- {
- await ConfigureMainMenuAsync(context);
- }
- }
-
- private Task ConfigureMainMenuAsync(MenuConfigurationContext context)
- {
- //Add main menu items.
- context.Menu.AddItem(new ApplicationMenuItem(SaasServiceMenus.Prefix, displayName: "SaasService", "/SaasService", icon: "fa fa-globe"));
-
- return Task.CompletedTask;
- }
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.Blazor/Menus/SaasServiceMenus.cs b/services/saas/src/EShopOnAbp.SaasService.Blazor/Menus/SaasServiceMenus.cs
deleted file mode 100644
index 8f62b8e4..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Blazor/Menus/SaasServiceMenus.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-namespace EShopOnAbp.SaasService.Blazor.Menus
-{
- public class SaasServiceMenus
- {
- public const string Prefix = "SaasService";
-
- //Add your menu items here...
- //public const string Home = Prefix + ".MyNewMenuItem";
-
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.Blazor/Pages/SaasService/Index.razor b/services/saas/src/EShopOnAbp.SaasService.Blazor/Pages/SaasService/Index.razor
deleted file mode 100644
index 3e23821a..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Blazor/Pages/SaasService/Index.razor
+++ /dev/null
@@ -1,8 +0,0 @@
-@page "/SaasService"
-@using Microsoft.Extensions.Localization
-@using global::EShopOnAbp.SaasService.Localization
-@inject IStringLocalizer L
-@{
-}
-SaasService
-@L["SamplePageMessage"]
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.Blazor/SaasServiceBlazorAutoMapperProfile.cs b/services/saas/src/EShopOnAbp.SaasService.Blazor/SaasServiceBlazorAutoMapperProfile.cs
deleted file mode 100644
index b43eb0cc..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Blazor/SaasServiceBlazorAutoMapperProfile.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using AutoMapper;
-
-namespace EShopOnAbp.SaasService.Blazor
-{
- public class SaasServiceBlazorAutoMapperProfile : Profile
- {
- public SaasServiceBlazorAutoMapperProfile()
- {
- /* You can configure your AutoMapper mapping configuration here.
- * Alternatively, you can split your mapping configurations
- * into multiple profile classes for a better organization. */
- }
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.Blazor/SaasServiceBlazorModule.cs b/services/saas/src/EShopOnAbp.SaasService.Blazor/SaasServiceBlazorModule.cs
deleted file mode 100644
index f200a264..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Blazor/SaasServiceBlazorModule.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using Microsoft.Extensions.DependencyInjection;
-using EShopOnAbp.SaasService.Blazor.Menus;
-using Volo.Abp.AspNetCore.Components.Web.Theming.Routing;
-using Volo.Abp.AutoMapper;
-using Volo.Abp.Modularity;
-using Volo.Abp.TenantManagement.Blazor;
-using Volo.Abp.UI.Navigation;
-
-namespace EShopOnAbp.SaasService.Blazor
-{
- [DependsOn(
- typeof(SaasServiceApplicationContractsModule),
- typeof(AbpTenantManagementBlazorModule)
- )]
- public class SaasServiceBlazorModule : AbpModule
- {
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- context.Services.AddAutoMapperObjectMapper();
-
- Configure(options =>
- {
- options.AddProfile(validate: true);
- });
-
- Configure(options =>
- {
- options.MenuContributors.Add(new SaasServiceMenuContributor());
- });
-
- Configure(options =>
- {
- options.AdditionalAssemblies.Add(typeof(SaasServiceBlazorModule).Assembly);
- });
- }
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.Blazor/_Imports.razor b/services/saas/src/EShopOnAbp.SaasService.Blazor/_Imports.razor
deleted file mode 100644
index 43b30f84..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Blazor/_Imports.razor
+++ /dev/null
@@ -1,5 +0,0 @@
-@using Microsoft.AspNetCore.Components.Web
-@using Volo.Abp.AspNetCore.Components.Web
-@using Volo.Abp.BlazoriseUI
-@using Blazorise
-@using Blazorise.DataGrid
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/EShopOnAbp.SaasService.Domain.Shared.csproj b/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/EShopOnAbp.SaasService.Domain.Shared.csproj
deleted file mode 100644
index 10c19f98..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/EShopOnAbp.SaasService.Domain.Shared.csproj
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
- netstandard2.0
- EShopOnAbp.SaasService
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/ar.json b/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/ar.json
deleted file mode 100644
index 5ccc8f3a..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/ar.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "culture": "ar",
- "texts": {
- "ManageYourProfile": "إدارة ملفى",
- "SamplePageMessage": "صفحة نموذجية للوحدة النمطية SaasService"
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/cs.json b/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/cs.json
deleted file mode 100644
index b0a6f7d1..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/cs.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "culture": "cs",
- "texts": {
- "ManageYourProfile": "Spravovat profil",
- "SamplePageMessage": "Ukázková stránka pro modul SaasService"
- }
-}
diff --git a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/de-DE.json b/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/de-DE.json
deleted file mode 100644
index dcc43783..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/de-DE.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "culture": "de-DE",
- "texts": {
- "ManageYourProfile": "Verwalten Sie Ihr Profil",
- "SamplePageMessage": "Eine Beispielseite für das Modul SaasServiceModul"
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/en-GB.json b/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/en-GB.json
deleted file mode 100644
index bdcbb257..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/en-GB.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "culture": "en-GB",
- "texts": {
- "ManageYourProfile": "Manage your profile",
- "SamplePageMessage": "A sample page for the SaasService module"
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/en.json b/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/en.json
deleted file mode 100644
index 04d74cc8..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/en.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "culture": "en",
- "texts": {
- "ManageYourProfile": "Manage your profile",
- "SamplePageMessage": "A sample page for the SaasService module"
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/es.json b/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/es.json
deleted file mode 100644
index 23c7fdcb..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/es.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "culture": "es",
- "texts": {
- "ManageYourProfile": "Gestiona tu perfil",
- "SamplePageMessage": "Una página de ejemplo para el módulo SaasService "
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/fr.json b/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/fr.json
deleted file mode 100644
index 30a05899..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/fr.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "culture": "fr",
- "texts": {
- "ManageYourProfile": "Gérer votre profil",
- "SamplePageMessage": "Exemple de page pour le module SaasService"
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/hu.json b/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/hu.json
deleted file mode 100644
index 32afd66f..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/hu.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "culture": "hu",
- "texts": {
- "ManageYourProfile": "Kezelje a profilját",
- "SamplePageMessage": "Mintaoldal a SaasService modulhoz"
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/nl.json b/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/nl.json
deleted file mode 100644
index 20c34052..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/nl.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "culture": "nl",
- "texts": {
- "ManageYourProfile": "Beheer uw profiel",
- "SamplePageMessage": "Een voorbeeldpagina voor de SaasService module"
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/pl-PL.json b/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/pl-PL.json
deleted file mode 100644
index 3ea7b190..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/pl-PL.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "culture": "pl-PL",
- "texts": {
-
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/pt-BR.json b/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/pt-BR.json
deleted file mode 100644
index 6d746df0..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/pt-BR.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "culture": "pt-BR",
- "texts": {
-
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/sl.json b/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/sl.json
deleted file mode 100644
index 687d4257..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/sl.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "culture": "sl",
- "texts": {
- "ManageYourProfile": "Upravljajte svojim profilom"
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/tr.json b/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/tr.json
deleted file mode 100644
index ff8a8f04..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/tr.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "culture": "tr",
- "texts": {
- "ManageYourProfile": "Profil yönetimi",
- "SamplePageMessage": "SaasService modulünden örnek bir sayfa"
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/vi.json b/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/vi.json
deleted file mode 100644
index d8eb5f3c..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/vi.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "culture": "vi",
- "texts": {
-
- }
-}
diff --git a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/zh-Hans.json b/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/zh-Hans.json
deleted file mode 100644
index ee4550f7..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/zh-Hans.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "culture": "zh-Hans",
- "texts": {
- "ManageYourProfile": "管理个人资料",
- "SamplePageMessage": "SaasService模块的示例页面"
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/zh-Hant.json b/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/zh-Hant.json
deleted file mode 100644
index ceea0555..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasService/zh-Hant.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "culture": "zh-Hant",
- "texts": {
- "ManageYourProfile": "管理個人資料"
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasServiceResource.cs b/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasServiceResource.cs
deleted file mode 100644
index ed1e2ccd..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/Localization/SaasServiceResource.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using Volo.Abp.Localization;
-
-namespace EShopOnAbp.SaasService.Localization
-{
- [LocalizationResourceName("SaasService")]
- public class SaasServiceResource
- {
-
- }
-}
diff --git a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/SaasServiceDomainSharedModule.cs b/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/SaasServiceDomainSharedModule.cs
deleted file mode 100644
index e46ee866..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/SaasServiceDomainSharedModule.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-using Volo.Abp.Modularity;
-using Volo.Abp.Localization;
-using EShopOnAbp.SaasService.Localization;
-using Volo.Abp.TenantManagement;
-using Volo.Abp.Validation.Localization;
-using Volo.Abp.VirtualFileSystem;
-
-namespace EShopOnAbp.SaasService
-{
- [DependsOn(
- typeof(AbpTenantManagementDomainSharedModule)
- )]
- public class SaasServiceDomainSharedModule : AbpModule
- {
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- Configure(options =>
- {
- options.FileSets.AddEmbedded();
- });
-
- Configure(options =>
- {
- options.Resources
- .Add("en")
- .AddBaseTypes(typeof(AbpValidationResource))
- .AddVirtualJson("/Localization/SaasService");
- });
- }
- }
-}
diff --git a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/SaasServiceErrorCodes.cs b/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/SaasServiceErrorCodes.cs
deleted file mode 100644
index b828e45f..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Domain.Shared/SaasServiceErrorCodes.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace EShopOnAbp.SaasService
-{
- public static class SaasServiceErrorCodes
- {
- //Add your business exception error codes here...
- }
-}
diff --git a/services/saas/src/EShopOnAbp.SaasService.Domain/EShopOnAbp.SaasService.Domain.csproj b/services/saas/src/EShopOnAbp.SaasService.Domain/EShopOnAbp.SaasService.Domain.csproj
deleted file mode 100644
index 7ee7df1f..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Domain/EShopOnAbp.SaasService.Domain.csproj
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
- netstandard2.0
- EShopOnAbp.SaasService
-
-
-
-
-
-
-
-
diff --git a/services/saas/src/EShopOnAbp.SaasService.Domain/SaasServiceDbProperties.cs b/services/saas/src/EShopOnAbp.SaasService.Domain/SaasServiceDbProperties.cs
deleted file mode 100644
index 530651ee..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Domain/SaasServiceDbProperties.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-namespace EShopOnAbp.SaasService
-{
- public static class SaasServiceDbProperties
- {
- public static string DbTablePrefix { get; set; } = "";
-
- public static string DbSchema { get; set; } = null;
-
- public const string ConnectionStringName = "SaasService";
- }
-}
diff --git a/services/saas/src/EShopOnAbp.SaasService.Domain/SaasServiceDomainModule.cs b/services/saas/src/EShopOnAbp.SaasService.Domain/SaasServiceDomainModule.cs
deleted file mode 100644
index 02121b47..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.Domain/SaasServiceDomainModule.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using Volo.Abp.Modularity;
-using Volo.Abp.TenantManagement;
-
-namespace EShopOnAbp.SaasService
-{
- [DependsOn(
- typeof(AbpTenantManagementDomainModule),
- typeof(SaasServiceDomainSharedModule)
- )]
- public class SaasServiceDomainModule : AbpModule
- {
-
- }
-}
diff --git a/services/saas/src/EShopOnAbp.SaasService.EntityFrameworkCore/EShopOnAbp.SaasService.EntityFrameworkCore.csproj b/services/saas/src/EShopOnAbp.SaasService.EntityFrameworkCore/EShopOnAbp.SaasService.EntityFrameworkCore.csproj
deleted file mode 100644
index 5b07aa6c..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.EntityFrameworkCore/EShopOnAbp.SaasService.EntityFrameworkCore.csproj
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
- net6.0
- EShopOnAbp.SaasService
-
-
-
-
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/services/saas/src/EShopOnAbp.SaasService.EntityFrameworkCore/EntityFrameworkCore/SaasServiceDbContext.cs b/services/saas/src/EShopOnAbp.SaasService.EntityFrameworkCore/EntityFrameworkCore/SaasServiceDbContext.cs
deleted file mode 100644
index dbea6e2c..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.EntityFrameworkCore/EntityFrameworkCore/SaasServiceDbContext.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using Microsoft.EntityFrameworkCore;
-using Volo.Abp.Data;
-using Volo.Abp.EntityFrameworkCore;
-using Volo.Abp.TenantManagement;
-using Volo.Abp.TenantManagement.EntityFrameworkCore;
-
-namespace EShopOnAbp.SaasService.EntityFrameworkCore
-{
- [ConnectionStringName(SaasServiceDbProperties.ConnectionStringName)]
- public class SaasServiceDbContext : AbpDbContext, ITenantManagementDbContext
- {
- public DbSet Tenants { get; set; }
- public DbSet TenantConnectionStrings { get; set; }
-
- public SaasServiceDbContext(DbContextOptions options)
- : base(options)
- {
- }
-
- protected override void OnModelCreating(ModelBuilder builder)
- {
- base.OnModelCreating(builder);
-
- builder.ConfigureTenantManagement();
- }
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.EntityFrameworkCore/EntityFrameworkCore/SaasServiceDbContextFactory.cs b/services/saas/src/EShopOnAbp.SaasService.EntityFrameworkCore/EntityFrameworkCore/SaasServiceDbContextFactory.cs
deleted file mode 100644
index c3197f11..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.EntityFrameworkCore/EntityFrameworkCore/SaasServiceDbContextFactory.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-using System.IO;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Design;
-using Microsoft.Extensions.Configuration;
-
-namespace EShopOnAbp.SaasService.EntityFrameworkCore
-{
- /* This class is needed for EF Core console commands
- * (like Add-Migration and Update-Database commands)
- * */
- public class SaasServiceDbContextFactory : IDesignTimeDbContextFactory
- {
- public SaasServiceDbContext CreateDbContext(string[] args)
- {
- var builder = new DbContextOptionsBuilder()
- .UseSqlServer(GetConnectionStringFromConfiguration(), b =>
- {
- b.MigrationsHistoryTable("__SaasService_Migrations");
- });
-
- return new SaasServiceDbContext(builder.Options);
- }
-
- private static string GetConnectionStringFromConfiguration()
- {
- return BuildConfiguration()
- .GetConnectionString(SaasServiceDbProperties.ConnectionStringName);
- }
-
- private static IConfigurationRoot BuildConfiguration()
- {
- var builder = new ConfigurationBuilder()
- .SetBasePath(
- Path.Combine(
- Directory.GetCurrentDirectory(),
- $"..{Path.DirectorySeparatorChar}EShopOnAbp.SaasService.HttpApi.Host"
- )
- )
- .AddJsonFile("appsettings.json", optional: false);
-
- return builder.Build();
- }
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.EntityFrameworkCore/EntityFrameworkCore/SaasServiceEntityFrameworkCoreModule.cs b/services/saas/src/EShopOnAbp.SaasService.EntityFrameworkCore/EntityFrameworkCore/SaasServiceEntityFrameworkCoreModule.cs
deleted file mode 100644
index 2a2efe1d..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.EntityFrameworkCore/EntityFrameworkCore/SaasServiceEntityFrameworkCoreModule.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-using Microsoft.Extensions.DependencyInjection;
-using Volo.Abp.EntityFrameworkCore;
-using Volo.Abp.EntityFrameworkCore.SqlServer;
-using Volo.Abp.Modularity;
-using Volo.Abp.TenantManagement;
-using Volo.Abp.TenantManagement.EntityFrameworkCore;
-
-namespace EShopOnAbp.SaasService.EntityFrameworkCore
-{
- [DependsOn(
- typeof(SaasServiceDomainModule),
- typeof(AbpTenantManagementEntityFrameworkCoreModule),
- typeof(AbpEntityFrameworkCoreSqlServerModule)
- )]
- public class SaasServiceEntityFrameworkCoreModule : AbpModule
- {
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- context.Services.AddAbpDbContext(options =>
- {
- options.ReplaceDbContext();
-
- /* includeAllEntities: true allows to use IRepository also for non aggregate root entities */
- options.AddDefaultRepositories(includeAllEntities: true);
- });
-
- Configure(options =>
- {
- options.Configure(c =>
- {
- c.UseSqlServer(b =>
- {
- b.MigrationsHistoryTable("__SaasService_Migrations");
- });
- });
- });
- }
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.EntityFrameworkCore/Migrations/20211006102216_Initial.Designer.cs b/services/saas/src/EShopOnAbp.SaasService.EntityFrameworkCore/Migrations/20211006102216_Initial.Designer.cs
deleted file mode 100644
index db151b35..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.EntityFrameworkCore/Migrations/20211006102216_Initial.Designer.cs
+++ /dev/null
@@ -1,121 +0,0 @@
-//
-using System;
-using EShopOnAbp.SaasService.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Metadata;
-using Microsoft.EntityFrameworkCore.Migrations;
-using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
-using Volo.Abp.EntityFrameworkCore;
-
-#nullable disable
-
-namespace EShopOnAbp.SaasService.Migrations
-{
- [DbContext(typeof(SaasServiceDbContext))]
- [Migration("20211006102216_Initial")]
- partial class Initial
- {
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
- .HasAnnotation("ProductVersion", "6.0.0-rc.1.21452.10")
- .HasAnnotation("Relational:MaxIdentifierLength", 128);
-
- SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1);
-
- modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b =>
- {
- b.Property("Id")
- .HasColumnType("uniqueidentifier");
-
- b.Property("ConcurrencyStamp")
- .IsConcurrencyToken()
- .HasMaxLength(40)
- .HasColumnType("nvarchar(40)")
- .HasColumnName("ConcurrencyStamp");
-
- b.Property("CreationTime")
- .HasColumnType("datetime2")
- .HasColumnName("CreationTime");
-
- b.Property("CreatorId")
- .HasColumnType("uniqueidentifier")
- .HasColumnName("CreatorId");
-
- b.Property("DeleterId")
- .HasColumnType("uniqueidentifier")
- .HasColumnName("DeleterId");
-
- b.Property("DeletionTime")
- .HasColumnType("datetime2")
- .HasColumnName("DeletionTime");
-
- b.Property("ExtraProperties")
- .HasColumnType("nvarchar(max)")
- .HasColumnName("ExtraProperties");
-
- b.Property("IsDeleted")
- .ValueGeneratedOnAdd()
- .HasColumnType("bit")
- .HasDefaultValue(false)
- .HasColumnName("IsDeleted");
-
- b.Property("LastModificationTime")
- .HasColumnType("datetime2")
- .HasColumnName("LastModificationTime");
-
- b.Property("LastModifierId")
- .HasColumnType("uniqueidentifier")
- .HasColumnName("LastModifierId");
-
- b.Property("Name")
- .IsRequired()
- .HasMaxLength(64)
- .HasColumnType("nvarchar(64)");
-
- b.HasKey("Id");
-
- b.HasIndex("Name");
-
- b.ToTable("AbpTenants", (string)null);
- });
-
- modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b =>
- {
- b.Property("TenantId")
- .HasColumnType("uniqueidentifier");
-
- b.Property("Name")
- .HasMaxLength(64)
- .HasColumnType("nvarchar(64)");
-
- b.Property("Value")
- .IsRequired()
- .HasMaxLength(1024)
- .HasColumnType("nvarchar(1024)");
-
- b.HasKey("TenantId", "Name");
-
- b.ToTable("AbpTenantConnectionStrings", (string)null);
- });
-
- modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b =>
- {
- b.HasOne("Volo.Abp.TenantManagement.Tenant", null)
- .WithMany("ConnectionStrings")
- .HasForeignKey("TenantId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
- });
-
- modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b =>
- {
- b.Navigation("ConnectionStrings");
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/services/saas/src/EShopOnAbp.SaasService.EntityFrameworkCore/Migrations/20211006102216_Initial.cs b/services/saas/src/EShopOnAbp.SaasService.EntityFrameworkCore/Migrations/20211006102216_Initial.cs
deleted file mode 100644
index 10f8a4cc..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.EntityFrameworkCore/Migrations/20211006102216_Initial.cs
+++ /dev/null
@@ -1,67 +0,0 @@
-using System;
-using Microsoft.EntityFrameworkCore.Migrations;
-
-#nullable disable
-
-namespace EShopOnAbp.SaasService.Migrations
-{
- public partial class Initial : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.CreateTable(
- name: "AbpTenants",
- columns: table => new
- {
- Id = table.Column(type: "uniqueidentifier", nullable: false),
- Name = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false),
- ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true),
- ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true),
- CreationTime = table.Column(type: "datetime2", nullable: false),
- CreatorId = table.Column(type: "uniqueidentifier", nullable: true),
- LastModificationTime = table.Column(type: "datetime2", nullable: true),
- LastModifierId = table.Column(type: "uniqueidentifier", nullable: true),
- IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false),
- DeleterId = table.Column(type: "uniqueidentifier", nullable: true),
- DeletionTime = table.Column(type: "datetime2", nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_AbpTenants", x => x.Id);
- });
-
- migrationBuilder.CreateTable(
- name: "AbpTenantConnectionStrings",
- columns: table => new
- {
- TenantId = table.Column(type: "uniqueidentifier", nullable: false),
- Name = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false),
- Value = table.Column(type: "nvarchar(1024)", maxLength: 1024, nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_AbpTenantConnectionStrings", x => new { x.TenantId, x.Name });
- table.ForeignKey(
- name: "FK_AbpTenantConnectionStrings_AbpTenants_TenantId",
- column: x => x.TenantId,
- principalTable: "AbpTenants",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateIndex(
- name: "IX_AbpTenants_Name",
- table: "AbpTenants",
- column: "Name");
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropTable(
- name: "AbpTenantConnectionStrings");
-
- migrationBuilder.DropTable(
- name: "AbpTenants");
- }
- }
-}
diff --git a/services/saas/src/EShopOnAbp.SaasService.EntityFrameworkCore/Migrations/SaasServiceDbContextModelSnapshot.cs b/services/saas/src/EShopOnAbp.SaasService.EntityFrameworkCore/Migrations/SaasServiceDbContextModelSnapshot.cs
deleted file mode 100644
index dd67b090..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.EntityFrameworkCore/Migrations/SaasServiceDbContextModelSnapshot.cs
+++ /dev/null
@@ -1,119 +0,0 @@
-//
-using System;
-using EShopOnAbp.SaasService.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Metadata;
-using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
-using Volo.Abp.EntityFrameworkCore;
-
-#nullable disable
-
-namespace EShopOnAbp.SaasService.Migrations
-{
- [DbContext(typeof(SaasServiceDbContext))]
- partial class SaasServiceDbContextModelSnapshot : ModelSnapshot
- {
- protected override void BuildModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
- .HasAnnotation("ProductVersion", "6.0.0-rc.1.21452.10")
- .HasAnnotation("Relational:MaxIdentifierLength", 128);
-
- SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1);
-
- modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b =>
- {
- b.Property("Id")
- .HasColumnType("uniqueidentifier");
-
- b.Property("ConcurrencyStamp")
- .IsConcurrencyToken()
- .HasMaxLength(40)
- .HasColumnType("nvarchar(40)")
- .HasColumnName("ConcurrencyStamp");
-
- b.Property("CreationTime")
- .HasColumnType("datetime2")
- .HasColumnName("CreationTime");
-
- b.Property("CreatorId")
- .HasColumnType("uniqueidentifier")
- .HasColumnName("CreatorId");
-
- b.Property("DeleterId")
- .HasColumnType("uniqueidentifier")
- .HasColumnName("DeleterId");
-
- b.Property("DeletionTime")
- .HasColumnType("datetime2")
- .HasColumnName("DeletionTime");
-
- b.Property("ExtraProperties")
- .HasColumnType("nvarchar(max)")
- .HasColumnName("ExtraProperties");
-
- b.Property("IsDeleted")
- .ValueGeneratedOnAdd()
- .HasColumnType("bit")
- .HasDefaultValue(false)
- .HasColumnName("IsDeleted");
-
- b.Property("LastModificationTime")
- .HasColumnType("datetime2")
- .HasColumnName("LastModificationTime");
-
- b.Property("LastModifierId")
- .HasColumnType("uniqueidentifier")
- .HasColumnName("LastModifierId");
-
- b.Property("Name")
- .IsRequired()
- .HasMaxLength(64)
- .HasColumnType("nvarchar(64)");
-
- b.HasKey("Id");
-
- b.HasIndex("Name");
-
- b.ToTable("AbpTenants", (string)null);
- });
-
- modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b =>
- {
- b.Property("TenantId")
- .HasColumnType("uniqueidentifier");
-
- b.Property("Name")
- .HasMaxLength(64)
- .HasColumnType("nvarchar(64)");
-
- b.Property("Value")
- .IsRequired()
- .HasMaxLength(1024)
- .HasColumnType("nvarchar(1024)");
-
- b.HasKey("TenantId", "Name");
-
- b.ToTable("AbpTenantConnectionStrings", (string)null);
- });
-
- modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b =>
- {
- b.HasOne("Volo.Abp.TenantManagement.Tenant", null)
- .WithMany("ConnectionStrings")
- .HasForeignKey("TenantId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
- });
-
- modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b =>
- {
- b.Navigation("ConnectionStrings");
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Client/EShopOnAbp.SaasService.HttpApi.Client.csproj b/services/saas/src/EShopOnAbp.SaasService.HttpApi.Client/EShopOnAbp.SaasService.HttpApi.Client.csproj
deleted file mode 100644
index 72ad00de..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Client/EShopOnAbp.SaasService.HttpApi.Client.csproj
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
- netstandard2.0
- EShopOnAbp.SaasService
-
-
-
-
-
-
-
-
-
-
-
diff --git a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Client/SaasServiceHttpApiClientModule.cs b/services/saas/src/EShopOnAbp.SaasService.HttpApi.Client/SaasServiceHttpApiClientModule.cs
deleted file mode 100644
index 37c71bab..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Client/SaasServiceHttpApiClientModule.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using Microsoft.Extensions.DependencyInjection;
-using Volo.Abp.Modularity;
-using Volo.Abp.TenantManagement;
-
-namespace EShopOnAbp.SaasService
-{
- [DependsOn(
- typeof(SaasServiceApplicationContractsModule),
- typeof(AbpTenantManagementHttpApiClientModule))]
- public class SaasServiceHttpApiClientModule : AbpModule
- {
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- context.Services.AddHttpClientProxies(
- typeof(SaasServiceApplicationContractsModule).Assembly,
- SaasServiceRemoteServiceConsts.RemoteServiceName
- );
- }
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/Controllers/HomeController.cs b/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/Controllers/HomeController.cs
deleted file mode 100644
index 8621c7da..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/Controllers/HomeController.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using Microsoft.AspNetCore.Mvc;
-using Volo.Abp.AspNetCore.Mvc;
-
-namespace EShopOnAbp.SaasService.Controllers
-{
- public class HomeController : AbpController
- {
- public ActionResult Index()
- {
- return Redirect("~/swagger");
- }
- }
-}
diff --git a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/DbMigrations/SaasServiceDatabaseMigrationChecker.cs b/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/DbMigrations/SaasServiceDatabaseMigrationChecker.cs
deleted file mode 100644
index ab9fe41c..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/DbMigrations/SaasServiceDatabaseMigrationChecker.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using System;
-using EShopOnAbp.SaasService.EntityFrameworkCore;
-using EShopOnAbp.Shared.Hosting.Microservices.DbMigrations;
-using Volo.Abp.EventBus.Distributed;
-using Volo.Abp.MultiTenancy;
-using Volo.Abp.Uow;
-
-namespace EShopOnAbp.SaasService.DbMigrations
-{
- public class SaasServiceDatabaseMigrationChecker : PendingMigrationsCheckerBase
- {
- public SaasServiceDatabaseMigrationChecker(
- IUnitOfWorkManager unitOfWorkManager,
- IServiceProvider serviceProvider,
- ICurrentTenant currentTenant,
- IDistributedEventBus distributedEventBus)
- : base(
- unitOfWorkManager,
- serviceProvider,
- currentTenant,
- distributedEventBus,
- SaasServiceDbProperties.ConnectionStringName)
- {
-
- }
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/DbMigrations/SaasServiceDatabaseMigrationEventHandler.cs b/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/DbMigrations/SaasServiceDatabaseMigrationEventHandler.cs
deleted file mode 100644
index 036d133a..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/DbMigrations/SaasServiceDatabaseMigrationEventHandler.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-using System;
-using System.Threading.Tasks;
-using EShopOnAbp.SaasService.EntityFrameworkCore;
-using EShopOnAbp.Shared.Hosting.Microservices.DbMigrations;
-using Volo.Abp.Data;
-using Volo.Abp.EventBus.Distributed;
-using Volo.Abp.MultiTenancy;
-using Volo.Abp.TenantManagement;
-using Volo.Abp.Uow;
-
-namespace EShopOnAbp.SaasService.DbMigrations
-{
- public class SaasServiceDatabaseMigrationEventHandler
- : DatabaseMigrationEventHandlerBase,
- IDistributedEventHandler
- {
- public SaasServiceDatabaseMigrationEventHandler(
- ICurrentTenant currentTenant,
- IUnitOfWorkManager unitOfWorkManager,
- ITenantStore tenantStore,
- ITenantRepository tenantRepository,
- IDistributedEventBus distributedEventBus
- ) : base(
- currentTenant,
- unitOfWorkManager,
- tenantStore,
- tenantRepository,
- distributedEventBus,
- SaasServiceDbProperties.ConnectionStringName)
- {
- }
-
- public async Task HandleEventAsync(ApplyDatabaseMigrationsEto eventData)
- {
- if (eventData.DatabaseName != DatabaseName)
- {
- return;
- }
-
- if (eventData.TenantId != null)
- {
- return;
- }
-
- try
- {
- await MigrateDatabaseSchemaAsync(null);
- }
- catch (Exception ex)
- {
- await HandleErrorOnApplyDatabaseMigrationAsync(eventData, ex);
- }
- }
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj b/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj
deleted file mode 100644
index cc63d851..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
- net6.0
- EShopOnAbp.SaasService
-
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/Program.cs b/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/Program.cs
deleted file mode 100644
index 7a5a417c..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/Program.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-using System;
-using System.IO;
-using System.Threading.Tasks;
-using EShopOnAbp.Shared.Hosting.AspNetCore;
-using Microsoft.AspNetCore.Hosting;
-using Microsoft.Extensions.Configuration;
-using Microsoft.Extensions.Hosting;
-using Serilog;
-using Serilog.Events;
-
-namespace EShopOnAbp.SaasService
-{
- public class Program
- {
- public static async Task Main(string[] args)
- {
- var assemblyName = typeof(Program).Assembly.GetName().Name;
-
- SerilogConfigurationHelper.Configure(assemblyName);
-
- try
- {
- Log.Information($"Starting {assemblyName}.");
- await CreateHostBuilder(args).Build().RunAsync();
- return 0;
- }
- catch (Exception ex)
- {
- Log.Fatal(ex, $"{assemblyName} terminated unexpectedly!");
- return 1;
- }
- finally
- {
- Log.CloseAndFlush();
- }
- }
-
- internal static IHostBuilder CreateHostBuilder(string[] args) =>
- Host.CreateDefaultBuilder(args)
- .ConfigureAppConfiguration(build =>
- {
- build.AddJsonFile("appsettings.secrets.json", optional: true);
- })
- .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); })
- .UseAutofac()
- .UseSerilog();
- }
-}
diff --git a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/Properties/launchSettings.json b/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/Properties/launchSettings.json
deleted file mode 100644
index c5a9f401..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/Properties/launchSettings.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "iisSettings": {
- "windowsAuthentication": false,
- "anonymousAuthentication": true,
- "iisExpress": {
- "applicationUrl": "https://localhost:44352",
- "sslPort": 44396
- }
- },
- "profiles": {
- "IIS Express": {
- "commandName": "IISExpress",
- "launchBrowser": true,
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
- }
- },
- "EShopOnAbp.SaasService.DemoApp": {
- "commandName": "Project",
- "launchBrowser": true,
- "applicationUrl": "https://localhost:44352",
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
- }
- }
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/SaasServiceHttpApiHostModule.cs b/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/SaasServiceHttpApiHostModule.cs
deleted file mode 100644
index 72a2cf94..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/SaasServiceHttpApiHostModule.cs
+++ /dev/null
@@ -1,125 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using EShopOnAbp.SaasService.DbMigrations;
-using Microsoft.AspNetCore.Authentication.JwtBearer;
-using Microsoft.AspNetCore.Builder;
-using Microsoft.AspNetCore.Cors;
-using Microsoft.AspNetCore.DataProtection;
-using Microsoft.Extensions.DependencyInjection;
-using Microsoft.Extensions.Hosting;
-using EShopOnAbp.SaasService.EntityFrameworkCore;
-using EShopOnAbp.Shared.Hosting.AspNetCore;
-using EShopOnAbp.Shared.Hosting.Microservices;
-using Microsoft.Extensions.Options;
-using StackExchange.Redis;
-using Microsoft.OpenApi.Models;
-using Volo.Abp;
-using Volo.Abp.Caching;
-using Volo.Abp.EntityFrameworkCore;
-using Volo.Abp.Localization;
-using Volo.Abp.Modularity;
-using Volo.Abp.MultiTenancy;
-using Volo.Abp.Threading;
-using Volo.Abp.VirtualFileSystem;
-
-namespace EShopOnAbp.SaasService
-{
- [DependsOn(
- typeof(EShopOnAbpSharedHostingMicroservicesModule),
- typeof(SaasServiceEntityFrameworkCoreModule),
- typeof(SaasServiceApplicationModule),
- typeof(SaasServiceHttpApiModule)
- )]
- public class SaasServiceHttpApiHostModule : AbpModule
- {
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- var configuration = context.Services.GetConfiguration();
- context.Services.AddAbpDbContext();
-
- JwtBearerConfigurationHelper.Configure(context, "SaasService");
- // SwaggerConfigurationHelper.Configure(context, "Saas Service API");
-
- SwaggerWithAuthConfigurationHelper.Configure(
- context: context,
- authority: configuration["AuthServer:Authority"],
- scopes: new
- Dictionary /* Requested scopes for authorization code request and descriptions for swagger UI only */
- {
- { "SaasService", "Saas Service API" },
- },
- apiTitle: "Saas Service API"
- );
-
- context.Services.AddCors(options =>
- {
- options.AddDefaultPolicy(builder =>
- {
- builder
- .WithOrigins(
- configuration["App:CorsOrigins"]
- .Split(",", StringSplitOptions.RemoveEmptyEntries)
- .Select(o => o.Trim().RemovePostFix("/"))
- .ToArray()
- )
- .WithAbpExposedHeaders()
- .SetIsOriginAllowedToAllowWildcardSubdomains()
- .AllowAnyHeader()
- .AllowAnyMethod()
- .AllowCredentials();
- });
- });
- }
-
- public override void OnApplicationInitialization(ApplicationInitializationContext context)
- {
- var app = context.GetApplicationBuilder();
- var env = context.GetEnvironment();
-
- if (env.IsDevelopment())
- {
- app.UseDeveloperExceptionPage();
- }
-
- app.UseCorrelationId();
- app.UseCors();
- app.UseAbpRequestLocalization();
- app.UseStaticFiles();
- app.UseRouting();
- // app.UseHttpMetrics();
- app.UseAuthentication();
- app.UseAbpClaimsMap();
- app.UseMultiTenancy();
- app.UseAuthorization();
- app.UseSwagger();
- app.UseSwaggerUI(options => { options.SwaggerEndpoint("/swagger/v1/swagger.json", "Saas Service API"); });
- app.UseAbpSerilogEnrichers();
- app.UseAuditing();
- app.UseUnitOfWork();
- app.UseConfiguredEndpoints(endpoints =>
- {
- // endpoints.MapMetrics();
- });
- }
-
- public override void OnPostApplicationInitialization(ApplicationInitializationContext context)
- {
- using (var scope = context.ServiceProvider.CreateScope())
- {
- AsyncHelper.RunSync(
- () => scope.ServiceProvider
- .GetRequiredService()
- .CheckAsync()
- );
- }
- }
- }
-
- public class Test
- {
- public string ID { get; set; }
- public string Name { get; set; }
- }
-}
\ No newline at end of file
diff --git a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/Startup.cs b/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/Startup.cs
deleted file mode 100644
index ca4789d5..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/Startup.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-using Microsoft.AspNetCore.Builder;
-using Microsoft.AspNetCore.Hosting;
-using Microsoft.Extensions.DependencyInjection;
-using Microsoft.Extensions.Logging;
-
-namespace EShopOnAbp.SaasService
-{
- public class Startup
- {
- public void ConfigureServices(IServiceCollection services)
- {
- services.AddApplication();
- }
-
- public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
- {
- app.InitializeApplication();
- }
- }
-}
diff --git a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/appsettings.json b/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/appsettings.json
deleted file mode 100644
index e0acb96a..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/appsettings.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "App": {
- "SelfUrl": "https://localhost:44352",
- "CorsOrigins": "https://localhost:44371,https://localhost:44372,https://localhost:44373"
- },
- "AuthServer": {
- "Authority": "https://localhost:44330",
- "RequireHttpsMetadata": "true",
- "SwaggerClientId": "SaasService_Swagger",
- "SwaggerClientSecret": "1q2w3e*"
- },
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft": "Warning",
- "Microsoft.Hosting.Lifetime": "Information"
- }
- },
- "AllowedHosts": "*",
- "ConnectionStrings": {
- "SaasService": "Server=localhost,1434;Database=EShopOnAbp_Saas;User Id=sa;password=myPassw0rd;MultipleActiveResultSets=true",
- "AdministrationService": "Server=localhost,1434;Database=EShopOnAbp_Administration;User Id=sa;password=myPassw0rd;MultipleActiveResultSets=true"
- },
- "StringEncryption": {
- "DefaultPassPhrase": "gsKnGZ041HLL4IM8"
- },
- "Redis": {
- "Configuration": "localhost:6379"
- },
- "RabbitMQ": {
- "Connections": {
- "Default": {
- "HostName": "localhost"
- }
- },
- "EventBus": {
- "ClientName": "EShopOnAbp_SaasService",
- "ExchangeName": "EShopOnAbp"
- }
- },
- "ElasticSearch": {
- "Url": "http://localhost:9200"
- },
- "Consul": {
- "Enabled": true,
- "Host": "http://localhost:8500",
- "Service": "Saas Service"
- }
-}
diff --git a/services/saas/src/EShopOnAbp.SaasService.HttpApi/EShopOnAbp.SaasService.HttpApi.csproj b/services/saas/src/EShopOnAbp.SaasService.HttpApi/EShopOnAbp.SaasService.HttpApi.csproj
deleted file mode 100644
index c41021e1..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.HttpApi/EShopOnAbp.SaasService.HttpApi.csproj
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
- net6.0
- EShopOnAbp.SaasService
-
-
-
-
-
-
-
-
-
-
-
diff --git a/services/saas/src/EShopOnAbp.SaasService.HttpApi/SaasServiceHttpApiModule.cs b/services/saas/src/EShopOnAbp.SaasService.HttpApi/SaasServiceHttpApiModule.cs
deleted file mode 100644
index bbe5c187..00000000
--- a/services/saas/src/EShopOnAbp.SaasService.HttpApi/SaasServiceHttpApiModule.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using Volo.Abp.Modularity;
-using Volo.Abp.TenantManagement;
-
-namespace EShopOnAbp.SaasService
-{
- [DependsOn(
- typeof(SaasServiceApplicationContractsModule),
- typeof(AbpTenantManagementHttpApiModule)
- )]
- public class SaasServiceHttpApiModule : AbpModule
- {
- }
-}
diff --git a/services/saas/test/EShopOnAbp.SaasService.Application.Tests/EShopOnAbp.SaasService.Application.Tests.csproj b/services/saas/test/EShopOnAbp.SaasService.Application.Tests/EShopOnAbp.SaasService.Application.Tests.csproj
deleted file mode 100644
index e70a26a4..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.Application.Tests/EShopOnAbp.SaasService.Application.Tests.csproj
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
- net6.0
- EShopOnAbp.SaasService
-
-
-
-
-
-
-
-
-
diff --git a/services/saas/test/EShopOnAbp.SaasService.Application.Tests/FodyWeavers.xml b/services/saas/test/EShopOnAbp.SaasService.Application.Tests/FodyWeavers.xml
deleted file mode 100644
index be0de3a9..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.Application.Tests/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/services/saas/test/EShopOnAbp.SaasService.Application.Tests/FodyWeavers.xsd b/services/saas/test/EShopOnAbp.SaasService.Application.Tests/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e2..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.Application.Tests/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/services/saas/test/EShopOnAbp.SaasService.Application.Tests/SaasServiceApplicationTestBase.cs b/services/saas/test/EShopOnAbp.SaasService.Application.Tests/SaasServiceApplicationTestBase.cs
deleted file mode 100644
index 55b75d6a..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.Application.Tests/SaasServiceApplicationTestBase.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace EShopOnAbp.SaasService
-{
- /* Inherit from this class for your application layer tests.
- * See SampleAppService_Tests for example.
- */
- public abstract class SaasServiceApplicationTestBase : SaasServiceTestBase
- {
-
- }
-}
\ No newline at end of file
diff --git a/services/saas/test/EShopOnAbp.SaasService.Application.Tests/SaasServiceApplicationTestModule.cs b/services/saas/test/EShopOnAbp.SaasService.Application.Tests/SaasServiceApplicationTestModule.cs
deleted file mode 100644
index 168741d3..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.Application.Tests/SaasServiceApplicationTestModule.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using Volo.Abp.Modularity;
-
-namespace EShopOnAbp.SaasService
-{
- [DependsOn(
- typeof(SaasServiceApplicationModule),
- typeof(SaasServiceDomainTestModule)
- )]
- public class SaasServiceApplicationTestModule : AbpModule
- {
-
- }
-}
diff --git a/services/saas/test/EShopOnAbp.SaasService.Domain.Tests/EShopOnAbp.SaasService.Domain.Tests.csproj b/services/saas/test/EShopOnAbp.SaasService.Domain.Tests/EShopOnAbp.SaasService.Domain.Tests.csproj
deleted file mode 100644
index 21c517e7..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.Domain.Tests/EShopOnAbp.SaasService.Domain.Tests.csproj
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
- net6.0
- EShopOnAbp.SaasService
-
-
-
-
-
-
-
-
diff --git a/services/saas/test/EShopOnAbp.SaasService.Domain.Tests/FodyWeavers.xml b/services/saas/test/EShopOnAbp.SaasService.Domain.Tests/FodyWeavers.xml
deleted file mode 100644
index be0de3a9..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.Domain.Tests/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/services/saas/test/EShopOnAbp.SaasService.Domain.Tests/FodyWeavers.xsd b/services/saas/test/EShopOnAbp.SaasService.Domain.Tests/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e2..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.Domain.Tests/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/services/saas/test/EShopOnAbp.SaasService.Domain.Tests/SaasServiceDomainTestBase.cs b/services/saas/test/EShopOnAbp.SaasService.Domain.Tests/SaasServiceDomainTestBase.cs
deleted file mode 100644
index 735c0660..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.Domain.Tests/SaasServiceDomainTestBase.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace EShopOnAbp.SaasService
-{
- /* Inherit from this class for your domain layer tests.
- * See SampleManager_Tests for example.
- */
- public abstract class SaasServiceDomainTestBase : SaasServiceTestBase
- {
-
- }
-}
\ No newline at end of file
diff --git a/services/saas/test/EShopOnAbp.SaasService.Domain.Tests/SaasServiceDomainTestModule.cs b/services/saas/test/EShopOnAbp.SaasService.Domain.Tests/SaasServiceDomainTestModule.cs
deleted file mode 100644
index c2f6a70f..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.Domain.Tests/SaasServiceDomainTestModule.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using EShopOnAbp.SaasService.EntityFrameworkCore;
-using Volo.Abp.Modularity;
-
-namespace EShopOnAbp.SaasService
-{
- /* Domain tests are configured to use the EF Core provider.
- * You can switch to MongoDB, however your domain tests should be
- * database independent anyway.
- */
- [DependsOn(
- typeof(SaasServiceEntityFrameworkCoreTestModule)
- )]
- public class SaasServiceDomainTestModule : AbpModule
- {
-
- }
-}
diff --git a/services/saas/test/EShopOnAbp.SaasService.Domain.Tests/Samples/SampleManager_Tests.cs b/services/saas/test/EShopOnAbp.SaasService.Domain.Tests/Samples/SampleManager_Tests.cs
deleted file mode 100644
index 07c05832..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.Domain.Tests/Samples/SampleManager_Tests.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System.Threading.Tasks;
-using Xunit;
-
-namespace EShopOnAbp.SaasService.Samples
-{
- public class SampleManager_Tests : SaasServiceDomainTestBase
- {
- //private readonly SampleManager _sampleManager;
-
- public SampleManager_Tests()
- {
- //_sampleManager = GetRequiredService();
- }
-
- [Fact]
- public async Task Method1Async()
- {
-
- }
- }
-}
diff --git a/services/saas/test/EShopOnAbp.SaasService.EntityFrameworkCore.Tests/EShopOnAbp.SaasService.EntityFrameworkCore.Tests.csproj b/services/saas/test/EShopOnAbp.SaasService.EntityFrameworkCore.Tests/EShopOnAbp.SaasService.EntityFrameworkCore.Tests.csproj
deleted file mode 100644
index abb6666d..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.EntityFrameworkCore.Tests/EShopOnAbp.SaasService.EntityFrameworkCore.Tests.csproj
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
- net6.0
- EShopOnAbp.SaasService
-
-
-
-
-
-
-
-
-
-
-
diff --git a/services/saas/test/EShopOnAbp.SaasService.EntityFrameworkCore.Tests/EntityFrameworkCore/SaasServiceEntityFrameworkCoreTestBase.cs b/services/saas/test/EShopOnAbp.SaasService.EntityFrameworkCore.Tests/EntityFrameworkCore/SaasServiceEntityFrameworkCoreTestBase.cs
deleted file mode 100644
index 91af3458..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.EntityFrameworkCore.Tests/EntityFrameworkCore/SaasServiceEntityFrameworkCoreTestBase.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace EShopOnAbp.SaasService.EntityFrameworkCore
-{
- /* This class can be used as a base class for EF Core integration tests,
- * while SampleRepository_Tests uses a different approach.
- */
- public abstract class SaasServiceEntityFrameworkCoreTestBase : SaasServiceTestBase
- {
-
- }
-}
\ No newline at end of file
diff --git a/services/saas/test/EShopOnAbp.SaasService.EntityFrameworkCore.Tests/EntityFrameworkCore/SaasServiceEntityFrameworkCoreTestModule.cs b/services/saas/test/EShopOnAbp.SaasService.EntityFrameworkCore.Tests/EntityFrameworkCore/SaasServiceEntityFrameworkCoreTestModule.cs
deleted file mode 100644
index eaf068d9..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.EntityFrameworkCore.Tests/EntityFrameworkCore/SaasServiceEntityFrameworkCoreTestModule.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-using Microsoft.Data.Sqlite;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Storage;
-using Volo.Abp.EntityFrameworkCore;
-using Volo.Abp.EntityFrameworkCore.Sqlite;
-using Volo.Abp.Modularity;
-
-namespace EShopOnAbp.SaasService.EntityFrameworkCore
-{
- [DependsOn(
- typeof(SaasServiceTestBaseModule),
- typeof(SaasServiceEntityFrameworkCoreModule),
- typeof(AbpEntityFrameworkCoreSqliteModule)
- )]
- public class SaasServiceEntityFrameworkCoreTestModule : AbpModule
- {
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- var sqliteConnection = CreateDatabaseAndGetConnection();
-
- Configure(options =>
- {
- options.Configure(abpDbContextConfigurationContext =>
- {
- abpDbContextConfigurationContext.DbContextOptions.UseSqlite(sqliteConnection);
- });
- });
- }
-
- private static SqliteConnection CreateDatabaseAndGetConnection()
- {
- var connection = new SqliteConnection("Data Source=:memory:");
- connection.Open();
-
- new SaasServiceDbContext(
- new DbContextOptionsBuilder().UseSqlite(connection).Options
- ).GetService().CreateTables();
-
- return connection;
- }
- }
-}
diff --git a/services/saas/test/EShopOnAbp.SaasService.EntityFrameworkCore.Tests/FodyWeavers.xml b/services/saas/test/EShopOnAbp.SaasService.EntityFrameworkCore.Tests/FodyWeavers.xml
deleted file mode 100644
index be0de3a9..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.EntityFrameworkCore.Tests/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/services/saas/test/EShopOnAbp.SaasService.EntityFrameworkCore.Tests/FodyWeavers.xsd b/services/saas/test/EShopOnAbp.SaasService.EntityFrameworkCore.Tests/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e2..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.EntityFrameworkCore.Tests/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/services/saas/test/EShopOnAbp.SaasService.HttpApi.Client.ConsoleTestApp/ClientDemoService.cs b/services/saas/test/EShopOnAbp.SaasService.HttpApi.Client.ConsoleTestApp/ClientDemoService.cs
deleted file mode 100644
index 7f91e5f7..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.HttpApi.Client.ConsoleTestApp/ClientDemoService.cs
+++ /dev/null
@@ -1,156 +0,0 @@
-using System;
-using System.Net.Http;
-using System.Threading.Tasks;
-using IdentityModel.Client;
-using Microsoft.Extensions.Configuration;
-using EShopOnAbp.SaasService.Samples;
-using Volo.Abp.DependencyInjection;
-using Volo.Abp.IdentityModel;
-
-namespace EShopOnAbp.SaasService
-{
- public class ClientDemoService : ITransientDependency
- {
- private readonly ISampleAppService _sampleAppService;
- private readonly IIdentityModelAuthenticationService _authenticationService;
- private readonly IConfiguration _configuration;
-
- public ClientDemoService(
- ISampleAppService sampleAppService,
- IIdentityModelAuthenticationService authenticationService,
- IConfiguration configuration)
- {
- _sampleAppService = sampleAppService;
- _authenticationService = authenticationService;
- _configuration = configuration;
- }
-
- public async Task RunAsync()
- {
- await TestWithDynamicProxiesAsync();
- await TestWithHttpClientAndIdentityModelAuthenticationServiceAsync();
- await TestAllManuallyAsync();
- }
-
- /* Shows how to perform an HTTP request to the API using ABP's dynamic c# proxy
- * feature. It is just simple as calling a local service method.
- * Authorization and HTTP request details are handled by the ABP framework.
- */
- private async Task TestWithDynamicProxiesAsync()
- {
- Console.WriteLine();
- Console.WriteLine($"***** {nameof(TestWithDynamicProxiesAsync)} *****");
-
- var result = await _sampleAppService.GetAsync();
- Console.WriteLine("Result: " + result.Value);
-
- result = await _sampleAppService.GetAuthorizedAsync();
- Console.WriteLine("Result (authorized): " + result.Value);
- }
-
- /* Shows how to use HttpClient to perform a request to the HTTP API.
- * It uses ABP's IIdentityModelAuthenticationService to simplify obtaining access tokens.
- */
- private async Task TestWithHttpClientAndIdentityModelAuthenticationServiceAsync()
- {
- Console.WriteLine();
- Console.WriteLine($"***** {nameof(TestWithHttpClientAndIdentityModelAuthenticationServiceAsync)} *****");
-
- //Get access token using ABP's IIdentityModelAuthenticationService
-
- var accessToken = await _authenticationService.GetAccessTokenAsync(
- new IdentityClientConfiguration(
- _configuration["IdentityClients:Default:Authority"],
- _configuration["IdentityClients:Default:Scope"],
- _configuration["IdentityClients:Default:ClientId"],
- _configuration["IdentityClients:Default:ClientSecret"],
- _configuration["IdentityClients:Default:GrantType"],
- _configuration["IdentityClients:Default:UserName"],
- _configuration["IdentityClients:Default:UserPassword"]
- )
- );
-
- //Perform the actual HTTP request
-
- using (var httpClient = new HttpClient())
- {
- httpClient.SetBearerToken(accessToken);
-
- var url = _configuration["RemoteServices:SaasService:BaseUrl"] +
- "api/SaasService/sample/authorized";
-
- var responseMessage = await httpClient.GetAsync(url);
- if (responseMessage.IsSuccessStatusCode)
- {
- var responseString = await responseMessage.Content.ReadAsStringAsync();
- Console.WriteLine("Result: " + responseString);
- }
- else
- {
- throw new Exception("Remote server returns error code: " + responseMessage.StatusCode);
- }
- }
- }
-
- /* Shows how to use HttpClient to perform a request to the HTTP API.
- * It obtains access token using IdentityServer's API. See its documentation:
- * https://identityserver4.readthedocs.io/en/latest/quickstarts/2_resource_owner_passwords.html
- */
- private async Task TestAllManuallyAsync()
- {
- Console.WriteLine();
- Console.WriteLine($"***** {nameof(TestAllManuallyAsync)} *****");
-
- //Obtain access token from the IDS4 server
-
- // discover endpoints from metadata
- var client = new HttpClient();
- var disco = await client.GetDiscoveryDocumentAsync(_configuration["IdentityClients:Default:Authority"]);
- if (disco.IsError)
- {
- Console.WriteLine(disco.Error);
- return;
- }
-
- // request token
- var tokenResponse = await client.RequestPasswordTokenAsync(new PasswordTokenRequest
- {
- Address = disco.TokenEndpoint,
- ClientId = _configuration["IdentityClients:Default:ClientId"],
- ClientSecret = _configuration["IdentityClients:Default:ClientSecret"],
- UserName = _configuration["IdentityClients:Default:UserName"],
- Password = _configuration["IdentityClients:Default:UserPassword"],
- Scope = _configuration["IdentityClients:Default:Scope"]
- });
-
- if (tokenResponse.IsError)
- {
- Console.WriteLine(tokenResponse.Error);
- return;
- }
-
- Console.WriteLine(tokenResponse.Json);
-
- //Perform the actual HTTP request
-
- using (var httpClient = new HttpClient())
- {
- httpClient.SetBearerToken(tokenResponse.AccessToken);
-
- var url = _configuration["RemoteServices:SaasService:BaseUrl"] +
- "api/SaasService/sample/authorized";
-
- var responseMessage = await httpClient.GetAsync(url);
- if (responseMessage.IsSuccessStatusCode)
- {
- var responseString = await responseMessage.Content.ReadAsStringAsync();
- Console.WriteLine("Result: " + responseString);
- }
- else
- {
- throw new Exception("Remote server returns error code: " + responseMessage.StatusCode);
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/services/saas/test/EShopOnAbp.SaasService.HttpApi.Client.ConsoleTestApp/ConsoleTestAppHostedService.cs b/services/saas/test/EShopOnAbp.SaasService.HttpApi.Client.ConsoleTestApp/ConsoleTestAppHostedService.cs
deleted file mode 100644
index cdefeb11..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.HttpApi.Client.ConsoleTestApp/ConsoleTestAppHostedService.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using Microsoft.Extensions.Hosting;
-using System.Threading;
-using System.Threading.Tasks;
-using Microsoft.Extensions.DependencyInjection;
-using Volo.Abp;
-
-namespace EShopOnAbp.SaasService.HttpApi.Client.ConsoleTestApp
-{
- public class ConsoleTestAppHostedService : IHostedService
- {
- public async Task StartAsync(CancellationToken cancellationToken)
- {
- using (var application = AbpApplicationFactory.Create())
- {
- application.Initialize();
-
- var demo = application.ServiceProvider.GetRequiredService();
- await demo.RunAsync();
-
- application.Shutdown();
- }
- }
-
- public Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask;
- }
-}
diff --git a/services/saas/test/EShopOnAbp.SaasService.HttpApi.Client.ConsoleTestApp/EShopOnAbp.SaasService.HttpApi.Client.ConsoleTestApp.csproj b/services/saas/test/EShopOnAbp.SaasService.HttpApi.Client.ConsoleTestApp/EShopOnAbp.SaasService.HttpApi.Client.ConsoleTestApp.csproj
deleted file mode 100644
index 7feb1dac..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.HttpApi.Client.ConsoleTestApp/EShopOnAbp.SaasService.HttpApi.Client.ConsoleTestApp.csproj
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
- Exe
- net6.0
- EShopOnAbp.SaasService
-
-
-
-
-
-
-
-
-
-
- PreserveNewest
- Always
-
-
-
-
-
-
-
-
diff --git a/services/saas/test/EShopOnAbp.SaasService.HttpApi.Client.ConsoleTestApp/Program.cs b/services/saas/test/EShopOnAbp.SaasService.HttpApi.Client.ConsoleTestApp/Program.cs
deleted file mode 100644
index 23dbdc98..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.HttpApi.Client.ConsoleTestApp/Program.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System.Threading.Tasks;
-using Microsoft.Extensions.DependencyInjection;
-using Microsoft.Extensions.Hosting;
-
-namespace EShopOnAbp.SaasService.HttpApi.Client.ConsoleTestApp
-{
- class Program
- {
- static async Task Main(string[] args)
- {
- await CreateHostBuilder(args).RunConsoleAsync();
- }
-
- public static IHostBuilder CreateHostBuilder(string[] args) =>
- Host.CreateDefaultBuilder(args)
- .ConfigureServices((hostContext, services) =>
- {
- services.AddHostedService();
- });
- }
-}
diff --git a/services/saas/test/EShopOnAbp.SaasService.HttpApi.Client.ConsoleTestApp/SaasServiceConsoleApiClientModule.cs b/services/saas/test/EShopOnAbp.SaasService.HttpApi.Client.ConsoleTestApp/SaasServiceConsoleApiClientModule.cs
deleted file mode 100644
index 79b77d25..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.HttpApi.Client.ConsoleTestApp/SaasServiceConsoleApiClientModule.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using Volo.Abp.Http.Client.IdentityModel;
-using Volo.Abp.Modularity;
-
-namespace EShopOnAbp.SaasService
-{
- [DependsOn(
- typeof(SaasServiceHttpApiClientModule),
- typeof(AbpHttpClientIdentityModelModule)
- )]
- public class SaasServiceConsoleApiClientModule : AbpModule
- {
-
- }
-}
diff --git a/services/saas/test/EShopOnAbp.SaasService.HttpApi.Client.ConsoleTestApp/appsettings.json b/services/saas/test/EShopOnAbp.SaasService.HttpApi.Client.ConsoleTestApp/appsettings.json
deleted file mode 100644
index eb9f7326..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.HttpApi.Client.ConsoleTestApp/appsettings.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "RemoteServices": {
- "Default": {
- "BaseUrl": "https://localhost:44348/"
- },
- "SaasService": {
- "BaseUrl": "https://localhost:44396/"
- }
- },
- "IdentityClients": {
- "Default": {
- "GrantType": "password",
- "ClientId": "SaasService_App",
- "ClientSecret": "1q2w3e*",
- "UserName": "admin",
- "UserPassword": "1q2w3E*",
- "Authority": "https://localhost:44348/",
- "Scope": "SaasService"
- }
- }
-}
diff --git a/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/EShopOnAbp.SaasService.MongoDB.Tests.csproj b/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/EShopOnAbp.SaasService.MongoDB.Tests.csproj
deleted file mode 100644
index 51fa392b..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/EShopOnAbp.SaasService.MongoDB.Tests.csproj
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
- net6.0
- EShopOnAbp.SaasService
-
-
-
-
-
-
-
-
-
-
diff --git a/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/FodyWeavers.xml b/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/FodyWeavers.xml
deleted file mode 100644
index be0de3a9..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/FodyWeavers.xsd b/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e2..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/MongoDB/MongoDbFixture.cs b/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/MongoDB/MongoDbFixture.cs
deleted file mode 100644
index 5e7949d2..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/MongoDB/MongoDbFixture.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System;
-using Mongo2Go;
-
-namespace EShopOnAbp.SaasService.MongoDB
-{
- public class MongoDbFixture : IDisposable
- {
- private static readonly MongoDbRunner MongoDbRunner;
- public static readonly string ConnectionString;
-
- static MongoDbFixture()
- {
- MongoDbRunner = MongoDbRunner.Start(singleNodeReplSet: true, singleNodeReplSetWaitTimeout: 20);
- ConnectionString = MongoDbRunner.ConnectionString;
- }
-
- public void Dispose()
- {
- MongoDbRunner?.Dispose();
- }
- }
-}
diff --git a/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/MongoDB/MongoTestCollection.cs b/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/MongoDB/MongoTestCollection.cs
deleted file mode 100644
index d2af9690..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/MongoDB/MongoTestCollection.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using Xunit;
-
-namespace EShopOnAbp.SaasService.MongoDB
-{
- [CollectionDefinition(Name)]
- public class MongoTestCollection : ICollectionFixture
- {
- public const string Name = "MongoDB Collection";
- }
-}
\ No newline at end of file
diff --git a/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/MongoDB/SaasServiceMongoDbTestBase.cs b/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/MongoDB/SaasServiceMongoDbTestBase.cs
deleted file mode 100644
index 2cc693a5..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/MongoDB/SaasServiceMongoDbTestBase.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace EShopOnAbp.SaasService.MongoDB
-{
- /* This class can be used as a base class for MongoDB integration tests,
- * while SampleRepository_Tests uses a different approach.
- */
- public abstract class SaasServiceMongoDbTestBase : SaasServiceTestBase
- {
-
- }
-}
\ No newline at end of file
diff --git a/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/MongoDB/SaasServiceMongoDbTestModule.cs b/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/MongoDB/SaasServiceMongoDbTestModule.cs
deleted file mode 100644
index 020c9335..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/MongoDB/SaasServiceMongoDbTestModule.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using System;
-using Volo.Abp.Data;
-using Volo.Abp.Modularity;
-using Volo.Abp.Uow;
-
-namespace EShopOnAbp.SaasService.MongoDB
-{
- [DependsOn(
- typeof(SaasServiceTestBaseModule),
- typeof(SaasServiceMongoDbModule)
- )]
- public class SaasServiceMongoDbTestModule : AbpModule
- {
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- var stringArray = MongoDbFixture.ConnectionString.Split('?');
- var connectionString = stringArray[0].EnsureEndsWith('/') +
- "Db_" +
- Guid.NewGuid().ToString("N") + "/?" + stringArray[1];
-
- Configure(options =>
- {
- options.ConnectionStrings.Default = connectionString;
- });
- }
- }
-}
diff --git a/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/MongoDB/Samples/SampleRepository_Tests.cs b/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/MongoDB/Samples/SampleRepository_Tests.cs
deleted file mode 100644
index f2368643..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.MongoDB.Tests/MongoDB/Samples/SampleRepository_Tests.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using EShopOnAbp.SaasService.Samples;
-using Xunit;
-
-namespace EShopOnAbp.SaasService.MongoDB.Samples
-{
- [Collection(MongoTestCollection.Name)]
- public class SampleRepository_Tests : SampleRepository_Tests
- {
- /* Don't write custom repository tests here, instead write to
- * the base class.
- * One exception can be some specific tests related to MongoDB.
- */
- }
-}
diff --git a/services/saas/test/EShopOnAbp.SaasService.TestBase/EShopOnAbp.SaasService.TestBase.csproj b/services/saas/test/EShopOnAbp.SaasService.TestBase/EShopOnAbp.SaasService.TestBase.csproj
deleted file mode 100644
index d78b1552..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.TestBase/EShopOnAbp.SaasService.TestBase.csproj
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
- net6.0
- EShopOnAbp.SaasService
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/services/saas/test/EShopOnAbp.SaasService.TestBase/FodyWeavers.xml b/services/saas/test/EShopOnAbp.SaasService.TestBase/FodyWeavers.xml
deleted file mode 100644
index be0de3a9..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.TestBase/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/services/saas/test/EShopOnAbp.SaasService.TestBase/FodyWeavers.xsd b/services/saas/test/EShopOnAbp.SaasService.TestBase/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e2..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.TestBase/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/services/saas/test/EShopOnAbp.SaasService.TestBase/SaasServiceDataSeedContributor.cs b/services/saas/test/EShopOnAbp.SaasService.TestBase/SaasServiceDataSeedContributor.cs
deleted file mode 100644
index a880915f..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.TestBase/SaasServiceDataSeedContributor.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-using System.Threading.Tasks;
-using Volo.Abp.Data;
-using Volo.Abp.DependencyInjection;
-using Volo.Abp.Guids;
-using Volo.Abp.MultiTenancy;
-
-namespace EShopOnAbp.SaasService
-{
- public class SaasServiceDataSeedContributor : IDataSeedContributor, ITransientDependency
- {
- private readonly IGuidGenerator _guidGenerator;
- private readonly ICurrentTenant _currentTenant;
-
- public SaasServiceDataSeedContributor(
- IGuidGenerator guidGenerator, ICurrentTenant currentTenant)
- {
- _guidGenerator = guidGenerator;
- _currentTenant = currentTenant;
- }
-
- public Task SeedAsync(DataSeedContext context)
- {
- /* Instead of returning the Task.CompletedTask, you can insert your test data
- * at this point!
- */
-
- using (_currentTenant.Change(context?.TenantId))
- {
- return Task.CompletedTask;
- }
- }
- }
-}
diff --git a/services/saas/test/EShopOnAbp.SaasService.TestBase/SaasServiceTestBase.cs b/services/saas/test/EShopOnAbp.SaasService.TestBase/SaasServiceTestBase.cs
deleted file mode 100644
index 40be418b..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.TestBase/SaasServiceTestBase.cs
+++ /dev/null
@@ -1,60 +0,0 @@
-using System;
-using System.Threading.Tasks;
-using Microsoft.Extensions.DependencyInjection;
-using Volo.Abp;
-using Volo.Abp.Modularity;
-using Volo.Abp.Uow;
-using Volo.Abp.Testing;
-
-namespace EShopOnAbp.SaasService
-{
- /* All test classes are derived from this class, directly or indirectly. */
- public abstract class SaasServiceTestBase : AbpIntegratedTest
- where TStartupModule : IAbpModule
- {
- protected override void SetAbpApplicationCreationOptions(AbpApplicationCreationOptions options)
- {
- options.UseAutofac();
- }
-
- protected virtual Task WithUnitOfWorkAsync(Func func)
- {
- return WithUnitOfWorkAsync(new AbpUnitOfWorkOptions(), func);
- }
-
- protected virtual async Task WithUnitOfWorkAsync(AbpUnitOfWorkOptions options, Func action)
- {
- using (var scope = ServiceProvider.CreateScope())
- {
- var uowManager = scope.ServiceProvider.GetRequiredService();
-
- using (var uow = uowManager.Begin(options))
- {
- await action();
-
- await uow.CompleteAsync();
- }
- }
- }
-
- protected virtual Task WithUnitOfWorkAsync(Func> func)
- {
- return WithUnitOfWorkAsync(new AbpUnitOfWorkOptions(), func);
- }
-
- protected virtual async Task WithUnitOfWorkAsync(AbpUnitOfWorkOptions options, Func> func)
- {
- using (var scope = ServiceProvider.CreateScope())
- {
- var uowManager = scope.ServiceProvider.GetRequiredService();
-
- using (var uow = uowManager.Begin(options))
- {
- var result = await func();
- await uow.CompleteAsync();
- return result;
- }
- }
- }
- }
-}
diff --git a/services/saas/test/EShopOnAbp.SaasService.TestBase/SaasServiceTestBaseModule.cs b/services/saas/test/EShopOnAbp.SaasService.TestBase/SaasServiceTestBaseModule.cs
deleted file mode 100644
index 1cfa754c..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.TestBase/SaasServiceTestBaseModule.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-using Microsoft.Extensions.DependencyInjection;
-using Volo.Abp;
-using Volo.Abp.Authorization;
-using Volo.Abp.Autofac;
-using Volo.Abp.Data;
-using Volo.Abp.Modularity;
-using Volo.Abp.Threading;
-
-namespace EShopOnAbp.SaasService
-{
- [DependsOn(
- typeof(AbpAutofacModule),
- typeof(AbpTestBaseModule),
- typeof(AbpAuthorizationModule),
- typeof(SaasServiceDomainModule)
- )]
- public class SaasServiceTestBaseModule : AbpModule
- {
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- context.Services.AddAlwaysAllowAuthorization();
- }
-
- public override void OnApplicationInitialization(ApplicationInitializationContext context)
- {
- SeedTestData(context);
- }
-
- private static void SeedTestData(ApplicationInitializationContext context)
- {
- AsyncHelper.RunSync(async () =>
- {
- using (var scope = context.ServiceProvider.CreateScope())
- {
- await scope.ServiceProvider
- .GetRequiredService()
- .SeedAsync();
- }
- });
- }
- }
-}
diff --git a/services/saas/test/EShopOnAbp.SaasService.TestBase/Samples/SampleRepository_Tests.cs b/services/saas/test/EShopOnAbp.SaasService.TestBase/Samples/SampleRepository_Tests.cs
deleted file mode 100644
index ce04462a..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.TestBase/Samples/SampleRepository_Tests.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using System.Threading.Tasks;
-using Volo.Abp.Modularity;
-using Xunit;
-
-namespace EShopOnAbp.SaasService.Samples
-{
- /* Write your custom repository tests like that, in this project, as abstract classes.
- * Then inherit these abstract classes from EF Core & MongoDB test projects.
- * In this way, both database providers are tests with the same set tests.
- */
- public abstract class SampleRepository_Tests : SaasServiceTestBase
- where TStartupModule : IAbpModule
- {
- //private readonly ISampleRepository _sampleRepository;
-
- protected SampleRepository_Tests()
- {
- //_sampleRepository = GetRequiredService();
- }
-
- [Fact]
- public async Task Method1Async()
- {
-
- }
- }
-}
diff --git a/services/saas/test/EShopOnAbp.SaasService.TestBase/Security/FakeCurrentPrincipalAccessor.cs b/services/saas/test/EShopOnAbp.SaasService.TestBase/Security/FakeCurrentPrincipalAccessor.cs
deleted file mode 100644
index 3453561b..00000000
--- a/services/saas/test/EShopOnAbp.SaasService.TestBase/Security/FakeCurrentPrincipalAccessor.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-using System.Collections.Generic;
-using System.Security.Claims;
-using Volo.Abp.DependencyInjection;
-using Volo.Abp.Security.Claims;
-
-namespace EShopOnAbp.SaasService.Security
-{
- [Dependency(ReplaceServices = true)]
- public class FakeCurrentPrincipalAccessor : ThreadCurrentPrincipalAccessor
- {
- protected override ClaimsPrincipal GetClaimsPrincipal()
- {
- return GetPrincipal();
- }
-
- private ClaimsPrincipal _principal;
-
- private ClaimsPrincipal GetPrincipal()
- {
- if (_principal == null)
- {
- lock (this)
- {
- if (_principal == null)
- {
- _principal = new ClaimsPrincipal(
- new ClaimsIdentity(
- new List
- {
- new Claim(AbpClaimTypes.UserId,"2e701e62-0953-4dd3-910b-dc6cc93ccb0d"),
- new Claim(AbpClaimTypes.UserName,"admin"),
- new Claim(AbpClaimTypes.Email,"admin@abp.io")
- }
- )
- );
- }
- }
- }
-
- return _principal;
- }
- }
-}
diff --git a/shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj b/shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj
index 78d9f098..2ceafacb 100644
--- a/shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj
+++ b/shared/EShopOnAbp.Shared.Hosting.AspNetCore/EShopOnAbp.Shared.Hosting.AspNetCore.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj b/shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj
index 2621e58c..f4163f23 100644
--- a/shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj
+++ b/shared/EShopOnAbp.Shared.Hosting.Gateways/EShopOnAbp.Shared.Hosting.Gateways.csproj
@@ -10,7 +10,7 @@
-
+
diff --git a/shared/EShopOnAbp.Shared.Hosting.Microservices/DbMigrations/DatabaseMigrationEventHandlerBase.cs b/shared/EShopOnAbp.Shared.Hosting.Microservices/DbMigrations/DatabaseMigrationEventHandlerBase.cs
index 2fde12ba..694c6479 100644
--- a/shared/EShopOnAbp.Shared.Hosting.Microservices/DbMigrations/DatabaseMigrationEventHandlerBase.cs
+++ b/shared/EShopOnAbp.Shared.Hosting.Microservices/DbMigrations/DatabaseMigrationEventHandlerBase.cs
@@ -14,7 +14,6 @@ using Volo.Abp.Domain.Entities.Events.Distributed;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.EventBus.Distributed;
using Volo.Abp.MultiTenancy;
-using Volo.Abp.TenantManagement;
using Volo.Abp.Uow;
namespace EShopOnAbp.Shared.Hosting.Microservices.DbMigrations
@@ -29,7 +28,6 @@ namespace EShopOnAbp.Shared.Hosting.Microservices.DbMigrations
protected ICurrentTenant CurrentTenant { get; }
protected IUnitOfWorkManager UnitOfWorkManager { get; }
protected ITenantStore TenantStore { get; }
- protected ITenantRepository TenantRepository { get; }
protected IDistributedEventBus DistributedEventBus { get; }
protected ILogger> Logger { get; set; }
protected string DatabaseName { get; }
@@ -38,7 +36,6 @@ namespace EShopOnAbp.Shared.Hosting.Microservices.DbMigrations
ICurrentTenant currentTenant,
IUnitOfWorkManager unitOfWorkManager,
ITenantStore tenantStore,
- ITenantRepository tenantRepository,
IDistributedEventBus distributedEventBus,
string databaseName)
{
@@ -47,7 +44,6 @@ namespace EShopOnAbp.Shared.Hosting.Microservices.DbMigrations
TenantStore = tenantStore;
DatabaseName = databaseName;
DistributedEventBus = distributedEventBus;
- TenantRepository = tenantRepository;
Logger = NullLogger>.Instance;
}
@@ -163,21 +159,6 @@ namespace EShopOnAbp.Shared.Hosting.Microservices.DbMigrations
}
}
- protected virtual async Task QueueTenantMigrationsAsync()
- {
- var tenants = await TenantRepository.GetListAsync(); // .GetListWithSeparateConnectionStringAsync();
- foreach (var tenant in tenants)
- {
- await DistributedEventBus.PublishAsync(
- new ApplyDatabaseMigrationsEto
- {
- DatabaseName = DatabaseName,
- TenantId = tenant.Id
- }
- );
- }
- }
-
private static int GetEventTryCount(EtoBase eventData)
{
var tryCountAsString = eventData.Properties.GetOrDefault(TryCountPropertyName);
diff --git a/shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj b/shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj
index 8edbb281..102b91cc 100644
--- a/shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj
+++ b/shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbp.Shared.Hosting.Microservices.csproj
@@ -9,21 +9,20 @@
-
-
+
+
-
-
-
-
+
+
+
+
-
-
+
diff --git a/shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbpSharedHostingMicroservicesModule.cs b/shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbpSharedHostingMicroservicesModule.cs
index f2554fb3..1e9fcfe6 100644
--- a/shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbpSharedHostingMicroservicesModule.cs
+++ b/shared/EShopOnAbp.Shared.Hosting.Microservices/EShopOnAbpSharedHostingMicroservicesModule.cs
@@ -1,5 +1,4 @@
using EShopOnAbp.AdministrationService.EntityFrameworkCore;
-using EShopOnAbp.SaasService.EntityFrameworkCore;
using EShopOnAbp.Shared.Hosting.AspNetCore;
using Microsoft.AspNetCore.DataProtection;
using Microsoft.Extensions.DependencyInjection;
@@ -20,7 +19,6 @@ namespace EShopOnAbp.Shared.Hosting.Microservices
typeof(AbpAspNetCoreMultiTenancyModule),
typeof(AbpEventBusRabbitMqModule),
typeof(AbpCachingStackExchangeRedisModule),
- typeof(SaasServiceEntityFrameworkCoreModule),
typeof(AdministrationServiceEntityFrameworkCoreModule)
)]
public class EShopOnAbpSharedHostingMicroservicesModule : AbpModule
diff --git a/shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj b/shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj
index ce0fdce5..70d6b1c4 100644
--- a/shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj
+++ b/shared/EShopOnAbp.Shared.Hosting/EShopOnAbp.Shared.Hosting.csproj
@@ -13,8 +13,8 @@
-
-
+
+
diff --git a/shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj b/shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj
index e5bbb3df..430d60c3 100644
--- a/shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj
+++ b/shared/EShopOnAbp.Shared.Localization/EShopOnAbp.Shared.Localization.csproj
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/tye.yaml b/tye.yaml
index 091b631f..22ba6cb3 100644
--- a/tye.yaml
+++ b/tye.yaml
@@ -18,15 +18,6 @@ services:
- Kestrel__Certificates__Default__Path=../../../../etc/dev-cert/localhost.pfx
- Kestrel__Certificates__Default__Password=8b6039b6-c67a-448b-977b-0ce6d3fcfd49
-- name: saas-service
- project: services/saas/src/EShopOnAbp.SaasService.HttpApi.Host/EShopOnAbp.SaasService.HttpApi.Host.csproj
- bindings:
- - protocol: https
- port: 44352
- env:
- - Kestrel__Certificates__Default__Path=../../../../etc/dev-cert/localhost.pfx
- - Kestrel__Certificates__Default__Password=8b6039b6-c67a-448b-977b-0ce6d3fcfd49
-
- name: administration-service
project: services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/EShopOnAbp.AdministrationService.HttpApi.Host.csproj
bindings:
@@ -90,15 +81,6 @@ services:
- Kestrel__Certificates__Default__Path=../../../../etc/dev-cert/localhost.pfx
- Kestrel__Certificates__Default__Password=8b6039b6-c67a-448b-977b-0ce6d3fcfd49
-- name: internal-gateway
- project: gateways/internal/src/EShopOnAbp.InternalGateway/EShopOnAbp.InternalGateway.csproj
- bindings:
- - protocol: https
- port: 44371
- env:
- - Kestrel__Certificates__Default__Path=../../../../etc/dev-cert/localhost.pfx
- - Kestrel__Certificates__Default__Password=8b6039b6-c67a-448b-977b-0ce6d3fcfd49
-
- name: public-web
project: apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj
bindings: