27 lines
736 B
TypeScript
27 lines
736 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'
|
|
|
|
export default class UserController {
|
|
// GET /users/@me
|
|
async me({ auth }: HttpContext) {
|
|
return {
|
|
success: true,
|
|
data: auth.user,
|
|
}
|
|
}
|
|
|
|
// POST /users
|
|
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)
|
|
return User.create({
|
|
...payload,
|
|
avatar,
|
|
})
|
|
}
|
|
}
|