import { ActivityInfoEntity } from "../../../activity/domain/entities/activity_info_entity";
import { StateDataSource } from "../../domain/datasources/state_datasource";
import { StateEntity } from "../../domain/entities/state_entity";
import { TownEntity } from "../../domain/entities/town_entity";
import { StateRepository } from "../../domain/repositories/state_repository";

export class StateRepositoryImpl implements StateRepository {
    constructor(
        private datasource: StateDataSource
    ){}
    getTowns(stateId: number): Promise<TownEntity[]> {
        return this.datasource.getTowns(stateId);
    }
    getStates(): Promise<StateEntity[]> {
        return this.datasource.getStates();
    }
    getTownActivities(townId: number): Promise<ActivityInfoEntity[]> {
        return this.datasource.getTownActivities(townId);
    }
    getActivityInfo(activityId: number): Promise<ActivityInfoEntity | undefined> {
        return this.datasource.getActivityInfo(activityId);
    }
}