Skip to content

File Upload ProcessΒΆ

This document provides a high-level sequence diagram of how the NGSB application uploads general ledger files for processing.

sequenceDiagram participant client participant server participant db participant gcs rect rgba(0, 0, 0, .3) Note over client,gcs: Create general ledger client ->> server: createLedger() server ->> db: insert general ledger end rect rgba(0, 0, 0, .3) Note over client,gcs: Build signed url client ->> server: buildSignedUrl<br/>(ledgerId, md5, contentType, GL or SPED) gcs ->> server: Returns signed url, fileId server ->> gcs: getSignedUrl(write) server ->> db: Check permissions server ->> db: Create file on ledger server ->> client: Forwards signed url end rect rgba(0, 0, 0, .3) Note over client,gcs: Upload signed url client ->> gcs: PUT on url with file client ->> server: markFileUploaded(fileId) end rect rgba(0, 0, 0, .3) Note over client,server: Start processing job client ->> server: startProcessing(ledgerId) server ->> client: returns jobId end client ->> client: poll jobId until success/failure