@premieroctet/next-admin
Version:
Next-Admin provides a customizable and turnkey admin dashboard for applications built with Next.js and powered by the Prisma ORM. It aims to simplify the development process by providing a turnkey admin system that can be easily integrated into your proje
66 lines • 2.54 kB
TypeScript
import type { EditOptions, Enumeration, Filter, FilterWrapper, ListOptions, Model, ModelName, NextAdminContext, NextAdminOptions } from "../types";
import type { PrismaClient } from "../types-prisma";
type CreateWherePredicateParams<M extends ModelName> = {
resource: M;
options?: NextAdminOptions;
search?: string;
otherFilters?: Filter<M>[];
advancedSearch?: string;
};
export declare const createWherePredicate: <M extends ModelName>({ resource, options, search, otherFilters, advancedSearch, }: CreateWherePredicateParams<M>) => {
AND: any[];
};
export declare const mapModelFilters: (filters: ListOptions<ModelName>["filters"]) => Promise<FilterWrapper<ModelName>[]>;
type GetMappedDataListParams = {
prisma: PrismaClient;
resource: ModelName;
options?: NextAdminOptions;
searchParams: URLSearchParams;
context: NextAdminContext;
appDir?: boolean;
};
type OptionsFromResourceParams = {
originResource: ModelName;
property: string;
} & GetMappedDataListParams;
export declare const optionsFromResource: ({ originResource, property, ...args }: OptionsFromResourceParams) => Promise<{
data: Enumeration[];
total: number;
error: string | null;
}>;
export declare const mapDataList: ({ context, appDir, fetchData, ...args }: Pick<GetMappedDataListParams, "resource" | "options" | "context" | "appDir"> & {
fetchData: any[];
}) => any[];
export declare const getMappedDataList: ({ context, appDir, ...args }: GetMappedDataListParams) => Promise<{
data: any[];
total: number;
error: string | null;
rawData: any[];
}>;
export declare const selectPayloadForModel: <M extends ModelName>(resource: M, options?: EditOptions<M> | ListOptions<M>, level?: "scalar" | "object") => any;
export declare const getDataItem: <M extends ModelName>({ prisma, resource, options, resourceId, locale, isAppDir, }: {
options?: NextAdminOptions;
prisma: PrismaClient;
isAppDir?: boolean;
locale?: string;
resource: M;
resourceId: string | number;
}) => Promise<{
data: any;
relationshipsRawData: Record<string, any[]>;
}>;
/**
* Get raw data from Prisma (2-deep nested relations)
* @param prisma
* @param resource
* @param resourceId
* @returns
*/
export declare const getRawData: <M extends ModelName>({ prisma, resource, resourceIds, maxDepth, }: {
prisma: PrismaClient;
resource: M;
resourceIds: Array<string | number>;
maxDepth?: number;
}) => Promise<Model<M>[]>;
export {};
//# sourceMappingURL=prisma.d.ts.map