feat: add app user routes (logout, user-info, avatar, tickets)

- Logout: clear device sessions on logout
- User info: return expiry/balance based on billing type
- Avatar upload: support jpg/png/gif/webp, max 2MB
- App tickets: create, reply, close tickets for app users
- Add ClosedAt field to Ticket model

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-28 18:09:05 +08:00
parent 5298f8f58e
commit f5343281a3
4 changed files with 504 additions and 0 deletions
+2
View File
@@ -8,6 +8,8 @@ func SetupRoutes(r *gin.RouterGroup) {
SetupPaymentRoutes(r)
SetupAccountRoutes(r)
SetupDynamicRoutes(r)
SetupUserRoutes(r)
SetupTicketRoutes(r)
}
func SetupAuthRoutes(r *gin.RouterGroup) {