fix: allow login during sqlite write pressure

This commit is contained in:
ShukeBta
2026-06-11 20:06:55 +08:00
parent 7274ea19b7
commit 52d75171b2
10 changed files with 225 additions and 16 deletions
+5
View File
@@ -47,6 +47,11 @@ func myPermissionsHandler(svc *service.Container) gin.HandlerFunc {
uid, _ := c.Get(middleware.CtxUserID)
row, err := svc.Permissions.Effective(c.Request.Context(), toString(uid))
if err != nil {
if service.IsTransientDatabaseLock(err) {
role, _ := c.Get(middleware.CtxUserRole)
c.JSON(http.StatusOK, service.FallbackPermissions(toString(uid), toString(role)))
return
}
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
return
}