@scalars/grapi-mongodb
Version:
The mongodb package of Grapi
21 lines (20 loc) • 1.29 kB
TypeScript
import { DataSource, ListFindQuery, Mutation, PaginatedResponse, Where } from '@scalars/grapi';
import { Db } from 'mongodb';
import { MongodbData } from './mongodbData';
export declare class MongodbDataSource extends MongodbData implements DataSource {
constructor(db: Db, collectionName: string);
find(args?: ListFindQuery): Promise<PaginatedResponse>;
findOne({ where }: {
where: Where;
}): Promise<any>;
findOneById(id: string): Promise<any>;
create(mutation: Mutation): Promise<any>;
update(where: Where, mutation: Mutation): Promise<any>;
delete(where: Where): Promise<any>;
findOneByRelation(foreignKey: string, foreignId: string): Promise<any>;
updateOneRelation(id: string, foreignKey: string, foreignId: string): Promise<any>;
findManyFromOneRelation({ where, orderBy }: ListFindQuery): Promise<any[]>;
findManyFromManyRelation(sourceSideName: string, targetSideName: string, sourceSideId: string, { where, orderBy }: ListFindQuery): Promise<any[]>;
addIdToManyRelation(sourceSideName: string, targetSideName: string, sourceSideId: string, targetSideId: string): Promise<void>;
removeIdFromManyRelation(sourceSideName: string, targetSideName: string, sourceSideId: string, targetSideId: string): Promise<void>;
}