feat: update user role level details

This commit is contained in:
hanif salafi 2024-09-03 15:29:18 +07:00
parent 3a1335720d
commit 73fa0254e0
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)
FindByUserLevels(userLevelId uint) (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)
Delete(id uint) (err error)
}
@ -67,6 +68,10 @@ func (_i *userRoleLevelDetailsRepository) Create(userRoleLevelDetails *entity.Us
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) {
return _i.DB.DB.Model(&entity.UserRoleLevelDetails{}).
Where(&entity.UserRoleLevelDetails{ID: id}).

View File

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

View File

@ -105,6 +105,21 @@ func (_i *userRolesService) Save(req request.UserRolesCreateRequest, authToken s
if err != nil {
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

View File

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

View File

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

View File

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

View File

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