very-express
Version:
based on json schema and openapi, generate Express RestApi server with mongoDb
49 lines (40 loc) • 918 B
text/typescript
/**
* Generated by veryExpress@0.6.3-alpha
* https://github.com/Justin26l/VeryExpress
*/
export type FieldOperators = {
$in?: string[] | number[];
$nin?: string[] | number[];
$gt?: number | string;
$gte?: number | string;
$lt?: number | string;
$lte?: number | string;
$like?: string;
$raw?: string;
};
export type FieldFilter<V> = V | FieldOperators;
export type Select = string[];
export type Filter<T = any> = {
[K in keyof T]?: FieldFilter<T[K]>;
} & {
$and?: Filter<T>[];
$or?: Filter<T>[];
};
export type Join = string[];
export type SortOrder = "ASC" | "DESC";
export type VexPagination = {
page?: number;
perPage?: number;
sort?: Record<string, SortOrder>;
};
export type PaginatedResult<T> = {
data: T[];
total?: number;
page?: number;
perPage?: number;
};
export interface VexRequest<T = any> {
select?: Select;
filter?: Filter<T>;
join?: Join;
};