From 1968d51d39b929be365a2583c1dc30ffdbf91c43 Mon Sep 17 00:00:00 2001
From: alifiarahmah <13520122@std.stei.itb.ac.id>
Date: Sun, 19 Feb 2023 17:53:21 +0700
Subject: [PATCH] refactor(admin): change GetUserById to by email

---
 .../{getUserById.go => getUserByEmail.go}     |  8 ++++----
 handler/admin/types.go                        |  2 +-
 routes/admin/route.go                         |  2 +-
 service/admin/getAllUser.go                   | 19 +++++++------------
 .../{getUserById.go => getUserByEmail.go}     |  4 ++--
 5 files changed, 15 insertions(+), 20 deletions(-)
 rename handler/admin/{getUserById.go => getUserByEmail.go} (69%)
 rename service/admin/{getUserById.go => getUserByEmail.go} (79%)

diff --git a/handler/admin/getUserById.go b/handler/admin/getUserByEmail.go
similarity index 69%
rename from handler/admin/getUserById.go
rename to handler/admin/getUserByEmail.go
index 17ed6ed..0ad7a59 100644
--- a/handler/admin/getUserById.go
+++ b/handler/admin/getUserByEmail.go
@@ -7,12 +7,12 @@ import (
 // Index godoc
 //
 //	@Tags					admin
-//	@Summary			Get User By Id
+//	@Summary			Get User By Email
 //	@Description	Get a user from database
 //	@Produce			json
 //	@Success			200	{object}	web.BaseResponse
 //	@Router				/admin/user/{id} [get]
-func (route AdminHandlerImpl) GetUserById(w http.ResponseWriter, r *http.Request){
-	payload := route.WrapperUtil.SuccessResponseWrap(route.AdminService.GetUserById())
+func (route AdminHandlerImpl) GetUserByEmail(w http.ResponseWriter, r *http.Request) {
+	payload := route.WrapperUtil.SuccessResponseWrap(route.AdminService.GetUserByEmail())
 	route.HttpUtil.WriteSuccessJson(w, payload)
-}
\ No newline at end of file
+}
diff --git a/handler/admin/types.go b/handler/admin/types.go
index bf0682f..2f30c48 100644
--- a/handler/admin/types.go
+++ b/handler/admin/types.go
@@ -4,7 +4,7 @@ import "net/http"
 
 type AdminHandler interface {
 	GetAllUser(w http.ResponseWriter, r *http.Request)
-	GetUserById(w http.ResponseWriter, r *http.Request)
+	GetUserByEmail(w http.ResponseWriter, r *http.Request)
 	AddUser(w http.ResponseWriter, r *http.Request)
 	UpdateUser(w http.ResponseWriter, r *http.Request)
 	DeleteUser(w http.ResponseWriter, r *http.Request)
diff --git a/routes/admin/route.go b/routes/admin/route.go
index 23f22ef..01f1994 100644
--- a/routes/admin/route.go
+++ b/routes/admin/route.go
@@ -12,7 +12,7 @@ type AdminRoutes struct {
 func (adr AdminRoutes) Register(r chi.Router) {
 	r.Route("/admin", func(r chi.Router) {
 		r.Get("/user", adr.AdminHandler.GetAllUser)
-		r.Get("/user/{id}", adr.AdminHandler.GetUserById)
+		r.Get("/user/{id}", adr.AdminHandler.GetUserByEmail)
 		r.Post("/user", adr.AdminHandler.AddUser)
 		r.Patch("/user/{id}", adr.AdminHandler.UpdateUser)
 		r.Delete("/user/{id}", adr.AdminHandler.DeleteUser)
diff --git a/service/admin/getAllUser.go b/service/admin/getAllUser.go
index 4ba2d47..0977c26 100644
--- a/service/admin/getAllUser.go
+++ b/service/admin/getAllUser.go
@@ -1,16 +1,11 @@
 package admin
 
-// import (
-	// "errors"
-	// "time"
+import (
+	"gitlab.informatika.org/ocw/ocw-backend/model/domain/user"
+)
 
-	// "github.com/golang-jwt/jwt/v4"
-	// "gitlab.informatika.org/ocw/ocw-backend/model/web"
-	// "gitlab.informatika.org/ocw/ocw-backend/model/web/auth/login"
-	// tokenModel "gitlab.informatika.org/ocw/ocw-backend/model/web/auth/token"
-	// "gorm.io/gorm"
-// )
-
-func (AdminServiceImpl) GetAllUser() string {
-	return "get all user"
+func (as AdminServiceImpl) GetAllUser() ([]user.User, error) {
+	var users []user.User
+	users, nil := as.UserRepository.GetAll()
+	return users, nil
 }
\ No newline at end of file
diff --git a/service/admin/getUserById.go b/service/admin/getUserByEmail.go
similarity index 79%
rename from service/admin/getUserById.go
rename to service/admin/getUserByEmail.go
index 36272f1..e577536 100644
--- a/service/admin/getUserById.go
+++ b/service/admin/getUserByEmail.go
@@ -11,6 +11,6 @@ package admin
 	// "gorm.io/gorm"
 // )
 
-func (AdminServiceImpl) GetUserById() string {
-	return "get user by id"
+func (AdminServiceImpl) GetUserByEmail() string {
+	return "get user by email"
 }
\ No newline at end of file
-- 
GitLab