Notifications
This commit is contained in:
@@ -6,8 +6,8 @@ import {
|
||||
OneToMany,
|
||||
PrimaryGeneratedColumn,
|
||||
} from 'typeorm';
|
||||
import { User } from './user.entity';
|
||||
import { KeySystem } from './system.entity';
|
||||
import { User } from './user';
|
||||
|
||||
@Entity()
|
||||
export class Activity {
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
export * from './sso.user.entity';
|
||||
export * from './user.entity';
|
||||
export * from './role.entity';
|
||||
export * from './cylinder.entity';
|
||||
export * from './key.entity';
|
||||
export * from './customer.entity';
|
||||
export * from './key-handout.entity';
|
||||
export * from './activity.entity';
|
||||
export * from './user';
|
||||
|
||||
@@ -8,7 +8,7 @@ import {
|
||||
} from 'typeorm';
|
||||
import { Key } from './key.entity';
|
||||
import { Customer } from './customer.entity';
|
||||
import { User } from './user.entity';
|
||||
import { User } from './user';
|
||||
|
||||
@Entity()
|
||||
export class KeyHandout {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import {
|
||||
AfterLoad,
|
||||
Column,
|
||||
CreateDateColumn,
|
||||
Entity,
|
||||
@@ -25,9 +26,16 @@ export class EmailLog {
|
||||
@Column({ name: 'type', type: 'text',})
|
||||
type: EmailEvent;
|
||||
|
||||
eventName: string;
|
||||
|
||||
@ManyToOne(() => KeySystem, { nullable: true })
|
||||
system: KeySystem;
|
||||
|
||||
@Column({type: 'boolean'})
|
||||
success: boolean;
|
||||
|
||||
@AfterLoad()
|
||||
setType() {
|
||||
this.eventName = EmailEvent[this.type]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import {
|
||||
OneToMany,
|
||||
PrimaryGeneratedColumn,
|
||||
} from 'typeorm';
|
||||
import { User } from './user.entity';
|
||||
import { User } from './user';
|
||||
|
||||
@Entity()
|
||||
export class Role {
|
||||
|
||||
@@ -9,8 +9,8 @@ import {
|
||||
UpdateDateColumn,
|
||||
} from 'typeorm';
|
||||
import { IKeySystem } from '../interface';
|
||||
import { User } from './user.entity';
|
||||
import { Cylinder } from './cylinder.entity';
|
||||
import { User } from './user';
|
||||
|
||||
@Entity()
|
||||
export class KeySystem implements IKeySystem {
|
||||
|
||||
2
api/src/model/entitites/user/index.ts
Normal file
2
api/src/model/entitites/user/index.ts
Normal file
@@ -0,0 +1,2 @@
|
||||
export * from './sso.user.entity';
|
||||
export * from './user.entity';
|
||||
@@ -1,5 +1,9 @@
|
||||
import { Exclude, Transform } from 'class-transformer';
|
||||
import { IsEmail } from 'class-validator';
|
||||
import { IUser } from 'src/model/interface';
|
||||
import {
|
||||
BeforeInsert,
|
||||
BeforeUpdate,
|
||||
Column,
|
||||
CreateDateColumn,
|
||||
DeleteDateColumn,
|
||||
@@ -10,11 +14,10 @@ import {
|
||||
OneToOne,
|
||||
PrimaryGeneratedColumn,
|
||||
} from 'typeorm';
|
||||
import { IUser } from '../interface';
|
||||
import { Role } from '../role.entity';
|
||||
import { KeySystem } from '../system.entity';
|
||||
import { SSOUser } from './sso.user.entity';
|
||||
import { IsEmail } from 'class-validator';
|
||||
import { Role } from './role.entity';
|
||||
import { KeySystem } from './system.entity';
|
||||
import { UserSettings } from './user.settings.entity';
|
||||
|
||||
@Entity()
|
||||
export class User implements IUser {
|
||||
@@ -55,6 +58,18 @@ export class User implements IUser {
|
||||
@DeleteDateColumn()
|
||||
deletedAt: Date;
|
||||
|
||||
@OneToOne(() => UserSettings, (settings) => settings.user, { cascade: true })
|
||||
settings: UserSettings;
|
||||
|
||||
accessToken?: string;
|
||||
refreshToken?: string;
|
||||
|
||||
@BeforeInsert()
|
||||
@BeforeUpdate()
|
||||
createSettings() {
|
||||
if (this.settings == null) {
|
||||
this.settings = {} as any;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
25
api/src/model/entitites/user/user.settings.entity.ts
Normal file
25
api/src/model/entitites/user/user.settings.entity.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import { Column, Entity, JoinColumn, OneToOne, PrimaryGeneratedColumn } from "typeorm";
|
||||
import { User } from "./user.entity";
|
||||
|
||||
@Entity()
|
||||
export class UserSettings {
|
||||
@PrimaryGeneratedColumn('uuid')
|
||||
id: string;
|
||||
|
||||
@OneToOne(() => User, (user) => user.settings)
|
||||
@JoinColumn()
|
||||
user: User;
|
||||
|
||||
@Column({ name: 'send_system_access_notification', default: true, type: 'boolean'})
|
||||
sendSystemAccessMails: boolean;
|
||||
|
||||
@Column({ name: 'send_user_disabled_notification', default: true, type: 'boolean'})
|
||||
sendUserDisabledMails: boolean;
|
||||
|
||||
|
||||
@Column({ name: 'send_system_update_notification', default: true, type: 'boolean'})
|
||||
sendSystemUpdateMails: boolean;
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user