Added Expose on all fields

This commit is contained in:
Vincent Alamelle 2023-05-03 15:55:44 +02:00
parent 84a49150d7
commit 2e34ed2d92
18 changed files with 155 additions and 18 deletions

View File

@ -2,30 +2,38 @@ import { IsNotEmpty, IsDate } from "class-validator";
import Contact from "./Contact";
import Office from "./Office";
import Resource from "../Resource";
import { Type } from "class-transformer";
import { Expose, Type } from "class-transformer";
export default class Address extends Resource {
@Expose()
public uid?: string;
@Expose()
@IsNotEmpty({ groups: ["createCustomer" , "createOffice", "updateCustomer"], message: "Address is required" })
public address!: string;
@Expose()
@IsNotEmpty({ groups: ["createCustomer" , "createOffice", "updateCustomer"], message: "City is required" })
public city!: string;
@Expose()
@IsNotEmpty({ groups: ["createCustomer" , "createOffice", "updateCustomer"], message: "State is required" })
public zip_code!: number;
@Expose()
@IsDate()
public created_at: Date | null = null;
@Expose()
@IsDate()
public updated_at: Date | null = null;
@Expose()
@Type(() => Office)
public office?: Office | null = null;
@Expose()
@Type(() => Contact)
public contact?: Contact | null = null;
}

View File

@ -3,53 +3,66 @@ import Address from "./Address";
import Customer from ".";
import User from "../Notary";
import Resource from "../Resource";
import { Type } from "class-transformer";
import { Expose, Type } from "class-transformer";
export default class Contact extends Resource {
@Expose()
@IsNotEmpty({ groups: ["update"] ,message: "UID is required" })
public uid?: string;
@Expose()
@IsOptional({ groups: ["updateCustomer"]})
@IsNotEmpty({ groups: ["createCustomer", "updateCustomer"], message: "First name is required" })
public first_name!: string;
@Expose()
@IsOptional({ groups: ["updateCustomer"]})
@IsNotEmpty({ groups: ["createCustomer", "updateCustomer"], message: "Last name is required" })
public last_name!: string;
@Expose()
@IsOptional({ groups: ["updateCustomer"]})
@IsNotEmpty({ groups: ["createCustomer", "updateCustomer"] })
@IsEmail({}, { groups: ["createCustomer", "updateCustomer"], message: "Email is not valid" })
public email!: string;
@Expose()
@IsOptional({ groups: ["updateCustomer"]})
@IsNotEmpty({ groups: ["createCustomer", "updateCustomer"] })
public cell_phone_number!: string;
@Expose()
@IsOptional()
public phone_number?: string;
@Expose()
@IsOptional({ groups: ["updateCustomer"]})
@IsNotEmpty({ groups: ["createCustomer", "updateCustomer"], message: "Civility is required" })
public civility!: ECivility | string;
@Expose()
@IsOptional({ groups: ["createCustomer", "updateCustomer"]})
@ValidateNested({ groups: ["createCustomer", "updateCustomer"] })
@Type(() => Address)
public address?: Address;
@Expose()
@IsDate()
public birthdate?: Date | null = null;
@Expose()
@IsDate()
public created_at: Date | null = null;
@Expose()
@IsDate()
public updated_at: Date | null = null;
@Expose()
@Type(() => User)
public user?: User | null = null;
@Expose()
@Type(() => Customer)
public customer?: Customer | null = null;
}

View File

