and so it begins
This commit is contained in:
@@ -1,38 +1,25 @@
|
||||
import { AirportsRepository } from "$lib/domains/airport/data/repository";
|
||||
import { env } from "$env/dynamic/private";
|
||||
import { convertAndFormatCurrency } from "$lib/domains/currency/view/currency.vm.svelte";
|
||||
import { db } from "@pkg/db";
|
||||
import { getError, Logger } from "@pkg/logger";
|
||||
import { DiscountType, type CouponModel } from "@pkg/logic/domains/coupon/data";
|
||||
import { ERROR_CODES, type Result } from "@pkg/result";
|
||||
import type {
|
||||
FlightPriceDetails,
|
||||
FlightTicket,
|
||||
TicketSearchPayload,
|
||||
} from "../data/entities";
|
||||
import { TicketRepository } from "../data/repository";
|
||||
import { getError, Logger } from "@pkg/logger";
|
||||
import { env } from "$env/dynamic/private";
|
||||
import { ScrapedTicketsDataSource } from "../data/scrape.data.source";
|
||||
import { db } from "@pkg/db";
|
||||
import { airportsDb } from "@pkg/airports-db";
|
||||
import { ERROR_CODES, type Result } from "@pkg/result";
|
||||
import { DiscountType, type CouponModel } from "@pkg/logic/domains/coupon/data";
|
||||
import { convertAndFormatCurrency } from "$lib/domains/currency/view/currency.vm.svelte";
|
||||
import { AmadeusTicketsAPIDataSource } from "../data/amadeusapi.data.source";
|
||||
import { getRedisInstance } from "$lib/server/redis";
|
||||
|
||||
export class TicketController {
|
||||
private repo: TicketRepository;
|
||||
private airportsRepo: AirportsRepository;
|
||||
private TICKET_SCRAPERS = ["kiwi"];
|
||||
|
||||
constructor(repo: TicketRepository, airportsRepo: AirportsRepository) {
|
||||
constructor(repo: TicketRepository) {
|
||||
this.repo = repo;
|
||||
this.airportsRepo = airportsRepo;
|
||||
}
|
||||
|
||||
async searchAirports(query: string) {
|
||||
return this.airportsRepo.searchAirports(query);
|
||||
}
|
||||
|
||||
async getAirportByCode(query: string) {
|
||||
return this.airportsRepo.getAirportByCode(query);
|
||||
}
|
||||
async searchForTickets(
|
||||
payload: TicketSearchPayload,
|
||||
coupon: CouponModel | undefined,
|
||||
@@ -166,14 +153,5 @@ export function getTC() {
|
||||
env.TICKET_SCRAPER_API_URL,
|
||||
env.API_KEY,
|
||||
);
|
||||
const amadeusApi = new AmadeusTicketsAPIDataSource(
|
||||
env.AMADEUS_API_BASE_URL,
|
||||
env.AMADEUS_API_KEY,
|
||||
env.AMADEUS_API_SECRET,
|
||||
getRedisInstance(),
|
||||
);
|
||||
return new TicketController(
|
||||
new TicketRepository(db, ds, amadeusApi),
|
||||
new AirportsRepository(airportsDb),
|
||||
);
|
||||
return new TicketController(new TicketRepository(db, ds));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user