feat: update user field

This commit is contained in:
hanif salafi 2025-09-20 13:21:26 +07:00
parent 497197113b
commit c2de25abbf
4 changed files with 9 additions and 38 deletions

View File

@ -1,38 +0,0 @@
package users
import (
userLevels "narasi-ahli-be/app/database/entity/user_levels"
"time"
)
type Users struct {
ID uint `json:"id" gorm:"primaryKey;type:int4;autoIncrement"`
Username string `json:"username" gorm:"type:varchar"`
Email string `json:"email" gorm:"type:varchar"`
Fullname string `json:"fullname" gorm:"type:varchar"`
Address *string `json:"address" gorm:"type:varchar"`
PhoneNumber *string `json:"phone_number" gorm:"type:varchar"`
WorkType *string `json:"work_type" gorm:"type:varchar"`
GenderType *string `json:"gender_type" gorm:"type:varchar"`
IdentityType *string `json:"identity_type" gorm:"type:varchar"`
IdentityGroup *string `json:"identity_group" gorm:"type:varchar"`
IdentityGroupNumber *string `json:"identity_group_number" gorm:"type:varchar"`
IdentityNumber *string `json:"identity_number" gorm:"type:varchar"`
DateOfBirth *string `json:"date_of_birth" gorm:"type:varchar"`
LastEducation *string `json:"last_education" gorm:"type:varchar"`
Degree *string `json:"degree" gorm:"type:varchar"`
WhatsappNumber *string `json:"whatsapp_number" gorm:"type:varchar"`
LastJobTitle *string `json:"last_job_title" gorm:"type:varchar"`
UserRoleId uint `json:"user_role_id" gorm:"type:int4"`
UserLevelId uint `json:"user_level_id" gorm:"type:int4"`
UserLevel *userLevels.UserLevels `json:"user_levels" gorm:"foreignKey:UserLevelId;references:ID"`
KeycloakId *string `json:"keycloak_id" gorm:"type:varchar"`
StatusId *int `json:"status_id" gorm:"type:int4;default:1"`
CreatedById *uint `json:"created_by_id" gorm:"type:int4"`
ProfilePicturePath *string `json:"profile_picture_path" gorm:"type:varchar"`
TempPassword *string `json:"temp_password" gorm:"type:varchar"`
IsEmailUpdated *bool `json:"is_email_updated" gorm:"type:bool;default:false"`
IsActive *bool `json:"is_active" gorm:"type:bool;default:true"`
CreatedAt time.Time `json:"created_at" gorm:"default:now()"`
UpdatedAt time.Time `json:"updated_at" gorm:"default:now()"`
}

View File

@ -21,6 +21,8 @@ func UsersResponseMapper(usersReq *users.Users, userLevelsRepo userLevelsReposit
Fullname: usersReq.Fullname,
Address: usersReq.Address,
PhoneNumber: usersReq.PhoneNumber,
WhatsappNumber: usersReq.WhatsappNumber,
Degree: usersReq.Degree,
WorkType: usersReq.WorkType,
GenderType: usersReq.GenderType,
IdentityType: usersReq.IdentityType,

View File

@ -22,6 +22,7 @@ type UsersQueryRequest struct {
IdentityGroup *string `json:"identityGroup"`
IdentityGroupNumber *string `json:"identityGroupNumber"`
IdentityNumber *string `json:"identityNumber"`
Degree *string `json:"degree"`
UserRoleId *int `json:"userRoleId"`
StatusId *int `json:"statusId"`
Pagination *paginator.Pagination `json:"pagination"`
@ -170,6 +171,7 @@ type UsersQueryRequestContext struct {
IdentityGroup string `json:"identityGroup"`
IdentityGroupNumber string `json:"identityGroupNumber"`
IdentityNumber string `json:"identityNumber"`
Degree string `json:"degree"`
UserRoleId string `json:"userRoleId"`
StatusId string `json:"statusId"`
}
@ -207,6 +209,9 @@ func (req UsersQueryRequestContext) ToParamRequest() UsersQueryRequest {
if identityNumber := req.IdentityNumber; identityNumber != "" {
request.IdentityNumber = &identityNumber
}
if degree := req.Degree; degree != "" {
request.Degree = &degree
}
if userRoleIdStr := req.UserRoleId; userRoleIdStr != "" {
userRoleId, err := strconv.Atoi(userRoleIdStr)
if err == nil {

View File

@ -9,9 +9,11 @@ type UsersResponse struct {
Fullname string `json:"fullname"`
Address *string `json:"address"`
PhoneNumber *string `json:"phoneNumber"`
WhatsappNumber *string `json:"whatsappNumber"`
WorkType *string `json:"workType"`
GenderType *string `json:"genderType"`
IdentityType *string `json:"identityType"`
Degree *string `json:"degree"`
IdentityNumber *string `json:"identityNumber"`
DateOfBirth *string `json:"dateOfBirth"`
LastEducation *string `json:"lastEducation"`