2026-07-13 13:23:54 -03:00
|
|
|
|
{
|
2024-09-28 14:58:36 -04:00
|
|
|
|
"ConnectionStrings": {
|
2026-04-24 12:12:16 -05:00
|
|
|
|
//"DefaultConnection": "Server=DESKTOP-64LC14O\SQLEXPRESS;Database=SeahavenIndustries;TrustServerCertificate=True;Trusted_Connection=True;MultipleActiveResultSets=true",
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-06-05 11:56:54 -04:00
|
|
|
|
// Provide the real value via environment variable ConnectionStrings__DefaultConnection,
|
|
|
|
|
|
// user-secrets, or appsettings.Development.json (which is gitignored). Do NOT commit credentials.
|
|
|
|
|
|
"DefaultConnection": "${CONNECTION_STRING}"
|
2024-09-28 14:58:36 -04:00
|
|
|
|
},
|
|
|
|
|
|
"Logging": {
|
|
|
|
|
|
"LogLevel": {
|
|
|
|
|
|
"Default": "Information",
|
|
|
|
|
|
"Microsoft.AspNetCore": "Warning"
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
2025-02-18 13:13:33 -06:00
|
|
|
|
"SendGrid": {
|
2026-06-05 11:56:54 -04:00
|
|
|
|
// Provide the real value via environment variable SendGrid__ApiKey or user-secrets.
|
|
|
|
|
|
"ApiKey": "${SENDGRID_API_KEY}"
|
2025-02-18 13:13:33 -06:00
|
|
|
|
},
|
2026-07-24 11:49:57 -03:00
|
|
|
|
// Malware scanner for vendor completion document uploads. While Host is empty the
|
|
|
|
|
|
// scanner is considered unavailable and uploaded files stay quarantined (download
|
|
|
|
|
|
// returns 423 Locked until a scan passes). Production must supply a real Host.
|
|
|
|
|
|
"ClamAV": {
|
|
|
|
|
|
"Host": "",
|
|
|
|
|
|
"Port": 3310
|
|
|
|
|
|
},
|
2024-09-28 14:58:36 -04:00
|
|
|
|
"AllowedHosts": "*",
|
|
|
|
|
|
"JWT": {
|
|
|
|
|
|
"ValidAudience": "http://localhost:4200",
|
|
|
|
|
|
"ValidIssuer": "http://localhost:7195",
|
2026-06-05 11:56:54 -04:00
|
|
|
|
// Provide the real value via environment variable JWT__Secret or user-secrets.
|
|
|
|
|
|
"Secret": "${JWT_SECRET}"
|
2026-07-09 14:08:48 -03:00
|
|
|
|
},
|
|
|
|
|
|
"WorkOrderJobs": {
|
|
|
|
|
|
"WeekRolled": { "Enabled": true, "RunAtUtc": "00:05", "DayOfWeek": "Monday" },
|
|
|
|
|
|
"PastDueCache": { "Enabled": false, "RunAtUtc": "00:10" }
|
2026-07-13 13:23:54 -03:00
|
|
|
|
},
|
|
|
|
|
|
"WorkOrderIngest": {
|
|
|
|
|
|
"Enabled": false,
|
|
|
|
|
|
"ApiKey": "${WORKORDER_INGEST_API_KEY}"
|
|
|
|
|
|
},
|
2026-07-24 21:03:50 -03:00
|
|
|
|
"WorkOrderWebhook": {
|
|
|
|
|
|
"Enabled": false,
|
|
|
|
|
|
"MaxBodyBytes": 1048576,
|
|
|
|
|
|
"AllowedClockSkewSeconds": 300,
|
|
|
|
|
|
"SecretCacheSeconds": 300,
|
|
|
|
|
|
"Region": "",
|
2026-07-27 16:33:06 -03:00
|
|
|
|
"SecretId": "workorder-ingest/shoc-webhook-hmac"
|
2026-07-24 21:03:50 -03:00
|
|
|
|
},
|
2026-07-24 22:13:25 -03:00
|
|
|
|
"WorkOrderReconciliation": {
|
|
|
|
|
|
"Enabled": false,
|
|
|
|
|
|
"RunOnStartup": true,
|
|
|
|
|
|
"BaseUrl": "https://procurement-api.seahaven.com",
|
|
|
|
|
|
"Region": "us-east-1",
|
|
|
|
|
|
"PageSize": 100,
|
|
|
|
|
|
"MaxPages": 10000,
|
|
|
|
|
|
"MaxCursorLength": 4096,
|
|
|
|
|
|
"RequestTimeoutSeconds": 30,
|
|
|
|
|
|
"MaxRetries": 3,
|
|
|
|
|
|
"RetryBaseDelayMilliseconds": 100,
|
|
|
|
|
|
"MaxResponseBytes": 4194304,
|
|
|
|
|
|
"PollSeconds": 10,
|
|
|
|
|
|
"ScheduleMinutes": 60,
|
2026-07-27 14:40:17 -03:00
|
|
|
|
"LeaseSeconds": 180
|
2026-07-24 22:13:25 -03:00
|
|
|
|
},
|
2026-07-13 13:23:54 -03:00
|
|
|
|
"Sync": {
|
|
|
|
|
|
"Enabled": true
|
|
|
|
|
|
},
|
|
|
|
|
|
"LegacyEndpoints": {
|
|
|
|
|
|
"DeprecationEnabled": false,
|
|
|
|
|
|
"SunsetDate": "2026-12-31"
|
|
|
|
|
|
},
|
|
|
|
|
|
"FrontendBaseUrl": "https://shoc.seahaven.com"
|
|
|
|
|
|
}
|