import { IsDate, IsNotEmpty, ValidateNested } from "class-validator"; import Document from "./Document"; import Resource from "../Resource"; import { Expose, Type } from "class-transformer"; export default class File extends Resource { @Expose() @IsNotEmpty({ groups: ["updateFile"], message: "UID is required" }) public uid?: string; @Expose() @IsNotEmpty({ groups: ["createFile"], message: "Document is required" }) @ValidateNested({ groups: ["createFile"] }) @Type(() => Document) public document?: Document; @Expose() public file_name!: string; @Expose() public file_path!: string; @Expose() public mimetype!: string; @Expose() public size!: number; @Expose() @IsDate() public archived_at: Date | null = null; @Expose() @IsDate() public created_at: Date | null = null; @Expose() @IsDate() public updated_at: Date | null = null; }