From 8ee6e6cd140149556cce3e263c22e8a62f4adcaf Mon Sep 17 00:00:00 2001 From: valitovgaziz Date: Tue, 13 Aug 2024 17:48:12 +0500 Subject: [PATCH] save get done --- api/src/admin/users.go | 27 +++++++++++++++++++ api/src/initializers/Routing.go | 6 ++++- api/src/models/user.go | 2 +- ...40813111847_create_extension_uuid_ossp.sql | 2 +- 4 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 api/src/admin/users.go diff --git a/api/src/admin/users.go b/api/src/admin/users.go new file mode 100644 index 0000000..626ea06 --- /dev/null +++ b/api/src/admin/users.go @@ -0,0 +1,27 @@ +package admin + +import ( + "api/src/models" + "api/src/storages/psql" + "encoding/json" + "net/http" +) + +func GetAllUser(w http.ResponseWriter, r *http.Request) { + var users []models.User + + qr := psql.PSQL_GORM_DB.Find(&users) + if qr.Error != nil { + w.WriteHeader(http.StatusNotFound) + return + } + + jsData, err := json.Marshal(users) + if err != nil { + w.WriteHeader(http.StatusNotAcceptable) + return + } + + w.Write([]byte(jsData)) + +} diff --git a/api/src/initializers/Routing.go b/api/src/initializers/Routing.go index 6547773..89b5eb2 100644 --- a/api/src/initializers/Routing.go +++ b/api/src/initializers/Routing.go @@ -1,6 +1,7 @@ package initializers import ( + "api/src/admin" "api/src/auth" "log/slog" "os" @@ -32,9 +33,12 @@ func InitChiRouting() { }) r.Post("/signin", auth.Register) + r.Get("/allusers", admin.GetAllUser) r.Route("/auth", func(r chi.Router) { - r.Post("/register", auth.Register) + r.Route("/admin", func(r chi.Router) { + r.Get("/allUsers", admin.GetAllUser) + }) r.Post("/login", auth.Login) }) diff --git a/api/src/models/user.go b/api/src/models/user.go index f8e437b..058b0a5 100644 --- a/api/src/models/user.go +++ b/api/src/models/user.go @@ -3,7 +3,7 @@ package models import "github.com/google/uuid" type User struct { - Id uuid.UUID `json:"id" gorm:"type:uuid;default:uuid_generate_v4();primaryKey;unique;AutoIncrement:false"` + Id uuid.UUID `json:"id" gorm:"type:uuid;primaryKey;unique;AutoIncrement:false"` Name string `json:"name" gorm:"type:string"` Email string `json:"email" gorm:"type:string;index"` Password string `json:"password" gorm:"type:string;index"` diff --git a/migrator/migrations/20240813111847_create_extension_uuid_ossp.sql b/migrator/migrations/20240813111847_create_extension_uuid_ossp.sql index 9b28a2e..5f0259a 100644 --- a/migrator/migrations/20240813111847_create_extension_uuid_ossp.sql +++ b/migrator/migrations/20240813111847_create_extension_uuid_ossp.sql @@ -6,4 +6,4 @@ CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; -- +goose Down -- +goose StatementBegin DROP EXTENSION "uuid-ossp"; --- +goose StatementEnd +-- +goose StatementEnd \ No newline at end of file