From 332eee9df1a8e37f17f68bbec2cedf4d88317031 Mon Sep 17 00:00:00 2001 From: Bobby <30593201+luciferreeves@users.noreply.github.com> Date: Sat, 7 Mar 2026 08:58:16 +0530 Subject: refactor: Update function receivers for consistency and improve error handling in token model --- shrine/go.mod | 2 +- shrine/models/token.go | 8 ++++---- shrine/services/functions.go | 9 +++++++++ shrine/services/stats.go | 17 ++--------------- shrine/types/hypertext/errors.go | 2 +- 5 files changed, 17 insertions(+), 21 deletions(-) diff --git a/shrine/go.mod b/shrine/go.mod index 84e757b..574a3b3 100644 --- a/shrine/go.mod +++ b/shrine/go.mod @@ -6,6 +6,7 @@ require ( github.com/flosch/pongo2/v6 v6.0.0 github.com/gofiber/fiber/v2 v2.52.12 github.com/joho/godotenv v1.5.1 + github.com/microcosm-cc/bluemonday v1.0.27 github.com/minio/minio-go/v7 v7.0.98 go.uber.org/zap v1.27.1 golang.org/x/crypto v0.46.0 @@ -34,7 +35,6 @@ require ( github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-runewidth v0.0.16 // indirect github.com/mattn/go-sqlite3 v1.14.22 // indirect - github.com/microcosm-cc/bluemonday v1.0.27 // indirect github.com/minio/crc64nvme v1.1.1 // indirect github.com/minio/md5-simd v1.1.2 // indirect github.com/philhofer/fwd v1.2.0 // indirect diff --git a/shrine/models/token.go b/shrine/models/token.go index 045f20d..ed03dcc 100644 --- a/shrine/models/token.go +++ b/shrine/models/token.go @@ -16,14 +16,14 @@ type Token struct { UserAgent string `gorm:"size:512"` } -func (token *Token) BeforeCreate(tx *gorm.DB) error { - if token.TokenHash == "" { +func (self *Token) BeforeCreate(tx *gorm.DB) error { + if self.TokenHash == "" { return gorm.ErrInvalidData } - if token.UserID == 0 { + if self.UserID == 0 { return gorm.ErrInvalidData } - if token.ExpiresAt.IsZero() { + if self.ExpiresAt.IsZero() { return gorm.ErrInvalidData } return nil diff --git a/shrine/services/functions.go b/shrine/services/functions.go index f502ff6..3836064 100644 --- a/shrine/services/functions.go +++ b/shrine/services/functions.go @@ -9,6 +9,7 @@ import ( "shrine/types/hypertext" "shrine/types/letter" "shrine/types/ticket" + "shrine/types/user" "shrine/utils/sanitize" "strings" ) @@ -138,4 +139,12 @@ func buildTicketMessageResponses(ticketMessages []models.TicketMessage) []ticket responses[index] = message.ToResponse() } return responses +} + +func buildCitizenSummaries(citizens []models.User) []user.CitizenSummaryResponse { + summaries := make([]user.CitizenSummaryResponse, len(citizens)) + for index, citizen := range citizens { + summaries[index] = citizen.ToSummary() + } + return summaries } \ No newline at end of file diff --git a/shrine/services/stats.go b/shrine/services/stats.go index 1d6eb64..2e31c02 100644 --- a/shrine/services/stats.go +++ b/shrine/services/stats.go @@ -6,23 +6,10 @@ import ( ) func GetStats() user.StatsResponse { - newest := repositories.NewestCitizens(5) - online := repositories.OnlineCitizens(10) - - newestSummaries := make([]user.CitizenSummaryResponse, len(newest)) - for index, citizen := range newest { - newestSummaries[index] = citizen.ToSummary() - } - - onlineSummaries := make([]user.CitizenSummaryResponse, len(online)) - for index, citizen := range online { - onlineSummaries[index] = citizen.ToSummary() - } - return user.StatsResponse{ Citizens: repositories.CountCitizens(), Online: repositories.CountOnline(), - NewestCitizens: newestSummaries, - OnlineCitizens: onlineSummaries, + NewestCitizens: buildCitizenSummaries(repositories.NewestCitizens(5)), + OnlineCitizens: buildCitizenSummaries(repositories.OnlineCitizens(10)), } } \ No newline at end of file diff --git a/shrine/types/hypertext/errors.go b/shrine/types/hypertext/errors.go index f014252..b166891 100644 --- a/shrine/types/hypertext/errors.go +++ b/shrine/types/hypertext/errors.go @@ -7,4 +7,4 @@ type ServiceError struct { Message string } -func (e *ServiceError) Error() string { return e.Message } \ No newline at end of file +func (self *ServiceError) Error() string { return self.Message } \ No newline at end of file -- cgit v1.2.3