@chevre/domain
Version:
Chevre Domain Library for Node.js
72 lines (71 loc) • 2.67 kB
TypeScript
import type { BulkWriteResult } from 'mongodb';
import { Connection, FilterQuery, Types } from 'mongoose';
import * as factory from '../factory';
type IKeyOfProjection = keyof factory.creativeWork.movie.ICreativeWork;
/**
* コンテンツリポジトリ
*/
export declare class CreativeWorkRepo {
private readonly creativeWorkModel;
constructor(connection: Connection);
static CREATE_MONGO_CONDITIONS(params: factory.creativeWork.movie.ISearchConditions): FilterQuery<import("@chevre/factory/lib/creativeWork/movie").ICreativeWork>[];
/**
* コンテンツを保管する
*/
saveMovie(params: factory.creativeWork.movie.ICreativeWork & {
/**
* ドキュメント作成時には無視される
*/
$unset?: {
[key in keyof factory.creativeWork.movie.ICreativeWork]?: 1;
};
}): Promise<{
id: string;
}>;
/**
* コードをキーにして冪等作成
*/
upsertMoviesByIdentifier(params: {
$set: factory.creativeWork.movie.ICreativeWork;
$unset?: {
[key in keyof factory.creativeWork.movie.ICreativeWork]?: 1;
};
}[], options?: {
replace?: boolean;
}): Promise<{
bulkWriteResult: BulkWriteResult;
} | void>;
/**
* コンテンツを検索する
*/
projectFields(params: factory.creativeWork.movie.ISearchConditions, inclusion: IKeyOfProjection[]): Promise<factory.creativeWork.movie.ICreativeWork[]>;
/**
* コンテンツを削除する
*/
deleteMovie(params: {
id: string;
}): Promise<void>;
deleteByProject(params: {
project: {
id: string;
};
}): Promise<void>;
getCursor(conditions: FilterQuery<factory.creativeWork.movie.ICreativeWork>, projection: any): import("mongoose").Cursor<import("mongoose").Document<unknown, {}, import("@chevre/factory/lib/creativeWork/movie").ICreativeWork & {
description?: string;
}> & import("@chevre/factory/lib/creativeWork/movie").ICreativeWork & {
description?: string;
} & {
_id: Types.ObjectId;
}, import("mongoose").QueryOptions<import("mongoose").Document<unknown, {}, import("@chevre/factory/lib/creativeWork/movie").ICreativeWork & {
description?: string;
}> & import("@chevre/factory/lib/creativeWork/movie").ICreativeWork & {
description?: string;
} & {
_id: Types.ObjectId;
}>>;
unsetUnnecessaryFields(params: {
filter: FilterQuery<factory.creativeWork.movie.ICreativeWork>;
$unset: any;
}): Promise<import("mongoose").UpdateWriteOpResult>;
}
export {};