mirror of
https://github.com/SyncrowIOT/backend.git
synced 2025-07-15 02:15:21 +00:00
update first and last name endpoint
This commit is contained in:
@ -12,6 +12,7 @@ import { UserService } from '../services/user.service';
|
|||||||
import { ApiTags, ApiBearerAuth } from '@nestjs/swagger';
|
import { ApiTags, ApiBearerAuth } from '@nestjs/swagger';
|
||||||
import { JwtAuthGuard } from '../../../libs/common/src/guards/jwt.auth.guard';
|
import { JwtAuthGuard } from '../../../libs/common/src/guards/jwt.auth.guard';
|
||||||
import {
|
import {
|
||||||
|
UpdateNameDto,
|
||||||
UpdateProfilePictureDataDto,
|
UpdateProfilePictureDataDto,
|
||||||
UpdateRegionDataDto,
|
UpdateRegionDataDto,
|
||||||
UpdateTimezoneDataDto,
|
UpdateTimezoneDataDto,
|
||||||
@ -92,7 +93,7 @@ export class UserController {
|
|||||||
@ApiBearerAuth()
|
@ApiBearerAuth()
|
||||||
@UseGuards(JwtAuthGuard)
|
@UseGuards(JwtAuthGuard)
|
||||||
@Put('/timezone/:userUuid')
|
@Put('/timezone/:userUuid')
|
||||||
async updateTimezoneByUserUuid(
|
async updateNameByUserUuid(
|
||||||
@Param('userUuid') userUuid: string,
|
@Param('userUuid') userUuid: string,
|
||||||
@Body() updateTimezoneDataDto: UpdateTimezoneDataDto,
|
@Body() updateTimezoneDataDto: UpdateTimezoneDataDto,
|
||||||
) {
|
) {
|
||||||
@ -114,4 +115,29 @@ export class UserController {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ApiBearerAuth()
|
||||||
|
@UseGuards(JwtAuthGuard)
|
||||||
|
@Put('/name/:userUuid')
|
||||||
|
async updateTimezoneByUserUuid(
|
||||||
|
@Param('userUuid') userUuid: string,
|
||||||
|
@Body() updateNameDto: UpdateNameDto,
|
||||||
|
) {
|
||||||
|
try {
|
||||||
|
const userData = await this.userService.updateNameByUserUuid(
|
||||||
|
userUuid,
|
||||||
|
updateNameDto,
|
||||||
|
);
|
||||||
|
return {
|
||||||
|
statusCode: HttpStatus.CREATED,
|
||||||
|
success: true,
|
||||||
|
message: 'name updated successfully',
|
||||||
|
data: userData,
|
||||||
|
};
|
||||||
|
} catch (error) {
|
||||||
|
throw new HttpException(
|
||||||
|
error.message || 'Internal server error',
|
||||||
|
error.status || HttpStatus.INTERNAL_SERVER_ERROR,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -27,15 +27,21 @@ export class UpdateRegionDataDto {
|
|||||||
Object.assign(this, dto);
|
Object.assign(this, dto);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
export class UpdateTimezoneDataDto {
|
export class UpdateNameDto {
|
||||||
@ApiProperty({
|
@ApiProperty({
|
||||||
description: 'timezoneUuid',
|
description: 'firstName',
|
||||||
required: true,
|
required: true,
|
||||||
})
|
})
|
||||||
@IsString()
|
@IsString()
|
||||||
@IsNotEmpty()
|
@IsNotEmpty()
|
||||||
public timezoneUuid: string;
|
public firstName: string;
|
||||||
|
@ApiProperty({
|
||||||
|
description: 'lastName',
|
||||||
|
required: true,
|
||||||
|
})
|
||||||
|
@IsString()
|
||||||
|
@IsNotEmpty()
|
||||||
|
public lastName: string;
|
||||||
constructor(dto: Partial<UpdateProfilePictureDataDto>) {
|
constructor(dto: Partial<UpdateProfilePictureDataDto>) {
|
||||||
Object.assign(this, dto);
|
Object.assign(this, dto);
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import {
|
import {
|
||||||
|
UpdateNameDto,
|
||||||
UpdateProfilePictureDataDto,
|
UpdateProfilePictureDataDto,
|
||||||
UpdateRegionDataDto,
|
UpdateRegionDataDto,
|
||||||
UpdateTimezoneDataDto,
|
UpdateTimezoneDataDto,
|
||||||
@ -167,6 +168,45 @@ export class UserService {
|
|||||||
throw new BadRequestException('Timezone update failed');
|
throw new BadRequestException('Timezone update failed');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
uuid: updatedUser.uuid,
|
||||||
|
firstName: updatedUser.firstName,
|
||||||
|
lastName: updatedUser.lastName,
|
||||||
|
profilePicture: updatedUser.profilePicture,
|
||||||
|
region: updatedUser.region,
|
||||||
|
timeZoneUuid: updatedUser.timeZone,
|
||||||
|
};
|
||||||
|
} catch (err) {
|
||||||
|
throw new HttpException(
|
||||||
|
err.message || 'User not found',
|
||||||
|
HttpStatus.NOT_FOUND,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async updateNameByUserUuid(userUuid: string, updateNameDto: UpdateNameDto) {
|
||||||
|
try {
|
||||||
|
const user = await this.getUserDetailsByUserUuid(userUuid);
|
||||||
|
if (!user) {
|
||||||
|
throw new HttpException('User not found', HttpStatus.NOT_FOUND);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!updateNameDto.firstName || !updateNameDto.lastName) {
|
||||||
|
throw new BadRequestException('First Name and Last Name is required');
|
||||||
|
}
|
||||||
|
|
||||||
|
await this.userRepository.update(
|
||||||
|
{ uuid: userUuid },
|
||||||
|
{
|
||||||
|
firstName: updateNameDto.firstName,
|
||||||
|
lastName: updateNameDto.lastName,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
const updatedUser = await this.getUserDetailsByUserUuid(userUuid);
|
||||||
|
if (!updatedUser.firstName || !updatedUser.lastName) {
|
||||||
|
throw new BadRequestException('First Name and Last Name update failed');
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
uuid: updatedUser.uuid,
|
uuid: updatedUser.uuid,
|
||||||
firstName: updatedUser.firstName,
|
firstName: updatedUser.firstName,
|
||||||
|
Reference in New Issue
Block a user