feat: fixing user role
This commit is contained in:
parent
a50142eeba
commit
c34041a2a2
|
|
@ -7,9 +7,9 @@ type UserRoles struct {
|
||||||
Name string `json:"name" gorm:"type:varchar"`
|
Name string `json:"name" gorm:"type:varchar"`
|
||||||
Description string `json:"description" gorm:"type:varchar"`
|
Description string `json:"description" gorm:"type:varchar"`
|
||||||
Code string `json:"code" gorm:"type:varchar"`
|
Code string `json:"code" gorm:"type:varchar"`
|
||||||
LevelNumber int `json:"level_number" gorm:"type:int4"`
|
|
||||||
StatusId int `json:"status_id" gorm:"type:int4;default:1"`
|
StatusId int `json:"status_id" gorm:"type:int4;default:1"`
|
||||||
CreatedById *uint `json:"created_by_id" gorm:"type:int4"`
|
CreatedById *uint `json:"created_by_id" gorm:"type:int4"`
|
||||||
|
UserLevelId uint `json:"user_level_id" gorm:"type:int4"`
|
||||||
IsActive *bool `json:"is_active" gorm:"type:bool;default:true"`
|
IsActive *bool `json:"is_active" gorm:"type:bool;default:true"`
|
||||||
CreatedAt time.Time `json:"created_at" gorm:"default:now()"`
|
CreatedAt time.Time `json:"created_at" gorm:"default:now()"`
|
||||||
UpdatedAt time.Time `json:"updated_at" gorm:"default:now()"`
|
UpdatedAt time.Time `json:"updated_at" gorm:"default:now()"`
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ func (_i *userRolesController) All(c *fiber.Ctx) error {
|
||||||
Name: c.Query("name"),
|
Name: c.Query("name"),
|
||||||
Description: c.Query("description"),
|
Description: c.Query("description"),
|
||||||
Code: c.Query("code"),
|
Code: c.Query("code"),
|
||||||
LevelNumber: c.Query("levelNumber"),
|
UserLevelId: c.Query("userLevelId"),
|
||||||
StatusId: c.Query("statusId"),
|
StatusId: c.Query("statusId"),
|
||||||
}
|
}
|
||||||
req := reqContext.ToParamRequest()
|
req := reqContext.ToParamRequest()
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ func UserRolesResponseMapper(userRolesReq *entity.UserRoles) (userRolesRes *res.
|
||||||
Name: userRolesReq.Name,
|
Name: userRolesReq.Name,
|
||||||
Description: userRolesReq.Description,
|
Description: userRolesReq.Description,
|
||||||
Code: userRolesReq.Code,
|
Code: userRolesReq.Code,
|
||||||
LevelNumber: userRolesReq.LevelNumber,
|
UserLevelId: userRolesReq.UserLevelId,
|
||||||
StatusId: userRolesReq.StatusId,
|
StatusId: userRolesReq.StatusId,
|
||||||
CreatedById: userRolesReq.CreatedById,
|
CreatedById: userRolesReq.CreatedById,
|
||||||
IsActive: userRolesReq.IsActive,
|
IsActive: userRolesReq.IsActive,
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ type userRolesRepository struct {
|
||||||
type UserRolesRepository interface {
|
type UserRolesRepository interface {
|
||||||
GetAll(req request.UserRolesQueryRequest) (userRoless []*entity.UserRoles, paging paginator.Pagination, err error)
|
GetAll(req request.UserRolesQueryRequest) (userRoless []*entity.UserRoles, paging paginator.Pagination, err error)
|
||||||
FindOne(id uint) (userRoles *entity.UserRoles, err error)
|
FindOne(id uint) (userRoles *entity.UserRoles, err error)
|
||||||
Create(userRoles *entity.UserRoles) (userRolesReturn *entity.UserRoles, err error)
|
Create(userRoles *entity.UserRoles) (err error)
|
||||||
Update(id uint, userRoles *entity.UserRoles) (err error)
|
Update(id uint, userRoles *entity.UserRoles) (err error)
|
||||||
Delete(id uint) (err error)
|
Delete(id uint) (err error)
|
||||||
}
|
}
|
||||||
|
|
@ -47,8 +47,8 @@ func (_i *userRolesRepository) GetAll(req request.UserRolesQueryRequest) (userRo
|
||||||
if req.Code != nil {
|
if req.Code != nil {
|
||||||
query = query.Where("code = ?", req.Code)
|
query = query.Where("code = ?", req.Code)
|
||||||
}
|
}
|
||||||
if req.LevelNumber != nil {
|
if req.UserLevelId != nil {
|
||||||
query = query.Where("level_number = ?", req.LevelNumber)
|
query = query.Where("user_level_id = ?", req.UserLevelId)
|
||||||
}
|
}
|
||||||
if req.StatusId != nil {
|
if req.StatusId != nil {
|
||||||
query = query.Where("status_id = ?", req.StatusId)
|
query = query.Where("status_id = ?", req.StatusId)
|
||||||
|
|
@ -84,9 +84,8 @@ func (_i *userRolesRepository) FindOne(id uint) (userRoles *entity.UserRoles, er
|
||||||
return userRoles, nil
|
return userRoles, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_i *userRolesRepository) Create(userRoles *entity.UserRoles) (userRolesReturn *entity.UserRoles, err error) {
|
func (_i *userRolesRepository) Create(userRoles *entity.UserRoles) (err error) {
|
||||||
result := _i.DB.DB.Create(userRoles)
|
return _i.DB.DB.Create(userRoles).Error
|
||||||
return userRoles, result.Error
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_i *userRolesRepository) Update(id uint, userRoles *entity.UserRoles) (err error) {
|
func (_i *userRolesRepository) Update(id uint, userRoles *entity.UserRoles) (err error) {
|
||||||
|
|
|
||||||
|
|
@ -15,18 +15,17 @@ type UserRolesQueryRequest struct {
|
||||||
Name *string `json:"name"`
|
Name *string `json:"name"`
|
||||||
Description *string `json:"description"`
|
Description *string `json:"description"`
|
||||||
Code *string `json:"code"`
|
Code *string `json:"code"`
|
||||||
LevelNumber *int `json:"levelNumber"`
|
UserLevelId *int `json:"userLevelId"`
|
||||||
StatusId *int `json:"statusId"`
|
StatusId *int `json:"statusId"`
|
||||||
Pagination *paginator.Pagination `json:"pagination"`
|
Pagination *paginator.Pagination `json:"pagination"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type UserRolesCreateRequest struct {
|
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"`
|
||||||
LevelNumber int `json:"levelNumber" validate:"required"`
|
UserLevelId uint `json:"userLevelId" validate:"required"`
|
||||||
StatusId int `json:"statusId" validate:"required"`
|
StatusId int `json:"statusId" validate:"required"`
|
||||||
UserLevelIds []int `json:"userLevelIds" validate:"required"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (req UserRolesCreateRequest) ToEntity() *entity.UserRoles {
|
func (req UserRolesCreateRequest) ToEntity() *entity.UserRoles {
|
||||||
|
|
@ -34,18 +33,18 @@ func (req UserRolesCreateRequest) ToEntity() *entity.UserRoles {
|
||||||
Name: req.Name,
|
Name: req.Name,
|
||||||
Description: req.Description,
|
Description: req.Description,
|
||||||
Code: req.Code,
|
Code: req.Code,
|
||||||
LevelNumber: req.LevelNumber,
|
|
||||||
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"`
|
||||||
StatusId int `json:"status_id" validate:"required"`
|
UserLevelId uint `json:"userLevelIds" validate:"required"`
|
||||||
UserLevelIds []int `json:"userLevelIds" validate:"required"`
|
StatusId int `json:"status_id" validate:"required"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (req UserRolesUpdateRequest) ToEntity() *entity.UserRoles {
|
func (req UserRolesUpdateRequest) ToEntity() *entity.UserRoles {
|
||||||
|
|
@ -53,8 +52,8 @@ func (req UserRolesUpdateRequest) ToEntity() *entity.UserRoles {
|
||||||
Name: req.Name,
|
Name: req.Name,
|
||||||
Description: req.Description,
|
Description: req.Description,
|
||||||
Code: req.Code,
|
Code: req.Code,
|
||||||
LevelNumber: req.LevelNumber,
|
|
||||||
StatusId: req.StatusId,
|
StatusId: req.StatusId,
|
||||||
|
UserLevelId: req.UserLevelId,
|
||||||
UpdatedAt: time.Now(),
|
UpdatedAt: time.Now(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -63,7 +62,7 @@ type UserRolesQueryRequestContext struct {
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Description string `json:"description"`
|
Description string `json:"description"`
|
||||||
Code string `json:"code"`
|
Code string `json:"code"`
|
||||||
LevelNumber string `json:"levelNumber"`
|
UserLevelId string `json:"userLevelId"`
|
||||||
StatusId string `json:"statusId"`
|
StatusId string `json:"statusId"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -76,10 +75,10 @@ func (req UserRolesQueryRequestContext) ToParamRequest() UserRolesQueryRequest {
|
||||||
if code := req.Code; code != "" {
|
if code := req.Code; code != "" {
|
||||||
request.Code = &code
|
request.Code = &code
|
||||||
}
|
}
|
||||||
if levelNumberStr := req.LevelNumber; levelNumberStr != "" {
|
if userLevelIdStr := req.UserLevelId; userLevelIdStr != "" {
|
||||||
levelNumber, err := strconv.Atoi(levelNumberStr)
|
userLevelId, err := strconv.Atoi(userLevelIdStr)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
request.LevelNumber = &levelNumber
|
request.UserLevelId = &userLevelId
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if statusIdStr := req.StatusId; statusIdStr != "" {
|
if statusIdStr := req.StatusId; statusIdStr != "" {
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ type UserRolesResponse struct {
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Description string `json:"description"`
|
Description string `json:"description"`
|
||||||
Code string `json:"code"`
|
Code string `json:"code"`
|
||||||
LevelNumber int `json:"level_number"`
|
UserLevelId uint `json:"user_level_id"`
|
||||||
StatusId int `json:"status_id"`
|
StatusId int `json:"status_id"`
|
||||||
CreatedById *uint `json:"created_by_id"`
|
CreatedById *uint `json:"created_by_id"`
|
||||||
IsActive *bool `json:"is_active"`
|
IsActive *bool `json:"is_active"`
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@ package service
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/rs/zerolog"
|
"github.com/rs/zerolog"
|
||||||
"go-humas-be/app/database/entity"
|
|
||||||
userLevelsRepository "go-humas-be/app/module/user_levels/repository"
|
userLevelsRepository "go-humas-be/app/module/user_levels/repository"
|
||||||
userRoleLevelDetailsRepository "go-humas-be/app/module/user_role_level_details/repository"
|
userRoleLevelDetailsRepository "go-humas-be/app/module/user_role_level_details/repository"
|
||||||
"go-humas-be/app/module/user_roles/mapper"
|
"go-humas-be/app/module/user_roles/mapper"
|
||||||
|
|
@ -81,21 +80,7 @@ func (_i *userRolesService) Save(req request.UserRolesCreateRequest, authToken s
|
||||||
createdBy := utilSvc.GetUserInfo(_i.Log, _i.UsersRepo, authToken)
|
createdBy := utilSvc.GetUserInfo(_i.Log, _i.UsersRepo, authToken)
|
||||||
newReq.CreatedById = &createdBy.ID
|
newReq.CreatedById = &createdBy.ID
|
||||||
|
|
||||||
dataResult, err := _i.Repo.Create(newReq)
|
return _i.Repo.Create(newReq)
|
||||||
|
|
||||||
for _, levelId := range req.UserLevelIds {
|
|
||||||
var userRoleLevelDetails *entity.UserRoleLevelDetails
|
|
||||||
userRoleLevelDetails = &entity.UserRoleLevelDetails{
|
|
||||||
UserRoleId: dataResult.ID,
|
|
||||||
UserLevelId: uint(levelId),
|
|
||||||
}
|
|
||||||
err := _i.UserRoleLevelDetailsRepo.Create(userRoleLevelDetails)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_i *userRolesService) Update(id uint, req request.UserRolesUpdateRequest) (err error) {
|
func (_i *userRolesService) Update(id uint, req request.UserRolesUpdateRequest) (err error) {
|
||||||
|
|
|
||||||
|
|
@ -5960,11 +5960,6 @@ const docTemplate = `{
|
||||||
"name": "description",
|
"name": "description",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"type": "integer",
|
|
||||||
"name": "levelNumber",
|
|
||||||
"in": "query"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"name": "name",
|
"name": "name",
|
||||||
|
|
@ -5975,6 +5970,11 @@ const docTemplate = `{
|
||||||
"name": "statusId",
|
"name": "statusId",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"name": "userLevelId",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"name": "count",
|
"name": "count",
|
||||||
|
|
@ -7254,10 +7254,9 @@ const docTemplate = `{
|
||||||
"required": [
|
"required": [
|
||||||
"code",
|
"code",
|
||||||
"description",
|
"description",
|
||||||
"levelNumber",
|
|
||||||
"name",
|
"name",
|
||||||
"statusId",
|
"statusId",
|
||||||
"userLevelIds"
|
"userLevelId"
|
||||||
],
|
],
|
||||||
"properties": {
|
"properties": {
|
||||||
"code": {
|
"code": {
|
||||||
|
|
@ -7266,20 +7265,14 @@ const docTemplate = `{
|
||||||
"description": {
|
"description": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
"levelNumber": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"name": {
|
"name": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
"statusId": {
|
"statusId": {
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"userLevelIds": {
|
"userLevelId": {
|
||||||
"type": "array",
|
"type": "integer"
|
||||||
"items": {
|
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -7310,10 +7303,7 @@ const docTemplate = `{
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"userLevelIds": {
|
"userLevelIds": {
|
||||||
"type": "array",
|
"type": "integer"
|
||||||
"items": {
|
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -5949,11 +5949,6 @@
|
||||||
"name": "description",
|
"name": "description",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"type": "integer",
|
|
||||||
"name": "levelNumber",
|
|
||||||
"in": "query"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"name": "name",
|
"name": "name",
|
||||||
|
|
@ -5964,6 +5959,11 @@
|
||||||
"name": "statusId",
|
"name": "statusId",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"name": "userLevelId",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"name": "count",
|
"name": "count",
|
||||||
|
|
@ -7243,10 +7243,9 @@
|
||||||
"required": [
|
"required": [
|
||||||
"code",
|
"code",
|
||||||
"description",
|
"description",
|
||||||
"levelNumber",
|
|
||||||
"name",
|
"name",
|
||||||
"statusId",
|
"statusId",
|
||||||
"userLevelIds"
|
"userLevelId"
|
||||||
],
|
],
|
||||||
"properties": {
|
"properties": {
|
||||||
"code": {
|
"code": {
|
||||||
|
|
@ -7255,20 +7254,14 @@
|
||||||
"description": {
|
"description": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
"levelNumber": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"name": {
|
"name": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
"statusId": {
|
"statusId": {
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"userLevelIds": {
|
"userLevelId": {
|
||||||
"type": "array",
|
"type": "integer"
|
||||||
"items": {
|
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -7299,10 +7292,7 @@
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"userLevelIds": {
|
"userLevelIds": {
|
||||||
"type": "array",
|
"type": "integer"
|
||||||
"items": {
|
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -433,23 +433,18 @@ definitions:
|
||||||
type: string
|
type: string
|
||||||
description:
|
description:
|
||||||
type: string
|
type: string
|
||||||
levelNumber:
|
|
||||||
type: integer
|
|
||||||
name:
|
name:
|
||||||
type: string
|
type: string
|
||||||
statusId:
|
statusId:
|
||||||
type: integer
|
type: integer
|
||||||
userLevelIds:
|
userLevelId:
|
||||||
items:
|
type: integer
|
||||||
type: integer
|
|
||||||
type: array
|
|
||||||
required:
|
required:
|
||||||
- code
|
- code
|
||||||
- description
|
- description
|
||||||
- levelNumber
|
|
||||||
- name
|
- name
|
||||||
- statusId
|
- statusId
|
||||||
- userLevelIds
|
- userLevelId
|
||||||
type: object
|
type: object
|
||||||
request.UserRolesUpdateRequest:
|
request.UserRolesUpdateRequest:
|
||||||
properties:
|
properties:
|
||||||
|
|
@ -464,9 +459,7 @@ definitions:
|
||||||
status_id:
|
status_id:
|
||||||
type: integer
|
type: integer
|
||||||
userLevelIds:
|
userLevelIds:
|
||||||
items:
|
type: integer
|
||||||
type: integer
|
|
||||||
type: array
|
|
||||||
required:
|
required:
|
||||||
- code
|
- code
|
||||||
- description
|
- description
|
||||||
|
|
@ -4378,15 +4371,15 @@ paths:
|
||||||
- in: query
|
- in: query
|
||||||
name: description
|
name: description
|
||||||
type: string
|
type: string
|
||||||
- in: query
|
|
||||||
name: levelNumber
|
|
||||||
type: integer
|
|
||||||
- in: query
|
- in: query
|
||||||
name: name
|
name: name
|
||||||
type: string
|
type: string
|
||||||
- in: query
|
- in: query
|
||||||
name: statusId
|
name: statusId
|
||||||
type: integer
|
type: integer
|
||||||
|
- in: query
|
||||||
|
name: userLevelId
|
||||||
|
type: integer
|
||||||
- in: query
|
- in: query
|
||||||
name: count
|
name: count
|
||||||
type: integer
|
type: integer
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue