docs: Update examples and add Lorri

This commit is contained in:
2025-06-16 12:05:37 +02:00
parent f55647e62d
commit 420e955186
4 changed files with 63 additions and 14 deletions

10
.envrc
View File

@@ -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
View File

@@ -1,2 +1,3 @@
out out
kladd.csv kladd.csv
.direnv/

View File

@@ -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
```

View File

@@ -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";
} }