UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

39 lines (38 loc) 1.32 kB
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>; }