import { DSQL_DatabaseSchemaType, DSQL_TableSchemaType } from "../../../types"; const TriggerTypes = [ { name: "after_insert", value: "INSERT", }, { name: "after_update", value: "UPDATE", }, { name: "after_delete", value: "DELETE", }, ] as const; export type TriggerSQLGenParams = { type: (typeof TriggerTypes)[number]; srcDbSchema: DSQL_DatabaseSchemaType; srcTableSchema: DSQL_TableSchemaType; content: string; proceedureName: string; }; export default function triggerSQLGen({ type, srcDbSchema, srcTableSchema, content, proceedureName, }: TriggerSQLGenParams) { let sql = `DELIMITER //\n`; sql += `CREATE PROCEDURE ${proceedureName}`; sql += `\nBEGIN`; sql += ` ${content}`; sql += `\nEND //`; sql += `\nDELIMITER\n`; return sql; }