@ -6,29 +6,36 @@ import {
import { Contact, Document } from ".";
import OfficeFolderHasCustomer from "./OfficeFolderHasCustomer";
import Resource from "../Resource";
import { Type } from "class-transformer";
import { Expose, Type } from "class-transformer";
export default class Customer extends Resource {
@Expose()
@IsNotEmpty({ groups: ["updateFolder"] ,message: "UID is required" })
public uid?: string;
@Expose()
@IsNotEmpty({ groups: ["updateCustomer"], message: "Status is required" })
public status!: ECustomerStatus | string;
@Expose()
@IsNotEmpty({ groups: ["createCustomer", "updateCustomer"], message: "Contact is required" })
@ValidateNested({ groups: ["createCustomer", "updateCustomer"] })
@Type(() => Contact)
public contact!: Contact;
@Expose()
@IsDate()
public created_at: Date | null = null;
@Expose()
@IsDate()
public updated_at: Date | null = null;
@Expose()
@Type(() => OfficeFolderHasCustomer)
office_folder_has_customers?: OfficeFolderHasCustomer[];
@Expose()
@Type(() => Document)
documents?: Document[];
}

View File

@ -3,25 +3,31 @@ import DeedType from "./DeedType";
import DeedHasDocumentType from "./DeedHasDocumentType";
import OfficeFolder from "./OfficeFolder";
import Resource from "../Resource";
import { Type } from "class-transformer";
import { Expose, Type } from "class-transformer";
export default class Deed extends Resource{
@Expose()
public uid?: string;
@Expose()
@IsNotEmpty({ groups: ["createFolder"], message: "Deed type is required" })
@ValidateNested({ groups: ["createFolder"] })
@Type(() => DeedType)
public deed_type!: DeedType;
@Expose()
@IsDate()
public created_at: Date | null = null;
@Expose()
@IsDate()
public updated_at: Date | null = null;
@Expose()
@Type(() => DeedHasDocumentType)
public deed_has_document_types?: DeedHasDocumentType[];
@Expose()
@Type(() => OfficeFolder)
public office_folder?: OfficeFolder;
}

View File

@ -2,20 +2,25 @@ import { IsDate } from "class-validator";
import Deed from "./Deed";
import DocumentType from "./DocumentType";
import Resource from "../Resource";
import { Type } from "class-transformer";
import { Expose, Type } from "class-transformer";
export default class DeedHasDocumentType extends Resource {
@Expose()
public uid?: string;
@Expose()
@Type(() => DocumentType)
public document_type!: DocumentType;
@Expose()
@Type(() => Deed)
public deed!: Deed;
@Expose()
@IsDate()
public created_at: Date | null = null;
@Expose()
@IsDate()
public updated_at: Date | null = null;
}

View File

@ -8,35 +8,44 @@ import Deed from "./Deed";
import DeedTypeHasDocumentType from "./DeedTypeHasDocumentType";
import Office from "./Office";
import Resource from "../Resource";
import { Type } from "class-transformer";
import { Expose, Type } from "class-transformer";
export default class DeedType extends Resource {
@Expose()
@IsNotEmpty({ groups: ["createFolder"] ,message: "UID is required" })
public uid?: string;
@Expose()
@IsNotEmpty({ groups: ["createDeedType"], message: "Name is required" })
public name!: string;
@Expose()
@IsNotEmpty({ groups: ["createDeedType"], message: "Description is required" })
public description!: string;
@Expose()
@IsDate()
public archived_at: Date | null = null;
@Expose()
@IsNotEmpty({ groups: ["createDeedType"], message: "Office is required" })
@ValidateNested({ groups: ["createDeedType"] })
@Type(() => Office)
public office!: Office;
@Expose()
@IsDate()
public created_at: Date | null = null;
@Expose()
@IsDate()
public updated_at: Date | null = null;
@Expose()
@Type(() => Deed)
public deed?: Deed[];
@Expose()
@IsOptional({ groups: ["createDeedType"] })
@ValidateNested({ groups: ["createDeedType"] })
@Type(() => DeedTypeHasDocumentType)

View File

@ -2,22 +2,27 @@ import { IsNotEmpty, IsDate, ValidateNested } from "class-validator";
import DeedType from "./DeedType";
import DocumentType from "./DocumentType";
import Resource from "../Resource";
import { Type } from "class-transformer";
import { Expose, Type } from "class-transformer";
export default class DeedTypeHasDocumentType extends Resource {
@Expose()
public uid?: string;
@Expose()
@IsNotEmpty({ groups: ["createDeedType"], message: "Document type is required" })
@ValidateNested({ groups: ["createDeedType"] })
@Type(() => DocumentType)
public document_type!: DocumentType;
@Expose()
@Type(() => DeedType)
public deed_type!: DeedType;
@Expose()
@IsDate()
public created_at: Date | null = null;
@Expose()
@IsDate()
public updated_at: Date | null = null;
}

View File

@ -9,38 +9,47 @@ import DocumentType from "./DocumentType";
import File from "./File";
import OfficeFolder from "./OfficeFolder";
import Resource from "../Resource";
import { Type } from "class-transformer";
import { Expose, Type } from "class-transformer";
export default class Document extends Resource {
@Expose()
@IsNotEmpty({ groups: ["createDocument"] ,message: "UID is required" })
public uid?: string;
@Expose()
public document_status!: EDocumentStatus | string;
@Expose()
@IsNotEmpty({ groups: ["createDocument", "updateFolder"], message: "Document type is required" })
@ValidateNested({ groups: ["createDocument"] })
@Type(() => DocumentType)
public document_type!: DocumentType;
@Expose()
@IsNotEmpty({ groups: ["createDocument"], message: "Folder is required" })
@ValidateNested({ groups: ["createDocument"] })
@Type(() => OfficeFolder)
public folder!: OfficeFolder;
@Expose()
@IsNotEmpty({ groups: ["createDocument", "updateFolder"], message: "Depositor is required" })
@ValidateNested({ groups: ["createDocument"] })
@Type(() => Customer)
public depositor!: Customer;
@Expose()
@IsDate()
public created_at: Date | null = null;
@Expose()
@IsDate()
public updated_at: Date | null = null;
@Expose()
@Type(() => File)
public files?: File[];
@Expose()
@Type(() => DocumentHistory)
public document_history?: DocumentHistory[];
}

View File

@ -1,21 +1,27 @@
import { IsDate } from "class-validator";
import { default as Document, EDocumentStatus } from "./Document";
import Resource from "../Resource";
import { Type } from "class-transformer";
import { Expose, Type } from "class-transformer";
export default class DocumentHistory extends Resource {
@Expose()
public uid?: string;
@Expose()
public document_status!: EDocumentStatus | string;
@Expose()
@Type(() => Document)
public document!: Document;
@Expose()
public refused_reason: string | null = null;
@Expose()
@IsDate()
public created_at: Date | null = null;
@Expose()
@IsDate()
public updated_at: Date | null = null;
}

View File

@ -4,41 +4,52 @@ import Document from "./Document";
import DeedTypeHasDocumentType from "./DeedTypeHasDocumentType";
import Office from "./Office";
import Resource from "../Resource";
import { Type } from "class-transformer";
import { Expose, Type } from "class-transformer";
export default class DocumentType extends Resource {
@Expose()
@IsNotEmpty({ groups: ["createDocument" , "createDeedType", "updateFolder"] ,message: "UID is required" })
public uid?: string;
@Expose()
@IsNotEmpty({ groups: ["createDocumentType"], message: "Name is required" })
public name!: string;
@Expose()
@IsNotEmpty({ groups: ["createDocumentType"], message: "Public description is required" })
public public_description!: string;
@Expose()
@IsOptional({ groups: ["createDocumentType"] })
public private_description: string | null = null;
@Expose()
@IsDate()
public archived_at: Date | null = null;
@Expose()
@IsNotEmpty({ groups: ["createDocumentType"], message: "Office is required" })
@ValidateNested({ groups: ["createDocumentType"] })
@Type(() => Office)
public office!: Office;
@Expose()
@IsDate()
public created_at: Date | null = null;
@Expose()
@IsDate()
public updated_at: Date | null = null;
@Expose()
@Type(() => Document)
public documents?: Document[];
@Expose()
@Type(() => DeedHasDocumentType)
public deed_has_document_types?: DeedHasDocumentType[];
@Expose()
@Type(() => DeedTypeHasDocumentType)
public deed_type_has_document_types?: DeedTypeHasDocumentType[];
}

View File

@ -1,19 +1,24 @@
import { IsDate } from "class-validator";
import Document from "./Document";
import Resource from "../Resource";
import { Type } from "class-transformer";
import { Expose, Type } from "class-transformer";
export default class File extends Resource {
@Expose()
public uid?: string;
@Expose()
@Type(() => Document)
public document!: Document;
@Expose()
public file_path!: string;;
@Expose()
@IsDate()
public created_at: Date | null = null;
@Expose()
@IsDate()
public updated_at: Date | null = null;
}

View File

@ -4,22 +4,28 @@ import {
} from "class-validator";
import UserHasNotification from "./UserHasNotification";
import Resource from "../Resource";
import { Type } from "class-transformer";
import { Expose, Type } from "class-transformer";
export default class Notification extends Resource {
@Expose()
public uid?: string;
@Expose()
public message!: string;
@Expose()
@IsUrl()
public redirection_url!: string;
@Expose()
@IsDate()
public created_at: Date | null = null;
@Expose()
@IsDate()
public updated_at: Date | null = null;
@Expose()
@Type(() => UserHasNotification)
user_has_notifications?: UserHasNotification[];
}

View File

@ -8,40 +8,51 @@ import DeedType from "./DeedType";
import OfficeFolder from "./OfficeFolder";
import User from "../Notary/User";
import Resource from "../Resource";
import { Type } from "class-transformer";
import { Expose, Type } from "class-transformer";
export default class Office extends Resource {
@Expose()
@IsNotEmpty({ groups: ["createFolder" , "createDeedType" , "createDocumentType"] ,message: "UID is required" })
public uid?: string;
@Expose()
@IsNotEmpty({ groups: ["createOffice"], message: "ID IdNote is required" })
public idNot!: string;
@Expose()
@IsNotEmpty({ groups: ["createOffice"], message: "Name is required" })
public name!: string;
@Expose()
@IsNotEmpty({ groups: ["createOffice"], message: "CRPCEN is required" })
public crpcen!: string;
@Expose()
@IsNotEmpty({ groups: ["createOffice"], message: "Address is required" })
@ValidateNested({ groups: ["createOffice"] })
@Type(() => Address)
public address!: Address;
@Expose()
public office_status!: EOfficeStatus | string;
@Expose()
@IsDate()
public created_at: Date | null = null;
@Expose()
@IsDate()
public updated_at: Date | null = null;
@Expose()
@Type(() => DeedType)
public deed_types?: DeedType[];
@Expose()
@Type(() => User)
public users?: User[];
@Expose()
@Type(() => OfficeFolder)
public office_folders?: OfficeFolder[];
}

View File

@ -10,56 +10,69 @@ import Office from "./Office";
import OfficeFolderHasCustomer from "./OfficeFolderHasCustomer";
import OfficeFolderHasStakeholder from "./OfficeFolderHasStakeholder";
import Resource from "../Resource";
import { Type } from "class-transformer";
import { Expose, Type } from "class-transformer";
export default class OfficeFolder extends Resource {
@Expose()
@IsNotEmpty({ groups: ["createDocument"] ,message: "UID is required" })
public uid?: string;
@Expose()
@IsOptional({ groups : ["updateFolder"]})
@IsNotEmpty({ groups: ["createFolder"], message: "Folder number is required" })
public folder_number!: string;
@Expose()
@IsOptional({ groups : ["updateFolder"]})
@IsNotEmpty({ groups: ["createFolder"], message: "Name is required" })
public name!: string;
@Expose()
@IsOptional({ groups : ["updateFolder"]})
@IsNotEmpty({ groups: ["createFolder"], message: "Description is required" })
public description: string | null = null;
@Expose()
@IsOptional({ groups : ["updateFolder"]})
public archived_description: string | null = null;
@Expose()
@IsOptional({ groups : ["updateFolder"]})
public status: EFolderStatus | string = EFolderStatus.LIVE;
@Expose()
@IsNotEmpty({ groups: ["createFolder"], message: "Deed is required" })
@ValidateNested({ groups: ["createFolder"] })
@Type(() => Deed)
public deed!: Deed;
@Expose()
@IsNotEmpty({ groups: ["createFolder"], message: "Office is required" })
@ValidateNested({ groups: ["createFolder"] })
@Type(() => Office)
public office!: Office;
@Expose()
@IsDate()
public created_at: Date | null = null;
@Expose()
@IsDate()
public updated_at: Date | null = null;
@Expose()
@IsOptional({ groups: ["updateFolder"] })
@ValidateNested({ groups: ["updateFolder"] })
@Type(() => OfficeFolderHasCustomer)
office_folder_has_customers?: OfficeFolderHasCustomer[];
@Expose()
@IsOptional({ groups: ["updateFolder"] })
@ValidateNested({ groups: ["createFolder", "updateFolder"] })
@Type(() => OfficeFolderHasStakeholder)
office_folder_has_stakeholder?: OfficeFolderHasStakeholder[];
@Expose()
@IsOptional({ groups: ["updateFolder"] })
@ValidateNested({ groups: ["updateFolder"] })
@Type(() => Document)

View File

@ -2,22 +2,27 @@ import { IsNotEmpty, IsDate, ValidateNested } from "class-validator";
import Customer from ".";
import OfficeFolder from "./OfficeFolder";
import Resource from "../Resource";
import { Type } from "class-transformer";
import { Expose, Type } from "class-transformer";
export default class OfficeFolderHasCustomer extends Resource {
@Expose()
public uid?: string;
@Expose()
@IsNotEmpty({ groups: ["updateFolder"], message: "Customer is required" })
@ValidateNested({ groups: ["updateFolder"] })
@Type(() => Customer)
public customer!: Customer;
@Expose()
@Type(() => OfficeFolder)
public office_folder!: OfficeFolder;
@Expose()
@IsDate()
public created_at: Date | null = null;
@Expose()
@IsDate()
public updated_at: Date | null = null;
}

View File

@ -2,22 +2,27 @@ import { IsNotEmpty, IsDate, ValidateNested } from "class-validator";
import OfficeFolder from "./OfficeFolder";
import User from "../Notary/User";
import Resource from "../Resource";
import { Type } from "class-transformer";
import { Expose, Type } from "class-transformer";
export default class OfficeFolderHasStakeholder extends Resource {
@Expose()
public uid?: string;
@Expose()
@IsNotEmpty({ groups: ["createFolder", "updateFolder"], message: "User Stakeholder is required" })
@ValidateNested({ groups: ["createFolder", "updateFolder"] })
@Type(() => User)
public user_stakeholder!: User;
@Expose()
@Type(() => OfficeFolder)
public office_folder?: OfficeFolder;
@Expose()
@IsDate()
public created_at: Date | null = null;
@Expose()
@IsDate()
public updated_at: Date | null = null;
}

View File

@ -2,20 +2,25 @@ import { IsDate } from "class-validator";
import Notification from "./Notification";
import User from "../Notary/User";
import Resource from "../Resource";
import { Type } from "class-transformer";
import { Expose, Type } from "class-transformer";
export default class UserHasNotification extends Resource {
@Expose()
public uid?: string;
@Expose()
@Type(() => User)
public user!: User;
@Expose()
@Type(() => Notification)
public notification!: Notification;
@Expose()
@IsDate()
public created_at: Date | null = null;
@Expose()
@IsDate()
public updated_at: Date | null = null;
}

View File

@ -7,28 +7,36 @@ import Document from "../Customer/Document";
import Office from "../Customer/Office";
import OfficeFolderHasStakeholder from "../Customer/OfficeFolderHasStakeholder";
import Resource from "../Resource";
import { Type } from "class-transformer";
import { Expose, Type } from "class-transformer";
export default class User extends Resource {
@Expose()
@IsNotEmpty({ groups: ["createFolder", "updateFolder"] ,message: "UID is required" })
public uid?: string;
@Expose()
public idNot!: string;
@Expose()
@Type(() => Contact)
public contact!: Contact;
@Expose()
public office_membership!: Office;
@Expose()
@IsDate()
public created_at: Date | null = null;
@Expose()
@IsDate()
public updated_at: Date | null = null;
@Expose()
@Type(() => OfficeFolderHasStakeholder)
office_folder_has_stakeholders?: OfficeFolderHasStakeholder[];
@Expose()
@Type(() => Document)
documents?: Document[];
}