UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

91 lines (90 loc) 2.68 kB
/** * マスターデータ同期サービス */ 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 {};