UNPKG

@pikmeup/database-service

Version:

Shared database service for PikMeUp using Typegoose with MongoDB

69 lines (68 loc) 2.87 kB
"use strict"; 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.UserModel = exports.User = exports.Role = void 0; const typegoose_1 = require("@typegoose/typegoose"); var Role; (function (Role) { Role["ADMIN"] = "ADMIN"; Role["DRIVER"] = "DRIVER"; Role["PASSENGER"] = "PASSENGER"; Role["SUPERVISOR"] = "SUPERVISOR"; Role["SUPERADMIN"] = "SUPERADMIN"; })(Role || (exports.Role = Role = {})); let User = class User { }; exports.User = User; __decorate([ (0, typegoose_1.prop)({ required: true }), __metadata("design:type", String) ], User.prototype, "name", void 0); __decorate([ (0, typegoose_1.prop)({ required: true, unique: true }), __metadata("design:type", String) ], User.prototype, "phoneNumber", void 0); __decorate([ (0, typegoose_1.prop)({ required: true, unique: true }), __metadata("design:type", String) ], User.prototype, "firebaseId", void 0); __decorate([ (0, typegoose_1.prop)({ required: true, enum: Role, default: Role.PASSENGER }), __metadata("design:type", String) ], User.prototype, "role", void 0); __decorate([ (0, typegoose_1.prop)({ unique: true, sparse: true }), __metadata("design:type", String) ], User.prototype, "email", void 0); __decorate([ (0, typegoose_1.prop)(), __metadata("design:type", String) ], User.prototype, "password", void 0); __decorate([ (0, typegoose_1.prop)({ default: true }), __metadata("design:type", Boolean) ], User.prototype, "isActive", void 0); __decorate([ (0, typegoose_1.prop)({ ref: 'Passenger' }), __metadata("design:type", Object) ], User.prototype, "passenger", void 0); __decorate([ (0, typegoose_1.prop)({ ref: 'Driver', required: false }), __metadata("design:type", Object) ], User.prototype, "driver", void 0); __decorate([ (0, typegoose_1.prop)({ ref: 'Supervisor' }), __metadata("design:type", Object) ], User.prototype, "supervisor", void 0); exports.User = User = __decorate([ (0, typegoose_1.modelOptions)({ schemaOptions: { timestamps: true } }) ], User); exports.UserModel = (0, typegoose_1.getModelForClass)(User);