@@ -86,7 +86,7 @@ func (s *MembershipService) getMembershipType(user *models.UserProfile) string {
8686 s .logger .Debug ("Using membership_type metadata: %s for user %s" , user .MembershipType , user .Email )
8787 return user .MembershipType
8888 }
89-
89+
9090 // Fall back to access level mapping if no metadata
9191 switch user .AccessLevel {
9292 case models .NoAccess :
@@ -109,7 +109,7 @@ func (s *MembershipService) determineMembershipStatus(user *models.UserProfile)
109109 // Check if we have membership_status metadata from Authentik
110110 if user .MembershipStatus != "" {
111111 s .logger .Debug ("Using membership_status metadata: %s for user %s" , user .MembershipStatus , user .Email )
112-
112+
113113 // Map the status string to our enum
114114 switch strings .ToLower (user .MembershipStatus ) {
115115 case "active" :
@@ -122,7 +122,7 @@ func (s *MembershipService) determineMembershipStatus(user *models.UserProfile)
122122 return models .StatusInactive
123123 }
124124 }
125-
125+
126126 // Fall back to checking groups if no metadata or unrecognized status
127127 // Check for specific groups that might indicate a suspended or expired status
128128 for _ , group := range user .Groups {
@@ -152,16 +152,16 @@ func (s *MembershipService) getJoinDate(user *models.UserProfile) *time.Time {
152152 // Check if we have member_since metadata from Authentik
153153 if user .MemberSince != "" {
154154 s .logger .Debug ("Using member_since metadata: %s for user %s" , user .MemberSince , user .Email )
155-
155+
156156 // Parse the date string (expected format: YYYY-MM-DD)
157157 memberSince , err := time .Parse ("2006-01-02" , user .MemberSince )
158158 if err == nil {
159159 return & memberSince
160160 }
161-
161+
162162 s .logger .Error ("Failed to parse member_since date: %v" , err )
163163 }
164-
164+
165165 // Default to 1 year ago if we don't have real data
166166 t := time .Now ().AddDate (- 1 , 0 , 0 )
167167 return & t
@@ -173,34 +173,34 @@ func (s *MembershipService) getExpiryDate(user *models.UserProfile) *time.Time {
173173 // Check if we have expiry_date metadata from Authentik
174174 if user .ExpiryDate != "" {
175175 s .logger .Debug ("Using expiry_date metadata: %s for user %s" , user .ExpiryDate , user .Email )
176-
176+
177177 // Parse the date string (expected format: YYYY-MM-DD)
178178 expiryDate , err := time .Parse ("2006-01-02" , user .ExpiryDate )
179179 if err == nil {
180180 return & expiryDate
181181 }
182-
182+
183183 s .logger .Error ("Failed to parse expiry_date: %v" , err )
184184 }
185-
185+
186186 // For annual members, expiry is 1 year from now
187187 if containsAny (user .Groups , []string {"annual-members" }) {
188188 expiry := time .Now ().AddDate (1 , 0 , 0 )
189189 return & expiry
190190 }
191-
191+
192192 // For lifetime members, expiry is 100 years from now (effectively forever)
193193 if containsAny (user .Groups , []string {"lifetime-members" }) {
194194 expiryDate := time .Now ().AddDate (100 , 0 , 0 )
195195 return & expiryDate
196196 }
197-
197+
198198 // For monthly members, expiry is 1 month from now
199199 if containsAny (user .Groups , []string {"monthly-members" }) {
200200 expiryDate := time .Now ().AddDate (0 , 1 , 0 )
201201 return & expiryDate
202202 }
203-
203+
204204 // Check for specific groups that indicate a specific expiry year
205205 if containsAny (user .Groups , []string {"expires-2023" }) {
206206 expiryDate := time .Date (2023 , 12 , 31 , 23 , 59 , 59 , 0 , time .UTC )
0 commit comments