openfga @ v0.3.0
integrity
- size
- 581.2 KiB
- downloaded
- last checked
- overlays
- go
- detected
- go module github.com/openfga/openfga
release notes
This release comes with a few big changes:
Support for v1.1 JSON Schema
- You can now write your models in the new DSL which the Playground and the syntax transformer can convert to the JSON syntax. Schema v1.1 allows for adding type restrictions to each assignable relation, and it can be used to indicate cases such as "The folder's parent must be a folder" (and so not a user or a document).
- This change also comes with breaking changes to how
*and<type>:*are treated:<type>:*is interpreted differently according to the model version. v1.0 will interpret it as an object of type<type>and id*, whereas v1.1 will interpret is as all objects of type<type>.*is still supported in v1.0 models, but not supported in v1.1 models. A validation error will be thrown when used in checks or writes and it will be ignored when evaluating.
- This change also comes with breaking changes to how
- Additionally, the change to v1.1 models allows us to provide more consistent validation when writing the model instead of when issuing checks.
:warning: Note that with this release models with schema version 1.0 are now considered deprecated, with the plan to drop support for them over the next couple of months, please migrate to version 1.1 when you can. Read more about migrating to the new syntax.
ListObjects changes
The response has changed to include the object type, for example:
{ "object_ids": [ "a", "b", "c" ] }
to
{ "objects": [ "document:a", "document:b", "document:c" ] }
We have also improved validation and fixed support for Contextual Tuples that were causing inaccurate responses to be returned.
ReadTuples deprecation
:warning: This endpoint is now marked as deprecated, and support for it will be dropped shortly. Please use Read with no tuple key instead.
download
unix · zip
curl -fL -o v0.3.0.zip https://ratatoskr.space/pkg/openfga/v0.3.0.zip
printf '%s %s\n' '480e5fb6d28976ef714c3da55c44e3a66a11cf39f4f6a68492bf9ae19662b897' 'v0.3.0.zip' | sha256sum -c -
windows · zip
$url = "https://ratatoskr.space/pkg/openfga/v0.3.0.zip"
$out = "v0.3.0.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "480e5fb6d28976ef714c3da55c44e3a66a11cf39f4f6a68492bf9ae19662b897") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v0.3.0.tar.gz https://ratatoskr.space/pkg/openfga/v0.3.0.tar.gz
printf '%s %s\n' '85de89e0af9ba36261b3d2302d4024763005b067d86507e8a7353d5a1827aee2' 'v0.3.0.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "https://ratatoskr.space/pkg/openfga/v0.3.0.tar.gz"
$out = "v0.3.0.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "85de89e0af9ba36261b3d2302d4024763005b067d86507e8a7353d5a1827aee2") { throw "sha256 mismatch" }
download via yggdrasil mesh
unix · zip
curl -fL -o v0.3.0.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/openfga/v0.3.0.zip
printf '%s %s\n' '480e5fb6d28976ef714c3da55c44e3a66a11cf39f4f6a68492bf9ae19662b897' 'v0.3.0.zip' | sha256sum -c -
windows · zip
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/openfga/v0.3.0.zip"
$out = "v0.3.0.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "480e5fb6d28976ef714c3da55c44e3a66a11cf39f4f6a68492bf9ae19662b897") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v0.3.0.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/openfga/v0.3.0.tar.gz
printf '%s %s\n' '85de89e0af9ba36261b3d2302d4024763005b067d86507e8a7353d5a1827aee2' 'v0.3.0.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/openfga/v0.3.0.tar.gz"
$out = "v0.3.0.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "85de89e0af9ba36261b3d2302d4024763005b067d86507e8a7353d5a1827aee2") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v0.3.0.zip | zip | 583.6 KiB |
blake3-24 c17b4219ec86804fb915f00408ce2766e19c9f66dc01cc71
sha256 480e5fb6d28976ef714c3da55c44e3a66a11cf39f4f6a68492bf9ae19662b897
sha1 a97fd25bbc7b3f69be9b4e7501608e0eab735525
|
| v0.3.0.tar.gz | tar.gz | 513.3 KiB |
blake3-24 092eeeaca45a307d13297c9daddf795c7ed5c874a06e5afa
sha256 85de89e0af9ba36261b3d2302d4024763005b067d86507e8a7353d5a1827aee2
sha1 38915f86cb56e70696ec397cdbcb9ad1ea572d1f
|
go module archive
module zip with the module path rewritten to this mirror; fetched by go get through the
GOPROXY route
| artifact | format | size | hashes |
|---|---|---|---|
| v0.3.0.zip | zip | 541.6 KiB |
blake3-24 27252ab9ac4178f8998face7df9c155bf7cc966561755f6b
sha256 c3a22309083ebadac656f6a2b022999ccbc1aca52590cd45ff375e14fe2267ab
sha1 ace8779701ee3b4c329dec991665b5458912dc71
|
install
bazel
http_archive(
name = "openfga",
urls = ["https://ratatoskr.space/pkg/openfga/v0.3.0.tar.gz"],
integrity = "sha256-hd6J4K+bo2Jhs9IwLUAkdjAFsGfYZQfopzU9WhgnruI=",
strip_prefix = "openfga-v0.3.0",
)
zig
.url = "https://ratatoskr.space/pkg/openfga/v0.3.0.tar.gz",
go
GOPROXY=https://ratatoskr.space GOSUMDB=off go get ratatoskr.space/pkg/openfga@v0.3.0
install via yggdrasil mesh
bazel
http_archive(
name = "openfga",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/openfga/v0.3.0.tar.gz"],
integrity = "sha256-hd6J4K+bo2Jhs9IwLUAkdjAFsGfYZQfopzU9WhgnruI=",
strip_prefix = "openfga-v0.3.0",
)
zig
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/openfga/v0.3.0.tar.gz",
go
GOPROXY=http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg GOSUMDB=off GOINSECURE=14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/* go get 14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/openfga@v0.3.0