docs: Update examples and add Lorri
This commit is contained in:
10
.envrc
10
.envrc
@@ -1 +1,9 @@
|
|||||||
use_nix
|
#!/usr/bin/env bash
|
||||||
|
# the shebang is ignored, but nice for editors
|
||||||
|
|
||||||
|
if type -P lorri &>/dev/null; then
|
||||||
|
eval "$(lorri direnv)"
|
||||||
|
else
|
||||||
|
echo 'while direnv evaluated .envrc, could not find the command "lorri" [https://github.com/nix-community/lorri]'
|
||||||
|
use nix
|
||||||
|
fi
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,2 +1,3 @@
|
|||||||
out
|
out
|
||||||
kladd.csv
|
kladd.csv
|
||||||
|
.direnv/
|
||||||
|
|||||||
60
examples.md
60
examples.md
@@ -1,13 +1,55 @@
|
|||||||
fga tuple write user:aleksander.libaek@akerbla.no member group:/akerbla
|
# OpenFGA
|
||||||
fga tuple delete user:aleksander.libaek@akerbla.no member group:akerbla
|
|
||||||
fga tuple write user:aleksander.libaek@akerbla.no active user:aleksander.libaek@akerbla.no
|
|
||||||
fga tuple write user:aleksander.libaek@akerbla.no registered user:aleksander.libaek@akerbla.no
|
|
||||||
|
|
||||||
fga query list-objects archive:40d3f9cf-90bc-4aa0-b4d3-62d066d42bd9
|
|
||||||
fga query list-objects 'group' view archive:fa4ecc27-ba1f-484f-a40b-8e3c1d8f5349
|
|
||||||
fga query list-objects 'group:/leroy' view archive:fa4ecc27-ba1f-484f-a40b-8e3c1d8f5349
|
|
||||||
fga query list-objects 'group:/leroy#member' view archive:fa4ecc27-ba1f-484f-a40b-8e3c1d8f5349
|
|
||||||
|
|
||||||
fga tuple write group:/stim#member view archive:23feab9e-e9af-49fd-a740-33c0b63ffd0b --condition-name term --condition-context '{"start_time": "2025-03-18T00:00:00Z", "end_time": "2025-05-01T00:00:00Z"}'
|
## The OpenFGA CLI
|
||||||
|
|
||||||
|
|
||||||
|
### Writing tuples
|
||||||
|
|
||||||
|
Add user:aleksander.libaek@akerbla.no as a member of organisation group:/akerbla
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ fga tuple write user:aleksander.libaek@akerbla.no member group:/akerbla
|
||||||
|
```
|
||||||
|
|
||||||
|
Add as `active` or `registered`:
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ fga tuple write user:aleksander.libaek@akerbla.no active user:aleksander.libaek@akerbla.no
|
||||||
|
$ fga tuple write user:aleksander.libaek@akerbla.no registered user:aleksander.libaek@akerbla.no
|
||||||
|
```
|
||||||
|
|
||||||
|
A more complex write operation:
|
||||||
|
```console
|
||||||
|
$ fga tuple write group:/stim#member view archive:23feab9e-e9af-49fd-a740-33c0b63ffd0b --condition-name term --condition-context '{"start_time": "2025-03-18T00:00:00Z", "end_time": "2025-05-01T00:00:00Z"}'
|
||||||
|
```
|
||||||
|
|
||||||
|
To write a group of tuples, specify a file that contains those tuples. Here with `.csv` file:
|
||||||
|
```console
|
||||||
fga tuple write --file ohs.csv
|
fga tuple write --file ohs.csv
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Deleting a tuples
|
||||||
|
|
||||||
|
Delete `user:aleksander.libaek@akerbla.no` as a member of organisation `group:/akerbla`
|
||||||
|
```console
|
||||||
|
$ fga tuple delete user:aleksander.libaek@akerbla.no member group:/akerbla
|
||||||
|
```
|
||||||
|
|
||||||
|
To delete a group of tuples, specify a file that contains those tuples. Here with `.csv` file:
|
||||||
|
```console
|
||||||
|
$ fga tuple delete --file ohs.csv
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Query objects
|
||||||
|
|
||||||
|
List all objects from an `archive`, with `group` views
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ fga query list-objects archive:40d3f9cf-90bc-4aa0-b4d3-62d066d42bd9
|
||||||
|
$ fga query list-objects 'group' view archive:fa4ecc27-ba1f-484f-a40b-8e3c1d8f5349
|
||||||
|
$ fga query list-objects 'group:/leroy' view archive:fa4ecc27-ba1f-484f-a40b-8e3c1d8f5349
|
||||||
|
$ fga query list-objects 'group:/leroy#member' view archive:fa4ecc27-ba1f-484f-a40b-8e3c1d8f5349
|
||||||
|
```
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
with import <nixpkgs> {};
|
with import <nixpkgs> { };
|
||||||
pkgs.mkShell {
|
pkgs.mkShell {
|
||||||
nativeBuildInputs = [
|
packages = [
|
||||||
openfga-cli
|
openfga-cli
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -10,6 +10,4 @@ pkgs.mkShell {
|
|||||||
# FGA_API_URL = "https://openfga.srv.oceanbox.io";
|
# FGA_API_URL = "https://openfga.srv.oceanbox.io";
|
||||||
# FGA_STORE_ID = "01JKTZXMP7ANN4GG2P5W8Y56M6";
|
# FGA_STORE_ID = "01JKTZXMP7ANN4GG2P5W8Y56M6";
|
||||||
# FGA_MODEL_ID = "01JKTZYMCZZBVSBG66W27XMW0A";
|
# FGA_MODEL_ID = "01JKTZYMCZZBVSBG66W27XMW0A";
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user