UNPKG

@lomray/microservice-users

Version:

Users microservice based on NodeJS & inverted json.

109 lines (105 loc) 4.1 kB
'use strict'; var tslib = require('tslib'); var microserviceHelpers = require('@lomray/microservice-helpers'); var classValidator = require('class-validator'); var classValidatorJsonschema = require('class-validator-jsonschema'); var typeorm = require('typeorm'); let User = class User { }; tslib.__decorate([ typeorm.PrimaryGeneratedColumn('uuid'), classValidator.Allow(), tslib.__metadata("design:type", String) ], User.prototype, "id", void 0); tslib.__decorate([ typeorm.Column({ type: 'varchar', length: 50, default: null, unique: true }), classValidator.Length(1, 70), classValidator.Matches(/^[a-z0-9_.]+$/, { message: 'Username must be lower case and contains only: letters numbers _ .', }), microserviceHelpers.IsUndefinable(), tslib.__metadata("design:type", String) ], User.prototype, "username", void 0); tslib.__decorate([ typeorm.Column({ type: 'varchar', length: 25 }), classValidator.Length(1, 25), tslib.__metadata("design:type", String) ], User.prototype, "firstName", void 0); tslib.__decorate([ typeorm.Column({ type: 'varchar', length: 25, default: '' }), classValidator.Length(0, 25), microserviceHelpers.IsUndefinable(), tslib.__metadata("design:type", String) ], User.prototype, "lastName", void 0); tslib.__decorate([ typeorm.Column({ type: 'varchar', length: 25, default: '' }), classValidator.Length(0, 25), microserviceHelpers.IsUndefinable(), tslib.__metadata("design:type", String) ], User.prototype, "middleName", void 0); tslib.__decorate([ classValidatorJsonschema.JSONSchema({ description: 'This field should be changed though special method (e.g.: change-login).', }), typeorm.Column({ type: 'varchar', length: 70, default: null, unique: true }), classValidator.Length(1, 70), classValidator.IsEmail(), microserviceHelpers.IsUndefinable(), microserviceHelpers.IsNullable(), tslib.__metadata("design:type", Object) ], User.prototype, "email", void 0); tslib.__decorate([ classValidatorJsonschema.JSONSchema({ description: 'This field should be changed though special method (e.g.: change-login).', }), typeorm.Column({ type: 'varchar', length: 20, default: null, unique: true }), classValidator.Length(1, 20), classValidator.IsMobilePhone(), microserviceHelpers.IsUndefinable(), microserviceHelpers.IsNullable(), tslib.__metadata("design:type", Object) ], User.prototype, "phone", void 0); tslib.__decorate([ classValidatorJsonschema.JSONSchema({ description: 'This field should be changed though special method (e.g.: change-password).', }), typeorm.Column({ type: 'varchar', select: false, default: null }), microserviceHelpers.IsUndefinable(), microserviceHelpers.IsNullable(), classValidator.IsString(), tslib.__metadata("design:type", Object) ], User.prototype, "password", void 0); tslib.__decorate([ microserviceHelpers.IsTypeormDate(), typeorm.CreateDateColumn(), tslib.__metadata("design:type", Date) ], User.prototype, "createdAt", void 0); tslib.__decorate([ microserviceHelpers.IsTypeormDate(), typeorm.UpdateDateColumn(), tslib.__metadata("design:type", Date) ], User.prototype, "updatedAt", void 0); tslib.__decorate([ microserviceHelpers.IsTypeormDate(), typeorm.DeleteDateColumn(), tslib.__metadata("design:type", Object) ], User.prototype, "deletedAt", void 0); tslib.__decorate([ typeorm.OneToOne('Profile', 'user'), tslib.__metadata("design:type", Function) ], User.prototype, "profile", void 0); tslib.__decorate([ typeorm.OneToMany('IdentityProvider', 'user'), tslib.__metadata("design:type", Array) ], User.prototype, "identityProviders", void 0); User = tslib.__decorate([ classValidatorJsonschema.JSONSchema({ properties: { profile: { $ref: '#/definitions/Profile' }, identityProviders: { $ref: '#/definitions/IdentityProvider', type: 'array' }, }, }), typeorm.Entity() ], User); var UserEntity = User; module.exports = UserEntity;