import { Controller, Get } from '@nestjs/common'; import { AllowAnonymous, Roles, Session, type UserSession, } from '@thallesp/nestjs-better-auth'; import { RoleEnum } from '~/common/enums/user-role.enum'; import { UserService } from './user.service'; @Controller('users') export class UserController { constructor(private readonly userService: UserService) {} @Get('me') me(@Session() session: UserSession) { return { user: session.user }; } @Get('public') @AllowAnonymous() public() { return { message: 'Public endpoint' }; } @Roles([RoleEnum.ADMIN_FINANCE]) @Get('admin-only') adminEndpoint() { return { ok: true }; } }