UNPKG

@terabits/grapi

Version:

Grapi Schema Generator For GraphQL Server

40 lines (39 loc) 1.68 kB
import { Model, RelationType } from '../dataModel'; import { Relation, WithForeignKey } from './interface'; export default class OneToMany implements Relation, WithForeignKey { private oneSideModel; private manySideModel; private oneSideField; private manySideField?; private foreignKey; constructor({ oneSideModel, manySideModel, oneSideField, manySideField, foreignKey, }: { oneSideModel: Model; manySideModel: Model; oneSideField: string; manySideField?: string; foreignKey?: string; }); getType(): RelationType; getForeignKey(): string; getForeignKeyConfig(): any; getOneSideField(): string; getManySideField(): string; setForeignKeyOnManySide(targetId: string): { [x: string]: string; }; createAndSetForeignKeyOnManySide(targetData: Record<string, any>, context: any): Promise<{ [x: string]: string; }>; unsetForeignKeyOnManySide(): { [x: string]: string; }; destroyAndUnsetForeignKeyOnManySide(data: Record<string, any>, context: any): Promise<{ [x: string]: string; }>; addIdFromOneSide(oneSideId: string, manySideId: string, context: any): Promise<void>; createAndAddFromOneSide(oneSideId: string, manySideData: any, context: any): Promise<void>; removeIdFromOneSide(oneSideId: string, manySideId: string, context: any): Promise<void>; deleteRecordFromOneSide(manySideId: string, context: any): Promise<void>; joinManyOnOneSide(data: Record<string, any>, argument: Record<string, any>, context: any): Promise<any[]>; joinOneOnManySide(data: Record<string, any>, context: any): Promise<any>; }