File tree Expand file tree Collapse file tree 3 files changed +31
-9
lines changed
Expand file tree Collapse file tree 3 files changed +31
-9
lines changed Original file line number Diff line number Diff line change @@ -14,8 +14,8 @@ import (
1414)
1515
1616type WayfarerClaims struct {
17- UserID string `json:"user_id"`
18- UserRole string `json:"user_role "`
17+ UserID string `json:"user_id"`
18+ UserRoles [] string `json:"user_roles "`
1919 jwt.RegisteredClaims
2020}
2121
@@ -114,8 +114,8 @@ func (m model) generateToken() tea.Cmd {
114114
115115 now := time .Now ()
116116 claims := WayfarerClaims {
117- UserID : form .selectedUserID ,
118- UserRole : "user" ,
117+ UserID : form .selectedUserID ,
118+ UserRoles : [] string { "user" } ,
119119 RegisteredClaims : jwt.RegisteredClaims {
120120 Issuer : "wayfarer" ,
121121 IssuedAt : jwt .NewNumericDate (now ),
Original file line number Diff line number Diff line change @@ -26,7 +26,7 @@ func main() {
2626 now := time .Now ()
2727 claims := WayfarerClaims {
2828 UserID : userID ,
29- UserRoles : []string {"user" },
29+ UserRoles : []string {"user" , "admin" , "superadmin" },
3030 RegisteredClaims : jwt.RegisteredClaims {
3131 Issuer : "wayfarer" ,
3232 IssuedAt : jwt .NewNumericDate (now ),
Original file line number Diff line number Diff line change @@ -25,13 +25,35 @@ func (d *DateTime) UnmarshalGQL(v interface{}) error {
2525 return fmt .Errorf ("DateTime must be a string" )
2626 }
2727
28+ // Try parsing as RFC3339 first (e.g., "2025-12-12T00:00:00Z")
2829 t , err := time .Parse (time .RFC3339 , str )
29- if err != nil {
30- return fmt .Errorf ("invalid DateTime format: %w" , err )
30+ if err == nil {
31+ d .Time = t
32+ return nil
3133 }
3234
33- d .Time = t
34- return nil
35+ // Try parsing as date only (e.g., "2025-12-12"), assume UTC midnight
36+ t , err = time .Parse ("2006-01-02" , str )
37+ if err == nil {
38+ d .Time = t
39+ return nil
40+ }
41+
42+ // Try parsing as datetime-local format (e.g., "2025-12-12T00:00"), assume UTC
43+ t , err = time .Parse ("2006-01-02T15:04" , str )
44+ if err == nil {
45+ d .Time = t
46+ return nil
47+ }
48+
49+ // Try parsing as datetime-local with seconds (e.g., "2025-12-12T00:00:00"), assume UTC
50+ t , err = time .Parse ("2006-01-02T15:04:05" , str )
51+ if err == nil {
52+ d .Time = t
53+ return nil
54+ }
55+
56+ return fmt .Errorf ("invalid DateTime format: %w" , err )
3557}
3658
3759// Date scalar representing YYYY-MM-DD date
You can’t perform that action at this time.
0 commit comments