42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
import {
|
|
Controller,
|
|
Get,
|
|
Post,
|
|
Put,
|
|
Delete,
|
|
Param,
|
|
Body,
|
|
HttpCode,
|
|
UseGuards,
|
|
NotFoundException,
|
|
Req,
|
|
Query,
|
|
} from '@nestjs/common';
|
|
import { AccountsService } from './accounts.service';
|
|
import { AuthControlGuard, EndpointControlGuard } from '@/src/middleware/access-control.guard';
|
|
import { Navigator } from '@/src/utils/navigator/navigator';
|
|
|
|
@Controller('accounts')
|
|
export class AccountsController {
|
|
|
|
constructor(
|
|
private accountsService: AccountsService,
|
|
private navigator: Navigator
|
|
) { }
|
|
|
|
@Get('events')
|
|
@HttpCode(200)
|
|
@UseGuards(AuthControlGuard)
|
|
async getEvents(@Query() query: any) {
|
|
const { userToken } = query;
|
|
if (!userToken) { throw new NotFoundException('User token is missing or null') }
|
|
const events = await this.navigator.getInfos(this.accountsService, userToken)
|
|
return { events, message: "Events fetched successfully" };
|
|
}
|
|
|
|
@Post('filter')
|
|
@HttpCode(200)
|
|
@UseGuards(AuthControlGuard, EndpointControlGuard)
|
|
async filterAccounts(@Body() query: any, @Req() req: any) { return await this.navigator.getFunction(req, this.accountsService.mapper, query) }
|
|
}
|