@accounts/mikro-orm
Version:
MikroORM adaptor for accounts
44 lines • 1.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getEmailSchema = exports.getEmailCtor = exports.Email = void 0;
const core_1 = require("@mikro-orm/core");
class Email {
id;
user;
address;
verified = false;
constructor({ address, user, verified }) {
this.address = address.toLocaleLowerCase();
if (user) {
this.user = (0, core_1.ref)(user);
}
if (verified) {
this.verified = verified;
}
}
}
exports.Email = Email;
const getEmailCtor = ({ abstract = false, } = {}) => {
if (abstract) {
Object.defineProperty(Email, 'name', { value: 'AccountsEmail' });
}
return Email;
};
exports.getEmailCtor = getEmailCtor;
const getEmailSchema = ({ UserEntity, abstract = false, } = {}) => {
if (abstract) {
Object.defineProperty(Email, 'name', { value: 'AccountsEmail' });
}
return new core_1.EntitySchema({
class: Email,
abstract,
properties: {
id: { type: 'number', primary: true },
user: { kind: 'm:1', ref: true, type: UserEntity?.name ?? 'User' },
address: { type: 'string' },
verified: { type: 'boolean', default: false, onCreate: () => false },
},
});
};
exports.getEmailSchema = getEmailSchema;
//# sourceMappingURL=Email.js.map