api/app/controllers/user_controller.ts
2025-05-19 16:00:51 +02:00

29 lines
808 B
TypeScript

import User from '#models/user'
import { createUserValidator } from '#validators/user'
import type { HttpContext } from '@adonisjs/core/http'
import { cuid } from '@adonisjs/core/helpers'
import drive from '@adonisjs/drive/services/main'
export default class UserController {
// GET /user/@me
async me({ auth }: HttpContext) {
return {
success: true,
data: auth.user,
}
}
// POST /user
async create({ request }: HttpContext) {
const payload = await request.validateUsing(createUserValidator)
// Save avatar
const avatar = `avatars/${cuid()}.${payload.avatar.extname}`
await payload.avatar.moveToDisk(avatar)
// const avatar = await drive.use().getSignedUrl(key)
console.log(avatar)
return User.create({
...payload,
avatar,
})
}
}