UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

119 lines (118 loc) 3.71 kB
import type { Connection } from 'mongoose'; import * as factory from '../../factory'; export type IScreeningRoomFoundByBranchCode = Pick<factory.place.screeningRoom.IPlace, 'typeOf' | 'branchCode' | 'name' | 'containsPlace' | 'seatCount' | 'parentOrganization'>; /** * ルーム編集時レスポンス */ interface IUpdateScreeningRoomResult { containedInPlace: { /** * 施設ID */ id: string; }; typeOf: factory.placeType.ScreeningRoom; } type IMovieTheaterIncludingScreeningRooms = Pick<factory.place.movieTheater.IPlace, 'name' | 'branchCode' | 'typeOf' | 'project'> & { containsPlace: factory.place.screeningRoom.IPlace[]; }; /** * ルームリポジトリ */ export declare class ScreeningRoomRepo { private readonly civicStructureModel; private readonly placeModel; constructor(connection: Connection); saveScreeningRooms4coa(params: IMovieTheaterIncludingScreeningRooms): Promise<void>; createScreeningRoom(screeningRoom: Omit<factory.place.screeningRoom.IPlace, 'containedInPlace' | 'containsPlace' | 'parentOrganization'> & { containedInPlace: { branchCode: string; }; parentOrganization?: { id?: string; }; }): Promise<IUpdateScreeningRoomResult>; updateScreeningRoom(screeningRoom: Omit<factory.place.screeningRoom.IPlace, 'containedInPlace' | 'containsPlace' | 'parentOrganization'> & { containedInPlace: { branchCode: string; }; parentOrganization?: { id?: string; }; }, $unset: any): Promise<IUpdateScreeningRoomResult>; updateScreeningRoomsByContainedInPlaceId(screeningRoom: { project: { id: string; }; containedInPlace: Pick<factory.place.screeningRoom.IContainedInPlace, 'id' | 'name'>; }): Promise<void>; deleteScreeningRoom(screeningRoom: { project: { id: string; }; parentOrganization?: { id?: string; }; /** * ルームコード */ branchCode: string; containedInPlace: { /** * 施設コード */ branchCode: string; }; }): Promise<IUpdateScreeningRoomResult>; deleteScreeningRoomsByMovieTheaterId(params: { project: { id: string; }; containedInPlace: { /** * 施設ID */ id: string; }; }): Promise<import("mongodb").DeleteResult>; searchScreeningRooms(searchConditions: factory.place.screeningRoom.ISearchConditions): Promise<Omit<factory.place.screeningRoom.IPlace, 'containsPlace' | 'parentOrganization'>[]>; /** * セクションと座席も含めたひとつのルームを取得する */ findScreeningRoomsByBranchCode(params: { project: { id: string; }; branchCode: { $eq: string; }; containedInPlace: { id: { $eq: string; }; }; }): Promise<IScreeningRoomFoundByBranchCode>; /** * 販売者に属するルームを全削除 */ deleteScreeningRoomsByParentOrganizationId(params: { project: { id: string; }; parentOrganization: { /** * 販売者ID */ id: string; }; }): Promise<import("mongodb").DeleteResult>; /** * プロジェクトに属するルームを全削除 */ deleteScreeningRoomsByProject(params: { project: { id: string; }; }): Promise<void>; } export {};