@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
67 lines (66 loc) • 5.28 kB
TypeScript
import { PrismaUnifiedBuilder } from './core/prisma/prisma-unified-builder';
import { PrismaQueryBuilder } from './core/prisma/prisma-query-builder';
import { PrismaMutationBuilder } from './core/prisma/prisma-mutation-builder';
import { GraphQLUnifiedBuilder } from './core/graphql/graphql-unified-builder';
import { GraphQLQueryBuilder } from './core/graphql/graphql-query-builder';
import { GraphQLMutationBuilder } from './core/graphql/graphql-mutation-builder';
import { IGenQLClient } from './collections/graphql/graphql-queryable';
import { TypedGraphQLRepository, GraphQLRepositoryConfig } from './core/graphql/graphql-repository';
import { GraphQLRepository as UniversalGraphQLRepository } from './core/graphql/graphql-repository-universal';
export declare class PrismaCoreService {
private _prismaClient;
private _graphqlClient;
constructor();
get isInitialized(): boolean;
get isGraphQLInitialized(): boolean;
initialize(prismaClient: any): void;
initializeGraphQL(graphqlClient: IGenQLClient): void;
get client(): any;
get graphqlClient(): IGenQLClient;
model<TModel = any>(modelName: string): PrismaUnifiedBuilder<TModel>;
QueryBuilder<TModel = unknown, TSelect = TModel, TWhereInput = any, TOrderByInput = any, TInclude = any, TSelectInput = any>(modelName: string): PrismaQueryBuilder<TModel, TSelect, TWhereInput, TOrderByInput, TInclude, TSelectInput>;
MutationBuilder<TModel, TCreateInput, TUpdateInput, TWhereUniqueInput, TWhereInput>(modelName: string): PrismaMutationBuilder<TModel, TCreateInput, TUpdateInput, TWhereUniqueInput, TWhereInput>;
Builder<TModel = unknown, TSelect = TModel, TWhereInput = any, TOrderByInput = any, TInclude = any, TSelectInput = any, TCreateInput = any, TUpdateInput = any, TWhereUniqueInput = any>(modelName: string): PrismaUnifiedBuilder<TModel, TSelect, TWhereInput, TOrderByInput, TInclude, TSelectInput, TCreateInput, TUpdateInput, TWhereUniqueInput>;
Query<TModel = unknown, TSelect = TModel, TWhereInput = any, TOrderByInput = any, TInclude = any, TSelectInput = any>(modelName: string): PrismaQueryBuilder<TModel, TSelect, TWhereInput, TOrderByInput, TInclude, TSelectInput>;
Mutate<TModel, TCreateInput, TUpdateInput, TWhereUniqueInput, TWhereInput>(modelName: string): PrismaMutationBuilder<TModel, TCreateInput, TUpdateInput, TWhereUniqueInput, TWhereInput>;
GraphQLQueryBuilder<TModel = unknown, TSelect = TModel, TWhereInput = any, TOrderByInput = any, TInclude = any, TSelectInput = any>(operationName: string): GraphQLQueryBuilder<TModel, TSelect, TWhereInput, TOrderByInput, TInclude, TSelectInput>;
GraphQLMutationBuilder<TModel, TCreateInput, TUpdateInput, TWhereUniqueInput, TWhereInput>(operationNames: {
create: string;
createMany?: string;
update: string;
updateMany?: string;
upsert?: string;
delete: string;
deleteMany?: string;
}): GraphQLMutationBuilder<TModel, TCreateInput, TUpdateInput, TWhereUniqueInput, TWhereInput>;
GraphQLBuilder<TModel = unknown, TSelect = TModel, TWhereInput = any, TOrderByInput = any, TInclude = any, TSelectInput = any, TCreateInput = any, TUpdateInput = any, TWhereUniqueInput = any>(queryOperationName: string, mutationOperationNames: {
create: string;
createMany?: string;
update: string;
updateMany?: string;
upsert?: string;
delete: string;
deleteMany?: string;
}): GraphQLUnifiedBuilder<TModel, TSelect, TWhereInput, TOrderByInput, TInclude, TSelectInput, TCreateInput, TUpdateInput, TWhereUniqueInput>;
GraphQLSubscriptionBuilder<TModel = unknown, TSelect = TModel, TWhereInput = any, TOrderByInput = any, TInclude = any, TSelectInput = any>(operationName: string): GraphQLQueryBuilder<TModel, TSelect, TWhereInput, TOrderByInput, TInclude, TSelectInput>;
GraphQLQuery<TModel = unknown, TSelect = TModel, TWhereInput = any, TOrderByInput = any, TInclude = any, TSelectInput = any>(operationName: string): GraphQLQueryBuilder<TModel, TSelect, TWhereInput, TOrderByInput, TInclude, TSelectInput>;
GraphQLMutate<TModel, TCreateInput, TUpdateInput, TWhereUniqueInput, TWhereInput>(operationNames: {
create: string;
createMany?: string;
update: string;
updateMany?: string;
upsert?: string;
delete: string;
deleteMany?: string;
}): GraphQLMutationBuilder<TModel, TCreateInput, TUpdateInput, TWhereUniqueInput, TWhereInput>;
GraphQLRepository<T extends TypedGraphQLRepository<any>>(repositoryClass: new (client: IGenQLClient, config: GraphQLRepositoryConfig) => T, config: GraphQLRepositoryConfig): T;
GraphQLCrudRepository<T extends TypedGraphQLRepository<any>>(repositoryClass: new (client: IGenQLClient, config: GraphQLRepositoryConfig) => T, modelName: string, options?: {
queryOperationName?: string;
pluralName?: string;
subscriptions?: string[];
}): T;
get graphqlRepository(): UniversalGraphQLRepository;
static createWithClient(prismaClient: any): PrismaCoreService;
static createWithGraphQLClient(graphqlClient: IGenQLClient): PrismaCoreService;
static createWithBothClients(prismaClient: any, graphqlClient: IGenQLClient): PrismaCoreService;
}