56 lines
1.5 KiB
TypeScript
56 lines
1.5 KiB
TypeScript
export * from "../Customer/DeedType";
|
|
import { Expose, Type } from "class-transformer";
|
|
import DeedTypeCustomer from "../Customer/DeedType";
|
|
import {
|
|
IsDate,
|
|
IsNotEmpty,
|
|
IsOptional,
|
|
NotEquals,
|
|
ValidateNested,
|
|
} from "class-validator";
|
|
import DocumentType from "./DocumentType";
|
|
import Deed from "./Deed";
|
|
import Office from "./Office";
|
|
|
|
export default class DeedType extends DeedTypeCustomer {
|
|
@Expose()
|
|
@IsNotEmpty({ groups: ["createFolder"], message: "UID is required" })
|
|
public override uid?: string;
|
|
|
|
@Expose()
|
|
@IsNotEmpty({
|
|
groups: ["createDeedType"],
|
|
message: "Nom du type d'acte ne peut pas être vide",
|
|
})
|
|
@NotEquals(null || "", {
|
|
groups: ["updateDeedType"],
|
|
message: "Nom du type d'acte ne peut pas être vide",
|
|
})
|
|
public override name!: string;
|
|
|
|
@Expose()
|
|
@IsOptional({ groups: ["updateDocumentType"] })
|
|
@IsOptional({ groups: ["createDocumentType"] })
|
|
public override description!: string;
|
|
|
|
@Expose()
|
|
@IsDate()
|
|
public override archived_at: Date | null = null;
|
|
|
|
@Expose()
|
|
@IsNotEmpty({ groups: ["createDeedType"], message: "Office is required" })
|
|
@ValidateNested({ groups: ["createDeedType"] })
|
|
@Type(() => Office)
|
|
public override office?: Office;
|
|
|
|
@Expose()
|
|
@Type(() => Deed)
|
|
public override deed?: Deed[];
|
|
|
|
@Expose()
|
|
@IsOptional({ groups: ["createDeedType", "updateDeedType"] })
|
|
@ValidateNested({ groups: ["createDeedType", "updateDeedType"] })
|
|
@Type(() => DocumentType)
|
|
public override document_types?: DocumentType[];
|
|
}
|