codex: Refactor OpenFga.useObjects

This commit is contained in:
2026-01-13 14:24:14 +01:00
parent 6c20b01cc2
commit 42b746871a

View File

@@ -29,23 +29,34 @@ type OpenFGA =
[<Hook>]
static member useObjects(user: string, relation: string, objectType: string, ?context: obj) : Objects =
let objects, setObjects = React.useState<Objects> Objects.Empty
let isLoading, setLoading = React.useState true
let error, setError = React.useState<string option> None
let objects, setObjects = React.useState<string array> Array.empty
React.useEffect (
(fun () ->
setObjects { objects with Loading = true; Error = None }
setLoading true
setError None
OpenFGA.fetchObjects(user, relation, objectType, context)
|> Promise.iter (fun res ->
match res with
| Ok newObjects ->
setObjects { objects with Loading = false; Objects = newObjects }
setObjects newObjects
| Error err ->
console.error("[OpenFGA] Error loading user objects: %s", err)
setObjects { objects with Loading = false; Error = Some err }
setError (Some err)
setLoading false
)
),
[| box user |]
)
objects
let props = {
Loading = isLoading
Error = error
Objects = objects
}
props