egg-orm-ts
Version:
Simple orm with Typeorm, for egg plugin.
59 lines • 4.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const error_1 = require("../lib/error");
exports.default = (app) => {
const config = {};
// config for DB
config.typeorm = {
type: 'postgres',
host: 'localhost',
port: 5432,
username: 'dba_test',
password: '123456',
database: 'test',
synchronize: false,
logging: false,
entities: ['app/entity/**/*.ts'],
cli: {
entitiesDir: 'app/entity',
},
};
// use for cookie sign key, should change to your own and keep security
config.keys = app.name + '_1580572800001_0420';
// 转换异常
function convertError(err, ctx) {
const { code, name, message, timestamp } = err;
// 打印错误请求信息
ctx.logger.error(`@QUERY: ${JSON.stringify(ctx.request.query)} @BODY: ${JSON.stringify(ctx.request.body)}`);
// 默认不可识别异常状态
let status = error_1.HTTP_CODE.SERVER_INTERNAL_SERVER_ERROR;
if (err instanceof error_1.BaseError) {
// 默认可识别异常状态
status = error_1.HTTP_CODE.SUCCESS_OK;
// 转换 http status code
if (code > error_1.BIZ_CODE.SUCCESS && code < error_1.BIZ_CODE.CUSTOM) {
status = code;
}
}
return {
status,
errorRes: { code, name, message, timestamp },
};
}
// onerror 主要处理全局异常,即未捕获异常
config.onerror = {
// 针对所有响应类型的错误处理方法,配置all后其他类型处理失效
json(err, ctx) {
const { status, errorRes } = convertError(err, ctx);
ctx.status = status;
ctx.body = errorRes;
},
html(err, ctx) {
const { status, errorRes } = convertError(err, ctx);
ctx.status = status;
ctx.body = JSON.stringify(errorRes);
},
};
return config;
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjb25maWcuZGVmYXVsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLHdDQUF3RTtBQUV4RSxrQkFBZSxDQUFDLEdBQWUsRUFBRSxFQUFFO0lBRWpDLE1BQU0sTUFBTSxHQUFHLEVBQWdDLENBQUM7SUFFaEQsZ0JBQWdCO0lBQ2hCLE1BQU0sQ0FBQyxPQUFPLEdBQUc7UUFDZixJQUFJLEVBQUUsVUFBVTtRQUNoQixJQUFJLEVBQUUsV0FBVztRQUNqQixJQUFJLEVBQUUsSUFBSTtRQUNWLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLENBQUUsb0JBQW9CLENBQUU7UUFDbEMsR0FBRyxFQUFFO1lBQ0gsV0FBVyxFQUFFLFlBQVk7U0FDMUI7S0FDRixDQUFDO0lBRUYsdUVBQXVFO0lBQ3ZFLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksR0FBRyxxQkFBcUIsQ0FBQztJQUUvQyxPQUFPO0lBQ1AsU0FBUyxZQUFZLENBQUMsR0FBYSxFQUFFLEdBQVk7UUFDL0MsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUMvQyxXQUFXO1FBQ1gsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1RyxhQUFhO1FBQ2IsSUFBSSxNQUFNLEdBQUcsaUJBQVMsQ0FBQyw0QkFBNEIsQ0FBQztRQUNwRCxJQUFJLEdBQUcsWUFBWSxpQkFBUyxFQUFFO1lBQzVCLFlBQVk7WUFDWixNQUFNLEdBQUcsaUJBQVMsQ0FBQyxVQUFVLENBQUM7WUFDOUIsc0JBQXNCO1lBQ3RCLElBQUksSUFBSSxHQUFHLGdCQUFRLENBQUMsT0FBTyxJQUFJLElBQUksR0FBRyxnQkFBUSxDQUFDLE1BQU0sRUFBRTtnQkFDckQsTUFBTSxHQUFHLElBQUksQ0FBQzthQUNmO1NBQ0Y7UUFDRCxPQUFPO1lBQ0wsTUFBTTtZQUNOLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtTQUM3QyxDQUFDO0lBQ0osQ0FBQztJQUNELDBCQUEwQjtJQUMxQixNQUFNLENBQUMsT0FBTyxHQUFHO1FBQ2YsaUNBQWlDO1FBQ2pDLElBQUksQ0FBQyxHQUFhLEVBQUUsR0FBWTtZQUM5QixNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDcEQsR0FBRyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFDcEIsR0FBRyxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDdEIsQ0FBQztRQUNELElBQUksQ0FBQyxHQUFhLEVBQUUsR0FBWTtZQUM5QixNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDcEQsR0FBRyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFDcEIsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7S0FDRixDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDIn0=