@chevre/domain
Version:
Chevre Domain Library for Node.js
39 lines (38 loc) • 1.32 kB
TypeScript
import { Connection } from 'mongoose';
import creativeWorkModel from './mongoose/model/creativeWork';
import * as factory from '../factory';
/**
* 作品抽象リポジトリー
*/
export declare abstract class Repository {
abstract saveMovie(movie: factory.creativeWork.movie.ICreativeWork): Promise<void>;
}
/**
* 作品リポジトリー
*/
export declare class MongoRepository implements Repository {
readonly creativeWorkModel: typeof creativeWorkModel;
constructor(connection: Connection);
static CREATE_MONGO_CONDITIONS(params: factory.creativeWork.movie.ISearchConditions): any[];
/**
* 映画作品を保管する
*/
saveMovie(movie: factory.creativeWork.movie.ICreativeWork): Promise<void>;
/**
* 識別子で映画作品を検索する
*/
findMovieByIdentifier(params: {
identifier: string;
}): Promise<factory.creativeWork.movie.ICreativeWork>;
countMovies(params: factory.creativeWork.movie.ISearchConditions): Promise<number>;
/**
* 映画作品を検索する
*/
searchMovies(params: factory.creativeWork.movie.ISearchConditions): Promise<factory.creativeWork.movie.ICreativeWork[]>;
/**
* 映画作品を削除する
*/
deleteMovie(params: {
identifier: string;
}): Promise<void>;
}