import UserTransformer from '#transformers/user_transformer' import type { HttpContext } from '@adonisjs/core/http' import AccessService from '#services/access_service' export default class ProfileController { /** The user, their tier, Newznab key and what they used today. */ async show({ auth, serialize }: HttpContext) { const user = auth.use('api').getUserOrFail() return serialize({ user: UserTransformer.transform(user), access: await AccessService.summary(user) }) } /** POST /api/v1/account/api-key: a new Newznab key (the old one stops working). */ async resetApiKey({ auth }: HttpContext) { const user = auth.use('api').getUserOrFail() user.apiKey = AccessService.newKey() await user.save() return { apiKey: user.apiKey } } }