UNPKG

@terabits/grapi

Version:

Grapi Schema Generator For GraphQL Server

49 lines (48 loc) 1.78 kB
import { ListFindQuery } from '..'; import { Model, RelationType } from '../dataModel'; import { Relation } from './interface'; export default class ManyToMany implements Relation { private readonly modelA; private readonly modelB; private readonly modelAField; private readonly modelBField; constructor({ modelA, modelB, modelAField, modelBField, }: { modelA: Model; modelB: Model; modelAField: string; modelBField?: string; }); getType(): RelationType; getModelA(): Model; getModelAField(): string; getModelB(): Model; getModelBField(): string; addId({ modelAId, modelBId }: { modelAId: string; modelBId: string; }, context: any): Promise<void>; private createAndAddIdFromRefSide; createAndAddIdForModelA({ modelAId, modelBData }: { modelAId: string; modelBData: Record<string, any>; }, context: any): Promise<void>; createAndAddIdForModelB({ modelBId, modelAData }: { modelBId: string; modelAData: Record<string, any>; }, context: any): Promise<any>; removeId({ modelAId, modelBId }: { modelAId: string; modelBId: string; }, context: any): Promise<void>; deleteAndRemoveIdFromModelA({ modelAId, modelBId }: { modelAId: string; modelBId: string; }, context: any): Promise<void>; deleteAndRemoveIdFromModelB({ modelAId, modelBId }: { modelAId: string; modelBId: string; }, context: any): Promise<void>; joinModelA(modelBId: string, argument: Record<string, any>, context: any): Promise<any[]>; joinModelB(modelAId: string, argument: Record<string, any>, context: any): Promise<any[]>; listFindQuery(argument: Record<string, any>): ListFindQuery; }