Files
Lazuli/src/routes/api/connections/+server.ts

24 lines
1020 B
TypeScript
Raw Normal View History

2024-02-18 00:01:54 -05:00
import type { RequestHandler } from '@sveltejs/kit'
2024-02-23 00:53:54 -05:00
import { Jellyfin, YouTubeMusic } from '$lib/services'
2024-02-18 00:01:54 -05:00
import { Connections } from '$lib/server/users'
export const GET: RequestHandler = async ({ url }) => {
const ids = url.searchParams.get('ids')?.replace(/\s/g, '').split(',')
if (!ids) return new Response('Missing ids query parameter', { status: 400 })
2024-02-23 00:53:54 -05:00
const connections: Connection<serviceType>[] = []
for (const connectionId of ids) {
const connection = Connections.getConnection(connectionId)
switch (connection.type) {
case 'jellyfin':
connection.service = await Jellyfin.fetchSerivceInfo(connection.service.userId, connection.service.urlOrigin, connection.tokens.accessToken)
break
case 'youtube-music':
connection.service = await YouTubeMusic.fetchServiceInfo(connection.service.userId, connection.tokens.accessToken)
break
}
}
2024-02-18 00:01:54 -05:00
return Response.json({ connections })
}