UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

148 lines (147 loc) 4.04 kB
import type { AnyExpression, Connection, PipelineStage } from 'mongoose'; import * as factory from '../../factory'; type IMatchStage = PipelineStage.Match; /** * 座席編集時レスポンス */ interface IUpdateSeatResult { containedInPlace: { /** * 施設ID */ id: string; }; typeOf: factory.placeType.ScreeningRoom; } export declare const DEFAULT_ROOM_MAXIMUM_CAPACITY: number; /** * 座席リポジトリ */ export declare class SeatRepo { private readonly civicStructureModel; private readonly placeModel; constructor(connection: Connection); static CREATE_SEARCH_SEATS_PROJECTION(params: factory.place.seat.IProjection): { [field: string]: AnyExpression; }; static CREATE_MATCH_STAGES(params: factory.place.seat.ISearchConditions, options: { filterTypeOf: boolean; }): IMatchStage[]; createSeat(seat: factory.place.seat.IPlace & { parentOrganization?: { id?: string; }; }): Promise<IUpdateSeatResult>; updateSeat(seat: Omit<factory.place.seat.IPlace, 'containedInPlace'> & { containedInPlace: { branchCode: string; containedInPlace: { branchCode: string; containedInPlace: { branchCode: string; }; }; }; parentOrganization?: { id?: string; }; }, $unset: any): Promise<IUpdateSeatResult>; searchSeats(params: factory.place.seat.ISearchConditions): Promise<factory.place.seat.IPlace[]>; projectSeatsByScreeningRoom(params: Pick<factory.place.seat.ISearchConditions, '$projection' | 'additionalProperty' | 'branchCode' | 'seatingType' | 'name' | 'limit' | 'page'> & { project: { id: { $eq: string; }; }; screeningRoom: { /** * ルームコード */ branchCode: { $eq: string; }; containedInPlace: { /** * 施設コード */ branchCode: { $eq: string; }; }; }; containedInPlace?: { /** * セクションコード */ branchCode?: { $eq?: string; $in?: string[]; }; }; }): Promise<factory.place.seat.IPlace[]>; /** * 座席区分集計検索 */ aggregateSeatingTypes(params: { project: { id: { $eq: string; }; }; /** * 座席コード */ branchCode?: { $in?: string[]; }; containedInPlace?: { /** * セクションコード */ branchCode?: { $in?: string[]; }; containedInPlace?: { branchCode?: { $eq?: string; }; containedInPlace?: { branchCode?: { $eq?: string; }; }; }; }; }): Promise<string[]>; deleteSeat(seat: { project: { id: string; }; parentOrganization?: { id?: string; }; /** * 座席コード */ branchCode: string; containedInPlace: { /** * セクションコード */ branchCode: string; containedInPlace: { /** * ルームコード */ branchCode: string; containedInPlace: { /** * 施設コード */ branchCode: string; }; }; }; }): Promise<IUpdateSeatResult>; } export {};