feat: RRBEC Local Server - Go backend with Django sync

- Implement local-first architecture with SQLite
- Add bidirectional sync with Django via ChangeLog
- JWT authentication with auto-refresh token
- REST API for products, orders, commands, payments
- Stock management with automatic deduction
This commit is contained in:
2026-04-04 17:38:40 -03:00
commit 936aad779b
20 changed files with 3159 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
package api
import (
"net/http"
"github.com/gin-gonic/gin"
)
// SimpleAuthMiddleware checks for a "User-ID" header for simplicity as requested.
// This can be expanded to use JWT or Cookies if needed.
func SimpleAuthMiddleware() gin.HandlerFunc {
return func(c *gin.Context) {
userID := c.GetHeader("X-User-ID")
if userID == "" {
c.JSON(http.StatusUnauthorized, gin.H{"error": "Authentication required"})
c.Abort()
return
}
// Map the user ID to the context for later use
c.Set("userID", userID)
c.Next()
}
}