import {AsyncRouter} from '../router' import {BaseRoute} from '../routes/BaseRoute' import {IAPIDef} from '@rondo/common' import {ITeamService} from './ITeamService' import {ensureLoggedInApi} from '../middleware' export class TeamRoutes extends BaseRoute { constructor( protected readonly teamService: ITeamService, protected readonly t: AsyncRouter, ) { super(t) } setup(t: AsyncRouter) { t.get('/teams/:id', async req => { const {id} = req.params return this.teamService.findOne(id) }) t.use(ensureLoggedInApi) t.get('/my/teams', async req => { return this.teamService.find(req.user!.id) }) t.post('/teams', async req => { const {name} = req.body return this.teamService.create({ name, userId: req.user!.id, }) }) } }