Israeli Bank Importer - v1.44.5
    Preparing search index...

    Loads, masks, validates, and persists the portal-managed config.

    Index
    • Builds a store seeded from the given config path. A load failure is fatal: it throws to abort portal startup rather than seeding a synthetic empty config, so a transient read error can never be served as real state or persisted over the user's real config on the next save.

      Parameters

      • configPath: string = '/app/config.json'

        Absolute path to config.json.

      Returns default

      Error when the existing config cannot be loaded/parsed.

    • Runs the offline validation report against a candidate config with its round-tripped masked secrets restored and the same shaping the save path applies (shapeForValidation — target coercion plus empty-artifact pruning), so the live "Validate" preview judges the real secret values and the exact shaped config a save would persist (e.g. a masked Telegram botToken is not reported as a format error it does not actually have, and an empty notification channel is not flagged as a missing URL). This is an offline health report, not the full save gate: it does not run the boot-credential or portal-auth checks collectGateErrors adds, so a green preview is necessary but not sufficient for a successful save.

      Parameters

      • next: IImporterConfig

        Candidate config from the portal UI (secrets may be masked).

      Returns IValidationResult[]

      The per-check offline validation report.

    • Writes an already-prepared config and replaces the in-memory copy. Runs outside prepare's try/catch so an unexpected write failure surfaces as a server error (HTTP 500) rather than being relabeled as invalid client input.

      Parameters

      Returns Procedure<{ saved: true }>

      Procedure success, or the writer's failure.