@chevre/domain
Version: 
Chevre Domain Library for Node.js
66 lines (65 loc) • 1.99 kB
TypeScript
import type { Connection } from 'mongoose';
import * as factory from '../../factory';
type IScreeningRoomSectionWithoutContainsPlace = Omit<factory.place.screeningRoomSection.IPlace, 'containsPlace'>;
/**
 * セクション編集時レスポンス
 */
interface IUpdateSectionResult {
    containedInPlace: {
        /**
         * 施設ID
         */
        id: string;
    };
    typeOf: factory.placeType.ScreeningRoom;
}
/**
 * セクションリポジトリ
 */
export declare class SectionRepo {
    private readonly civicStructureModel;
    private readonly placeModel;
    constructor(connection: Connection);
    createScreeningRoomSection(screeningRoomSection: IScreeningRoomSectionWithoutContainsPlace & {
        parentOrganization?: {
            id?: string;
        };
    }): Promise<IUpdateSectionResult>;
    updateScreeningRoomSection(screeningRoomSection: Omit<factory.place.screeningRoomSection.IPlace, 'containedInPlace'> & {
        containedInPlace: {
            branchCode: string;
            containedInPlace: {
                branchCode: string;
            };
        };
        parentOrganization?: {
            id?: string;
        };
    }, $unset: any): Promise<IUpdateSectionResult>;
    searchScreeningRoomSections(searchConditions: factory.place.screeningRoomSection.ISearchConditions): Promise<IScreeningRoomSectionWithoutContainsPlace[]>;
    deleteScreeningRoomSection(screeningRoomSection: {
        project: {
            id: string;
        };
        parentOrganization?: {
            id?: string;
        };
        /**
         * セクションコード
         */
        branchCode: string;
        containedInPlace: {
            /**
             * ルームコード
             */
            branchCode: string;
            containedInPlace: {
                /**
                 * 施設コード
                 */
                branchCode: string;
            };
        };
    }): Promise<IUpdateSectionResult>;
}
export {};