import { Prisma, PrismaClient } from "../types-prisma"; import { IncomingMessage } from "http"; import type { NextApiRequest } from "next"; import { AdminFormData, EditFieldsOptions, EditOptions, Field, Model, ModelAction, ModelName, ModelWithoutRelationships, NextAdminOptions, OutputModelAction, Schema, SchemaDefinitions, UploadedFile } from "../types"; export declare const getJsonSchema: () => Schema; export declare const enumValueForEnumType: (definition: Schema["definitions"][ModelName], value: string) => string | false | undefined; export declare const getEnableToExecuteActions: (resource: M, prisma: PrismaClient, ids: string[] | number[], actions?: Omit, "action">[]) => Promise; export declare const getModelIdProperty: (model: ModelName) => string; export declare const modelHasIdField: (model: ModelName) => boolean; export declare const getResources: (options?: NextAdminOptions) => Prisma.ModelName[]; export declare const getToStringForRelations: (modelName: M, fieldName: Field, modelNameRelation: ModelName, options?: NextAdminOptions) => any; export declare const getToStringForModel: (options: Required["model"][M]) => ((item: Model) => string) | undefined; /** * Fill fields with relations with the values of the related model, and inject them into the schema * * @param schema * @param prisma * @param requestOptions * @param options * * @returns schema */ export declare const fillRelationInSchema: (resource: ModelName, options?: NextAdminOptions) => (schema: Schema) => Promise; /** * This is used to transform the data from server to client */ export declare const transformData: (data: any, resource: M, editOptions: EditOptions, options?: NextAdminOptions) => any; /** * Fill fields in data with the their values and url for the related model * * @param data * @param schema * * @returns data * */ export declare const findRelationInData: (data: any[], schema: SchemaDefinitions[ModelName]) => any[]; export declare const parseFormData: (formData: AdminFormData, schemaResource: SchemaDefinitions[ModelName], editFieldOptions?: EditFieldsOptions) => Partial>; export declare const formatId: (resource: ModelName, id: string) => string | number; /** * Convert the form data to the format expected by Prisma * * @param formData * @param schema * @param resource * @param resourceId * @param editOptions * @param prisma */ export declare const formattedFormData: (formData: AdminFormData, schema: Schema, resource: M, resourceId: string | number | undefined, editOptions: EditFieldsOptions | undefined, prisma: PrismaClient) => Promise<{ formattedData: any; complementaryFormattedData: any; errors: { field: string; message: string; }[]; }>; /** * Convert the search fields to the format expected by Prisma * * * @param uri * @returns * * @example * * ```js * const uri = "search=foo&searchFields=bar&searchFields=baz"; * const searchFields = formatSearchFields(uri); * console.log(searchFields); * // { search: 'foo', searchFields: [ 'bar', 'baz' ] } * ``` * */ export declare const formatSearchFields: (uri: string) => { [k: string]: string; }; /** * * Centralizes the transformation of the schema * * @param resource * @param edit * @param prisma * @param searchParams * @param options * @returns */ export declare const transformSchema: (resource: M, edit: EditOptions, options?: NextAdminOptions) => (x: Schema) => Promise; export declare const applyVisiblePropertiesInSchema: (resource: M, edit: EditOptions, data: any, schema: Schema) => Schema; export declare const changeFormatInSchema: (resource: M, editOptions: EditOptions) => (schema: Schema) => Schema; export declare const removeHiddenProperties: (resource: M, editOptions: EditOptions) => (schema: Schema) => Schema; export declare const addCustomProperties: (resource: M, editOptions: EditOptions) => (schema: Schema) => Schema; export declare const applyArrayMaxLength: (resource: M, editOptions: EditOptions) => (schema: Schema) => Schema; export declare const getResourceFromParams: (params: string[], resources: Prisma.ModelName[]) => any; /** * Convert the following urls to an array of params: * * - /admin/User -> ["User"] * - /admin/User/1 -> ["User", "1"] * - /_next/data/admin/User.json -> ["User"] * - /_next/data/admin/User/1.json -> ["User", "1"] * - /_next/data/development/admin/User.json -> ["User"] * - /_next/data/development/admin/User/1.json -> ["User", "1"] */ export declare const getParamsFromUrl: (url: string, basePath: string) => string[]; export declare const getResourceIdFromParam: (param: string, resource: ModelName) => string | number | undefined; export declare const getFormDataValues: (req: IncomingMessage) => Promise>; export declare const getFormValuesFromFormData: (formData: FormData, editFieldOptions?: EditFieldsOptions) => Promise>; export declare const getJsonBody: (req: NextApiRequest) => Promise; export declare const getBody: (req: IncomingMessage) => Promise; //# sourceMappingURL=server.d.ts.map