mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-24 16:49:48 +00:00
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
import { Body, Controller, Get, Param, Post } from '@nestjs/common';
|
|
import { ApiOperation, ApiTags } from '@nestjs/swagger';
|
|
import { PublicRoute } from '@/modules/Auth/guards/jwt.guard';
|
|
import { UsersApplication } from './Users.application';
|
|
import { InviteUserDto } from './dtos/InviteUser.dto';
|
|
|
|
@Controller('invite')
|
|
@ApiTags('Users')
|
|
@PublicRoute()
|
|
export class UsersInvitePublicController {
|
|
constructor(private readonly usersApplication: UsersApplication) {}
|
|
|
|
/**
|
|
* Accept a user invitation.
|
|
*/
|
|
@Post('accept/:token')
|
|
@ApiOperation({ summary: 'Accept a user invitation.' })
|
|
async acceptInvite(
|
|
@Param('token') token: string,
|
|
@Body() inviteUserDTO: InviteUserDto,
|
|
) {
|
|
await this.usersApplication.acceptInvite(token, inviteUserDTO);
|
|
|
|
return {
|
|
message: 'The invitation has been accepted successfully.',
|
|
};
|
|
}
|
|
|
|
/**
|
|
* Check if an invitation token is valid.
|
|
*/
|
|
@Get('check/:token')
|
|
@ApiOperation({ summary: 'Check if an invitation token is valid.' })
|
|
async checkInvite(@Param('token') token: string) {
|
|
const inviteDetails = await this.usersApplication.checkInvite(token);
|
|
|
|
return inviteDetails;
|
|
}
|
|
}
|