test-resab/backend/dist/db/database.handler.js
2025-04-27 23:29:32 +07:00

62 lines
2.8 KiB
JavaScript

"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.timeHandler = exports.selectFieldDb1 = exports.generateMaxDb1 = void 0;
const index_1 = require("./index");
const generateMaxDb1 = (sequenceName, field, conditions) => __awaiter(void 0, void 0, void 0, function* () {
const queryCheckSequence = `
select
sequence_name
from
information_schema.sequences
where
sequence_name = '${sequenceName}';`;
const sequenceCheck = yield index_1.prismaDb1.$queryRawUnsafe(queryCheckSequence);
let generateMax;
if (sequenceCheck.length === 0) {
const rawQuery = `
SELECT
COALESCE(MAX(${field})+1, 1) as maxid
FROM
${sequenceName}
${conditions};`;
const sequenceCheck = yield index_1.prismaDb1.$queryRawUnsafe(rawQuery);
generateMax = parseInt(sequenceCheck[0].maxid.toString());
}
else {
const rawQuery = yield index_1.prismaDb1.$queryRaw `SELECT
nextval(${sequenceName}) as nextval`;
generateMax = parseInt(rawQuery[0].nextval.toString());
}
return generateMax;
});
exports.generateMaxDb1 = generateMaxDb1;
const selectFieldDb1 = (tableName, field, conditions) => __awaiter(void 0, void 0, void 0, function* () {
const rawQuery = `SELECT
${field}
FROM
${tableName}
${conditions}
Limit 1`;
const selectDataField = yield index_1.prismaDb1.$queryRawUnsafe(rawQuery);
return selectDataField[0][field];
});
exports.selectFieldDb1 = selectFieldDb1;
const timeHandler = (timex) => __awaiter(void 0, void 0, void 0, function* () {
const time = new Date(timex);
const hours = time.getUTCHours().toString().padStart(2, "0");
const minutes = time.getUTCMinutes().toString().padStart(2, "0");
const seconds = time.getUTCSeconds().toString().padStart(2, "0");
const formattedTime = `${hours}:${minutes}:${seconds}`;
return formattedTime;
});
exports.timeHandler = timeHandler;