@@ -21,11 +21,13 @@ import {
|
||||
|
||||
export interface ExplainRepository {
|
||||
listExplainExhibits(): Promise<MuseumExhibit[]>
|
||||
listExplainExhibitsByHall(hallId: string): Promise<MuseumExhibit[]>
|
||||
listExhibits(): Promise<MuseumExhibit[]>
|
||||
getExhibitById(id: string): Promise<MuseumExhibit | null>
|
||||
listHalls(): Promise<MuseumHall[]>
|
||||
getHallById(id: string): Promise<MuseumHall | null>
|
||||
listGuideStopsByHall(hallId: string): Promise<ExplainGuideStop[]>
|
||||
listGuideStopsByBusinessUnit(hallId: string, unitId: string): Promise<ExplainGuideStop[]>
|
||||
listTemporaryBusinessUnitsByHall(hallId: string): Promise<ExplainBusinessUnit[]>
|
||||
listTracks(): Promise<ExplainTrack[]>
|
||||
getTrackByExhibitId(exhibitId: string): Promise<ExplainTrack | null>
|
||||
@@ -45,6 +47,14 @@ export class DefaultExplainRepository implements ExplainRepository {
|
||||
return this.explainContent.listExplainExhibits()
|
||||
}
|
||||
|
||||
async listExplainExhibitsByHall(hallId: string) {
|
||||
if (this.explainContent.listExplainExhibitsByHall) {
|
||||
return this.explainContent.listExplainExhibitsByHall(hallId)
|
||||
}
|
||||
const exhibits = await this.listExplainExhibits()
|
||||
return exhibits.filter((exhibit) => exhibit.hallId === hallId)
|
||||
}
|
||||
|
||||
listExhibits() {
|
||||
return this.content.listExhibits()
|
||||
}
|
||||
@@ -66,6 +76,14 @@ export class DefaultExplainRepository implements ExplainRepository {
|
||||
return this.explainContent.listGuideStopsByHall?.(hallId) || []
|
||||
}
|
||||
|
||||
async listGuideStopsByBusinessUnit(hallId: string, unitId: string) {
|
||||
if (this.explainContent.listGuideStopsByBusinessUnit) {
|
||||
return this.explainContent.listGuideStopsByBusinessUnit(hallId, unitId)
|
||||
}
|
||||
const units = await this.listTemporaryBusinessUnitsByHall(hallId)
|
||||
return units.find((unit) => unit.id === unitId)?.stops || []
|
||||
}
|
||||
|
||||
async listTemporaryBusinessUnitsByHall(hallId: string) {
|
||||
if (this.explainContent.listTemporaryBusinessUnitsByHall) {
|
||||
return this.explainContent.listTemporaryBusinessUnitsByHall(hallId)
|
||||
|
||||
Reference in New Issue
Block a user