From 65335186748b0eddbd2aa7c226938442673d63f8 Mon Sep 17 00:00:00 2001 From: Danylo Strelets Date: Wed, 6 Dec 2023 17:53:51 +0200 Subject: [PATCH] HCK-4305: add comments for functions in FE-d DDL script --- .../ddlProvider/ddlHelpers/functionHelper.js | 21 ++++++++++++++++--- .../ddlProvider/ddlProvider.js | 1 + 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/forward_engineering/ddlProvider/ddlHelpers/functionHelper.js b/forward_engineering/ddlProvider/ddlHelpers/functionHelper.js index bdb9580..9ce0405 100644 --- a/forward_engineering/ddlProvider/ddlHelpers/functionHelper.js +++ b/forward_engineering/ddlProvider/ddlHelpers/functionHelper.js @@ -1,9 +1,15 @@ -module.exports = ({ _, templates, assignTemplates, getFunctionArguments, getNamePrefixedWithSchemaName }) => { +module.exports = ({ + _, + templates, + assignTemplates, + getFunctionArguments, + getNamePrefixedWithSchemaName, + wrapComment, +}) => { const getFunctionsScript = (schemaName, udfs) => { return _.map(udfs, udf => { const orReplace = udf.functionOrReplace ? ' OR REPLACE' : ''; - - return assignTemplates(templates.createFunction, { + const createFunctionStatement = assignTemplates(templates.createFunction, { name: getNamePrefixedWithSchemaName(udf.name, schemaName), orReplace: orReplace, parameters: getFunctionArguments(udf.functionArguments), @@ -12,6 +18,15 @@ module.exports = ({ _, templates, assignTemplates, getFunctionArguments, getName properties: getProperties(udf), definition: udf.functionBody, }); + const commentOnFunction = udf.functionDescription + ? assignTemplates(templates.comment, { + object: 'FUNCTION', + objectName: getNamePrefixedWithSchemaName(udf.name, schemaName), + comment: wrapComment(udf.functionDescription), + }) + : ''; + + return [createFunctionStatement, commentOnFunction].filter(Boolean).join('\n'); }).join('\n'); }; diff --git a/forward_engineering/ddlProvider/ddlProvider.js b/forward_engineering/ddlProvider/ddlProvider.js index 672d841..71cf7d6 100644 --- a/forward_engineering/ddlProvider/ddlProvider.js +++ b/forward_engineering/ddlProvider/ddlProvider.js @@ -45,6 +45,7 @@ module.exports = (baseProvider, options, app) => { assignTemplates, getFunctionArguments, getNamePrefixedWithSchemaName, + wrapComment, }); const { getProceduresScript } = require('./ddlHelpers/procedureHelper')({