A social knowledge tool for researchers built on ATProto
1import { Controller } from '../../../../../shared/infrastructure/http/Controller'; 2import { Request, Response } from 'express'; 3import { RefreshAccessTokenUseCase } from '../../../application/use-cases/RefreshAccessTokenUseCase'; 4 5export class RefreshAccessTokenController extends Controller { 6 constructor(private refreshAccessTokenUseCase: RefreshAccessTokenUseCase) { 7 super(); 8 } 9 10 async executeImpl(req: Request, res: Response): Promise<any> { 11 try { 12 const { refreshToken } = req.body; 13 14 if (!refreshToken) { 15 return this.badRequest(res, 'Refresh token is required'); 16 } 17 18 const result = await this.refreshAccessTokenUseCase.execute({ 19 refreshToken, 20 }); 21 22 if (result.isErr()) { 23 return this.fail(res, result.error); 24 } 25 26 return this.ok(res, result.value); 27 } catch (error: any) { 28 return this.fail(res, error); 29 } 30 } 31}