import { ExtendedClient } from "./server/structures/client"
import { config } from "./server/configuration"
import { logger } from "./server/logger"
import { JellyfinHandler } from "./server/jellyfin/handler"
import { attachedImages } from "./server/assets/attachments"
const requestId = 'startup'

export const jellyfinHandler = new JellyfinHandler(config)

export const client = new ExtendedClient(jellyfinHandler)

export const attachmentImages = attachedImages

async function init() {
  try {
    const users = await jellyfinHandler.getCurrentUsers("", requestId)
    logger.info(`Fetched ${users.map(x => x.name).join(', ')} from JF`, { requestId })
  } catch (error) {
    logger.error(`Error fetching existing users from Jellyfin`, { requestId })
  }
  logger.info(`Starting client`, { requestId })
  client.start()
}
init()
