UNPKG

@bxjs/base

Version:

bxjs base framework & api

74 lines 6.96 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); var typeorm_1 = require("@bxjs/typeorm"); // const shortid = require('shortid') __export(require("@bxjs/typeorm")); var XBaseEntity = /** @class */ (function (_super) { __extends(XBaseEntity, _super); function XBaseEntity() { return _super !== null && _super.apply(this, arguments) || this; } XBaseEntity.prototype.generateID = function () { // 使用uuid v1版本确保分布式计算下的主键唯一性 this.id = xuuid(); if (!this.id || this.id.length != 32) { xwarn({ id: this.id }); xassert(false, ERR$UNKNOWN, { id: this.id }); } // this.id = shortid.generate() // // 严格验证shortid的生成策略是否正确,如果出错第一时间报警排查问题。 // if (!(this.id && shortid.isValid(this.id) && // this.id.length >= 7 && this.id.length <= 14)) { // xwarn({id: this.id}) // xassert(false, ERR$UNKNOWN) // } }; __decorate([ typeorm_1.PrimaryColumn({ type: 'char', length: '32' }) // 优化为char[16]固定长度便于主键索引查询性能优化(存储空间一点浪费不是问题) , __metadata("design:type", String) ], XBaseEntity.prototype, "id", void 0); __decorate([ typeorm_1.BeforeInsert(), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", void 0) ], XBaseEntity.prototype, "generateID", null); __decorate([ typeorm_1.Index(), typeorm_1.CreateDateColumn(), __metadata("design:type", Date) ], XBaseEntity.prototype, "created_at", void 0); __decorate([ typeorm_1.UpdateDateColumn(), __metadata("design:type", Date) ], XBaseEntity.prototype, "updated_at", void 0); XBaseEntity = __decorate([ typeorm_1.Entity() ], XBaseEntity); return XBaseEntity; }(typeorm_1.BaseEntity)); exports.XBaseEntity = XBaseEntity; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5Q0FBd0g7QUFFeEgscUNBQXFDO0FBQ3JDLG1DQUE2QjtBQUc3QjtJQUEwQywrQkFBVTtJQUFwRDs7SUErQkEsQ0FBQztJQXZCYSxnQ0FBVSxHQUFwQjtRQUNJLDRCQUE0QjtRQUM1QixJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFBO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFBRTtZQUNsQyxLQUFLLENBQUMsRUFBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUE7WUFDcEIsT0FBTyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUE7U0FDN0M7UUFDRCwrQkFBK0I7UUFDL0IsMENBQTBDO1FBQzFDLCtDQUErQztRQUMvQywwREFBMEQ7UUFDMUQsMkJBQTJCO1FBQzNCLGtDQUFrQztRQUNsQyxJQUFJO0lBQ1IsQ0FBQztJQWpCRDtRQURDLHVCQUFhLENBQUMsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLDRDQUE0Qzs7OzJDQUMvRTtJQUdWO1FBREMsc0JBQVksRUFBRTs7OztpREFlZDtJQUtEO1FBRkMsZUFBSyxFQUFFO1FBQ1AsMEJBQWdCLEVBQUU7a0NBQ1AsSUFBSTttREFBQTtJQUdoQjtRQURDLDBCQUFnQixFQUFFO2tDQUNQLElBQUk7bURBQUE7SUE5QkUsV0FBVztRQURoQyxnQkFBTSxFQUFFO09BQ2EsV0FBVyxDQStCaEM7SUFBRCxrQkFBQztDQUFBLEFBL0JELENBQTBDLG9CQUFVLEdBK0JuRDtBQS9CcUIsa0NBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VudGl0eSwgQmFzZUVudGl0eSwgUHJpbWFyeUNvbHVtbiwgQmVmb3JlSW5zZXJ0LCBDcmVhdGVEYXRlQ29sdW1uLCBJbmRleCwgVXBkYXRlRGF0ZUNvbHVtbn0gZnJvbSAnQGJ4anMvdHlwZW9ybSdcblxuLy8gY29uc3Qgc2hvcnRpZCA9IHJlcXVpcmUoJ3Nob3J0aWQnKVxuZXhwb3J0ICogZnJvbSAnQGJ4anMvdHlwZW9ybSdcblxuQEVudGl0eSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgWEJhc2VFbnRpdHkgZXh0ZW5kcyBCYXNlRW50aXR5IHtcbiAgICAvLyDmlbDmja7lupPoh6rlop7kuLvplK7lrZjlnKjliIbluIPlvI/mianlrrnku6Xlj4rlronlhajpmpDmgqPlnKjpmL/ph4zlhoXpg6jkuI3pgILlkIjkvb/nlKjvvIzmlLnov5vmlrnmoYjlpoLkuIvvvJpcbiAgICAvLyDpmL/ph4zlhoXpg6jlronlhajop4TojIPopoHmsYJpZOS4jeWPr+mihOa1i+S4jeWPr+aemuS4vu+8jOS4jeiDveS9v+eUqGludOaIlmJpZ2ludOiHquWinuS4u+mUruWumuS5iWlk44CCXG4gICAgLy8g5pys6aG555uu6YCC5ZCI5bCGaWTkvb/nlKhzaG9ydGlk5ruh6Laz6KaB5rGC5bm25LiU5peg6ZyA5L+u5pS55Lia5Yqh6YC76L6R77yI5bm25pSv5oyB5YiG5biD5byPaWTnlJ/miJDnrpfms5XpgILlkIjku6XlkI7liIblupPliIbooajnrpfms5Xlrp7njrDvvIlcbiAgICBAUHJpbWFyeUNvbHVtbih7dHlwZTogJ2NoYXInLCBsZW5ndGg6ICczMid9KSAvLyDkvJjljJbkuLpjaGFyWzE2XeWbuuWumumVv+W6puS+v+S6juS4u+mUrue0ouW8leafpeivouaAp+iDveS8mOWMlu+8iOWtmOWCqOepuumXtOS4gOeCuea1qui0ueS4jeaYr+mXrumimO+8iVxuICAgIGlkOiBzdHJpbmdcblxuICAgIEBCZWZvcmVJbnNlcnQoKVxuICAgIHByb3RlY3RlZCBnZW5lcmF0ZUlEKCkge1xuICAgICAgICAvLyDkvb/nlKh1dWlkIHYx54mI5pys56Gu5L+d5YiG5biD5byP6K6h566X5LiL55qE5Li76ZSu5ZSv5LiA5oCnXG4gICAgICAgIHRoaXMuaWQgPSB4dXVpZCgpXG4gICAgICAgIGlmICghdGhpcy5pZCB8fCB0aGlzLmlkLmxlbmd0aCAhPSAzMikge1xuICAgICAgICAgICAgeHdhcm4oe2lkOiB0aGlzLmlkfSlcbiAgICAgICAgICAgIHhhc3NlcnQoZmFsc2UsIEVSUiRVTktOT1dOLCB7aWQ6IHRoaXMuaWR9KVxuICAgICAgICB9XG4gICAgICAgIC8vIHRoaXMuaWQgPSBzaG9ydGlkLmdlbmVyYXRlKClcbiAgICAgICAgLy8gLy8g5Lil5qC86aqM6K+Bc2hvcnRpZOeahOeUn+aIkOetlueVpeaYr+WQpuato+ehru+8jOWmguaenOWHuumUmeesrOS4gOaXtumXtOaKpeitpuaOkuafpemXrumimOOAglxuICAgICAgICAvLyBpZiAoISh0aGlzLmlkICYmIHNob3J0aWQuaXNWYWxpZCh0aGlzLmlkKSAmJlxuICAgICAgICAvLyAgICAgICAgIHRoaXMuaWQubGVuZ3RoID49IDcgJiYgdGhpcy5pZC5sZW5ndGggPD0gMTQpKSB7XG4gICAgICAgIC8vICAgICB4d2Fybih7aWQ6IHRoaXMuaWR9KVxuICAgICAgICAvLyAgICAgeGFzc2VydChmYWxzZSwgRVJSJFVOS05PV04pXG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICAvLyDlop7liqDntKLlvJXop6PlhrNpZOmaj+acuuWQjuaXoOazleaOkuW6j+mXrumimFxuICAgIEBJbmRleCgpXG4gICAgQENyZWF0ZURhdGVDb2x1bW4oKVxuICAgIGNyZWF0ZWRfYXQ6IERhdGVcblxuICAgIEBVcGRhdGVEYXRlQ29sdW1uKClcbiAgICB1cGRhdGVkX2F0OiBEYXRlXG59XG4iXX0=