{
  "Serilog": {
    "Using": [
      "Serilog.Sinks.Console",
      "Serilog.Sinks.File"
    ],
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft.AspNetCore": "Warning",
        "Microsoft.AspNetCore.Hosting": "Information",
        "Microsoft.AspNetCore.Routing": "Warning",
        "System.Net.Http.HttpClient": "Warning",
        "Api": "Information"
      }
    },
    "WriteTo": [
      {
        "Name": "Console",
        "Args": {
          "outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] {SourceContext}: {Message:lj}{NewLine}{Exception}"
        }
      },
      {
        "Name": "File",
        "Args": {
          "path": "logs/api-.log",
          "rollingInterval": "Day",
          "retainedFileCountLimit": 30,
          "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {SourceContext}: {Message:lj}{NewLine}{Exception}"
        }
      }
    ],
    "Enrich": [
      "FromLogContext",
      "WithMachineName",
      "WithEnvironmentName"
    ]
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning",
      "Microsoft.AspNetCore.Hosting": "Information",
      "Microsoft.AspNetCore.Routing": "Warning",
      "System.Net.Http.HttpClient": "Warning",
      "Api": "Information"
    }
  },
  "LogEnvironmentOnStartup": true,
  "AllowedHosts": "*",
  "KeyVault": {
    "VaultUri": "",
    "Enabled": false
  },
  "Google": {
    "TagManagerId": "",
    "MapKey": ""
  },
  "Contact": {
    "ToEmail": "",
    "FromEmail": "",
    "SubjectPrefix": ""
  },
  "Subscribe": {
    "ToEmail": "",
    "SubjectPrefix": ""
  },
  "Smtp": {
    "Host": "mail.example.com",
    "Port": 587,
    "Username": "",
    "Password": "",
    "UseStartTls": false
  },
  "Captcha": {
    "Provider": "Recaptcha",
    "SecretKey": "",
    "PublicKey": "",
    "MinimumScore": 0.5
  },
  "FileStorage": {
    "Path": "Files",
    "DefaultFileName": "",
    "ToEmail": "",
    "FromEmail": "",
    "SubjectPrefix": "[File Download]"
  },
  "CvMatcherApi": {
    "BaseUrl": "",
    "InternalApiKey": ""
  },
  "EmailApi": {
    "BaseUrl": "",
    "InternalApiKey": ""
  },
  "RateLimiting": {
    "Global": {
      "PermitLimit": 120,
      "Window": "00:01:00",
      "QueueLimit": 0,
      "AutoReplenishment": true
    },
    "Policies": {
      "contact": {
        "PermitLimit": 5,
        "Window": "00:01:00",
        "QueueLimit": 0,
        "AutoReplenishment": true
      },
      "cvMatcher": {
        "PermitLimit": 10,
        "Window": "00:10:00",
        "QueueLimit": 0,
        "AutoReplenishment": true
      }
    }
  }
}