package routes import ( "log" "net/http" "strconv" "bssapp-backend/auth" "bssapp-backend/internal/authz" "bssapp-backend/middlewares" "github.com/gorilla/mux" ) // ===================================================== // ๐Ÿ” ADMIN โ€” PIYASA CACHE SYNC // ===================================================== // POST /api/admin/users/{id}/piyasa-sync func AdminSyncUserPiyasaHandler(w http.ResponseWriter, r *http.Request) { // -------------------------------------------------- // ๐Ÿ” AUTH // -------------------------------------------------- claims, ok := auth.GetClaimsFromContext(r.Context()) if !ok || claims == nil { http.Error(w, "unauthorized", 401) return } // -------------------------------------------------- // ๐Ÿ†” USER ID PARAM // -------------------------------------------------- vars := mux.Vars(r) idStr := vars["id"] targetID, err := strconv.ParseInt(idStr, 10, 64) if err != nil { http.Error(w, "invalid user id", http.StatusBadRequest) return } // -------------------------------------------------- // ๐Ÿงน CACHE CLEAR // -------------------------------------------------- authz.ClearPiyasaCache(int(targetID)) middlewares.ClearAuthzScopeCacheForUser(targetID) log.Printf( "๐Ÿ”„ ADMIN PIYASA SYNC | admin=%d target=%d", claims.ID, targetID, ) // -------------------------------------------------- // โœ… OK // -------------------------------------------------- w.Header().Set("Content-Type", "application/json") w.Write([]byte(`{"status":"ok"}`)) }