feat: update user role level details

This commit is contained in:
hanif salafi 2024-09-03 15:29:18 +07:00
parent b3b8303864
commit c973dadd73
7 changed files with 56 additions and 22 deletions

View File

@ -17,6 +17,7 @@ type UserRoleLevelDetailsRepository interface {
FindOne(id uint) (userRoleLevelDetails *entity.UserRoleLevelDetails, err error) FindOne(id uint) (userRoleLevelDetails *entity.UserRoleLevelDetails, err error)
FindByUserLevels(userLevelId uint) (userRoleLevelDetails []*entity.UserRoleLevelDetails, err error) FindByUserLevels(userLevelId uint) (userRoleLevelDetails []*entity.UserRoleLevelDetails, err error)
Create(userRoleLevelDetails *entity.UserRoleLevelDetails) (err error) Create(userRoleLevelDetails *entity.UserRoleLevelDetails) (err error)
CreateAll(userRoleLevelDetails *[]entity.UserRoleLevelDetails) (err error)
Update(id uint, userRoleLevelDetails *entity.UserRoleLevelDetails) (err error) Update(id uint, userRoleLevelDetails *entity.UserRoleLevelDetails) (err error)
Delete(id uint) (err error) Delete(id uint) (err error)
} }
@ -67,6 +68,10 @@ func (_i *userRoleLevelDetailsRepository) Create(userRoleLevelDetails *entity.Us
return _i.DB.DB.Create(userRoleLevelDetails).Error return _i.DB.DB.Create(userRoleLevelDetails).Error
} }
func (_i *userRoleLevelDetailsRepository) CreateAll(userRoleLevelDetails *[]entity.UserRoleLevelDetails) (err error) {
return _i.DB.DB.Create(userRoleLevelDetails).Error
}
func (_i *userRoleLevelDetailsRepository) Update(id uint, userRoleLevelDetails *entity.UserRoleLevelDetails) (err error) { func (_i *userRoleLevelDetailsRepository) Update(id uint, userRoleLevelDetails *entity.UserRoleLevelDetails) (err error) {
return _i.DB.DB.Model(&entity.UserRoleLevelDetails{}). return _i.DB.DB.Model(&entity.UserRoleLevelDetails{}).
Where(&entity.UserRoleLevelDetails{ID: id}). Where(&entity.UserRoleLevelDetails{ID: id}).

View File

@ -25,7 +25,7 @@ type UserRolesCreateRequest struct {
Name string `json:"name" validate:"required"` Name string `json:"name" validate:"required"`
Description string `json:"description" validate:"required"` Description string `json:"description" validate:"required"`
Code string `json:"code" validate:"required"` Code string `json:"code" validate:"required"`
UserLevelId uint `json:"userLevelId" validate:"required"` UserLevelIds []uint `json:"userLevelIds" validate:"required"`
UserRoleAccess []userRoleAccessReq.UserRoleAccessesCreateRequest `json:"userRoleAccess" validate:"required"` UserRoleAccess []userRoleAccessReq.UserRoleAccessesCreateRequest `json:"userRoleAccess" validate:"required"`
StatusId int `json:"statusId" validate:"required"` StatusId int `json:"statusId" validate:"required"`
} }
@ -36,17 +36,16 @@ func (req UserRolesCreateRequest) ToEntity() *entity.UserRoles {
Description: req.Description, Description: req.Description,
Code: req.Code, Code: req.Code,
StatusId: req.StatusId, StatusId: req.StatusId,
UserLevelId: req.UserLevelId,
} }
} }
type UserRolesUpdateRequest struct { type UserRolesUpdateRequest struct {
Name string `json:"name" validate:"required"` Name string `json:"name" validate:"required"`
Description string `json:"description" validate:"required"` Description string `json:"description" validate:"required"`
Code string `json:"code" validate:"required"` Code string `json:"code" validate:"required"`
LevelNumber int `json:"level_number" validate:"required"` LevelNumber int `json:"level_number" validate:"required"`
UserLevelId uint `json:"userLevelIds" validate:"required"` UserLevelIds []uint `json:"userLevelIds" validate:"required"`
StatusId int `json:"status_id" validate:"required"` StatusId int `json:"status_id" validate:"required"`
} }
func (req UserRolesUpdateRequest) ToEntity() *entity.UserRoles { func (req UserRolesUpdateRequest) ToEntity() *entity.UserRoles {
@ -55,7 +54,6 @@ func (req UserRolesUpdateRequest) ToEntity() *entity.UserRoles {
Description: req.Description, Description: req.Description,
Code: req.Code, Code: req.Code,
StatusId: req.StatusId, StatusId: req.StatusId,
UserLevelId: req.UserLevelId,
UpdatedAt: time.Now(), UpdatedAt: time.Now(),
} }
} }

