import { GetWorkPageVersionArgs, GetWorkPageVersionDataLoaderArgs } from "../../utils/types" import { Knex } from "knex"; import { WORKPAGE_VERSION, RUNTIME, ID, TENANT_ID, WORKPAGE_ID, BASELINE_VERSION_ID, INSTANCE_ID } from "../../utils/globals"; import getDatabaseClient from "../../database/knexClient" import {OrderBy} from "../../utils/enum" // const sharedLib = require('portal-cf-shared-lib'); // const cfLogger:any = sharedLib.cfLogger; // const logger = cfLogger.initLogger('portal-cf-shared-database-client/dao/runtime/workPageVersion.ts'); class WorkPageVersionDAO{ async getWorkPageVersion({params = ['*'], workPageId, zoneId, baselineVersionId, instanceId, orderById = OrderBy.Ascending}:GetWorkPageVersionArgs) { try{ const dbClient:Knex = await getDatabaseClient(RUNTIME); let results = await dbClient .select(params) .from(WORKPAGE_VERSION) .where(WORKPAGE_ID, workPageId) .where(BASELINE_VERSION_ID, baselineVersionId ) .where(TENANT_ID, zoneId ) .where(INSTANCE_ID, instanceId ) .orderBy(ID , orderById); return results; } catch (error) { // logger.logRequestMessage('error', "Get workPageVersion DB call failed:\n " + error); throw error; } } async getWorkPageVersionDataLoader({trx, params = ['*'], workpageConditionsColumns, workpageConditions, orderById = OrderBy.Ascending}:GetWorkPageVersionDataLoaderArgs) { try{ let results = await trx .select(params) .from(WORKPAGE_VERSION) .whereIn(workpageConditionsColumns,workpageConditions) .orderBy(ID , orderById); return results; } catch (error) { // logger.logRequestMessage('error', "Get workPageVersionDataLoader DB call failed:\n " + error); throw error; } } } export default new WorkPageVersionDAO()