@algochad/prisma-core
Version:
A comprehensive NestJS library that provides EF-Core-like operations using Prisma and GraphQL. Features LINQ-style query builders, advanced data manipulation, GraphQL integration with genql, and a unified API for both Prisma and GraphQL operations. Includ
57 lines (56 loc) • 2.39 kB
TypeScript
import { IGenQLClient } from '../../collections/graphql/graphql-queryable';
export declare class GraphQLMutationBuilder<TModel, TCreateInput, TUpdateInput, TWhereUniqueInput, TWhereInput> {
private genqlClient;
private operationNames;
constructor(genqlClient: IGenQLClient, operationNames: {
create: string;
createMany?: string;
update: string;
updateMany?: string;
upsert?: string;
delete: string;
deleteMany?: string;
});
static create<TModel, TCreateInput, TUpdateInput, TWhereUniqueInput, TWhereInput>(genqlClient: IGenQLClient, operationNames: {
create: string;
createMany?: string;
update: string;
updateMany?: string;
upsert?: string;
delete: string;
deleteMany?: string;
}): GraphQLMutationBuilder<TModel, TCreateInput, TUpdateInput, TWhereUniqueInput, TWhereInput>;
static createFrom<TModel, TCreateInput, TUpdateInput, TWhereUniqueInput, TWhereInput>(builder: GraphQLMutationBuilder<any, any, any, any, any>, genqlClient: IGenQLClient, operationNames: {
create: string;
createMany?: string;
update: string;
updateMany?: string;
upsert?: string;
delete: string;
deleteMany?: string;
}): GraphQLMutationBuilder<TModel, TCreateInput, TUpdateInput, TWhereUniqueInput, TWhereInput>;
Create(data: TCreateInput, select?: any): Promise<TModel>;
CreateMany(data: TCreateInput[], returnCount?: boolean): Promise<{
count: number;
} | TModel[]>;
Update(where: TWhereUniqueInput, data: TUpdateInput, select?: any): Promise<TModel>;
UpdateMany(where: TWhereInput, data: TUpdateInput): Promise<{
count: number;
}>;
Upsert(where: TWhereUniqueInput, create: TCreateInput, update: TUpdateInput, select?: any): Promise<TModel>;
Delete(where: TWhereUniqueInput, select?: any): Promise<TModel>;
DeleteMany(where: TWhereInput): Promise<{
count: number;
}>;
BulkUpsert(records: Array<{
where: TWhereUniqueInput;
create: TCreateInput;
update: TUpdateInput;
}>): Promise<TModel[]>;
ExecuteCustomMutation(operationName: string, args: any, selection?: any): Promise<any>;
ExecuteBatch(mutations: Array<{
operationName: string;
args: any;
selection?: any;
}>): Promise<any[]>;
}