View File

@ -105,6 +105,21 @@ func (_i *userRolesService) Save(req request.UserRolesCreateRequest, authToken s
if err != nil { if err != nil {
return err return err
} }
var UserRoleLevelDetailList []entity.UserRoleLevelDetails
isActive := true
for _, id := range req.UserLevelIds {
userRoleLevelDetail := entity.UserRoleLevelDetails{
UserRoleId: userRolesReturn.ID,
UserLevelId: id,
IsActive: &isActive,
}
UserRoleLevelDetailList = append(UserRoleLevelDetailList, userRoleLevelDetail)
}
err = _i.UserRoleLevelDetailsRepo.CreateAll(&UserRoleLevelDetailList)
if err != nil {
return err
}
} }
return err return err

View File

@ -1,7 +1,7 @@
# Configuration vars for cmd/app # Configuration vars for cmd/app
[app] [app]
name = "Fiber starter" name = "Fiber starter"
host = "http://103.82.242.92" host = "http://localhost"
port = ":8800" port = ":8800"
external-port = ":8888" external-port = ":8888"
idle-timeout = 5 # As seconds idle-timeout = 5 # As seconds

View File

@ -9464,7 +9464,7 @@ const docTemplate = `{
"description", "description",
"name", "name",
"statusId", "statusId",
"userLevelId", "userLevelIds",
"userRoleAccess" "userRoleAccess"
], ],
"properties": { "properties": {
@ -9480,8 +9480,11 @@ const docTemplate = `{
"statusId": { "statusId": {
"type": "integer" "type": "integer"
}, },
"userLevelId": { "userLevelIds": {
"type": "integer" "type": "array",
"items": {
"type": "integer"
}
}, },
"userRoleAccess": { "userRoleAccess": {
"type": "array", "type": "array",
@ -9518,7 +9521,10 @@ const docTemplate = `{
"type": "integer" "type": "integer"
}, },
"userLevelIds": { "userLevelIds": {
"type": "integer" "type": "array",
"items": {
"type": "integer"
}
} }
} }
}, },

View File

@ -9453,7 +9453,7 @@
"description", "description",
"name", "name",
"statusId", "statusId",
"userLevelId", "userLevelIds",
"userRoleAccess" "userRoleAccess"
], ],
"properties": { "properties": {
@ -9469,8 +9469,11 @@
"statusId": { "statusId": {
"type": "integer" "type": "integer"
}, },
"userLevelId": { "userLevelIds": {
"type": "integer" "type": "array",
"items": {
"type": "integer"
}
}, },
"userRoleAccess": { "userRoleAccess": {
"type": "array", "type": "array",
@ -9507,7 +9510,10 @@
"type": "integer" "type": "integer"
}, },
"userLevelIds": { "userLevelIds": {
"type": "integer" "type": "array",
"items": {
"type": "integer"
}
} }
} }
}, },

View File

@ -676,8 +676,10 @@ definitions:
type: string type: string
statusId: statusId:
type: integer type: integer
userLevelId: userLevelIds:
type: integer items:
type: integer
type: array
userRoleAccess: userRoleAccess:
items: items:
$ref: '#/definitions/request.UserRoleAccessesCreateRequest' $ref: '#/definitions/request.UserRoleAccessesCreateRequest'
@ -687,7 +689,7 @@ definitions:
- description - description
- name - name
- statusId - statusId
- userLevelId - userLevelIds
- userRoleAccess - userRoleAccess
type: object type: object
request.UserRolesUpdateRequest: request.UserRolesUpdateRequest:
@ -703,7 +705,9 @@ definitions:
status_id: status_id:
type: integer type: integer
userLevelIds: userLevelIds:
type: integer items:
type: integer
type: array
required: required:
- code - code
- description - description