@chevre/domain
Version:
Chevre Domain Library for Node.js
119 lines (118 loc) • 3.71 kB
TypeScript
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 {};