cityssm/lottery-licence-manager

View on GitHub
helpers/licencesDB/getOrganizationBankRecords.ts

Summary

Maintainability
A
35 mins
Test Coverage
import sqlite from "better-sqlite3";

import { licencesDB as databasePath } from "../../data/databasePaths.js";

import * as dateTimeFns from "@cityssm/expressjs-server-js/dateTimeFns.js";

import type * as llm from "../../types/recordTypes";


export const getOrganizationBankRecords = (organizationID: number, accountNumber: string, bankingYear: number): llm.OrganizationBankRecord[] => {

  const database = sqlite(databasePath, {
    readonly: true
  });

  const bankRecords: llm.OrganizationBankRecord[] =
    database.prepare("select recordIndex," +
      " bankingMonth, bankRecordType," +
      " recordDate, recordNote, recordIsNA," +
      " recordCreate_userName, recordCreate_timeMillis, recordUpdate_userName, recordUpdate_timeMillis" +
      " from OrganizationBankRecords" +
      " where recordDelete_timeMillis is null" +
      " and organizationID = ?" +
      " and accountNumber = ?" +
      " and bankingYear = ?")
      .all(organizationID, accountNumber, bankingYear);

  database.close();

  for (const bankRecord of bankRecords) {
    bankRecord.recordDateString = dateTimeFns.dateIntegerToString(bankRecord.recordDate);
  }

  return bankRecords;
};