67 lines
1.3 KiB
TypeScript
67 lines
1.3 KiB
TypeScript
import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
|
|
import { HydratedDocument } from 'mongoose';
|
|
import { Decision } from './Decision.schema';
|
|
import { ApplicationStatus, ObjectStatus } from 'src/enums/status.enum';
|
|
import { ICAInformation } from './ICAInformation.schema';
|
|
|
|
export type IndustryChangeApplicationDocument =
|
|
HydratedDocument<IndustryChangeApplication>;
|
|
|
|
@Schema({
|
|
timestamps: true,
|
|
})
|
|
export class IndustryChangeApplication {
|
|
@Prop({
|
|
required: true,
|
|
})
|
|
residentSub: string;
|
|
|
|
@Prop({
|
|
required: true,
|
|
type: ICAInformation,
|
|
})
|
|
current: ICAInformation;
|
|
|
|
@Prop({
|
|
required: true,
|
|
type: ICAInformation,
|
|
})
|
|
requested: ICAInformation;
|
|
|
|
@Prop({
|
|
type: String,
|
|
enum: ApplicationStatus,
|
|
default: ApplicationStatus.IN_REVIEW,
|
|
required: true,
|
|
})
|
|
status: ApplicationStatus;
|
|
|
|
@Prop()
|
|
submittedAt: Date;
|
|
|
|
@Prop({ type: Decision })
|
|
decision: Decision;
|
|
|
|
@Prop()
|
|
createdBy: string;
|
|
|
|
@Prop()
|
|
updatedBy: string;
|
|
|
|
@Prop({
|
|
type: String,
|
|
enum: ObjectStatus,
|
|
default: ObjectStatus.CURRENT,
|
|
required: true,
|
|
})
|
|
objectStatus: ObjectStatus;
|
|
|
|
createdAt: Date;
|
|
|
|
updatedAt: Date;
|
|
}
|
|
|
|
export const IndustryChangeApplicationSchema = SchemaFactory.createForClass(
|
|
IndustryChangeApplication,
|
|
);
|