cityssm/corporate-records-manager

View on GitHub
helpers/recordsDB/removeRelatedRecord.js

Summary

Maintainability
B
6 hrs
Test Coverage
F
33%
import * as sqlPool from "@cityssm/mssql-multi-pool";
import * as configFns from "../configFns.js";
import { ensureInteger } from "../numberFns.js";
import debug from "debug";
const debugSQL = debug("corporate-records-manager:recordsDB:removeRelatedRecord");
export const removeRelatedRecord = async (recordIDA, recordIDB) => {
    const recordIDA_number = ensureInteger(recordIDA);
    const recordIDB_number = ensureInteger(recordIDB);
    try {
        const pool = await sqlPool.connect(configFns.getProperty("mssqlConfig"));
        await pool.request()
            .input("recordID_A", Math.min(recordIDA_number, recordIDB_number))
            .input("recordID_B", Math.max(recordIDA_number, recordIDB_number))
            .query("delete from CR.RelatedRecords" +
            " where (recordID_A = @recordID_A and recordID_B = @recordID_B)" +
            " or (recordID_A = @recordID_B and recordID_B = @recordID_A)");
        return true;
    }
    catch (error) {
        debugSQL(error);
    }
    return false;
};
export default removeRelatedRecord;