express-typeorm-rest-boilerplate
Version:
Boilerplate code to get started with building RESTful API Services
67 lines • 2.49 kB
JavaScript
;
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.User = void 0;
const typeorm_1 = require("typeorm");
const class_validator_1 = require("class-validator");
let User = class User {
constructor(data) {
this.role = 'user';
if (data) {
this.firstName = data.firstName;
this.lastName = data.lastName;
this.email = data.email;
this.password = data.password;
this.role = data.role || this.role;
}
}
hasAccessTo(role) {
const roles = ['user', 'staff', 'admin'];
return roles.indexOf(this.role) >= roles.indexOf(role);
}
};
__decorate([
typeorm_1.ObjectIdColumn(),
__metadata("design:type", typeorm_1.ObjectID)
], User.prototype, "id", void 0);
__decorate([
typeorm_1.Column(),
class_validator_1.IsString(),
__metadata("design:type", String)
], User.prototype, "firstName", void 0);
__decorate([
typeorm_1.Column(),
class_validator_1.IsString(),
__metadata("design:type", String)
], User.prototype, "lastName", void 0);
__decorate([
typeorm_1.Column(),
typeorm_1.Index({ unique: true }),
class_validator_1.IsEmail({}, {
message: 'Invalid email address',
}),
__metadata("design:type", String)
], User.prototype, "email", void 0);
__decorate([
typeorm_1.Column(),
class_validator_1.IsString(),
__metadata("design:type", String)
], User.prototype, "password", void 0);
__decorate([
typeorm_1.Column(),
__metadata("design:type", String)
], User.prototype, "role", void 0);
User = __decorate([
typeorm_1.Entity(),
__metadata("design:paramtypes", [User])
], User);
exports.User = User;
//# sourceMappingURL=User.js.map