cityssm/lottery-licence-manager

View on GitHub
helpers/licencesDB/createLocation.ts

Summary

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

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

import type * as llm from "../../types/recordTypes";
import type * as expressSession from "express-session";


export const createLocation = (requestBody: llm.Location, requestSession: expressSession.Session): number => {

  const database = sqlite(databasePath);

  const nowMillis = Date.now();

  const info = database.prepare("insert into Locations" +
    " (locationName, locationAddress1, locationAddress2, locationCity, locationProvince, locationPostalCode," +
    " locationIsDistributor, locationIsManufacturer," +
    " recordCreate_userName, recordCreate_timeMillis, recordUpdate_userName, recordUpdate_timeMillis)" +
    " values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
    .run(
      requestBody.locationName,
      requestBody.locationAddress1,
      requestBody.locationAddress2,
      requestBody.locationCity,
      requestBody.locationProvince,
      requestBody.locationPostalCode,
      requestBody.locationIsDistributor || 0,
      requestBody.locationIsManufacturer || 0,
      requestSession.user.userName,
      nowMillis,
      requestSession.user.userName,
      nowMillis
    );

  database.close();

  return info.lastInsertRowid as number;

};