diff --git a/src/WorkFlow.API/Program.cs b/src/WorkFlow.API/Program.cs index 5da00e6..c160908 100644 --- a/src/WorkFlow.API/Program.cs +++ b/src/WorkFlow.API/Program.cs @@ -27,6 +27,12 @@ try var builder = WebApplication.CreateBuilder(args); var config = builder.Configuration; + Directory + .GetFiles(builder.Environment.ContentRootPath, "appsettings.*.json", SearchOption.TopDirectoryOnly) + .Where(file => Path.GetFileName(file) != $"appsettings.Development.json") + .ToList() + .ForEach(file => config.AddJsonFile(file, true, true)); + // Add NLogger builder.Logging.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace); if (!builder.Environment.IsDevelopment()) diff --git a/src/WorkFlow.API/appsettings.Auth.json b/src/WorkFlow.API/appsettings.Auth.json new file mode 100644 index 0000000..168f3fb --- /dev/null +++ b/src/WorkFlow.API/appsettings.Auth.json @@ -0,0 +1,18 @@ +{ + "DisableAPIKeyAuth": true, + "APIKeyAuth": { + "Key": "ULbcOUiAXAoCXPviyCGtObZUGnrCHNgDmtNbQNpq5MOhB0EFQn18dObdQ93INNy8xIcnOPMJfEHqOotllELVrJ2R5AjqOfQszT2j00w215GanD3UiJGwFhwmdoNFsmNj", + "HeaderName": "X-API-Key", + "SwaggerDescription": "Required header for API key authentication. Enter a valid API key." + }, + "AuthClientParams": { + "Url": "http://172.24.12.39:9090/auth-hub", + "RetryDelay": "00:00:05", + "PublicKeys": [ + { + "Issuer": "auth.digitaldata.works", + "Audience": "work-flow.digitaldata.works" + } + ] + } +} \ No newline at end of file diff --git a/src/WorkFlow.API/appsettings.LDAP.json b/src/WorkFlow.API/appsettings.LDAP.json new file mode 100644 index 0000000..d7fcd33 --- /dev/null +++ b/src/WorkFlow.API/appsettings.LDAP.json @@ -0,0 +1,11 @@ +{ + "DirectorySearchOptions": { + "ServerName": "DD-VMP01-DC01", + "Root": "DC=dd-gan,DC=local,DC=digitaldata,DC=works", + "UserCacheExpirationDays": 1, + "CustomSearchFilters": { + "User": "(&(objectClass=user)(sAMAccountName=*))", + "Group": "(&(objectClass=group) (samAccountName=*))" + } + } +} \ No newline at end of file diff --git a/src/WorkFlow.API/appsettings.Logging.json b/src/WorkFlow.API/appsettings.Logging.json new file mode 100644 index 0000000..b2eae9c --- /dev/null +++ b/src/WorkFlow.API/appsettings.Logging.json @@ -0,0 +1,51 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "NLog": { + "throwConfigExceptions": true, + "variables": { + "logDirectory": "E:\\LogFiles\\Digital Data\\workFlow.API", + "logFileNamePrefix": "${shortdate}-workFlow.API" + }, + "targets": { + "infoLogs": { + "type": "File", + "fileName": "${logDirectory}\\${logFileNamePrefix}-Info.log", + "maxArchiveDays": 30 + }, + "errorLogs": { + "type": "File", + "fileName": "${logDirectory}\\${logFileNamePrefix}-Error.log", + "maxArchiveDays": 30 + }, + "criticalLogs": { + "type": "File", + "fileName": "${logDirectory}\\${logFileNamePrefix}-Critical.log", + "maxArchiveDays": 30 + } + }, + // Trace, Debug, Info, Warn, Error and *Fatal* + "rules": [ + { + "logger": "*", + "minLevel": "Info", + "maxLevel": "Warn", + "writeTo": "infoLogs" + }, + { + "logger": "*", + "level": "Error", + "writeTo": "errorLogs" + }, + { + "logger": "*", + "level": "Fatal", + "writeTo": "criticalLogs" + } + ] + } +} \ No newline at end of file diff --git a/src/WorkFlow.API/appsettings.json b/src/WorkFlow.API/appsettings.json index bbee677..3c0c1d5 100644 --- a/src/WorkFlow.API/appsettings.json +++ b/src/WorkFlow.API/appsettings.json @@ -1,74 +1,10 @@ { "DiPMode": true, "EnableSwagger": true, - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Warning" - } - }, - "NLog": { - "throwConfigExceptions": true, - "variables": { - "logDirectory": "E:\\LogFiles\\Digital Data\\workFlow.API", - "logFileNamePrefix": "${shortdate}-workFlow.API" - }, - "targets": { - "infoLogs": { - "type": "File", - "fileName": "${logDirectory}\\${logFileNamePrefix}-Info.log", - "maxArchiveDays": 30 - }, - "errorLogs": { - "type": "File", - "fileName": "${logDirectory}\\${logFileNamePrefix}-Error.log", - "maxArchiveDays": 30 - }, - "criticalLogs": { - "type": "File", - "fileName": "${logDirectory}\\${logFileNamePrefix}-Critical.log", - "maxArchiveDays": 30 - } - }, - // Trace, Debug, Info, Warn, Error and *Fatal* - "rules": [ - { - "logger": "*", - "minLevel": "Info", - "maxLevel": "Warn", - "writeTo": "infoLogs" - }, - { - "logger": "*", - "level": "Error", - "writeTo": "errorLogs" - }, - { - "logger": "*", - "level": "Fatal", - "writeTo": "criticalLogs" - } - ] - }, "AllowedHosts": "*", "ConnectionStrings": { "Default": "Server=SDD-VMP04-SQL17\\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=dd;Encrypt=false;TrustServerCertificate=True;" }, - "DirectorySearchOptions": { - "ServerName": "DD-VMP01-DC01", - "Root": "DC=dd-gan,DC=local,DC=digitaldata,DC=works", - "UserCacheExpirationDays": 1, - "CustomSearchFilters": { - "User": "(&(objectClass=user)(sAMAccountName=*))", - "Group": "(&(objectClass=group) (samAccountName=*))" - } - }, - "DisableAPIKeyAuth": true, - "APIKeyAuth": { - "Key": "ULbcOUiAXAoCXPviyCGtObZUGnrCHNgDmtNbQNpq5MOhB0EFQn18dObdQ93INNy8xIcnOPMJfEHqOotllELVrJ2R5AjqOfQszT2j00w215GanD3UiJGwFhwmdoNFsmNj", - "HeaderName": "X-API-Key", - "SwaggerDescription": "Required header for API key authentication. Enter a valid API key." - }, "OpenApiInfo": { "Title": "WorkFlow API", "Contact": { @@ -77,15 +13,5 @@ "Url": "https://digitaldata.works/" } }, - "AuthClientParams": { - "Url": "http://172.24.12.39:9090/auth-hub", - "RetryDelay": "00:00:05", - "PublicKeys": [ - { - "Issuer": "auth.digitaldata.works", - "Audience": "work-flow.digitaldata.works" - } - ] - }, "MediatRLicense": "eyJhbGciOiJSUzI1NiIsImtpZCI6Ikx1Y2t5UGVubnlTb2Z0d2FyZUxpY2Vuc2VLZXkvYmJiMTNhY2I1OTkwNGQ4OWI0Y2IxYzg1ZjA4OGNjZjkiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2x1Y2t5cGVubnlzb2Z0d2FyZS5jb20iLCJhdWQiOiJMdWNreVBlbm55U29mdHdhcmUiLCJleHAiOiIxNzg0ODUxMjAwIiwiaWF0IjoiMTc1MzM2MjQ5MSIsImFjY291bnRfaWQiOiIwMTk4M2M1OWU0YjM3MjhlYmZkMzEwM2MyYTQ4NmU4NSIsImN1c3RvbWVyX2lkIjoiY3RtXzAxazB5NmV3MmQ4YTk4Mzg3aDJnbTRuOWswIiwic3ViX2lkIjoiLSIsImVkaXRpb24iOiIwIiwidHlwZSI6IjIifQ.ZqsFG7kv_-xGfxS6ACk3i0iuNiVUXX2AvPI8iAcZ6-z2170lGv__aO32tWpQccD9LCv5931lBNLWSblKS0MT3gOt-5he2TEftwiSQGFwoIBgtOHWsNRMinUrg2trceSp3IhyS3UaMwnxZDrCvx4-0O-kpOzVpizeHUAZNr5U7oSCWO34bpKdae6grtM5e3f93Z1vs7BW_iPgItd-aLvPwApbaG9VhmBTKlQ7b4Jh64y7UXJ9mKP7Qb_Oa97oEg0oY5DPHOWTZWeE1EzORgVr2qkK2DELSHuZ_EIUhODojkClPNAKtvEl_qEjpq0HZCIvGwfCCRlKlSkQqIeZdFkiXg" } \ No newline at end of file