import { AuthMiddlewares } from './auth'; import { Request as ExRequest, Response as ExResponse } from 'express' import { db } from '../db' import { Body, Controller, Get, Middlewares, Post, Request, Route, Example } from 'tsoa' type CreateUserBody = { Language: "Rus" | "Eng"; MarketId: string; ChildData: { name: string; age: number; }; Email: string; } type User = { email: string, id: number } type UserCreateRequest = { email: string } @Route('user') export class UserController extends Controller { @Get('current') @Example({ email: 'test@test.com', id: 1, }) @Middlewares(AuthMiddlewares.verifyUserAccessToken) public async Current(): Promise { return Promise.resolve({ email: "kek@kek.kek", id: 666 }) } @Get('{userId}') @Middlewares(AuthMiddlewares.verifyUserAccessToken) public async get(userId: number): Promise { return Promise.resolve({ email: "kek@kek.kek", id: 228 }) } @Post() @Middlewares(AuthMiddlewares.verifyUserAccessToken) public async create(@Body() request: UserCreateRequest) { return Promise.resolve() } @Post('{userId}') @Middlewares(AuthMiddlewares.verifyUserAccessToken) public async delete(userId: number) { return Promise.resolve(); } }