summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBobby <[email protected]>2026-03-07 08:58:16 +0530
committerBobby <[email protected]>2026-03-07 08:58:16 +0530
commit332eee9df1a8e37f17f68bbec2cedf4d88317031 (patch)
treeebe807b36146a88bc17589f2e59d9b0dcb3c15cf
parent82409d6b83de1baab69c166af8f04c6e9fe9069f (diff)
downloadpagoda-332eee9df1a8e37f17f68bbec2cedf4d88317031.tar.xz
pagoda-332eee9df1a8e37f17f68bbec2cedf4d88317031.zip
refactor: Update function receivers for consistency and improve error handling in token model
-rw-r--r--shrine/go.mod2
-rw-r--r--shrine/models/token.go8
-rw-r--r--shrine/services/functions.go9
-rw-r--r--shrine/services/stats.go17
-rw-r--r--shrine/types/hypertext/errors.go2
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