﻿{
    "AllowedHosts": "*",
    // "BackendBaseURL": "https://localhost:7051",
    "BackendBaseURL": "https://staging-api.ezsigndocu.com",
  "ConnectionStrings": {
    "DefaultConnection": "Server=localhost\\SQLEXPRESS;Database=e-signature;User Id=sa;Password=Secret@123;TrustServerCertificate=True"
    //"DefaultConnection": "Server=localhost\\SQLEXPRESS;Database=e-signature;User Id=sa;Password=Secret@123;Trusted_Connection=True;"
    //"DefaultConnection": "Server=zahid\\SQLEXPRESS;Database=e-signature;Persist Security Info=True;User ID=sa;Password=root@123;Pooling=False;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Command Timeout=30"
  },
    "JwtToken": {
        "Token": "Hie6f7QzIGpP1BrJzzqKLhSn2E3Qc2Q2Gd4yXM0w1So2zUu2fWYbSfzTZFnJ5iw6iJzO8SCSEvDDcP+oh/YgVQ=="
    },
    // How hard the PUBLIC signing endpoints police the link's dToken.
    //   Off      - validate nothing (the behaviour before the gate shipped)
    //   Lenient  - gate every document sent from now on; let a link whose
    //              recipient has no stored token through, because that is a link
    //              already sitting in someone's inbox
    //   Strict   - require a stored token to exist AND match
    // Deploy on Lenient. Once the pre-cutover links have aged out (a month or
    // two), switch to Strict. Watch for it first:
    //   SELECT COUNT(*) FROM Assignees a JOIN Documents d ON d.Id = a.DocumentId
    //   WHERE a.AccessToken IS NULL AND d.Status IN ('Sent','Viewed');
    // Strict is safe when that reaches zero. See PublicLinkTokens.
    "PublicLink": {
        "Enforcement": "Lenient"
    },
    "FrontEndURL": {
        "URL": "http://localhost:3000",
        "ADMINURL": "http://localhost:3001",
        "SignUrl": "http://localhost:3001",
        "devURL": "http://localhost:3000",
        "devSignUrl": "http://localhost:3001"
    },
    "EmailSettings": {
        "SenderName": "EzSignDocu",
        "SenderEmail": "esignaturereset@gmail.com",
        "SmtpServer": "smtp.gmail.com",
        "SmtpPort": 465,
        "SmtpUsername": "esignaturereset@gmail.com",
        "SmtpPassword": "ycescvipavxinvpb",
        "authentication": "plain"
    },
    "SupportSettings": {
        "RecipientEmail": "app-support@eztechmedia.com"
    },
    "ObjectStorageConnection": {
        "Region": "EU",
        "ClientAccessKey": "c03d5fce8143c655a1ed4876809776a8",
        "ClientSecretKey": "caefc96191241de42c4df1c7723f0509",
        "ObjectURL": "https://eu2.contabostorage.com",
        "BucketName": "ez-prms-bucket"
    },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    },
    "StripeOptions": {
        "PublishableKey": "pk_test_51HfYKJGWMMonzw7QjHbFvw60CiO37zM5S2tBYPXdh4Gtqeu05sH0bK08gQMzR5xT6svRgUtuMF45PdWUdb0LfwHL00aVlEbjIe",
        "SecretKey": "sk_test_51HfYKJGWMMonzw7QuCHGAKBhpk0ea60x1eysGsNG90KFgEpQYENGsMV7A2i5BOvfhsGFxgPxgP8W4QBH42fNgbas004pqbmvYm"
    },
    "FilePaths": {
        "Profile": "ProfileImages",
        "CoverImages": "CoverImages",
        "Documents": "Documents",
        "OrganizationProfile": "OrganizationProfile",
        "Files": "Files",
        "DuplicatedFiles": "DuplicatedFiles",
        "DuplicatedAttachments": "DuplicatedAttachments",
        "DuplicatedVideos": "DuplicatedVideos",
        "Signatures": "Signatures",
        "Attachments": "Attachments",
        "Certificates": "Certificates",
        "RecordedVideoPath": "RecordedVideos"
    },
    // Translation provider for the recipient PDF translation layer.
    // "stub" tags text instead of translating and needs no vendor.
    // Switch to "google" once the Cloud Translation API is ENABLED on
    // project trans-aurora-236618 — cached rows auto-invalidate on the swap.
    "Translation": {
        // "google"   - production choice; requires the Cloud Translation API to be
        //              ENABLED on project trans-aurora-236618 (currently disabled).
        // "mymemory" - keyless public API, real translations, ~5k chars/day per IP
        //              anonymously (~50k with ContactEmail). Interim only.
        // "stub"     - offline, tags text instead of translating.
        // Cache rows record their provider and invalidate themselves on a change.
        // "google-free" - Google's own keyless translate_a endpoint. No key and
        //                 nothing to enable, same engine as Cloud Translation.
        //                 UNDOCUMENTED, so no SLA — interim, not production.
        // "lingva"      - third-party proxy to the same engine; heavily rate-limited.
        "Provider": "google-free",
        "LingvaBaseUrl": "https://lingva.ml",
        "ContactEmail": ""
    },
    "GCPStorageAuthFile": "trans-aurora-236618-e1598345f1b2.json",
    "GoogleCloudStorageBucketName": "ez-signdocu-bucket",
    "GoogleCloudStoragePublicBucketName": "ez-signdocu-public-bucket",
    "ActiveBucket": "googleS3",
    "TwilioSettings": {
        "AccountSid": "AC971ef5844db19c371d141602c6851a7c",
        "AuthToken": "b31a0ae44c7d81b065c247953e8195e8",
        "TwilioPhoneNumber": "+19382532287",
        "DestinationPhoneNumber": "+923130698707"
    }
}