{
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft": "Warning",
            "Microsoft.Hosting.Lifetime": "Information",
            "System.Net.Http.HttpClient": "Warning",
            "Microsoft.AspNetCore": "Warning",
            "Microsoft.AspNetCore.Hosting.Diagnostics": "Warning",
            "Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware": "Warning"
        }
    },
    "databaseConnection": {
        "user": "<sql-user>",
        "password": "<sql-password>",
        "database": "<database>",
        "server": "<sql-server>",
        "maxPoolSize": 2000,
        "encrypt": true,
        "trustServerCertificate": true
    },
    "shopApiMapping": {
        "mappings": {
            "1": {
                "shopId": 1,
                "apiUrl": "<shop-1-api-url>",
                "apiSecret": "<shop-1-admin-api-access-token>"
            },
            "11": {
                "shopId": 1,
                "apiUrl": "<shop-11-api-url>",
                "apiSecret": "<shop-11-admin-api-access-token>"
            }
        },
        "debugGraphQl": true
    },
    "serviceSettings": {
        "databaseConnections": [
            {
                "user": "<sql-user>",
                "password": "<sql-password>",
                "database": "<database>",
                "server": "<sql-server>",
                "maxPoolSize": 2000,
                "encrypt": true,
                "trustServerCertificate": true
            }
        ],
        "sDataConnections": [
            {
                "shopId": 1,
                "mandant": 1,
                "username": "<sdata-user>",
                "password": "<sdata-password>",
                "database": "<officeline-database>",
                "baseAddress": "<host>:<port>",
                "unsecure": true
            }
        ]
    },
    "ConnectorLogging": {
        "EventLog": {
            "Enabled": true,
            "MinimumLevel": "Trace"
        }
    },
    "configAdminUi": {
        "enabled": true,
        "urls": "http://localhost:5080",
        "useHttpSys": false,
        "enableWindowsAuth": true,
        "defaultMandant": 1,
        "requestLogLevel": "Warning"
    },
    "configAdminAuthorization": {
        "allowedGroups": [ "S-1-5-32-544" ],
        "lockoutThreshold": 5,
        "lockoutMinutes": 15,
        "cookieMinutes": 60
    },
    "ImageLimits": {
        "_comment": "Grenzen, die ein Bild erfuellen muss, BEVOR es an Shopify geht. Shopify widerspricht sich selbst: Hilfecenter nennt 25 MP, die API lehnte mit 'The pixel limit is 20 megapixels' ab - erzwungen wird die strengere Zahl. 0 schaltet die jeweilige Pruefung ab.",
        "MaxMegapixels": 20,
        "MaxFileSizeInMegabytes": 20
    },
    "ArticleRelease": {
        "_comment": "Mode: CatalogAssignment (Standard) = Freigabe über die Zuordnung Artikel->Katalog; Flag = alte Freigabe nur über das konfigurierte Kennzeichen.",
        "Mode": "CatalogAssignment"
    },
    "Schedulers": {
        "DefaultInterval": null,
        "_DisabledComment": "Scheduler, die gar nicht gestartet werden - fuer Installationen, die eine ganze Funktion nicht nutzen. Beispiel Bilderweg, wenn die Bilder nicht aus Sage kommen: ImageChangesScheduler (Bildquelle) und ImageFileChangesScheduler (Sammelverarbeitung des Bilduploads). Leer = alles laeuft.",
        "Disabled": [],
        "Intervals": {
            "OrderScheduler": "00:10:00",
            "OrderStatusScheduler": "00:05:00",
            "OrderShipmentScheduler": "00:20:00",
            "DatabaseChangeTrackingScheduler": "00:01:00",
            "PendingChangesChangeTrackingScheduler": "00:00:10",
            "PriceUpdateScheduler": "00:00:20",
            "AsyncChangesScheduler": "00:00:20",
            "BundleOperationChangesScheduler": "00:00:20",
            "ImageChangesScheduler": "00:00:30",
            "ImageFileChangesScheduler": "00:00:30",
            "ProductMediaChangesScheduler": "00:00:30",
            "CatalogSyncScheduler": "01:00:00",
            "CatalogProvisioningScheduler": "00:05:00",
            "CatalogAssignmentPushScheduler": "00:15:00",
            "WaitingForParentScheduler": "00:05:00",
            "ManualJobScheduler": "00:00:15"
        },
        "_BatchSizesComment": "Anzahl der Eintraege, die ein Zyklus verarbeitet. PendingChangesChangeTrackingScheduler = ChangeRequests je Ladung und damit die Uebertragungsgroesse pro Shopify-Batch; PriceUpdateScheduler = Eintraege je Lauf der Preis-Nachrechnung. Nicht gesetzt oder 0 = eingebauter Standard.",
        "BatchSizes": {
            "PendingChangesChangeTrackingScheduler": 250,
            "PriceUpdateScheduler": 200
        }
    }
}
