boredgame/src/lib/server/api/controllers/user.controller.ts

30 lines
911 B
TypeScript
Raw Normal View History

import {Controller} from '$lib/server/api/common/types/controller';
import {UsersService} from '$lib/server/api/services/users.service';
2024-11-12 01:14:20 +00:00
import {inject, injectable} from '@needle-di/core';
import {requireAuth} from '../middleware/require-auth.middleware';
@injectable()
2024-09-04 23:04:41 +00:00
export class UserController extends Controller {
2024-11-12 01:14:20 +00:00
constructor(private usersService = inject(UsersService)) {
super();
2024-09-04 23:04:41 +00:00
}
routes() {
return this.controller
2024-08-08 19:38:17 +00:00
.get('/', async (c) => {
const user = c.var.user;
return c.json({ user });
})
2024-08-08 19:38:17 +00:00
.get('/:id', requireAuth, async (c) => {
const id = c.req.param('id');
const user = await this.usersService.findOneById(id);
return c.json({ user });
2024-08-08 19:38:17 +00:00
})
.get('/username/:userName', requireAuth, async (c) => {
const userName = c.req.param('userName');
const user = await this.usersService.findOneByUsername(userName);
return c.json({ user });
});
}
}