From 528232e9d14d5b8d81338832dd35f60bcc43cd62 Mon Sep 17 00:00:00 2001 From: zhangminghua Date: Tue, 28 Mar 2023 09:10:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E4=BA=A4=E5=BA=93=E8=A1=A8=E5=85=83?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=96=B0=E5=BB=BA=E6=8E=A5=E5=8F=A3=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=85=83=E6=95=B0=E6=8D=AE=E8=A1=A8=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/controllers/latestMetadata/index.js | 40 +++++++++++++++++-- api/app/lib/controllers/tags/index.js | 8 ++-- api/app/lib/models/metadata_database.js | 9 +++++ api/app/lib/models/metadata_file.js | 9 +++++ api/app/lib/models/metadata_restapi.js | 9 +++++ api/app/lib/routes/latestMetadata/index.js | 11 ++++- 6 files changed, 77 insertions(+), 9 deletions(-) diff --git a/api/app/lib/controllers/latestMetadata/index.js b/api/app/lib/controllers/latestMetadata/index.js index 8c55854..eaacd43 100644 --- a/api/app/lib/controllers/latestMetadata/index.js +++ b/api/app/lib/controllers/latestMetadata/index.js @@ -1,4 +1,7 @@ 'use strict'; + +const moment = require("moment/moment"); + //获取资源目录 async function getResourceCatalog(ctx) { try { @@ -16,7 +19,7 @@ async function getResourceCatalog(ctx) { } } } -//新增资源目录 +//新建资源目录 async function postResourceCatalog(ctx) { try { const { name, code } = ctx.request.body; @@ -29,14 +32,14 @@ async function postResourceCatalog(ctx) { ctx.body = { message: '该资源目录名称或代码已存在' } } else { await models.ResourceCatalog.create(ctx.request.body); - ctx.body = { message: '添加资源目录成功' } + ctx.body = { message: '新建资源目录成功' } ctx.status = 200; } } catch (error) { ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`); ctx.status = 400; ctx.body = { - "message": "添加资源目录失败" + "message": "新建资源目录失败" } } } @@ -249,6 +252,32 @@ async function getMetadataModels(ctx) { } } } + +//新建库表元数据 +async function postMeatadataDatabases(ctx) { + try { + const { name, code, catalog } = ctx.request.body; + const models = ctx.fs.dc.models; + const postOne = await models.MetadataDatabase.findOne({ + where: { $or: [{ name: name }, { code: code, catalog: catalog }] } + }); + if (postOne) { + ctx.status = 400; + ctx.body = { message: '该资源目录下库表元数据名称或代码已存在' } + } else { + await models.MetadataDatabase.create({ createAt: moment(), ...ctx.request.body }); + ctx.body = { message: '新建库表元数据成功' } + ctx.status = 200; + } + } catch (error) { + ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`); + ctx.status = 400; + ctx.body = { + "message": "新建库表元数据失败" + } + } +} + module.exports = { getResourceCatalog, postResourceCatalog, @@ -257,5 +286,8 @@ module.exports = { getMetadataDatabases, getMetadataFiles, getMetadataRestapis, - getMetadataModels + getMetadataModels, + postMeatadataDatabases, + // putMeatadataDatabases, + // delMeatadataDatabases } \ No newline at end of file diff --git a/api/app/lib/controllers/tags/index.js b/api/app/lib/controllers/tags/index.js index 6148b9c..4d43043 100644 --- a/api/app/lib/controllers/tags/index.js +++ b/api/app/lib/controllers/tags/index.js @@ -31,14 +31,14 @@ async function postTagSets(ctx) { ctx.body = { message: '该标签集名称已存在' } } else { await models.TagSet.create({ name }); - ctx.body = { message: '添加标签集成功' } + ctx.body = { message: '新建标签集成功' } ctx.status = 200; } } catch (error) { ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`); ctx.status = 400; ctx.body = { - "message": "添加标签集失败" + "message": "新建标签集失败" } } } @@ -127,14 +127,14 @@ async function postTags(ctx) { ctx.body = { message: '该标签名称已存在' } } else { await models.Tag.create({ name: name, tagSet: tagSetId }); - ctx.body = { message: '添加标签成功' } + ctx.body = { message: '新建标签成功' } ctx.status = 200; } } catch (error) { ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`); ctx.status = 400; ctx.body = { - "message": "添加标签失败" + "message": "新建标签失败" } } } diff --git a/api/app/lib/models/metadata_database.js b/api/app/lib/models/metadata_database.js index a39aecc..71139c8 100644 --- a/api/app/lib/models/metadata_database.js +++ b/api/app/lib/models/metadata_database.js @@ -113,6 +113,15 @@ module.exports = dc => { primaryKey: false, field: "update_at", autoIncrement: false + }, + catalogKey: { + type: DataTypes.STRING, + allowNull: false, + defaultValue: null, + comment: null, + primaryKey: false, + field: "catalogKey", + autoIncrement: false } }, { tableName: "t_metadata_database", diff --git a/api/app/lib/models/metadata_file.js b/api/app/lib/models/metadata_file.js index 1b72aab..7e3af9f 100644 --- a/api/app/lib/models/metadata_file.js +++ b/api/app/lib/models/metadata_file.js @@ -104,6 +104,15 @@ module.exports = dc => { primaryKey: false, field: "update_at", autoIncrement: false + }, + catalogKey: { + type: DataTypes.STRING, + allowNull: false, + defaultValue: null, + comment: null, + primaryKey: false, + field: "catalogKey", + autoIncrement: false } }, { tableName: "t_metadata_file", diff --git a/api/app/lib/models/metadata_restapi.js b/api/app/lib/models/metadata_restapi.js index 214133e..4399ec0 100644 --- a/api/app/lib/models/metadata_restapi.js +++ b/api/app/lib/models/metadata_restapi.js @@ -131,6 +131,15 @@ module.exports = dc => { primaryKey: false, field: "update_at", autoIncrement: false + }, + catalogKey: { + type: DataTypes.STRING, + allowNull: false, + defaultValue: null, + comment: null, + primaryKey: false, + field: "catalogKey", + autoIncrement: false } }, { tableName: "t_metadata_restapi", diff --git a/api/app/lib/routes/latestMetadata/index.js b/api/app/lib/routes/latestMetadata/index.js index 1c411d6..ced9286 100644 --- a/api/app/lib/routes/latestMetadata/index.js +++ b/api/app/lib/routes/latestMetadata/index.js @@ -6,7 +6,7 @@ module.exports = function (app, router, opts) { app.fs.api.logAttr['GET/resource-catalog'] = { content: '获取资源目录', visible: false }; router.get('/resource-catalog', latestMetadata.getResourceCatalog); - app.fs.api.logAttr['POST /resource-catalog'] = { content: '新增资源目录', visible: true }; + app.fs.api.logAttr['POST /resource-catalog'] = { content: '新建资源目录', visible: true }; router.post('/resource-catalog', latestMetadata.postResourceCatalog); app.fs.api.logAttr['PUT /resource-catalog/:id'] = { content: '修改资源目录', visible: true }; @@ -26,4 +26,13 @@ module.exports = function (app, router, opts) { app.fs.api.logAttr['GET/metadata/models'] = { content: '获取元数据模型', visible: false }; router.get('/metadata/models', latestMetadata.getMetadataModels); + + app.fs.api.logAttr['POST /meatadata/databases'] = { content: '新建库表元数据', visible: true }; + router.post('/meatadata/databases', latestMetadata.postMeatadataDatabases); + + // app.fs.api.logAttr['PUT /meatadata/databases/:id'] = { content: '修改库表元数据', visible: true }; + // router.put('/meatadata/databases/:id', latestMetadata.putMeatadataDatabases); + + // app.fs.api.logAttr['DEL /meatadata/databases/:id'] = { content: '删除库表元数据', visible: true }; + // router.delete('/meatadata/databases/:id', latestMetadata.delMeatadataDatabases); }; \ No newline at end of file