From d2cd4c3a4155b15758dba0829b1fb8f42dac3f91 Mon Sep 17 00:00:00 2001 From: Damian Wessels Date: Fri, 10 Nov 2023 19:08:38 +0100 Subject: [PATCH] controller added --- Dockerfile | 3 +++ app/controllers/base_controller.go | 11 ++++++++--- app/models/user.go | 27 +++++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index db7a710..bd2b338 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,5 +13,8 @@ RUN go build -o /go/bin/server FROM alpine:3.15 WORKDIR app COPY --from=GO_BUILD /go/bin/server ./ +COPY ./ . COPY .env ./ +COPY ./templates ./templates/ +COPY ./assets ./assets/ CMD ./server \ No newline at end of file diff --git a/app/controllers/base_controller.go b/app/controllers/base_controller.go index 99aa1da..f12fa02 100644 --- a/app/controllers/base_controller.go +++ b/app/controllers/base_controller.go @@ -99,7 +99,12 @@ func (server *Server) CurrentUser(w http.ResponseWriter, r *http.Request) *model userModel := models.User{} - _ = session - _ = userModel - return nil + user, err := userModel.FindByID(server.DB, session.Values["id"].(string)) + if err != nil { + session.Values["id"] = nil + session.Save(r, w) + return nil + } + + return user } diff --git a/app/models/user.go b/app/models/user.go index 7179e22..66cbd7b 100644 --- a/app/models/user.go +++ b/app/models/user.go @@ -1,4 +1,31 @@ package models +import ( + "gorm.io/gorm" + "time" +) + type User struct { + ID string `gorm:"size:36;not null; uniqueIndex; primary_key"` + Addresses string + FirstName string + LastName string + Email string + Password string + RememberToken string + CreatedAt time.Time + UpdatedAt time.Time + DeletedAt gorm.DeletedAt +} + +func (u *User) FindByID(db *gorm.DB, userID string) (*User, error) { + + var user User + + err := db.Debug().Model(User{}).Where("id = ?", userID). + First(&user).Error + if err != nil { + return nil, err + } + return &user, nil }