-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfacility-request.entity.ts
48 lines (38 loc) · 1.18 KB
/
facility-request.entity.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import { Field, InputType, Int, ObjectType, registerEnumType } from '@nestjs/graphql';
import { FacilityRequest_Status as Status } from './api/gen/gql/hts/common/common';
import { Column, Entity, ManyToOne, PrimaryGeneratedColumn } from 'typeorm';
import { Event } from './event.entity';
import { Facility } from './facility.entity';
registerEnumType(Status, { name: 'FacilityRequestStatus' });
@InputType('FacilityRequestInput')
@ObjectType()
@Entity()
export class FacilityRequest {
@Field((_) => Int)
@PrimaryGeneratedColumn()
id: number;
@Field((_) => Int)
@Column()
eventId: number;
@Field((_) => Event)
@ManyToOne(() => Event)
event: Event;
@Field((_) => Int)
@Column()
facilityId: number;
@Field((_) => Facility)
@ManyToOne(() => Facility, { onDelete: 'CASCADE' })
facility: Facility;
@Field((_) => Status)
@Column('enum', { enum: ['PENDING', 'APPROVED', 'REJECTED'] })
status: string;
@Field({ nullable: true })
@Column({ nullable: true })
rejectReason?: string;
@Field({ nullable: true })
@Column('timestamptz', { nullable: true })
start: string;
@Field({ nullable: true })
@Column('timestamptz', { nullable: true })
finish: string;
}