import { dataSource } from "../../../data-source"; import { inspectionPointResult } from "../../../entity/unit/inspection/inspectionPointResult"; import DatabaseActionException from "../../../exceptions/databaseActionException"; import { CreateInspectionPointResultCommand } from "./inspectionPointResultCommand"; export default abstract class InspectionPointResultCommandHandler { /** * @description create inspectionPointResult * @param {CreateInspectionPointResultCommand} createInspectionPointResult * @returns {Promise} */ static async createOrUpdate(createInspectionPointResult: CreateInspectionPointResultCommand): Promise { return await dataSource .createQueryBuilder() .insert() .into(inspectionPointResult) .values({ inspectionId: createInspectionPointResult.inspectionId, inspectionPointId: createInspectionPointResult.inspectionPointId, value: createInspectionPointResult.value, }) .orUpdate(["value"], ["inspectionId", "inspectionPointId"]) .execute() .then((result) => { return result.identifiers[0].id; }) .catch((err) => { throw new DatabaseActionException("CREATE", "inspectionPointResult", err); }); } }