From acecd1738eae429296a80a1c0f8304434a216577 Mon Sep 17 00:00:00 2001 From: AzenKain Date: Tue, 14 Apr 2026 17:06:09 +0700 Subject: [PATCH] UPDATE: fix bug --- internal/dtos/request/verification.go | 3 --- internal/routes/mediaRoute.go | 23 ++++++++++---------- internal/routes/roleRoute.go | 11 +++++----- internal/routes/userRoute.go | 15 +++++++------ internal/routes/verificationRoute.go | 27 ++++++++++++------------ internal/services/authService.go | 1 + internal/services/mediaService.go | 3 ++- internal/services/userService.go | 4 +++- internal/services/verificationService.go | 4 +++- 9 files changed, 49 insertions(+), 42 deletions(-) diff --git a/internal/dtos/request/verification.go b/internal/dtos/request/verification.go index 660c7bd..f85ade3 100644 --- a/internal/dtos/request/verification.go +++ b/internal/dtos/request/verification.go @@ -4,7 +4,6 @@ import ( "time" ) -// SearchUserVerificationDto swagger model type SearchUserVerificationDto struct { PaginationDto Sort string `json:"sort" query:"sort" validate:"omitempty,oneof=id created_at reviewed_at status"` @@ -17,14 +16,12 @@ type SearchUserVerificationDto struct { CreatedTo *time.Time `json:"created_to" query:"created_to"` } -// CreateUserVerificationDto swagger model type CreateUserVerificationDto struct { VerifyType string `json:"verify_type" validate:"required,oneof=ID_CARD EDUCATION EXPERT OTHER"` Content string `json:"content" validate:"required,min=10"` MediaIDs []string `json:"media_ids" validate:"omitempty,dive,uuid"` } -// UpdateVerificationStatusDto swagger model type UpdateVerificationStatusDto struct { Status string `json:"status" validate:"required,oneof=PENDING APPROVED REJECTED"` ReviewNote string `json:"review_note" validate:"required,min=5,max=3000"` diff --git a/internal/routes/mediaRoute.go b/internal/routes/mediaRoute.go index c1cbc97..7537859 100644 --- a/internal/routes/mediaRoute.go +++ b/internal/routes/mediaRoute.go @@ -11,17 +11,6 @@ import ( func MediaRoutes(app *fiber.App, controller *controllers.MediaController, userRepo repositories.UserRepository) { route := app.Group("/media") - route.Get( - "/", - middlewares.JwtAccess(userRepo), - middlewares.RequireAnyRole(constants.ADMIN, constants.MOD), - controller.SearchMedia, - ) - route.Delete( - "/", - middlewares.JwtAccess(userRepo), - controller.BulkDeleteMedia, - ) route.Post( "/upload", @@ -55,4 +44,16 @@ func MediaRoutes(app *fiber.App, controller *controllers.MediaController, userRe controller.DeleteMedia, ) + route.Get( + "/", + middlewares.JwtAccess(userRepo), + middlewares.RequireAnyRole(constants.ADMIN, constants.MOD), + controller.SearchMedia, + ) + route.Delete( + "/", + middlewares.JwtAccess(userRepo), + controller.BulkDeleteMedia, + ) + } diff --git a/internal/routes/roleRoute.go b/internal/routes/roleRoute.go index 201b233..6888533 100644 --- a/internal/routes/roleRoute.go +++ b/internal/routes/roleRoute.go @@ -10,15 +10,16 @@ import ( func RoleRoutes(app *fiber.App, controller *controllers.RoleController, userRepo repositories.UserRepository) { route := app.Group("/roles") - route.Get( - "/", - middlewares.JwtAccess(userRepo), - controller.GetAllRole, - ) route.Get( "/:id", middlewares.JwtAccess(userRepo), controller.GetRoleById, ) + + route.Get( + "/", + middlewares.JwtAccess(userRepo), + controller.GetAllRole, + ) } diff --git a/internal/routes/userRoute.go b/internal/routes/userRoute.go index 34245c0..5794746 100644 --- a/internal/routes/userRoute.go +++ b/internal/routes/userRoute.go @@ -12,13 +12,6 @@ import ( func UserRoutes(app *fiber.App, controller *controllers.UserController, userRepo repositories.UserRepository) { route := app.Group("/users") - route.Get( - "/", - middlewares.JwtAccess(userRepo), - middlewares.RequireAnyRole(constants.ADMIN, constants.MOD), - controller.SearchUser, - ) - route.Get( "/current", middlewares.JwtAccess(userRepo), @@ -90,4 +83,12 @@ func UserRoutes(app *fiber.App, controller *controllers.UserController, userRepo middlewares.JwtAccess(userRepo), controller.ChangePassword, ) + + route.Get( + "/", + middlewares.JwtAccess(userRepo), + middlewares.RequireAnyRole(constants.ADMIN, constants.MOD), + controller.SearchUser, + ) + } diff --git a/internal/routes/verificationRoute.go b/internal/routes/verificationRoute.go index 1cf25a4..4747422 100644 --- a/internal/routes/verificationRoute.go +++ b/internal/routes/verificationRoute.go @@ -11,19 +11,6 @@ import ( func VerificationRoutes(app *fiber.App, controller *controllers.VerificationController, userRepo repositories.UserRepository) { route := app.Group("/historian/application") - route.Get( - "/", - middlewares.JwtAccess(userRepo), - middlewares.RequireAnyRole(constants.ADMIN, constants.MOD), - controller.SearchVerification, - ) - - route.Post( - "/", - middlewares.JwtAccess(userRepo), - middlewares.ForbidRoles(constants.HISTORIAN), - controller.CreateVerification, - ) route.Get( "/:id", @@ -45,4 +32,18 @@ func VerificationRoutes(app *fiber.App, controller *controllers.VerificationCont controller.UpdateVerificationStatus, ) + route.Get( + "/", + middlewares.JwtAccess(userRepo), + middlewares.RequireAnyRole(constants.ADMIN, constants.MOD), + controller.SearchVerification, + ) + + route.Post( + "/", + middlewares.JwtAccess(userRepo), + middlewares.ForbidRoles(constants.HISTORIAN), + controller.CreateVerification, + ) + } diff --git a/internal/services/authService.go b/internal/services/authService.go index 5fcdff4..2555348 100644 --- a/internal/services/authService.go +++ b/internal/services/authService.go @@ -285,6 +285,7 @@ func (a *authService) Signup(ctx context.Context, dto *request.SignUpDto) (*resp String: string(hashed), Valid: len(hashed) != 0, }, + AuthProvider: constants.LocalProvider.String(), }, ) if err != nil { diff --git a/internal/services/mediaService.go b/internal/services/mediaService.go index 007c712..8456760 100644 --- a/internal/services/mediaService.go +++ b/internal/services/mediaService.go @@ -226,8 +226,9 @@ func (m *mediaService) SearchMedia(ctx context.Context, dto *request.SearchMedia if err := g.Wait(); err != nil { return nil, err } + media := models.MediaEntitiesToResponse(rows) - return response.BuildPaginatedResponse(rows, totalRecords, dto.Page, dto.Limit), nil + return response.BuildPaginatedResponse(media, totalRecords, dto.Page, dto.Limit), nil } func (m *mediaService) UploadServerSide(ctx context.Context, userId string, fileHeader *multipart.FileHeader) (*response.MediaResponse, error) { diff --git a/internal/services/userService.go b/internal/services/userService.go index 51c0fb3..594259c 100644 --- a/internal/services/userService.go +++ b/internal/services/userService.go @@ -376,7 +376,9 @@ func (u *userService) SearchUser(ctx context.Context, dto *request.SearchUserDto return nil, err } - return response.BuildPaginatedResponse(rows, totalRecords, dto.Page, dto.Limit), nil + users := models.UsersEntityToResponse(rows) + + return response.BuildPaginatedResponse(users, totalRecords, dto.Page, dto.Limit), nil } func (u *userService) GetUserByID(ctx context.Context, userId string) (*response.UserResponse, error) { diff --git a/internal/services/verificationService.go b/internal/services/verificationService.go index fe25bc9..f110719 100644 --- a/internal/services/verificationService.go +++ b/internal/services/verificationService.go @@ -265,7 +265,9 @@ func (v *verificationService) SearchVerification(ctx context.Context, dto *reque return nil, err } - return response.BuildPaginatedResponse(rows, totalRecords, dto.Page, dto.Limit), nil + verifications := models.UserVerificationsEntitiesToResponse(rows) + + return response.BuildPaginatedResponse(verifications, totalRecords, dto.Page, dto.Limit), nil } func (v *verificationService) UpdateStatusVerification(ctx context.Context, userId string, verificationId string, dto *request.UpdateVerificationStatusDto) (*response.UserVerificationResponse, error) {