import type { ContentSource } from "@prisma/client";
import { fetch } from "@remix-run/node";
import { importStations } from "~/models/station.server";


export async function importSource(source: ContentSource) {
    switch (source.type) {
        case "json":
            return importRemoteJson(source);
        default:
            throw new Error("Unsupported source");

    }
}

export async function importRemoteJson(source: ContentSource) {
    const response = await fetch(source.connectionUrl);
    if (!response.ok) {
        throw new Error("Failed to fetch source");
    }
    const { data } = await response.json();
    return importStations(data);

}