UNPKG

@meshwatch/backend-core

Version:

Meshwatch backend core services.

23 lines (22 loc) 1.34 kB
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 {};