|
@ -261,6 +261,128 @@ async function delBusinessMetadataFiles(ctx) { |
|
|
ctx.body = { message: '删除业务元数据失败' } |
|
|
ctx.body = { message: '删除业务元数据失败' } |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//获取接口业务元数据列表
|
|
|
|
|
|
async function getBusinessMetadataRestapis(ctx) { |
|
|
|
|
|
try { |
|
|
|
|
|
const models = ctx.fs.dc.models; |
|
|
|
|
|
const { catalog, limit, offset, keywords, orderBy = 'updateAt', orderDirection = 'desc' } = ctx.query; |
|
|
|
|
|
const where = {}; |
|
|
|
|
|
if (catalog) { |
|
|
|
|
|
where.catalog = catalog; |
|
|
|
|
|
} |
|
|
|
|
|
if (keywords) { |
|
|
|
|
|
where.name = { $iLike: `%${keywords}%` }; |
|
|
|
|
|
} |
|
|
|
|
|
const findObj = { |
|
|
|
|
|
include: [{ |
|
|
|
|
|
model: models.BusinessMetadataRestapi, |
|
|
|
|
|
include: [ |
|
|
|
|
|
{ |
|
|
|
|
|
model: models.User, |
|
|
|
|
|
attributes: ['id', 'name', 'username'], |
|
|
|
|
|
}] |
|
|
|
|
|
}], |
|
|
|
|
|
attributes: { exclude: ['catalogKey', 'createAt', 'createBy', 'updateAt'] }, |
|
|
|
|
|
where: where, |
|
|
|
|
|
order: [[models.BusinessMetadataRestapi, orderBy, orderDirection + ' NULLS LAST']], |
|
|
|
|
|
distinct: true |
|
|
|
|
|
} |
|
|
|
|
|
if (Number(limit) > 0 && Number(offset) >= 0) { |
|
|
|
|
|
findObj.offset = Number(offset) * Number(limit); |
|
|
|
|
|
findObj.limit = Number(limit); |
|
|
|
|
|
} |
|
|
|
|
|
const rslt = await models.MetadataRestapi.findAndCountAll(findObj); |
|
|
|
|
|
ctx.status = 200; |
|
|
|
|
|
ctx.body = rslt; |
|
|
|
|
|
} catch (error) { |
|
|
|
|
|
ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`); |
|
|
|
|
|
ctx.status = 400; |
|
|
|
|
|
ctx.body = { |
|
|
|
|
|
"message": "获取业务元数据列表失败" |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
//新建接口业务元数据
|
|
|
|
|
|
async function postBusinessMetadataRestapis(ctx) { |
|
|
|
|
|
try { |
|
|
|
|
|
const { resourceName, resourceAbstract, resourceProvider, resourceCategory, resourceId, metadataId, |
|
|
|
|
|
createBy, metadataRestapiId } = ctx.request.body; |
|
|
|
|
|
const models = ctx.fs.dc.models; |
|
|
|
|
|
if (!resourceName || !resourceAbstract || !resourceProvider || |
|
|
|
|
|
!resourceCategory || !resourceId || !metadataId || |
|
|
|
|
|
!createBy || !metadataRestapiId) { |
|
|
|
|
|
ctx.body = { message: '参数不全,请重新配置' } |
|
|
|
|
|
ctx.status = 400; |
|
|
|
|
|
} else { |
|
|
|
|
|
await models.BusinessMetadataRestapi.create({ createAt: moment(), updateAt: 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 putBusinessMetadataRestapis(ctx) { |
|
|
|
|
|
try { |
|
|
|
|
|
const { id } = ctx.params; |
|
|
|
|
|
const models = ctx.fs.dc.models; |
|
|
|
|
|
let businessMetadataInfo = await models.BusinessMetadataRestapi.findOne({ where: { id } }); |
|
|
|
|
|
if (businessMetadataInfo) { |
|
|
|
|
|
const { resourceName, resourceAbstract, resourceProvider, resourceCategory, resourceId, metadataId } = ctx.request.body; |
|
|
|
|
|
if (!resourceName || !resourceAbstract || !resourceProvider || |
|
|
|
|
|
!resourceCategory || !resourceId || !metadataId) { |
|
|
|
|
|
ctx.body = { message: '参数不全,请重新配置' } |
|
|
|
|
|
ctx.status = 400; |
|
|
|
|
|
} else { |
|
|
|
|
|
await models.BusinessMetadataRestapi.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 delBusinessMetadataRestapis(ctx) { |
|
|
|
|
|
const transaction = await ctx.fs.dc.orm.transaction(); |
|
|
|
|
|
try { |
|
|
|
|
|
const models = ctx.fs.dc.models; |
|
|
|
|
|
const { id } = ctx.params; |
|
|
|
|
|
let businessMetadataInfo = await models.BusinessMetadataRestapi.findOne({ where: { id } }); |
|
|
|
|
|
if (businessMetadataInfo) { |
|
|
|
|
|
await models.BusinessMetadataRestapi.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 = { |
|
|
module.exports = { |
|
|
getBusinessMetadataDatabases, |
|
|
getBusinessMetadataDatabases, |
|
|
postBusinessMetadataDatabases, |
|
|
postBusinessMetadataDatabases, |
|
@ -271,4 +393,9 @@ module.exports = { |
|
|
postBusinessMetadataFiles, |
|
|
postBusinessMetadataFiles, |
|
|
putBusinessMetadataFiles, |
|
|
putBusinessMetadataFiles, |
|
|
delBusinessMetadataFiles, |
|
|
delBusinessMetadataFiles, |
|
|
|
|
|
|
|
|
|
|
|
getBusinessMetadataRestapis, |
|
|
|
|
|
postBusinessMetadataRestapis, |
|
|
|
|
|
putBusinessMetadataRestapis, |
|
|
|
|
|
delBusinessMetadataRestapis, |
|
|
} |
|
|
} |