@meshwatch/backend-core
Version:
Meshwatch backend core services.
23 lines (22 loc) • 1.34 kB
TypeScript
import { Boom, CreateMonitorPayload, UpdateMonitorPayload } from '@meshwatch/types';
import { Dictionary } from 'lodash';
import * as Yup from 'yup';
import { CompleteGettingStartedTaskPayload } from '../models';
interface ValidationSuccess {
error: false;
}
interface ValidationError<T extends Dictionary<any>> {
error: true;
errors: FormErrors<T>;
}
export declare type ValidationResponse<T extends Dictionary<any>> = ValidationSuccess | ValidationError<T>;
declare type OptionalNonFieldErrors = {
non_field_errors?: string;
};
export declare type FormErrors<T> = Partial<T & OptionalNonFieldErrors>;
export declare type TypedBoom<T> = Boom<FormErrors<T>>;
export declare function validateCompleteGettingStartedTaskPayload(payload: CompleteGettingStartedTaskPayload): Promise<ValidationResponse<CompleteGettingStartedTaskPayload>>;
export declare function validateCreateMonitorPayload(payload: CreateMonitorPayload): Promise<ValidationResponse<CreateMonitorPayload>>;
export declare function validateUpdateMonitorPayload(payload: UpdateMonitorPayload): Promise<ValidationResponse<UpdateMonitorPayload>>;
export declare function validate<T extends Dictionary<any>>(schema: Yup.ObjectSchema<Yup.Shape<object, T>>, payload: T, options?: Yup.ValidateOptions): Promise<ValidationResponse<T>>;
export {};