16 lines
617 B
TypeScript
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);
|
|
}
|
|
} |