Commit 6ac7987d authored by 郭志伟's avatar 郭志伟

fix(tenant): tenantId字段校验

parent 037964df
......@@ -28,17 +28,17 @@ export default class EditorController extends Controller {
if (!pageInfo.uuid) {
pageInfo.uuid = uuidv1().replace(/-/g, '');
}
const result = await ctx.model.PageInfo.update(pageInfo, {where: { uuid: pageInfo.uuid, tenantId: ctx.headers['qg-tenant-id'] }});
const result = await ctx.model.PageInfo.update(pageInfo, {where: { uuid: pageInfo.uuid }});
await ctx.service.redis.set(`pageInfo:${pageInfo.uuid}`, pageInfo);
await ctx.service.redis.del(`page:${pageInfo.uuid}`);
ctx.body = ctx.helper.ok(result);
}
public async get(ctx: Context) {
let pageInfo = await ctx.service.redis.get(`pageInfo:${ctx.params.uuid}`);
if (!pageInfo) {
pageInfo = await ctx.model.PageInfo.findOne({where: { uuid: ctx.params.uuid, tenantId: ctx.headers['qg-tenant-id'] }});
if (ctx.query.lite && pageInfo.elements.length) {
// let pageInfo = await ctx.service.redis.get(`pageInfo:${ctx.params.uuid}`);
// if (!pageInfo) {
let pageInfo = await ctx.model.PageInfo.findOne({where: { uuid: ctx.params.uuid }});
if (ctx.query.lite && pageInfo) {
const page = JSON.parse(pageInfo.page || []);
for (let i = 0; i < page.elements.length; i++) {
delete page.elements[i].schame
......@@ -46,7 +46,7 @@ export default class EditorController extends Controller {
pageInfo.page = JSON.stringify(page);
}
await ctx.service.redis.set(`pageInfo:${ctx.params.uuid}`, pageInfo);
}
// }
ctx.body = ctx.helper.ok(pageInfo);
}
......
import { Controller, Context } from 'egg';
import { omitBy } from 'lodash';
type GetWhere = {
id?: number | unknown;
tenantId?: number | unknown;
enable: number;
};
export default class TenantAuthController extends Controller {
public async add(ctx: Context) {
const authInfo = ctx.request.body;
await ctx.model.TenantAuth.create({ ...authInfo });
ctx.body = ctx.helper.ok();
}
public async update(ctx: Context) {
const authInfo = ctx.request.body;
if (!authInfo.tenantId) {
ctx.body = ctx.helper.fail({ message: '无租户id', code: '0001', businessCode: '0002' });
return;
}
await ctx.model.TenantAuth.update(authInfo, {where: { id: authInfo.id }});
ctx.body = ctx.helper.ok();
}
public async get(ctx: Context) {
const where: GetWhere = {
enable: 1,
};
if (ctx.headers['qg-tenant-id']) where.tenantId = ctx.headers['qg-tenant-id'];
if (ctx.query.id) where.id = ctx.query.id;
if (!where.tenantId && !where.id) {
ctx.body = ctx.helper.ok({});
return;
}
try {
const result = await ctx.model.TenantAuth.findOne({ where });
ctx.body = ctx.helper.ok(result);
} catch (error) {
console.log(error);
ctx.body = ctx.helper.fail({ message: error, code: '0001', businessCode: '0001' });
}
}
public async getList(ctx: Context) {
const { pageSize, pageNo, tenantName, tenantId } = ctx.query;
const { like } = ctx.model.Sequelize.Op;
let where = omitBy({
tenantName: tenantName && { like: `%${tenantName}%`},
tenantId: tenantId && { like: `%${tenantId}%`},
enable: 1
}, v => !v);
const { count: total, rows: data } = await ctx.model.PageInfo.findAndCountAll({ where, limit: +pageSize || 10,
offset: (+pageNo - 1) * +pageSize || 0, order: [['updated_at', 'DESC']] });
ctx.body = ctx.helper.ok({ total, data });
}
public async delete(ctx: Context) {
const authInfo = await ctx.model.PageInfo.update({ enable: 0 }, {where: { id: +ctx.params.id }});
ctx.body = ctx.helper.ok(authInfo);
}
}
\ No newline at end of file
......@@ -19,7 +19,5 @@ export default (application: Application) => {
router.get('/editor/login', controller.editor.login);
router.get('/editor', controller.editor.home);
router.get('/editor/*', controller.editor.home);
router.post('/tenant/add', controller.tenantAuth.add);
router.get('/tenant/get', controller.tenantAuth.get);
router.get('/*', controller.editor.home);
};
\ No newline at end of file
......@@ -47,6 +47,7 @@ export default (appInfo: EggAppConfig) => {
webpackConfigList: getWebpackConfig(),
browser: 'http://localhost:7002/editor/list'
};
exports.apollo = { yxmTenantId: 560761 };
return exports;
};
......@@ -2,6 +2,7 @@
* production
*
* prod + default(override)
* 目前线上apollo还未启用
*/
import { Application, EggAppConfig } from 'egg';
......@@ -34,6 +35,7 @@ export default (appInfo: EggAppConfig) => {
db: 0
}
};
exports.apollo = { yxmTenantId: 560761 };
return exports;
};
......@@ -20,5 +20,7 @@ export default (appInfo: EggAppConfig) => {
},
client: redis
};
return {...exports, apollo: { ...api, ...qiniu }};
exports.apollo = { ...api, ...qiniu };
return exports;
};
......@@ -3,11 +3,9 @@
import 'egg';
import ExportEditor from '../../../app/controller/editor';
import ExportTenantAuth from '../../../app/controller/tenantAuth';
declare module 'egg' {
interface IController {
editor: ExportEditor;
tenantAuth: ExportTenantAuth;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment