updated build types
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
import { Prop } from '@nestjs/mongoose';
|
||||
import { randomUUID } from 'crypto';
|
||||
import { Field } from '@nestjs/graphql';
|
||||
import { ObjectType } from '@nestjs/graphql';
|
||||
import { ObjectType, InputType, Field, ID } from '@nestjs/graphql';
|
||||
|
||||
@ObjectType({ isAbstract: true })
|
||||
export class Base {
|
||||
@@ -19,24 +18,16 @@ export class Base {
|
||||
updatedAt: Date;
|
||||
|
||||
@Field()
|
||||
@Prop({ default: () => new Date(Date.now()) })
|
||||
expiryStarts: Date;
|
||||
@Prop({ default: false, required: false })
|
||||
isConfirmed?: boolean;
|
||||
|
||||
@Field()
|
||||
@Prop({ default: () => new Date('2099-12-31') })
|
||||
expiryEnds: Date;
|
||||
@Prop({ default: false, required: false })
|
||||
deleted?: boolean;
|
||||
|
||||
@Field()
|
||||
@Prop({ default: false })
|
||||
isConfirmed: boolean;
|
||||
|
||||
@Field()
|
||||
@Prop({ default: false })
|
||||
deleted: boolean;
|
||||
|
||||
@Field()
|
||||
@Prop({ default: true })
|
||||
active: boolean;
|
||||
@Prop({ default: true, required: false })
|
||||
active?: boolean;
|
||||
|
||||
@Field()
|
||||
@Prop({ default: randomUUID })
|
||||
@@ -55,12 +46,12 @@ export class Base {
|
||||
confirmedCredentialsToken: string;
|
||||
|
||||
@Field()
|
||||
@Prop({ default: false })
|
||||
isNotificationSend: boolean;
|
||||
@Prop({ default: false, required: false })
|
||||
isNotificationSend?: boolean;
|
||||
|
||||
@Field()
|
||||
@Prop({ default: false })
|
||||
isEmailSend: boolean;
|
||||
@Prop({ default: false, required: false })
|
||||
isEmailSend?: boolean;
|
||||
|
||||
@Field()
|
||||
@Prop({ default: 0 })
|
||||
@@ -73,4 +64,61 @@ export class Base {
|
||||
@Field()
|
||||
@Prop({ default: 0 })
|
||||
replicationId: number;
|
||||
|
||||
@Field()
|
||||
@Prop({ default: () => new Date(Date.now()), required: false })
|
||||
expiryStarts?: Date;
|
||||
|
||||
@Field()
|
||||
@Prop({ default: () => new Date('2099-12-31'), required: false })
|
||||
expiryEnds?: Date;
|
||||
|
||||
}
|
||||
|
||||
@ObjectType({ isAbstract: true })
|
||||
export class ExpiryBase {
|
||||
|
||||
@Field()
|
||||
@Prop({ default: () => new Date(Date.now()), required: false })
|
||||
expiryStarts?: Date;
|
||||
|
||||
@Field()
|
||||
@Prop({ default: () => new Date('2099-12-31'), required: false })
|
||||
expiryEnds?: Date;
|
||||
|
||||
}
|
||||
|
||||
@InputType()
|
||||
export class ExpiryBaseInput {
|
||||
|
||||
@Field({ nullable: true, defaultValue: new Date(Date.now()).toISOString() })
|
||||
expiryStarts?: Date;
|
||||
|
||||
@Field({ nullable: false, defaultValue: new Date('2099-12-31').toISOString() })
|
||||
expiryEnds?: Date;
|
||||
|
||||
}
|
||||
|
||||
@ObjectType({ isAbstract: true })
|
||||
export class ChangableBase {
|
||||
|
||||
@Field()
|
||||
@Prop({ default: () => new Date(Date.now()), required: false })
|
||||
expiryStarts?: Date;
|
||||
|
||||
@Field()
|
||||
@Prop({ default: () => new Date('2099-12-31'), required: false })
|
||||
expiryEnds?: Date;
|
||||
|
||||
@Field()
|
||||
@Prop({ default: false, required: false })
|
||||
isConfirmed?: boolean;
|
||||
|
||||
@Field()
|
||||
@Prop({ default: false, required: false })
|
||||
deleted?: boolean;
|
||||
|
||||
@Field()
|
||||
@Prop({ default: true, required: false })
|
||||
active?: boolean;
|
||||
}
|
||||
|
||||
32
backend/src/models/build-types.model.ts
Normal file
32
backend/src/models/build-types.model.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import { ObjectType, Field, ID } from '@nestjs/graphql';
|
||||
import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
|
||||
import { Document } from 'mongoose';
|
||||
import { Base } from '@/models/base.model';
|
||||
|
||||
@ObjectType()
|
||||
@Schema({ timestamps: true })
|
||||
export class BuildTypes extends Base {
|
||||
|
||||
@Field(() => ID)
|
||||
readonly _id: string;
|
||||
|
||||
@Field()
|
||||
@Prop({ required: true })
|
||||
type: string;
|
||||
|
||||
@Field()
|
||||
@Prop({ required: true })
|
||||
token: string;
|
||||
|
||||
@Field()
|
||||
@Prop({ required: true })
|
||||
typeToken: string;
|
||||
|
||||
@Field({ nullable: true })
|
||||
@Prop({ required: false, default: '' })
|
||||
description: string;
|
||||
|
||||
}
|
||||
|
||||
export type BuildTypesDocument = BuildTypes & Document;
|
||||
export const BuildTypesSchema = SchemaFactory.createForClass(BuildTypes);
|
||||
@@ -30,6 +30,7 @@ export class BuildIban {
|
||||
|
||||
@ObjectType()
|
||||
export class BuildResponsible {
|
||||
|
||||
@Field(() => ID)
|
||||
@Prop({ type: Types.ObjectId, ref: Company.name, required: true })
|
||||
company: Types.ObjectId;
|
||||
@@ -41,6 +42,7 @@ export class BuildResponsible {
|
||||
|
||||
@ObjectType()
|
||||
export class BuildInfo {
|
||||
|
||||
@Field()
|
||||
@Prop({ required: true })
|
||||
govAddressCode: string;
|
||||
@@ -104,11 +106,13 @@ export class BuildInfo {
|
||||
@Field(() => Int)
|
||||
@Prop({ required: true })
|
||||
managementRoomId: number;
|
||||
|
||||
}
|
||||
|
||||
@ObjectType()
|
||||
@Schema({ timestamps: true })
|
||||
export class Build extends Base {
|
||||
|
||||
@Field(() => ID)
|
||||
@Prop({ type: Types.ObjectId, ref: 'BuildType', required: true })
|
||||
buildType: Types.ObjectId;
|
||||
@@ -140,6 +144,7 @@ export class Build extends Base {
|
||||
@Field(() => [BuildResponsible], { nullable: true })
|
||||
@Prop({ type: [BuildResponsible] })
|
||||
responsibles?: BuildResponsible[];
|
||||
|
||||
}
|
||||
|
||||
export type BuildDocument = Build & Document;
|
||||
|
||||
@@ -18,7 +18,7 @@ export class Person extends Base {
|
||||
@Field()
|
||||
surname: string;
|
||||
|
||||
@Prop({ required: true })
|
||||
@Prop({ required: false })
|
||||
@Field()
|
||||
middleName: string;
|
||||
|
||||
@@ -26,11 +26,11 @@ export class Person extends Base {
|
||||
@Field()
|
||||
sexCode: string;
|
||||
|
||||
@Prop({ required: true })
|
||||
@Prop({ required: false })
|
||||
@Field()
|
||||
personRef: string;
|
||||
|
||||
@Prop({ required: true })
|
||||
@Prop({ required: false })
|
||||
@Field()
|
||||
personTag: string;
|
||||
|
||||
@@ -62,7 +62,7 @@ export class Person extends Base {
|
||||
@Field()
|
||||
taxNo: string;
|
||||
|
||||
@Prop({ required: true })
|
||||
@Prop({ required: false })
|
||||
@Field()
|
||||
birthname: string;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user