@vzeta/camunda-api-zod-schemas
Version:
Zod schemas and TypeScript types for Camunda 8 unified API
121 lines (120 loc) • 5.91 kB
TypeScript
import { z } from 'zod';
declare const API_VERSION = "v2";
declare const advancedDateTimeFilterSchema: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
$eq: z.ZodOptional<z.ZodString>;
$neq: z.ZodOptional<z.ZodString>;
$exists: z.ZodOptional<z.ZodBoolean>;
$gt: z.ZodOptional<z.ZodString>;
$gte: z.ZodOptional<z.ZodString>;
$lt: z.ZodOptional<z.ZodString>;
$lte: z.ZodOptional<z.ZodString>;
$in: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>]>;
type AdvancedDateTimeFilter = z.infer<typeof advancedDateTimeFilterSchema>;
declare const basicStringFilterSchema: z.ZodUnion<[z.ZodObject<{
$eq: z.ZodOptional<z.ZodString>;
$neq: z.ZodOptional<z.ZodString>;
$exists: z.ZodOptional<z.ZodBoolean>;
$in: z.ZodOptional<z.ZodArray<z.ZodString>>;
$notIn: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>, z.ZodString]>;
type BasicStringFilter = z.infer<typeof basicStringFilterSchema>;
declare const advancedStringFilterSchema: z.ZodUnion<[z.ZodObject<{
$eq: z.ZodOptional<z.ZodString>;
$neq: z.ZodOptional<z.ZodString>;
$exists: z.ZodOptional<z.ZodBoolean>;
$in: z.ZodOptional<z.ZodArray<z.ZodString>>;
$notIn: z.ZodOptional<z.ZodArray<z.ZodString>>;
$like: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, z.ZodString]>;
type AdvancedStringFilter = z.infer<typeof advancedStringFilterSchema>;
declare const advancedIntegerFilterSchema: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
$eq: z.ZodOptional<z.ZodNumber>;
$neq: z.ZodOptional<z.ZodNumber>;
$exists: z.ZodOptional<z.ZodBoolean>;
$gt: z.ZodOptional<z.ZodNumber>;
$gte: z.ZodOptional<z.ZodNumber>;
$lt: z.ZodOptional<z.ZodNumber>;
$lte: z.ZodOptional<z.ZodNumber>;
$in: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
}, z.core.$strip>]>;
type AdvancedIntegerFilter = z.infer<typeof advancedIntegerFilterSchema>;
declare function getOrFilterSchema<T extends z.ZodRawShape>(schema: z.ZodObject<T>): z.ZodObject<T & {
$or: z.ZodOptional<z.ZodArray<z.ZodObject<T, z.core.$strip>>>;
} extends infer T_1 ? { -readonly [P in keyof T_1]: (T & {
$or: z.ZodOptional<z.ZodArray<z.ZodObject<T, z.core.$strip>>>;
})[P]; } : never, z.core.$strip>;
declare const problemDetailsSchema: z.ZodObject<{
type: z.ZodString;
title: z.ZodString;
status: z.ZodNumber;
detail: z.ZodString;
instance: z.ZodString;
}, z.core.$strip>;
type ProblemDetails = z.infer<typeof problemDetailsSchema>;
declare const querySortOrderSchema: z.ZodEnum<{
asc: "asc";
desc: "desc";
}>;
type QuerySortOrder = z.infer<typeof querySortOrderSchema>;
declare const queryPageSchema: z.ZodObject<{
from: z.ZodOptional<z.ZodNumber>;
limit: z.ZodOptional<z.ZodNumber>;
before: z.ZodOptional<z.ZodOptional<z.ZodString>>;
after: z.ZodOptional<z.ZodOptional<z.ZodString>>;
}, z.core.$strip>;
type QueryPage = z.infer<typeof queryPageSchema>;
declare const queryResponsePageSchema: z.ZodObject<{
totalItems: z.ZodNumber;
startCursor: z.ZodOptional<z.ZodString>;
endCursor: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
type QueryResponsePage = z.infer<typeof queryResponsePageSchema>;
interface QueryResponseBody<Item> {
items: Item[];
page: QueryResponsePage;
}
declare function getQueryResponseBodySchema<ItemSchema extends z.ZodTypeAny>(itemSchema: ItemSchema): z.ZodType<QueryResponseBody<z.infer<ItemSchema>>>;
declare function getCollectionResponseBodySchema<ItemSchema extends z.ZodTypeAny>(itemSchema: ItemSchema): z.ZodType<{
items: z.infer<ItemSchema>[];
}>;
declare function getEnumFilterSchema<T extends Readonly<Record<string, string>>>(fields: z.ZodEnum<T>): z.ZodUnion<readonly [z.ZodEnum<T>, z.ZodObject<{
$eq: z.ZodOptional<z.ZodEnum<T>>;
$neq: z.ZodOptional<z.ZodEnum<T>>;
$exists: z.ZodOptional<z.ZodBoolean>;
$in: z.ZodOptional<z.ZodArray<z.ZodEnum<T>>>;
$notIn: z.ZodOptional<z.ZodArray<z.ZodEnum<T>>>;
}, z.core.$strip>]>;
declare function getQueryRequestBodySchema<FilterSchema extends z.ZodTypeAny, SortFields extends [string, ...string[]]>(options: {
sortFields: SortFields;
filter: FilterSchema;
}): z.ZodObject<{
sort: z.ZodOptional<z.ZodArray<z.ZodObject<{
field: z.ZodEnum<{ [k_1 in SortFields[number]]: k_1; } extends infer T ? { [k in keyof T]: { [k_1 in SortFields[number]]: k_1; }[k]; } : never>;
order: z.ZodOptional<z.ZodEnum<{
asc: "asc";
desc: "desc";
}>>;
}, z.core.$strip>>>;
page: z.ZodOptional<z.ZodObject<{
from: z.ZodOptional<z.ZodNumber>;
limit: z.ZodOptional<z.ZodNumber>;
before: z.ZodOptional<z.ZodOptional<z.ZodString>>;
after: z.ZodOptional<z.ZodOptional<z.ZodString>>;
}, z.core.$strip>>;
filter: z.ZodOptional<FilterSchema>;
}, z.core.$strip>;
interface Endpoint<URLParams extends object | undefined = undefined> {
getUrl: URLParams extends undefined ? () => string : {} extends URLParams ? (params?: URLParams) => string : (params: URLParams) => string;
method: string;
}
declare const problemDetailResponseSchema: z.ZodObject<{
type: z.ZodString;
title: z.ZodString;
status: z.ZodNumber;
detail: z.ZodString;
instance: z.ZodString;
}, z.core.$strip>;
type ProblemDetailsResponse = z.infer<typeof problemDetailResponseSchema>;
export { API_VERSION, advancedDateTimeFilterSchema, basicStringFilterSchema, advancedStringFilterSchema, advancedIntegerFilterSchema, problemDetailsSchema, querySortOrderSchema, queryPageSchema, queryResponsePageSchema, getCollectionResponseBodySchema, getQueryResponseBodySchema, getQueryRequestBodySchema, getEnumFilterSchema, getOrFilterSchema, problemDetailResponseSchema, };
export type { AdvancedDateTimeFilter, BasicStringFilter, AdvancedStringFilter, AdvancedIntegerFilter, ProblemDetails, QuerySortOrder, QueryPage, Endpoint, QueryResponseBody, ProblemDetailsResponse, };