swaf/src/auth/models/UserEmail.ts

23 lines
758 B
TypeScript
Raw Normal View History

2020-04-24 12:12:27 +02:00
import User from "./User";
import Model from "../../db/Model";
import {OneModelRelation} from "../../db/ModelRelation";
2020-09-06 10:21:47 +02:00
import {EMAIL_REGEX} from "../../db/Validator";
2020-04-24 12:12:27 +02:00
export default class UserEmail extends Model {
public readonly id?: number = undefined;
public user_id?: number = undefined;
public readonly email?: string = undefined;
public created_at?: Date = undefined;
2020-04-24 12:12:27 +02:00
public readonly user = new OneModelRelation(this, User, {
localKey: 'user_id',
foreignKey: 'id',
});
protected init(): void {
2020-07-24 12:13:28 +02:00
this.setValidation('user_id').acceptUndefined().exists(User, 'id');
this.setValidation('email').defined().regexp(EMAIL_REGEX).unique(this);
this.setValidation('main').defined();
2020-04-24 12:12:27 +02:00
}
2020-07-24 12:13:28 +02:00
}