@chevre/domain
Version:
Chevre Domain Library for Node.js
41 lines (40 loc) • 1.65 kB
TypeScript
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 {};