@chevre/domain
Version:
Chevre Domain Library for Node.js
46 lines (45 loc) • 1.28 kB
TypeScript
import { Connection } from 'mongoose';
import * as factory from '../factory';
import ActionModel from './mongoose/model/action';
export declare type IAction<T extends factory.actionType> = factory.action.IAction<factory.action.IAttributes<T, any, any>>;
/**
* アクションリポジトリー
*/
export declare class MongoRepository {
readonly actionModel: typeof ActionModel;
constructor(connection: Connection);
/**
* アクション開始
*/
start<T extends factory.actionType>(attributes: factory.action.IAttributes<T, any, any>): Promise<IAction<T>>;
/**
* アクション完了
*/
complete<T extends factory.actionType>(params: {
typeOf: T;
id: string;
result: any;
}): Promise<IAction<T>>;
/**
* アクション取消
*/
cancel<T extends factory.actionType>(params: {
typeOf: T;
id: string;
}): Promise<IAction<T>>;
/**
* アクション失敗
*/
giveUp<T extends factory.actionType>(params: {
typeOf: T;
id: string;
error: any;
}): Promise<IAction<T>>;
/**
* IDで取得する
*/
findById<T extends factory.actionType>(params: {
typeOf: T;
id: string;
}): Promise<IAction<T>>;
}