UNPKG

lynx-framework

Version:

lynx is a NodeJS framework for Web Development, based on decorators and the async/await support.

119 lines (117 loc) 6.83 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; 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); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.setSkipSync = void 0; var typeorm_1 = require("typeorm"); var base_entity_1 = require("./base.entity"); var role_entity_1 = require("./role.entity"); var media_entity_1 = require("./media.entity"); var SYNCHRONIZE = true; function setSkipSync(skip) { SYNCHRONIZE = !skip; } exports.setSkipSync = setSkipSync; var User = /** @class */ (function (_super) { __extends(User, _super); function User() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.hiddenFields = ['password']; return _this; } User.prototype.hasRole = function (name) { for (var _i = 0, _a = this.roles; _i < _a.length; _i++) { var role = _a[_i]; if (role.name == name) { return true; } } return false; }; Object.defineProperty(User.prototype, "isAdmin", { get: function () { return this.hasRole(role_entity_1.default.ADMIN); }, enumerable: false, configurable: true }); Object.defineProperty(User.prototype, "isStuff", { get: function () { return this.hasRole(role_entity_1.default.STAFF); }, enumerable: false, configurable: true }); Object.defineProperty(User.prototype, "level", { get: function () { var max = 0; this.roles.forEach(function (r) { if (r.level > max) { max = r.level; } }); return max; }, enumerable: false, configurable: true }); __decorate([ typeorm_1.PrimaryGeneratedColumn(), __metadata("design:type", Number) ], User.prototype, "id", void 0); __decorate([ typeorm_1.Column({ unique: true }), __metadata("design:type", String) ], User.prototype, "email", void 0); __decorate([ typeorm_1.Column(), __metadata("design:type", String) ], User.prototype, "password", void 0); __decorate([ typeorm_1.Column(), __metadata("design:type", String) ], User.prototype, "firstName", void 0); __decorate([ typeorm_1.Column(), __metadata("design:type", String) ], User.prototype, "lastName", void 0); __decorate([ typeorm_1.Column(), __metadata("design:type", String) ], User.prototype, "nickName", void 0); __decorate([ typeorm_1.ManyToMany(function (_) { return role_entity_1.default; }, function (role) { return role.users; }, { eager: true }), typeorm_1.JoinTable(), __metadata("design:type", Array) ], User.prototype, "roles", void 0); __decorate([ typeorm_1.OneToMany(function (_) { return media_entity_1.default; }, function (media) { return media.owner; }), __metadata("design:type", Array) ], User.prototype, "media", void 0); User = __decorate([ typeorm_1.Entity('users', { synchronize: SYNCHRONIZE }) ], User); return User; }(base_entity_1.default)); exports.default = User; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2x5bngvZW50aXRpZXMvdXNlci5lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1DQU9pQjtBQUNqQiw2Q0FBdUM7QUFDdkMsNkNBQWlDO0FBQ2pDLCtDQUFtQztBQUVuQyxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUM7QUFFdkIsU0FBZ0IsV0FBVyxDQUFDLElBQWE7SUFDckMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDO0FBQ3hCLENBQUM7QUFGRCxrQ0FFQztBQUdEO0lBQWtDLHdCQUFVO0lBQTVDO1FBQUEscUVBcURDO1FBNUJHLGtCQUFZLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQzs7SUE0QmhDLENBQUM7SUExQlcsc0JBQU8sR0FBZixVQUFnQixJQUFZO1FBQ3hCLEtBQWlCLFVBQVUsRUFBVixLQUFBLElBQUksQ0FBQyxLQUFLLEVBQVYsY0FBVSxFQUFWLElBQVUsRUFBRTtZQUF4QixJQUFJLElBQUksU0FBQTtZQUNULElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUU7Z0JBQ25CLE9BQU8sSUFBSSxDQUFDO2FBQ2Y7U0FDSjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxzQkFBSSx5QkFBTzthQUFYO1lBQ0ksT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLHFCQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSx5QkFBTzthQUFYO1lBQ0ksT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLHFCQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSx1QkFBSzthQUFUO1lBQ0ksSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBQyxDQUFDO2dCQUNqQixJQUFJLENBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxFQUFFO29CQUNmLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO2lCQUNqQjtZQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxHQUFHLENBQUM7UUFDZixDQUFDOzs7T0FBQTtJQWxERDtRQURDLGdDQUFzQixFQUFFOztvQ0FDZDtJQUdYO1FBREMsZ0JBQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQzs7dUNBQ1g7SUFFSjtRQUFULGdCQUFNLEVBQUU7OzBDQUFrQjtJQUczQjtRQURDLGdCQUFNLEVBQUU7OzJDQUNTO0lBR2xCO1FBREMsZ0JBQU0sRUFBRTs7MENBQ1E7SUFHakI7UUFEQyxnQkFBTSxFQUFFOzswQ0FDUTtJQUlqQjtRQUZDLG9CQUFVLENBQUMsVUFBQyxDQUFDLElBQUssT0FBQSxxQkFBSSxFQUFKLENBQUksRUFBRSxVQUFDLElBQUksSUFBSyxPQUFBLElBQUksQ0FBQyxLQUFLLEVBQVYsQ0FBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQzlELG1CQUFTLEVBQUU7O3VDQUNFO0lBR2Q7UUFEQyxtQkFBUyxDQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUEsc0JBQUssRUFBTCxDQUFLLEVBQUUsVUFBQyxLQUFLLElBQUssT0FBQSxLQUFLLENBQUMsS0FBSyxFQUFYLENBQVcsQ0FBQzs7dUNBQ2pDO0lBdkJFLElBQUk7UUFEeEIsZ0JBQU0sQ0FBQyxPQUFPLEVBQUUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLENBQUM7T0FDekIsSUFBSSxDQXFEeEI7SUFBRCxXQUFDO0NBckRELEFBcURDLENBckRpQyxxQkFBVSxHQXFEM0M7a0JBckRvQixJQUFJIiwiZmlsZSI6ImVudGl0aWVzL3VzZXIuZW50aXR5LmpzIiwic291cmNlUm9vdCI6Ii4uIn0=