UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

41 lines (40 loc) 1.65 kB
import type { BulkWriteResult } from 'mongodb'; import type { Connection, FilterQuery } from 'mongoose'; import * as factory from '../factory'; type INoteDigitalDocument = factory.creativeWork.noteDigitalDocument.INoteDigitalDocument; type IKeyOfProjection = keyof INoteDigitalDocument; /** * メモリポジトリ */ export declare class NoteRepo { private readonly noteModel; constructor(connection: Connection); static CREATE_MONGO_CONDITIONS(params: factory.creativeWork.noteDigitalDocument.ISearchConditions): FilterQuery<import("@chevre/factory/lib/creativeWork/noteDigitalDocument").INoteDigitalDocument>[]; /** * 検索 */ projectFields(params: factory.creativeWork.noteDigitalDocument.ISearchConditions, inclusion: IKeyOfProjection[]): Promise<(INoteDigitalDocument & { id: string; })[]>; /** * コードをキーにしてなければ作成する(複数対応) */ upsertByIdentifier(params: Pick<INoteDigitalDocument, 'about' | 'creator' | 'identifier' | 'project' | 'provider' | 'text' | 'version'>[], options: { overwrite: boolean; }): Promise<BulkWriteResult | void>; updateById(params: { id: string; attributes: Pick<INoteDigitalDocument, 'text' | 'editor'>; }): Promise<void>; deleteManyByAbout(params: { about: { id: string; typeOf: factory.creativeWork.noteDigitalDocument.IAbout['typeOf']; }; }): Promise<import("mongodb").DeleteResult>; unsetUnnecessaryFields(params: { filter: any; $unset: any; }): Promise<import("mongoose").UpdateWriteOpResult>; } export {};