feat: Introduce Nullable type for optional fields and update user DTOs accordingly
This commit is contained in:
@@ -182,12 +182,17 @@ func (h *UserHandler) UpdateUser(c *gin.Context) {
|
||||
update.Role = userUpdateDTO.Role
|
||||
}
|
||||
if userUpdateDTO.CompanyID != nil {
|
||||
companyID, err := models.ULIDWrapperFromString(*userUpdateDTO.CompanyID)
|
||||
if err != nil {
|
||||
utils.BadRequestResponse(c, "Invalid company ID format")
|
||||
return
|
||||
if userUpdateDTO.CompanyID.Valid {
|
||||
companyID, err := models.ULIDWrapperFromString(*userUpdateDTO.CompanyID.Value)
|
||||
if err != nil {
|
||||
utils.BadRequestResponse(c, "Invalid company ID format")
|
||||
return
|
||||
}
|
||||
update.CompanyID = &companyID
|
||||
} else {
|
||||
update.CompanyID = nil
|
||||
|
||||
}
|
||||
update.CompanyID = &companyID
|
||||
}
|
||||
if userUpdateDTO.HourlyRate != nil {
|
||||
update.HourlyRate = userUpdateDTO.HourlyRate
|
||||
@@ -393,8 +398,8 @@ func convertUserToDTO(user *models.User) dto.UserDto {
|
||||
|
||||
func convertCreateDTOToModel(dto dto.UserCreateDto) models.UserCreate {
|
||||
var companyID models.ULIDWrapper
|
||||
if dto.CompanyID != nil {
|
||||
companyID, _ = models.ULIDWrapperFromString(*dto.CompanyID) // Ignoring error, validation happens in the model
|
||||
if dto.CompanyID != nil && dto.CompanyID.Valid {
|
||||
companyID, _ = models.ULIDWrapperFromString(*dto.CompanyID.Value) // Ignoring error, validation happens in the model
|
||||
}
|
||||
|
||||
return models.UserCreate{
|
||||
|
||||
Reference in New Issue
Block a user