@chevre/domain
Version:
Chevre Domain Library for Node.js
91 lines (90 loc) • 2.68 kB
TypeScript
/**
* マスターデータ同期サービス
*/
import type * as COA from '@motionpicture/coa-service';
import type { ActionRepo } from '../repo/action';
import type { CategoryCodeRepo } from '../repo/categoryCode';
import type { CreativeWorkRepo } from '../repo/creativeWork';
import type { EventRepo } from '../repo/event';
import type { EventSeriesRepo } from '../repo/eventSeries';
import type { MovieTheaterRepo } from '../repo/place/movieTheater';
import type { ScreeningRoomRepo } from '../repo/place/screeningRoom';
import type { ProjectRepo } from '../repo/project';
import type { SellerRepo } from '../repo/seller';
import type { SettingRepo } from '../repo/setting';
import type { TaskRepo } from '../repo/task';
import * as factory from '../factory';
interface IImportFromCOAParams {
project: {
id: string;
typeOf: factory.organizationType.Project;
};
/**
* 施設コード
*/
locationBranchCode: string;
importFrom: Date;
importThrough: Date;
/**
* 施設を保管するかどうか
*/
saveMovieTheater: boolean;
/**
* 施設コンテンツを保管するかどうか
*/
saveScreeningEventSeries: boolean;
saveScreeningEventSeriesPeriodInMonth: number;
}
/**
* イベントをインポートする
*/
export declare function importFromCOA(params: IImportFromCOAParams): (repos: {
action: ActionRepo;
categoryCode: CategoryCodeRepo;
creativeWork: CreativeWorkRepo;
event: EventRepo;
eventSeries: EventSeriesRepo;
movieTheater: MovieTheaterRepo;
screeningRoom: ScreeningRoomRepo;
seller: SellerRepo;
masterService: COA.service.Master;
}) => Promise<void>;
export declare function minimizeSuperEvent(params: {
superEvent: factory.event.screeningEventSeries.IEvent;
}): factory.event.screeningEvent.ISuperEvent;
/**
* COA情報からイベントIDを作成する
*/
export declare function createScreeningEventIdFromCOA(params: {
theaterCode: string;
titleCode: string;
titleBranchNum: string;
dateJouei: string;
screenCode: string;
timeBegin: string;
}): string;
export declare function updateEvent4ttts(params: {
/**
* 旧イベントID
*/
oldEventId: string;
/**
* イベント属性
*/
attributes: factory.event.IAttributes<factory.eventType.ScreeningEvent>;
project: {
id: string;
};
/**
* 更新者
*/
agent: factory.action.IParticipant;
}): (repos: {
action: ActionRepo;
event: EventRepo;
eventSeries: EventSeriesRepo;
project: ProjectRepo;
setting: SettingRepo;
task: TaskRepo;
}) => Promise<void>;
export {};