Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
@JsonProperty()
lastName: string;
@prop()
@JsonProperty()
password?: string;
@prop()
@JsonProperty()
picture?: string;
// Providers data
@prop() facebook?: string;
@arrayProp({ items: AuthToken }) tokens?: AuthToken[];
@prop()
@JsonProperty({
use: String
})
get fullName() {
return `${this.firstName} ${this.lastName}`;
}
@instanceMethod
matchPassword(candidatePassword: string) {
return new Promise((resolve) => {
bcrypt.compare(String(candidatePassword), this.password, (err, isMatch) => {
if (err || !isMatch) return resolve(false);
resolve(true);
});
});
@Expose()
password: string;
@prop()
@Expose()
firstName?: string;
@prop()
@Expose()
lastName?: string;
@prop({ enum: UserRole, default: UserRole.User })
@Expose()
role?: UserRole;
@prop()
@Expose()
get fullName(): string {
return `${this.firstName} ${this.lastName}`;
}
static get model(): ModelType {
return new User().getModelForClass(User, { schemaOptions });
}
static get modelName(): string {
return this.model.modelName;
}
static createModel(): InstanceType {
return new this.model();
}