diff --git a/src/routes/app-manager/list.ts b/src/routes/app-manager/list.ts index 4338d29..7ce46ff 100644 --- a/src/routes/app-manager/list.ts +++ b/src/routes/app-manager/list.ts @@ -48,11 +48,11 @@ app if (!id && (!key || !version)) { throw new CustomError('id is required'); } - let am: AppListModel; + let appListModel: AppListModel; if (id) { - am = await AppListModel.findByPk(id); + appListModel = await AppListModel.findByPk(id); } else if (key && version) { - am = await AppListModel.findOne({ + appListModel = await AppListModel.findOne({ where: { key, version, @@ -60,18 +60,35 @@ app }, }); } - if (!am && create) { - am = await AppListModel.create({ + if (!appListModel && create) { + appListModel = await AppListModel.create({ key, version, uid: tokenUser.id, data: {}, }); - const res = await app.run({ path: 'app', key: "detectVersionList", payload: { data: { appKey: key, version, username: tokenUser.username }, token: ctx.query.token } }); + const appModel = await AppModel.findOne({ + where: { + key, + uid: tokenUser.id, + }, + }); + if (!appModel) { + await AppModel.create({ + key, + uid: tokenUser.id, + user: tokenUser.username, + version, + title: key, + description: '', + data: {}, + }); + } + const res = await callDetectAppVersion({ appKey: key, version, username: tokenUser.username }, ctx.query.token); if (res.code !== 200) { ctx.throw(res.message || 'detect version list error'); } - am = await AppListModel.findOne({ + appListModel = await AppListModel.findOne({ where: { key, version, @@ -79,11 +96,11 @@ app }, }); } - if (!am) { + if (!appListModel) { ctx.throw('app not found'); } - console.log('get app', am.id, am.key, am.version); - ctx.body = prefixFix(am, tokenUser.username); + console.log('get app', appListModel.id, appListModel.key, appListModel.version); + ctx.body = prefixFix(appListModel, tokenUser.username); }) .addTo(app); @@ -154,26 +171,7 @@ app return ctx; }) .addTo(app); -app - .route({ - path: 'app', - key: 'canUploadFiles', - middleware: ['auth'], - description: '检查是否可以上传文件,如果当前版本已存在,则不允许上传', - }) - .define(async (ctx) => { - const tokenUser = ctx.state.tokenUser; - const { appKey, version } = ctx.query.data; - if (!appKey) { - throw new CustomError('appKey is required'); - } - const app = await AppListModel.findOne({ where: { version: version, key: appKey, uid: tokenUser.id } }); - if (!app) { - throw new CustomError('app not found'); - } - ctx.body = app; - }) - .addTo(app); + app .route({ path: 'app', @@ -291,6 +289,9 @@ app } appList = await AppListModel.findByPk(appList.id); } + if (!appList) { + ctx.throw('app 未发现'); + } const files = appList.data.files || []; const am = await AppModel.findOne({ where: { key: appList.key, uid: uid } });