lecoffre-ressources/src/Resource.ts
2023-03-27 15:36:22 +02:00

16 lines
617 B
TypeScript

import { type ClassTransformOptions, plainToClassFromExist } from "class-transformer";
import validator, { IsNotEmpty, ValidatorOptions } from "class-validator";
export default class Resource {
@IsNotEmpty({ message: "UID is required" })
public uid!: string;
public static hydrate<T extends Resource>(from: Partial<T>, options?: ClassTransformOptions) : T {
const self: T = new (this as any);
return plainToClassFromExist(self, from, options);
}
public static validateOrReject(validatorOptions?: ValidatorOptions){
return validator.validateOrReject(this, validatorOptions);
}
}