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

fix(tenant): tenantId字段校验

parent 037964df
...@@ -28,17 +28,17 @@ export default class EditorController extends Controller { ...@@ -28,17 +28,17 @@ export default class EditorController extends Controller {
if (!pageInfo.uuid) { if (!pageInfo.uuid) {
pageInfo.uuid = uuidv1().replace(/-/g, ''); 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.set(`pageInfo:${pageInfo.uuid}`, pageInfo);
await ctx.service.redis.del(`page:${pageInfo.uuid}`); await ctx.service.redis.del(`page:${pageInfo.uuid}`);
ctx.body = ctx.helper.ok(result); ctx.body = ctx.helper.ok(result);
} }
public async get(ctx: Context) { public async get(ctx: Context) {
let pageInfo = await ctx.service.redis.get(`pageInfo:${ctx.params.uuid}`); // let pageInfo = await ctx.service.redis.get(`pageInfo:${ctx.params.uuid}`);
if (!pageInfo) { // if (!pageInfo) {
pageInfo = await ctx.model.PageInfo.findOne({where: { uuid: ctx.params.uuid, tenantId: ctx.headers['qg-tenant-id'] }}); let pageInfo = await ctx.model.PageInfo.findOne({where: { uuid: ctx.params.uuid }});
if (ctx.query.lite && pageInfo.elements.length) { if (ctx.query.lite && pageInfo) {
const page = JSON.parse(pageInfo.page || []); const page = JSON.parse(pageInfo.page || []);
for (let i = 0; i < page.elements.length; i++) { for (let i = 0; i < page.elements.length; i++) {
delete page.elements[i].schame delete page.elements[i].schame
...@@ -46,7 +46,7 @@ export default class EditorController extends Controller { ...@@ -46,7 +46,7 @@ export default class EditorController extends Controller {
pageInfo.page = JSON.stringify(page); pageInfo.page = JSON.stringify(page);
} }
await ctx.service.redis.set(`pageInfo:${ctx.params.uuid}`, pageInfo); await ctx.service.redis.set(`pageInfo:${ctx.params.uuid}`, pageInfo);
} // }
ctx.body = ctx.helper.ok(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) => { ...@@ -19,7 +19,5 @@ export default (application: Application) => {
router.get('/editor/login', controller.editor.login); router.get('/editor/login', controller.editor.login);
router.get('/editor', controller.editor.home); router.get('/editor', controller.editor.home);
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); router.get('/*', controller.editor.home);
}; };
\ No newline at end of file
...@@ -47,6 +47,7 @@ export default (appInfo: EggAppConfig) => { ...@@ -47,6 +47,7 @@ export default (appInfo: EggAppConfig) => {
webpackConfigList: getWebpackConfig(), webpackConfigList: getWebpackConfig(),
browser: 'http://localhost:7002/editor/list' browser: 'http://localhost:7002/editor/list'
}; };
exports.apollo = { yxmTenantId: 560761 };
return exports; return exports;
}; };
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
* production * production
* *
* prod + default(override) * prod + default(override)
* 目前线上apollo还未启用
*/ */
import { Application, EggAppConfig } from 'egg'; import { Application, EggAppConfig } from 'egg';
...@@ -34,6 +35,7 @@ export default (appInfo: EggAppConfig) => { ...@@ -34,6 +35,7 @@ export default (appInfo: EggAppConfig) => {
db: 0 db: 0
} }
}; };
exports.apollo = { yxmTenantId: 560761 };
return exports; return exports;
}; };
...@@ -20,5 +20,7 @@ export default (appInfo: EggAppConfig) => { ...@@ -20,5 +20,7 @@ export default (appInfo: EggAppConfig) => {
}, },
client: redis client: redis
}; };
return {...exports, apollo: { ...api, ...qiniu }}; exports.apollo = { ...api, ...qiniu };
return exports;
}; };
...@@ -3,11 +3,9 @@ ...@@ -3,11 +3,9 @@
import 'egg'; import 'egg';
import ExportEditor from '../../../app/controller/editor'; import ExportEditor from '../../../app/controller/editor';
import ExportTenantAuth from '../../../app/controller/tenantAuth';
declare module 'egg' { declare module 'egg' {
interface IController { interface IController {
editor: ExportEditor; 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