Browse Source

增加接口元数据增删改接口,申请资源接口修改,文件元数据接口修改

master
zmh 2 years ago
parent
commit
57c10876b2
  1. 141
      api/app/lib/controllers/latestMetadata/index.js
  2. 9
      api/app/lib/routes/latestMetadata/index.js

141
api/app/lib/controllers/latestMetadata/index.js

@ -499,8 +499,8 @@ async function getTagMetadata(ctx) {
//申请资源
async function postMetadataResourceApplications(ctx) {
try {
const { resourceName, applyBy } = ctx.request.body;
if (!resourceName || !applyBy) {
const { resourceName, applyBy, resourceType } = ctx.request.body;
if (!resourceName || !applyBy || !resourceType) {
ctx.status = 400;
ctx.body = { message: '参数不全,请重新申请资源' }
} else {
@ -577,13 +577,12 @@ async function postMetadataFiles(ctx) {
}
}
}
//修改文件元数据
async function putMetadataFiles(ctx) {
try {
const { id } = ctx.params;
const { updateFileName } = ctx.query;
const { catalog, name } = ctx.request.body;
const { catalog, name, type } = ctx.request.body;
const models = ctx.fs.dc.models;
let metadataFileInfo = await models.MetadataFile.findOne({ where: { id } });
if (metadataFileInfo) {
@ -591,14 +590,19 @@ async function putMetadataFiles(ctx) {
await models.MetadataFile.update({ updateAt: moment(), fileName: null }, { where: { id: id } });
ctx.status = 204;
} else {
const putOne = await models.MetadataFile.findOne({ where: { id: { $not: id }, catalog: catalog, name: name } });
if (putOne) {
if (!name || !catalog || !type) {
ctx.body = { message: '参数不全,请重新配置' }
ctx.status = 400;
ctx.body = { message: '该元数据名称已存在' }
} else {
await models.MetadataFile.update({ updateAt: moment(), ...ctx.request.body }, { where: { id: id } });
ctx.status = 200;
ctx.body = { message: '修改元数据成功' }
const putOne = await models.MetadataFile.findOne({ where: { id: { $not: id }, catalog: catalog, name: name } });
if (putOne) {
ctx.status = 400;
ctx.body = { message: '该元数据名称已存在' }
} else {
await models.MetadataFile.update({ updateAt: moment(), ...ctx.request.body }, { where: { id: id } });
ctx.status = 200;
ctx.body = { message: '修改元数据成功' }
}
}
}
} else {
@ -660,6 +664,118 @@ async function delMetadataFiles(ctx) {
ctx.body = { message: '删除元数据失败' }
}
}
//新建接口元数据
async function postMetadataRestapis(ctx) {
try {
const { name, catalog, method, url } = ctx.request.body;
const models = ctx.fs.dc.models;
const postOne = await models.MetadataRestapi.findOne({
where: { name: name, catalog: catalog }
});
if (postOne) {
ctx.status = 400;
ctx.body = { message: '该资源目录下元数据名称已存在' }
} else {
if (!name || !catalog || !method || !url) {
ctx.body = { message: '参数不全,请重新配置' }
ctx.status = 400;
} else {
await models.MetadataRestapi.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": "新建元数据失败"
}
}
}
//修改接口元数据
async function putMetadataRestapis(ctx) {
try {
const { id } = ctx.params;
const { catalog, name, method, url } = ctx.request.body;
const models = ctx.fs.dc.models;
let metadataRestapiInfo = await models.MetadataRestapi.findOne({ where: { id } });
if (metadataRestapiInfo) {
if (!name || !catalog || !method || !url) {
ctx.body = { message: '参数不全,请重新修改' }
ctx.status = 400;
} else {
const putOne = await models.MetadataRestapi.findOne({ where: { id: { $not: id }, catalog: catalog, name: name } });
if (putOne) {
ctx.status = 400;
ctx.body = { message: '该元数据名称已存在' }
} else {
await models.MetadataRestapi.update({ updateAt: moment(), ...ctx.request.body }, { where: { id: id } });
ctx.status = 200;
ctx.body = { message: '修改元数据成功' }
}
}
} else {
ctx.status = 400;
ctx.body = { message: '该元数据不存在' }
}
} catch (error) {
ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`);
ctx.status = 400;
ctx.body = {
"message": "修改元数据失败"
}
}
}
//删除接口元数据
async function delMetadataRestapis(ctx) {
const transaction = await ctx.fs.dc.orm.transaction();
try {
const models = ctx.fs.dc.models;
const { id } = ctx.params;
let metadataRestapiInfo = await models.MetadataRestapi.findOne({ where: { id } });
if (metadataRestapiInfo) {
let deletable = true;
let tagRestapiInfo = await models.TagRestapi.findOne({ where: { restapi: id } });
if (tagRestapiInfo) {
ctx.status = 400;
ctx.body = { message: '该元数据已被打标' }
deletable = false;
} else {
let resourceConsumptionInfo = await models.ResourceConsumption.findOne({
where: {
resourceName: metadataFileInfo.name,
resourceType: '接口'
}
});
if (resourceConsumptionInfo) {
ctx.status = 400;
ctx.body = { message: '该元数据存在资源申请' }
deletable = false;
}
}
if (deletable) {
await models.MetadataRestapi.destroy({
where: { id: id },
transaction
})
await transaction.commit();
ctx.status = 200;
ctx.body = { message: '删除元数据成功' }
}
} else {
ctx.status = 400;
ctx.body = { message: '该元数据不存在' }
}
} catch (error) {
await transaction.rollback();
ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`);
ctx.status = 400;
ctx.body = { message: '删除元数据失败' }
}
}
module.exports = {
getResourceCatalog,
postResourceCatalog,
@ -679,5 +795,8 @@ module.exports = {
getMetadataResourceApplications,
postMetadataFiles,
putMetadataFiles,
delMetadataFiles
delMetadataFiles,
postMetadataRestapis,
putMetadataRestapis,
delMetadataRestapis
}

9
api/app/lib/routes/latestMetadata/index.js

@ -59,4 +59,13 @@ module.exports = function (app, router, opts) {
app.fs.api.logAttr['DEL/metadata/files/:id'] = { content: '删除文件元数据', visible: true };
router.delete('/metadata/files/:id', latestMetadata.delMetadataFiles);
app.fs.api.logAttr['POST/metadata/restapis'] = { content: '新建接口元数据', visible: true };
router.post('/metadata/restapis', latestMetadata.postMetadataRestapis);
app.fs.api.logAttr['PUT/metadata/restapis/:id'] = { content: '修改接口元数据', visible: true };
router.put('/metadata/restapis/:id', latestMetadata.putMetadataRestapis);
app.fs.api.logAttr['DEL/metadata/restapis/:id'] = { content: '删除接口元数据', visible: true };
router.delete('/metadata/restapis/:id', latestMetadata.delMetadataRestapis);
};
Loading…
Cancel
Save