feat: update user, user_role, ppid_datas, ppid_data_files, ppid_categories, etc

This commit is contained in:
hanif salafi 2024-04-29 16:46:37 +07:00
parent 06e1758345
commit a8b101c469
19 changed files with 216 additions and 112 deletions

View File

@ -6,8 +6,8 @@ type PpidDatas struct {
ID uint `json:"id" gorm:"primaryKey;type:int4;autoIncrement"` ID uint `json:"id" gorm:"primaryKey;type:int4;autoIncrement"`
Title string `json:"title" gorm:"type:varchar"` Title string `json:"title" gorm:"type:varchar"`
Description string `json:"description" gorm:"type:varchar"` Description string `json:"description" gorm:"type:varchar"`
CategoryId int `json:"category_id" gorm:"type:int4"` CategoryId uint `json:"category_id" gorm:"type:int4"`
CreatedById int `json:"created_by_id" gorm:"type:int4"` CreatedById *uint `json:"created_by_id" gorm:"type:int4"`
LevelGroupId *int `json:"level_group_id" gorm:"type:int4"` LevelGroupId *int `json:"level_group_id" gorm:"type:int4"`
Group *string `json:"group" gorm:"type:varchar"` Group *string `json:"group" gorm:"type:varchar"`
StatusId int `json:"status_id" gorm:"type:int4"` StatusId int `json:"status_id" gorm:"type:int4"`

View File

@ -16,10 +16,10 @@ type Users struct {
DateOfBirth string `json:"date_of_birth" gorm:"type:varchar"` DateOfBirth string `json:"date_of_birth" gorm:"type:varchar"`
LastEducation string `json:"last_education" gorm:"type:varchar"` LastEducation string `json:"last_education" gorm:"type:varchar"`
UserRoleId int `json:"user_role_id" gorm:"type:int4"` UserRoleId int `json:"user_role_id" gorm:"type:int4"`
UserLevelsId int `json:"user_levels_id" gorm:"type:int4"` UserLevelId int `json:"user_level_id" gorm:"type:int4"`
KeycloakId *string `json:"keycloak_id" gorm:"type:varchar"` KeycloakId *string `json:"keycloak_id" gorm:"type:varchar"`
StatusId *int `json:"status_id" gorm:"type:int4;default:1"` StatusId *int `json:"status_id" gorm:"type:int4;default:1"`
CreatedById *int `json:"created_by_id" gorm:"type:int4"` CreatedById *uint `json:"created_by_id" gorm:"type:int4"`
ProfilePicturePath *string `json:"profile_picture_path" gorm:"type:varchar"` ProfilePicturePath *string `json:"profile_picture_path" gorm:"type:varchar"`
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()"`

View File

@ -106,6 +106,7 @@ func (_i *ppidDatasController) Show(c *fiber.Ctx) error {
// @Description API for create PpidDatas // @Description API for create PpidDatas
// @Tags PPID Data // @Tags PPID Data
// @Security Bearer // @Security Bearer
// @Param Authorization header string true "Insert your access token" default(Bearer <Add access token here>)
// @Param payload body request.PpidDatasCreateRequest true "Required payload" // @Param payload body request.PpidDatasCreateRequest true "Required payload"
// @Success 200 {object} response.Response // @Success 200 {object} response.Response
// @Failure 400 {object} response.BadRequestError // @Failure 400 {object} response.BadRequestError
@ -118,7 +119,8 @@ func (_i *ppidDatasController) Save(c *fiber.Ctx) error {
return err return err
} }
err := _i.ppidDatasService.Save(*req) authToken := c.Get("Authorization")
err := _i.ppidDatasService.Save(*req, authToken)
if err != nil { if err != nil {
return err return err
} }

View File

@ -1,24 +1,46 @@
package mapper package mapper
import ( import (
"github.com/rs/zerolog"
"go-humas-be/app/database/entity" "go-humas-be/app/database/entity"
ppidDataCategoriesRepository "go-humas-be/app/module/ppid_data_categories/repository"
res "go-humas-be/app/module/ppid_datas/response" res "go-humas-be/app/module/ppid_datas/response"
usersRepository "go-humas-be/app/module/users/repository"
"time"
) )
func PpidDatasResponseMapper(ppidDatasReq *entity.PpidDatas) (ppidDatasRes *res.PpidDatasResponse) { func PpidDatasResponseMapper(log zerolog.Logger, ppidDataCategoriesRepo ppidDataCategoriesRepository.PpidDataCategoriesRepository, usersRepo usersRepository.UsersRepository, ppidDatasReq *entity.PpidDatas) (ppidDatasRes *res.PpidDatasResponse) {
if ppidDatasReq != nil { if ppidDatasReq != nil {
findCategory, _ := ppidDataCategoriesRepo.FindOne(ppidDatasReq.CategoryId)
categoryName := ""
if findCategory != nil {
categoryName = findCategory.Title
}
findUser, _ := usersRepo.FindOne(*ppidDatasReq.CreatedById)
createdByName := ""
if findUser != nil {
createdByName = findUser.Fullname
}
log.Info().Str("timestamp", time.Now().
Format(time.RFC3339)).Str("Service:PpidDatasResponseMapper", "UserInfo:PpidData").
Interface("payload", findCategory).Msg("")
ppidDatasRes = &res.PpidDatasResponse{ ppidDatasRes = &res.PpidDatasResponse{
ID: ppidDatasReq.ID, ID: ppidDatasReq.ID,
Title: ppidDatasReq.Title, Title: ppidDatasReq.Title,
Description: ppidDatasReq.Description, Description: ppidDatasReq.Description,
CategoryId: ppidDatasReq.CategoryId, CategoryId: ppidDatasReq.CategoryId,
CreatedById: ppidDatasReq.CreatedById, CategoryName: &categoryName,
StatusId: ppidDatasReq.StatusId, CreatedById: ppidDatasReq.CreatedById,
IsPublish: ppidDatasReq.IsPublish, CreatedByName: &createdByName,
PublishedAt: ppidDatasReq.PublishedAt, StatusId: ppidDatasReq.StatusId,
IsActive: ppidDatasReq.IsActive, IsPublish: ppidDatasReq.IsPublish,
CreatedAt: ppidDatasReq.CreatedAt, PublishedAt: ppidDatasReq.PublishedAt,
UpdatedAt: ppidDatasReq.UpdatedAt, IsActive: ppidDatasReq.IsActive,
CreatedAt: ppidDatasReq.CreatedAt,
UpdatedAt: ppidDatasReq.UpdatedAt,
} }
} }
return ppidDatasRes return ppidDatasRes

View File

@ -26,9 +26,9 @@ type PpidDatasQueryRequest struct {
type PpidDatasCreateRequest struct { type PpidDatasCreateRequest struct {
Title string `json:"title" validate:"required"` Title string `json:"title" validate:"required"`
Description string `json:"description" validate:"required"` Description string `json:"description" validate:"required"`
CategoryId int `json:"categoryId" validate:"required"` CategoryId uint `json:"categoryId" validate:"required"`
CreatedById int `json:"createdById" validate:"required"`
StatusId int `json:"statusId" validate:"required"` StatusId int `json:"statusId" validate:"required"`
CreatedById *uint `json:"createdById"`
LevelGroupId *int `json:"levelGroupId"` LevelGroupId *int `json:"levelGroupId"`
Group *string `json:"group"` Group *string `json:"group"`
} }
@ -49,9 +49,9 @@ type PpidDatasUpdateRequest struct {
ID uint `json:"id" validate:"required"` ID uint `json:"id" validate:"required"`
Title string `json:"title" validate:"required"` Title string `json:"title" validate:"required"`
Description string `json:"description" validate:"required"` Description string `json:"description" validate:"required"`
CategoryId int `json:"category_id" validate:"required"` CategoryId uint `json:"category_id" validate:"required"`
CreatedById int `json:"created_by_id" validate:"required"`
StatusId int `json:"status_id" validate:"required"` StatusId int `json:"status_id" validate:"required"`
CreatedById *uint `json:"created_by_id"`
IsPublish *bool `json:"is_publish"` IsPublish *bool `json:"is_publish"`
PublishedAt *time.Time `json:"published_at"` PublishedAt *time.Time `json:"published_at"`
LevelGroupId *int `json:"levelGroupId"` LevelGroupId *int `json:"levelGroupId"`

View File

@ -3,15 +3,18 @@ package response
import "time" import "time"
type PpidDatasResponse struct { type PpidDatasResponse struct {
ID uint `json:"id"` ID uint `json:"id"`
Title string `json:"title"` Title string `json:"title"`
Description string `json:"description"` Description string `json:"description"`
CategoryId int `json:"category_id"` CategoryId uint `json:"categoryId"`
CreatedById int `json:"created_by_id"` CategoryName *string `json:"categoryName"`
StatusId int `json:"status_id"` CreatedById *uint `json:"createdById"`
IsPublish bool `json:"is_publish"` CreatedByName *string `json:"createdByName"`
PublishedAt time.Time `json:"published_at"` StatusId int `json:"statusId"`
IsActive bool `json:"is_active"` StatusName int `json:"statusName"`
CreatedAt time.Time `json:"created_at"` IsPublish *bool `json:"isPublish"`
UpdatedAt time.Time `json:"updated_at"` PublishedAt *time.Time `json:"publishedAt"`
IsActive *bool `json:"isActive"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
} }

View File

@ -2,34 +2,44 @@ package service
import ( import (
"github.com/rs/zerolog" "github.com/rs/zerolog"
ppidDataCategoriesRepository "go-humas-be/app/module/ppid_data_categories/repository"
"go-humas-be/app/module/ppid_datas/mapper" "go-humas-be/app/module/ppid_datas/mapper"
"go-humas-be/app/module/ppid_datas/repository" "go-humas-be/app/module/ppid_datas/repository"
"go-humas-be/app/module/ppid_datas/request" "go-humas-be/app/module/ppid_datas/request"
"go-humas-be/app/module/ppid_datas/response" "go-humas-be/app/module/ppid_datas/response"
userLevelsRepository "go-humas-be/app/module/user_levels/repository"
usersRepository "go-humas-be/app/module/users/repository"
"go-humas-be/utils/paginator" "go-humas-be/utils/paginator"
utilSvc "go-humas-be/utils/service"
) )
// PpidDatasService // PpidDatasService
type ppidDatasService struct { type ppidDatasService struct {
Repo repository.PpidDatasRepository Repo repository.PpidDatasRepository
Log zerolog.Logger PpidDataCategoriesRepo ppidDataCategoriesRepository.PpidDataCategoriesRepository
UsersRepo usersRepository.UsersRepository
UserLevelsRepo userLevelsRepository.UserLevelsRepository
Log zerolog.Logger
} }
// PpidDatasService define interface of IPpidDatasService // PpidDatasService define interface of IPpidDatasService
type PpidDatasService interface { type PpidDatasService interface {
All(req request.PpidDatasQueryRequest) (ppidDatas []*response.PpidDatasResponse, paging paginator.Pagination, err error) All(req request.PpidDatasQueryRequest) (ppidDatas []*response.PpidDatasResponse, paging paginator.Pagination, err error)
Show(id uint) (ppidDatas *response.PpidDatasResponse, err error) Show(id uint) (ppidDatas *response.PpidDatasResponse, err error)
Save(req request.PpidDatasCreateRequest) (err error) Save(req request.PpidDatasCreateRequest, authToken string) (err error)
Update(id uint, req request.PpidDatasUpdateRequest) (err error) Update(id uint, req request.PpidDatasUpdateRequest) (err error)
Delete(id uint) error Delete(id uint) error
} }
// NewPpidDatasService init PpidDatasService // NewPpidDatasService init PpidDatasService
func NewPpidDatasService(repo repository.PpidDatasRepository, log zerolog.Logger) PpidDatasService { func NewPpidDatasService(repo repository.PpidDatasRepository, ppidCategoriesRepository ppidDataCategoriesRepository.PpidDataCategoriesRepository, usersRepo usersRepository.UsersRepository, userLevelsRepo userLevelsRepository.UserLevelsRepository, log zerolog.Logger) PpidDatasService {
return &ppidDatasService{ return &ppidDatasService{
Repo: repo, Repo: repo,
Log: log, PpidDataCategoriesRepo: ppidCategoriesRepository,
UsersRepo: usersRepo,
UserLevelsRepo: userLevelsRepo,
Log: log,
} }
} }
@ -41,7 +51,7 @@ func (_i *ppidDatasService) All(req request.PpidDatasQueryRequest) (ppidDatass [
} }
for _, result := range results { for _, result := range results {
ppidDatass = append(ppidDatass, mapper.PpidDatasResponseMapper(result)) ppidDatass = append(ppidDatass, mapper.PpidDatasResponseMapper(_i.Log, _i.PpidDataCategoriesRepo, _i.UsersRepo, result))
} }
return return
@ -53,13 +63,24 @@ func (_i *ppidDatasService) Show(id uint) (ppidDatas *response.PpidDatasResponse
return nil, err return nil, err
} }
return mapper.PpidDatasResponseMapper(result), nil return mapper.PpidDatasResponseMapper(_i.Log, _i.PpidDataCategoriesRepo, _i.UsersRepo, result), nil
} }
func (_i *ppidDatasService) Save(req request.PpidDatasCreateRequest) (err error) { func (_i *ppidDatasService) Save(req request.PpidDatasCreateRequest, authToken string) (err error) {
_i.Log.Info().Interface("data", req).Msg("") _i.Log.Info().Interface("data", req).Msg("")
newReq := req.ToEntity()
return _i.Repo.Create(req.ToEntity()) createdBy := utilSvc.GetUserInfo(_i.Log, _i.UsersRepo, authToken)
newReq.CreatedById = &createdBy.ID
newReq.LevelGroupId = &createdBy.UserLevelId
userLevels, err := _i.UserLevelsRepo.FindOne(uint(createdBy.UserLevelId))
if err != nil {
return err
}
newReq.Group = userLevels.Group
return _i.Repo.Create(newReq)
} }
func (_i *ppidDatasService) Update(id uint, req request.PpidDatasUpdateRequest) (err error) { func (_i *ppidDatasService) Update(id uint, req request.PpidDatasUpdateRequest) (err error) {

View File

@ -119,9 +119,9 @@ func (_i *userRolesController) Save(c *fiber.Ctx) error {
return err return err
} }
authorizationHeader := c.Get("Authorization") authToken := c.Get("Authorization")
err := _i.userRolesService.Save(*req, authorizationHeader) err := _i.userRolesService.Save(*req, authToken)
if err != nil { if err != nil {
return err return err
} }

View File

@ -22,7 +22,7 @@ type userRolesService struct {
type UserRolesService interface { type UserRolesService interface {
All(req request.UserRolesQueryRequest) (userRoles []*response.UserRolesResponse, paging paginator.Pagination, err error) All(req request.UserRolesQueryRequest) (userRoles []*response.UserRolesResponse, paging paginator.Pagination, err error)
Show(id uint) (userRoles *response.UserRolesResponse, err error) Show(id uint) (userRoles *response.UserRolesResponse, err error)
Save(req request.UserRolesCreateRequest, header string) (err error) Save(req request.UserRolesCreateRequest, authToken string) (err error)
Update(id uint, req request.UserRolesUpdateRequest) (err error) Update(id uint, req request.UserRolesUpdateRequest) (err error)
Delete(id uint) error Delete(id uint) error
} }
@ -61,11 +61,11 @@ func (_i *userRolesService) Show(id uint) (userRoles *response.UserRolesResponse
return mapper.UserRolesResponseMapper(result), nil return mapper.UserRolesResponseMapper(result), nil
} }
func (_i *userRolesService) Save(req request.UserRolesCreateRequest, header string) (err error) { func (_i *userRolesService) Save(req request.UserRolesCreateRequest, authToken string) (err error) {
_i.Log.Info().Interface("data", req).Msg("") _i.Log.Info().Interface("data", req).Msg("")
newReq := req.ToEntity() newReq := req.ToEntity()
createdBy := utilSvc.GetUserInfo(_i.Log, _i.UsersRepo, header) createdBy := utilSvc.GetUserInfo(_i.Log, _i.UsersRepo, authToken)
newReq.CreatedById = &createdBy.ID newReq.CreatedById = &createdBy.ID
return _i.Repo.Create(newReq) return _i.Repo.Create(newReq)

View File

@ -107,6 +107,7 @@ func (_i *usersController) Show(c *fiber.Ctx) error {
// @Description API for create Users // @Description API for create Users
// @Tags Users // @Tags Users
// @Security Bearer // @Security Bearer
// @Param Authorization header string true "Insert your access token" default(Bearer <Add access token here>)
// @Param payload body request.UsersCreateRequest true "Required payload" // @Param payload body request.UsersCreateRequest true "Required payload"
// @Success 200 {object} response.Response // @Success 200 {object} response.Response
// @Failure 400 {object} response.BadRequestError // @Failure 400 {object} response.BadRequestError
@ -119,7 +120,9 @@ func (_i *usersController) Save(c *fiber.Ctx) error {
return err return err
} }
err := _i.usersService.Save(*req) authToken := c.Get("Authorization")
err := _i.usersService.Save(*req, authToken)
if err != nil { if err != nil {
return err return err
} }

View File

@ -8,27 +8,27 @@ import (
func UsersResponseMapper(usersReq *entity.Users) (usersRes *res.UsersResponse) { func UsersResponseMapper(usersReq *entity.Users) (usersRes *res.UsersResponse) {
if usersReq != nil { if usersReq != nil {
usersRes = &res.UsersResponse{ usersRes = &res.UsersResponse{
ID: usersReq.ID, ID: usersReq.ID,
Username: usersReq.Username, Username: usersReq.Username,
Email: usersReq.Email, Email: usersReq.Email,
Fullname: usersReq.Fullname, Fullname: usersReq.Fullname,
Address: usersReq.Address, Address: usersReq.Address,
PhoneNumber: usersReq.PhoneNumber, PhoneNumber: usersReq.PhoneNumber,
WorkType: usersReq.WorkType, WorkType: usersReq.WorkType,
GenderType: usersReq.GenderType, GenderType: usersReq.GenderType,
IdentityType: usersReq.IdentityType, IdentityType: usersReq.IdentityType,
IdentityNumber: usersReq.IdentityNumber, IdentityNumber: usersReq.IdentityNumber,
DateOfBirth: usersReq.DateOfBirth, DateOfBirth: usersReq.DateOfBirth,
LastEducation: usersReq.LastEducation, LastEducation: usersReq.LastEducation,
KeycloakId: usersReq.KeycloakId, KeycloakId: usersReq.KeycloakId,
UserRoleId: usersReq.UserRoleId, UserRoleId: usersReq.UserRoleId,
StatusId: usersReq.StatusId, StatusId: usersReq.StatusId,
UserLevelsId: usersReq.UserLevelsId, UserLevelId: usersReq.UserLevelId,
CreatedById: usersReq.CreatedById, CreatedById: usersReq.CreatedById,
ProfilePicturePath: usersReq.ProfilePicturePath, ProfilePicturePath: usersReq.ProfilePicturePath,
IsActive: usersReq.IsActive, IsActive: usersReq.IsActive,
CreatedAt: usersReq.CreatedAt, CreatedAt: usersReq.CreatedAt,
UpdatedAt: usersReq.UpdatedAt, UpdatedAt: usersReq.UpdatedAt,
} }
} }
return usersRes return usersRes

View File

@ -35,7 +35,7 @@ type UsersCreateRequest struct {
DateOfBirth string `json:"dateOfBirth" validate:"required"` DateOfBirth string `json:"dateOfBirth" validate:"required"`
LastEducation string `json:"lastEducation" validate:"required"` LastEducation string `json:"lastEducation" validate:"required"`
UserRoleId int `json:"userRoleId" validate:"required"` UserRoleId int `json:"userRoleId" validate:"required"`
UserLevelsId int `json:"userLevelsId" validate:"required"` UserLevelId int `json:"userLevelId" validate:"required"`
} }
func (req UsersCreateRequest) ToEntity() *entity.Users { func (req UsersCreateRequest) ToEntity() *entity.Users {
@ -52,7 +52,7 @@ func (req UsersCreateRequest) ToEntity() *entity.Users {
DateOfBirth: req.DateOfBirth, DateOfBirth: req.DateOfBirth,
LastEducation: req.LastEducation, LastEducation: req.LastEducation,
UserRoleId: req.UserRoleId, UserRoleId: req.UserRoleId,
UserLevelsId: req.UserLevelsId, UserLevelId: req.UserLevelId,
} }
} }
@ -69,8 +69,8 @@ type UsersUpdateRequest struct {
DateOfBirth string `json:"dateOfBirth" validate:"required"` DateOfBirth string `json:"dateOfBirth" validate:"required"`
LastEducation string `json:"lastEducation" validate:"required"` LastEducation string `json:"lastEducation" validate:"required"`
UserRoleId int `json:"userRoleId" validate:"required"` UserRoleId int `json:"userRoleId" validate:"required"`
UserLevelsId int `json:"userLevelsId" validate:"required"` UserLevelId int `json:"userLevelId" validate:"required"`
StatusId *int `json:"status_id"` StatusId *int `json:"statusId"`
} }
func (req UsersUpdateRequest) ToEntity() *entity.Users { func (req UsersUpdateRequest) ToEntity() *entity.Users {
@ -88,7 +88,7 @@ func (req UsersUpdateRequest) ToEntity() *entity.Users {
LastEducation: req.LastEducation, LastEducation: req.LastEducation,
UserRoleId: req.UserRoleId, UserRoleId: req.UserRoleId,
StatusId: req.StatusId, StatusId: req.StatusId,
UserLevelsId: req.UserLevelsId, UserLevelId: req.UserLevelId,
UpdatedAt: time.Now(), UpdatedAt: time.Now(),
} }
} }

View File

@ -8,20 +8,20 @@ type UsersResponse struct {
Email string `json:"email"` Email string `json:"email"`
Fullname string `json:"fullname"` Fullname string `json:"fullname"`
Address string `json:"address"` Address string `json:"address"`
PhoneNumber string `json:"phone_number"` PhoneNumber string `json:"phoneNumber"`
WorkType string `json:"work_type"` WorkType string `json:"workType"`
GenderType string `json:"gender_type"` GenderType string `json:"genderType"`
IdentityType string `json:"identity_type"` IdentityType string `json:"identityType"`
IdentityNumber string `json:"identity_number"` IdentityNumber string `json:"identityNumber"`
DateOfBirth string `json:"date_of_birth"` DateOfBirth string `json:"dateOfBirth"`
LastEducation string `json:"last_education"` LastEducation string `json:"lastEducation"`
KeycloakId *string `json:"keycloak_id"` KeycloakId *string `json:"keycloakId"`
UserRoleId int `json:"user_role_id"` UserRoleId int `json:"userRoleId"`
StatusId *int `json:"status_id"` StatusId *int `json:"status_id"`
UserLevelsId int `json:"user_levels_id"` UserLevelId int `json:"userLevelId"`
CreatedById *int `json:"created_by_id"` CreatedById *uint `json:"createdById"`
ProfilePicturePath *string `json:"profile_picture_path"` ProfilePicturePath *string `json:"profilePicturePath"`
IsActive *bool `json:"is_active"` IsActive *bool `json:"isActive"`
CreatedAt time.Time `json:"created_at"` CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updated_at"` UpdatedAt time.Time `json:"updatedAt"`
} }

View File

@ -7,6 +7,7 @@ import (
"go-humas-be/app/module/users/request" "go-humas-be/app/module/users/request"
"go-humas-be/app/module/users/response" "go-humas-be/app/module/users/response"
"go-humas-be/utils/paginator" "go-humas-be/utils/paginator"
utilSvc "go-humas-be/utils/service"
) )
// UsersService // UsersService
@ -19,7 +20,7 @@ type usersService struct {
type UsersService interface { type UsersService interface {
All(req request.UsersQueryRequest) (users []*response.UsersResponse, paging paginator.Pagination, err error) All(req request.UsersQueryRequest) (users []*response.UsersResponse, paging paginator.Pagination, err error)
Show(id uint) (users *response.UsersResponse, err error) Show(id uint) (users *response.UsersResponse, err error)
Save(req request.UsersCreateRequest) (err error) Save(req request.UsersCreateRequest, authToken string) (err error)
Update(id uint, req request.UsersUpdateRequest) (err error) Update(id uint, req request.UsersUpdateRequest) (err error)
Delete(id uint) error Delete(id uint) error
} }
@ -56,10 +57,14 @@ func (_i *usersService) Show(id uint) (users *response.UsersResponse, err error)
return mapper.UsersResponseMapper(result), nil return mapper.UsersResponseMapper(result), nil
} }
func (_i *usersService) Save(req request.UsersCreateRequest) (err error) { func (_i *usersService) Save(req request.UsersCreateRequest, authToken string) (err error) {
_i.Log.Info().Interface("data", req).Msg("") _i.Log.Info().Interface("data", req).Msg("")
newReq := req.ToEntity()
return _i.Repo.Create(req.ToEntity()) createdBy := utilSvc.GetUserInfo(_i.Log, _i.Repo, authToken)
newReq.CreatedById = &createdBy.ID
return _i.Repo.Create(newReq)
} }
func (_i *usersService) Update(id uint, req request.UsersUpdateRequest) (err error) { func (_i *usersService) Update(id uint, req request.UsersUpdateRequest) (err error) {

View File

@ -15,6 +15,7 @@ import (
"go-humas-be/app/module/master_modules" "go-humas-be/app/module/master_modules"
"go-humas-be/app/module/ppid_data_categories" "go-humas-be/app/module/ppid_data_categories"
"go-humas-be/app/module/ppid_data_files" "go-humas-be/app/module/ppid_data_files"
"go-humas-be/app/module/ppid_datas"
"go-humas-be/app/module/provinces" "go-humas-be/app/module/provinces"
"go-humas-be/app/module/user_levels" "go-humas-be/app/module/user_levels"
"go-humas-be/app/module/user_role_accesses" "go-humas-be/app/module/user_role_accesses"
@ -40,6 +41,7 @@ type Router struct {
MasterModulesRouter *master_modules.MasterModulesRouter MasterModulesRouter *master_modules.MasterModulesRouter
PpidDataCategoriesRouter *ppid_data_categories.PpidDataCategoriesRouter PpidDataCategoriesRouter *ppid_data_categories.PpidDataCategoriesRouter
PpidDataFilesRouter *ppid_data_files.PpidDataFilesRouter PpidDataFilesRouter *ppid_data_files.PpidDataFilesRouter
PpidDatas *ppid_datas.PpidDatasRouter
ProvincesRouter *provinces.ProvincesRouter ProvincesRouter *provinces.ProvincesRouter
UserLevelsRouter *user_levels.UserLevelsRouter UserLevelsRouter *user_levels.UserLevelsRouter
UserRoleAccessesRouter *user_role_accesses.UserRoleAccessesRouter UserRoleAccessesRouter *user_role_accesses.UserRoleAccessesRouter
@ -63,6 +65,7 @@ func NewRouter(
masterModuleRouter *master_modules.MasterModulesRouter, masterModuleRouter *master_modules.MasterModulesRouter,
ppidDataCategoriesRouter *ppid_data_categories.PpidDataCategoriesRouter, ppidDataCategoriesRouter *ppid_data_categories.PpidDataCategoriesRouter,
ppidDataFilesRouter *ppid_data_files.PpidDataFilesRouter, ppidDataFilesRouter *ppid_data_files.PpidDataFilesRouter,
ppidDatas *ppid_datas.PpidDatasRouter,
provincesRouter *provinces.ProvincesRouter, provincesRouter *provinces.ProvincesRouter,
userLevelsRouter *user_levels.UserLevelsRouter, userLevelsRouter *user_levels.UserLevelsRouter,
userRoleAccessesRouter *user_role_accesses.UserRoleAccessesRouter, userRoleAccessesRouter *user_role_accesses.UserRoleAccessesRouter,
@ -84,6 +87,7 @@ func NewRouter(
MasterModulesRouter: masterModuleRouter, MasterModulesRouter: masterModuleRouter,
PpidDataCategoriesRouter: ppidDataCategoriesRouter, PpidDataCategoriesRouter: ppidDataCategoriesRouter,
PpidDataFilesRouter: ppidDataFilesRouter, PpidDataFilesRouter: ppidDataFilesRouter,
PpidDatas: ppidDatas,
ProvincesRouter: provincesRouter, ProvincesRouter: provincesRouter,
UserLevelsRouter: userLevelsRouter, UserLevelsRouter: userLevelsRouter,
UserRoleAccessesRouter: userRoleAccessesRouter, UserRoleAccessesRouter: userRoleAccessesRouter,
@ -115,6 +119,7 @@ func (r *Router) Register() {
r.MasterModulesRouter.RegisterMasterModulesRoutes() r.MasterModulesRouter.RegisterMasterModulesRoutes()
r.PpidDataCategoriesRouter.RegisterPpidDataCategoriesRoutes() r.PpidDataCategoriesRouter.RegisterPpidDataCategoriesRoutes()
r.PpidDataFilesRouter.RegisterPpidDataFilesRoutes() r.PpidDataFilesRouter.RegisterPpidDataFilesRoutes()
r.PpidDatas.RegisterPpidDatasRoutes()
r.ProvincesRouter.RegisterProvincesRoutes() r.ProvincesRouter.RegisterProvincesRoutes()
r.UserLevelsRouter.RegisterUserLevelsRoutes() r.UserLevelsRouter.RegisterUserLevelsRoutes()
r.UserRoleAccessesRouter.RegisterUserRoleAccessesRoutes() r.UserRoleAccessesRouter.RegisterUserRoleAccessesRoutes()

View File

@ -3859,6 +3859,14 @@ const docTemplate = `{
], ],
"summary": "Create PpidDatas", "summary": "Create PpidDatas",
"parameters": [ "parameters": [
{
"type": "string",
"default": "Bearer \u003cAdd access token here\u003e",
"description": "Insert your access token",
"name": "Authorization",
"in": "header",
"required": true
},
{ {
"description": "Required payload", "description": "Required payload",
"name": "payload", "name": "payload",
@ -5314,6 +5322,14 @@ const docTemplate = `{
], ],
"summary": "Create Users", "summary": "Create Users",
"parameters": [ "parameters": [
{
"type": "string",
"default": "Bearer \u003cAdd access token here\u003e",
"description": "Insert your access token",
"name": "Authorization",
"in": "header",
"required": true
},
{ {
"description": "Required payload", "description": "Required payload",
"name": "payload", "name": "payload",
@ -5905,7 +5921,6 @@ const docTemplate = `{
"type": "object", "type": "object",
"required": [ "required": [
"categoryId", "categoryId",
"createdById",
"description", "description",
"statusId", "statusId",
"title" "title"
@ -6139,7 +6154,7 @@ const docTemplate = `{
"identityType", "identityType",
"lastEducation", "lastEducation",
"phoneNumber", "phoneNumber",
"userLevelsId", "userLevelId",
"userRoleId", "userRoleId",
"username", "username",
"workType" "workType"
@ -6172,7 +6187,7 @@ const docTemplate = `{
"phoneNumber": { "phoneNumber": {
"type": "string" "type": "string"
}, },
"userLevelsId": { "userLevelId": {
"type": "integer" "type": "integer"
}, },
"userRoleId": { "userRoleId": {
@ -6198,7 +6213,7 @@ const docTemplate = `{
"identityType", "identityType",
"lastEducation", "lastEducation",
"phoneNumber", "phoneNumber",
"userLevelsId", "userLevelId",
"userRoleId", "userRoleId",
"username", "username",
"workType" "workType"
@ -6231,10 +6246,10 @@ const docTemplate = `{
"phoneNumber": { "phoneNumber": {
"type": "string" "type": "string"
}, },
"status_id": { "statusId": {
"type": "integer" "type": "integer"
}, },
"userLevelsId": { "userLevelId": {
"type": "integer" "type": "integer"
}, },
"userRoleId": { "userRoleId": {

View File

@ -3848,6 +3848,14 @@
], ],
"summary": "Create PpidDatas", "summary": "Create PpidDatas",
"parameters": [ "parameters": [
{
"type": "string",
"default": "Bearer \u003cAdd access token here\u003e",
"description": "Insert your access token",
"name": "Authorization",
"in": "header",
"required": true
},
{ {
"description": "Required payload", "description": "Required payload",
"name": "payload", "name": "payload",
@ -5303,6 +5311,14 @@
], ],
"summary": "Create Users", "summary": "Create Users",
"parameters": [ "parameters": [
{
"type": "string",
"default": "Bearer \u003cAdd access token here\u003e",
"description": "Insert your access token",
"name": "Authorization",
"in": "header",
"required": true
},
{ {
"description": "Required payload", "description": "Required payload",
"name": "payload", "name": "payload",
@ -5894,7 +5910,6 @@
"type": "object", "type": "object",
"required": [ "required": [
"categoryId", "categoryId",
"createdById",
"description", "description",
"statusId", "statusId",
"title" "title"
@ -6128,7 +6143,7 @@
"identityType", "identityType",
"lastEducation", "lastEducation",
"phoneNumber", "phoneNumber",
"userLevelsId", "userLevelId",
"userRoleId", "userRoleId",
"username", "username",
"workType" "workType"
@ -6161,7 +6176,7 @@
"phoneNumber": { "phoneNumber": {
"type": "string" "type": "string"
}, },
"userLevelsId": { "userLevelId": {
"type": "integer" "type": "integer"
}, },
"userRoleId": { "userRoleId": {
@ -6187,7 +6202,7 @@
"identityType", "identityType",
"lastEducation", "lastEducation",
"phoneNumber", "phoneNumber",
"userLevelsId", "userLevelId",
"userRoleId", "userRoleId",
"username", "username",
"workType" "workType"
@ -6220,10 +6235,10 @@
"phoneNumber": { "phoneNumber": {
"type": "string" "type": "string"
}, },
"status_id": { "statusId": {
"type": "integer" "type": "integer"
}, },
"userLevelsId": { "userLevelId": {
"type": "integer" "type": "integer"
}, },
"userRoleId": { "userRoleId": {

View File

@ -293,7 +293,6 @@ definitions:
type: string type: string
required: required:
- categoryId - categoryId
- createdById
- description - description
- statusId - statusId
- title - title
@ -455,7 +454,7 @@ definitions:
type: string type: string
phoneNumber: phoneNumber:
type: string type: string
userLevelsId: userLevelId:
type: integer type: integer
userRoleId: userRoleId:
type: integer type: integer
@ -473,7 +472,7 @@ definitions:
- identityType - identityType
- lastEducation - lastEducation
- phoneNumber - phoneNumber
- userLevelsId - userLevelId
- userRoleId - userRoleId
- username - username
- workType - workType
@ -498,9 +497,9 @@ definitions:
type: string type: string
phoneNumber: phoneNumber:
type: string type: string
status_id: statusId:
type: integer type: integer
userLevelsId: userLevelId:
type: integer type: integer
userRoleId: userRoleId:
type: integer type: integer
@ -518,7 +517,7 @@ definitions:
- identityType - identityType
- lastEducation - lastEducation
- phoneNumber - phoneNumber
- userLevelsId - userLevelId
- userRoleId - userRoleId
- username - username
- workType - workType
@ -3003,6 +3002,12 @@ paths:
post: post:
description: API for create PpidDatas description: API for create PpidDatas
parameters: parameters:
- default: Bearer <Add access token here>
description: Insert your access token
in: header
name: Authorization
required: true
type: string
- description: Required payload - description: Required payload
in: body in: body
name: payload name: payload
@ -3921,6 +3926,12 @@ paths:
post: post:
description: API for create Users description: API for create Users
parameters: parameters:
- default: Bearer <Add access token here>
description: Insert your access token
in: header
name: Authorization
required: true
type: string
- description: Required payload - description: Required payload
in: body in: body
name: payload name: payload

View File

@ -16,6 +16,7 @@ import (
"go-humas-be/app/module/master_modules" "go-humas-be/app/module/master_modules"
"go-humas-be/app/module/ppid_data_categories" "go-humas-be/app/module/ppid_data_categories"
"go-humas-be/app/module/ppid_data_files" "go-humas-be/app/module/ppid_data_files"
"go-humas-be/app/module/ppid_datas"
"go-humas-be/app/module/provinces" "go-humas-be/app/module/provinces"
"go-humas-be/app/module/user_levels" "go-humas-be/app/module/user_levels"
"go-humas-be/app/module/user_role_accesses" "go-humas-be/app/module/user_role_accesses"
@ -60,6 +61,7 @@ func main() {
master_modules.NewMasterModulesModule, master_modules.NewMasterModulesModule,
ppid_data_files.NewPpidDataFilesModule, ppid_data_files.NewPpidDataFilesModule,
ppid_data_categories.NewPpidDataCategoriesModule, ppid_data_categories.NewPpidDataCategoriesModule,
ppid_datas.NewPpidDatasModule,
provinces.NewProvincesModule, provinces.NewProvincesModule,
user_levels.NewUserLevelsModule, user_levels.NewUserLevelsModule,
user_roles.NewUserRolesModule, user_roles.NewUserRolesModule,