Uecko_ERP/apps/server/archive/contexts/auth/application/refresh-token/refresh-token.use-case.ts
2025-05-04 22:06:57 +02:00

25 lines
794 B
TypeScript

import { ITransactionManager } from "@/core/common/infrastructure/database";
import { Token } from "../../domain";
import { IAuthService } from "../../domain/services";
export class RefreshTokenUseCase {
constructor(
private readonly authService: IAuthService,
private readonly transactionManager: ITransactionManager
) {}
public async execute(token: Token) {
return await this.transactionManager.complete(async (transaction) => {
const payloadData = this.authService.verifyRefreshToken(token);
/*if (!payload || !payload.email || !payload.user_id || !payload.tab_id || !payload.roles) {
return Result.fail(new Error("Invalid input data"));
}*/
return this.authService.generateRefreshToken({
...payloadData,
});
});
}
}