Compare commits
No commits in common. "a361274b27f7db57a2f461a6ec206bcb3405728f" and "0fa3b79bd9b1b992ff2435530a5298db511e64da" have entirely different histories.
a361274b27
...
0fa3b79bd9
4 changed files with 49 additions and 120 deletions
|
|
@ -26,7 +26,7 @@ def to_cells(sizes): to_cells(sizes; null);
|
|||
def to_line(left; joiner; right):
|
||||
[left, .[1], (.[1:] | map([joiner, .]) ), right] | flatten | join("");
|
||||
|
||||
def create(data; header_callback; cell_callback):
|
||||
def to_table(data; header_callback; cell_callback):
|
||||
(data[0] | to_entries | map(.key)) as $keys
|
||||
| ([$keys]) as $header
|
||||
| (data | map(to_entries | map(.value))) as $rows
|
||||
|
|
@ -55,5 +55,5 @@ def create(data; header_callback; cell_callback):
|
|||
| join("\n")
|
||||
);
|
||||
|
||||
def create(data; header_callback): create(data; header_callback; null);
|
||||
def create(data): create(data; _::style(_::BOLD); null);
|
||||
def to_table(data; header_callback): to_table(data; header_callback; null);
|
||||
def to_table(data): to_table(data; _::style(_::BOLD); null);
|
||||
|
|
|
|||
|
|
@ -6,16 +6,17 @@ _default:
|
|||
|
||||
[script]
|
||||
list:
|
||||
cd .. && just vars get ulmo zitadel/users | jq -r -C '
|
||||
import ".jq/table" as table;
|
||||
import ".jq/format" as f;
|
||||
cd .. && just vars get ulmo zitadel/users \
|
||||
| jq fromjson \
|
||||
| jq -r -C '
|
||||
include ".jq/table";
|
||||
include ".jq/format";
|
||||
|
||||
fromjson
|
||||
| to_entries
|
||||
to_entries
|
||||
| sort_by(.key)
|
||||
| map(
|
||||
(.key|f::to_title) + ":\n"
|
||||
+ table::create(
|
||||
(.key|to_title) + ":\n"
|
||||
+ to_table(
|
||||
.value
|
||||
| to_entries
|
||||
| sort_by(.key)
|
||||
|
|
@ -23,76 +24,4 @@ list:
|
|||
)
|
||||
)
|
||||
| join("\n\n┄┄┄\n\n")
|
||||
';
|
||||
|
||||
[script]
|
||||
add:
|
||||
exec 5>&1
|
||||
|
||||
pad () { [ "$#" -gt 1 ] && [ -n "$2" ] && printf "%$2.${2#-}s" "$1"; }
|
||||
|
||||
input() {
|
||||
local label=$1
|
||||
local value=$2
|
||||
|
||||
local res=$(gum input --header "$label" --value "$value")
|
||||
echo -e "\e[2m$(pad "$label" -11)\e[0m$res" >&5
|
||||
echo $res
|
||||
}
|
||||
|
||||
data=`cd .. && just vars get ulmo zitadel/users | jq 'fromjson'`
|
||||
|
||||
# Gather inputs
|
||||
org=`
|
||||
jq -r 'to_entries | map(.key)[]' <<< "$data" \
|
||||
| gum choose --header 'Which organisation to save to?' --select-if-one
|
||||
`
|
||||
username=`input 'user name' 'new-user'`
|
||||
email=`input 'email' 'new.user@example.com'`
|
||||
first_name=`input 'first name' 'John'`
|
||||
last_name=`input 'last name' 'Doe'`
|
||||
|
||||
user_exists=`jq --arg 'org' "$org" --arg 'username' "$username" '.[$org][$username]? | . != null' <<< "$data"`
|
||||
|
||||
if [ "$user_exists" == "true" ]; then
|
||||
gum confirm 'User already exists, overwrite it?' --padding="1 1" || exit 0
|
||||
fi
|
||||
|
||||
next=`
|
||||
jq \
|
||||
--arg 'org' "$org" \
|
||||
--arg 'username' "$username" \
|
||||
--arg 'email' "$email" \
|
||||
--arg 'first_name' "$first_name" \
|
||||
--arg 'last_name' "$last_name" \
|
||||
--compact-output \
|
||||
'.[$org] += { $username: { email: $email, firstName: $first_name, lastName: $last_name } }' \
|
||||
<<< $data
|
||||
`
|
||||
|
||||
gum spin --title "saving..." -- echo "$(cd .. && just vars set ulmo 'zitadel/users' "$next")"
|
||||
|
||||
[script]
|
||||
remove:
|
||||
data=`cd .. && just vars get ulmo zitadel/users | jq fromjson`
|
||||
|
||||
# Gather inputs
|
||||
org=`
|
||||
jq -r 'to_entries | map(.key)[]' <<< "$data" \
|
||||
| gum choose --header 'Which organisation?' --select-if-one
|
||||
`
|
||||
user=`
|
||||
jq -r --arg org "$org" '.[$org] | to_entries | map(.key)[]' <<< "$data" \
|
||||
| gum choose --header 'Which user?' --select-if-one
|
||||
`
|
||||
|
||||
next=`
|
||||
jq \
|
||||
--arg 'org' "$org" \
|
||||
--arg 'user' "$user" \
|
||||
--compact-output \
|
||||
'del(.[$org][$user])' \
|
||||
<<< $data
|
||||
`
|
||||
|
||||
gum spin --title "saving..." -- echo "$(cd .. && just vars set ulmo 'zitadel/users' "$next")"
|
||||
'
|
||||
|
|
|
|||
68
flake.lock
generated
68
flake.lock
generated
|
|
@ -84,11 +84,11 @@
|
|||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765483630,
|
||||
"narHash": "sha256-4nLng3hXTHuJF1xeMXWVyK26r0O407YG7aEfkWVD3Jg=",
|
||||
"rev": "b500c2e4c8f50961e976b7a78991d2fd4f96c423",
|
||||
"lastModified": 1765346666,
|
||||
"narHash": "sha256-UR8bVZF12rA7yI3jdqvlTA50NUXf3F8H6GZvLYiDqYM=",
|
||||
"rev": "7c9a2e4fb9d90f213f3bf3782ee460e669231bca",
|
||||
"type": "tarball",
|
||||
"url": "https://git.clan.lol/api/v1/repos/clan/clan-core/archive/b500c2e4c8f50961e976b7a78991d2fd4f96c423.tar.gz"
|
||||
"url": "https://git.clan.lol/api/v1/repos/clan/clan-core/archive/7c9a2e4fb9d90f213f3bf3782ee460e669231bca.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
|
|
@ -170,11 +170,11 @@
|
|||
"rust-analyzer-src": "rust-analyzer-src"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765435813,
|
||||
"narHash": "sha256-C6tT7K1Lx6VsYw1BY5S3OavtapUvEnDQtmQB5DSgbCc=",
|
||||
"lastModified": 1765252472,
|
||||
"narHash": "sha256-byMt/uMi7DJ8tRniFopDFZMO3leSjGp6GS4zWOFT+uQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"rev": "6399553b7a300c77e7f07342904eb696a5b6bf9d",
|
||||
"rev": "8456b985f6652e3eef0632ee9992b439735c5544",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -190,11 +190,11 @@
|
|||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765448647,
|
||||
"narHash": "sha256-y29oz4/jfs7TEGR1+pKlcQn5pBsTZGM8TOhVDJEAtXg=",
|
||||
"lastModified": 1765370621,
|
||||
"narHash": "sha256-3gAVH9nYc2E82tIXKFv2lMe4JohglxJtPgs0ZmXkx9c=",
|
||||
"owner": "nix-community",
|
||||
"repo": "flake-firefox-nightly",
|
||||
"rev": "63947e060742f3b023c87e225c3f327befbbd6a3",
|
||||
"rev": "ea98c8041dad75efc80ec036643a32b12467c8b7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -594,11 +594,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765480374,
|
||||
"narHash": "sha256-HlbvQAqLx7WqZFFQZ8nu5UUJAVlXiV/kqKbyueA8srw=",
|
||||
"lastModified": 1765337252,
|
||||
"narHash": "sha256-HuWQp8fM25fyWflbuunQkQI62Hg0ecJxWD52FAgmxqY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "39cb677ed9e908e90478aa9fe5f3383dfc1a63f3",
|
||||
"rev": "13cc1efd78b943b98c08d74c9060a5b59bf86921",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -810,11 +810,11 @@
|
|||
},
|
||||
"nixos-facter-modules": {
|
||||
"locked": {
|
||||
"lastModified": 1765442039,
|
||||
"narHash": "sha256-k3lYQ+A1F7aTz8HnlU++bd9t/x/NP2A4v9+x6opcVg0=",
|
||||
"lastModified": 1764252389,
|
||||
"narHash": "sha256-3bbuneTKZBkYXlm0bE36kUjiDsasoIC1GWBw/UEJ9T4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixos-facter-modules",
|
||||
"rev": "9dd775ee92de63f14edd021d59416e18ac2c00f1",
|
||||
"rev": "5ea68886d95218646d11d3551a476d458df00778",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -852,11 +852,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765483419,
|
||||
"narHash": "sha256-w6wznH1lBzlSH3+pWDkE+L6xA0F02drFAzu2E7PD/Jo=",
|
||||
"lastModified": 1765376994,
|
||||
"narHash": "sha256-dsgdFdj8+qh81XPB/9SlwvuhJMHPjqsf7Zk0AnsdVpY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixos-wsl",
|
||||
"rev": "0c040f28b44b18e0d4240e027096078e34dbb029",
|
||||
"rev": "30f6a14293df4938c35173a73efdeba450653d0a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -914,11 +914,11 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1765403794,
|
||||
"narHash": "sha256-bOk4vZjzk419pIkmMWrr8PTg0fK2Oph/owZUAPHWwIE=",
|
||||
"lastModified": 1765357816,
|
||||
"narHash": "sha256-Uh7y3tL9SUzMjM8eO9CMqf30pPpa1i+P3asBijc32lY=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6f313d8e9be4d7db523962ecc3ce97c951bacb1f",
|
||||
"rev": "004943ed3cf9de5805a0da377599d1bfdd47a98a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -946,11 +946,11 @@
|
|||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1765491281,
|
||||
"narHash": "sha256-adRTsIAzAiMUP40dPHhcAq69+iRcSV93XJdg8YO7lYw=",
|
||||
"lastModified": 1765380834,
|
||||
"narHash": "sha256-MUMk4DZ0V+gU7yee7DdiPwieRclS2uMNvLQGLWwew4M=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d21f5e3178bdfce2e894e0bd9b6535ac6593a734",
|
||||
"rev": "bf83174d5ab54f384b1ec5068b3280241dbb849f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -1139,11 +1139,11 @@
|
|||
"rust-analyzer-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1765400135,
|
||||
"narHash": "sha256-D3+4hfNwUhG0fdCpDhOASLwEQ1jKuHi4mV72up4kLQM=",
|
||||
"lastModified": 1765120009,
|
||||
"narHash": "sha256-nG76b87rkaDzibWbnB5bYDm6a52b78A+fpm+03pqYIw=",
|
||||
"owner": "rust-lang",
|
||||
"repo": "rust-analyzer",
|
||||
"rev": "fface27171988b3d605ef45cf986c25533116f7e",
|
||||
"rev": "5e3e9c4e61bba8a5e72134b9ffefbef8f531d008",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -1254,11 +1254,11 @@
|
|||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765474444,
|
||||
"narHash": "sha256-sDG+c73xEnIw1pFNRWffKDnTWiTuyZiEP+Iub0D3mWA=",
|
||||
"lastModified": 1765377959,
|
||||
"narHash": "sha256-MsvpqrovI+iveyVam6sIPlSsUVVcmmhTxpD9w3OOsvw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "stylix",
|
||||
"rev": "dd14de4432a94e93e10d0159f1d411487e435e1e",
|
||||
"rev": "54fcd2f342c6417548cc56f53e401224dcade639",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -1519,11 +1519,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765491669,
|
||||
"narHash": "sha256-LjMIEOyIT5AMvbz/RYRcZPTJ7FB6vnEmeaid9vkIp0k=",
|
||||
"lastModified": 1765344150,
|
||||
"narHash": "sha256-RoGBKQglbF19aINeV8F7DHCXxF7FrMRLgL2yjl9vOiQ=",
|
||||
"owner": "0xc000022070",
|
||||
"repo": "zen-browser-flake",
|
||||
"rev": "85feeba579822e7e30cccf549d805f24b86d7235",
|
||||
"rev": "1adab25828578301037855c59849e9bbecf8948b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ email:
|
|||
zitadel:
|
||||
masterKey: ENC[AES256_GCM,data:4MPvBo407qrS7NF4oUTf84tZoPkSRmiHdD7qpkYeHME=,iv:H2NIAN0xBUDqnyco9gA3zYAsKtSeA/JpqYrPhc1eqc0=,tag:6OFGDfsucG5gDerImgpuXA==,type:str]
|
||||
nix: {}
|
||||
users: ENC[AES256_GCM,data:pMSK3Re/DZeMnFNCEgjTGWWMYYX5eLOoZwGg3oO7WQ0Sx7z7sLRPpqlGVw384G6uYjR19MpnVud6hHPkGY/FoTO0vsJ+a2anFpmLjLsPNehiQ57rnvnWJCeVJyTz0kqKt7vS1kGpdtjH5d98PerNzxR0FvTrjJhQCfHyP/S8/G6vD6cLmeBXaStpKJ6TM0UIPcWSTzrpV3O292xAFooWYv19hkM4C6IJtbej8zTmY8pEsHk5OY3w,iv:r3603xOtSE1CEdMR9epaWclbO3PXjMWpnJT7HEbF57o=,tag:HAPUlIuumY0IjL0P4Q1aFA==,type:str]
|
||||
users: ENC[AES256_GCM,data:xkjm0+PBt6gmZyfi3n3OIEe5b+d4OtN0Y3UfmdcbcJHbJZuiz+60oUjlAN0vjtsi0muufoAqtGJTIpm9nDZzzN7b7LK43TAhcuSlIm5LpbZFp1U3H4laRbTwauAT6wA0aDCfAkwTozxAuEUk1jAu+65ktJNJb7b0PR7s/I/wf7IgW2+K4Jv3LIOZIipUwfuvXuTzsxCElYRvGZXmIuXrYq1EaymksHHggemrKeMWLAae7mzz5v3aBbwxiVjQNkQkS4ApsO/5nZUat0oqXA==,iv:fptZn4NmX3iYKSEPLJAOFpt+KQ6TR1w9KaY9IF4p/Wk=,tag:UKvMOSIT5/mhfZA3usbLhQ==,type:str]
|
||||
forgejo:
|
||||
action_runner_token: ENC[AES256_GCM,data:yJ6OnRq5kinbuhvH06K5o3l86EafuBoojMwg/qhP+cgeH+BwPeE+Ng==,iv:IeXJahPxgLNIUFmkgp495tLVh8UyQBmJ2SnVEUhlhHs=,tag:XYQi613CxSp8AQeilJMrsg==,type:str]
|
||||
synapse:
|
||||
|
|
@ -54,7 +54,7 @@ sops:
|
|||
TTRWaHhpNWlkVDFmMFN4ZTNHMUxyNVkKV693pzTKRkZboQCMPr9IyMGSgxfuHXcb
|
||||
Y6BNcp6Qg6PWtX5QI7wRkPNINAK1TEbRBba+b8h6gMmVU4DliQyFiQ==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2025-12-11T22:19:26Z"
|
||||
mac: ENC[AES256_GCM,data:J1RVA3s9qemyLGo4svCofqIA4XNYgDWDc3JRbfynGLtAocOQPtXOLKoEauplDWMQ8hFIGRznIzv5XkCH6hfxQhjNI0UCuR0WhFZtnQU59hS+Qg4AQKVukRdjY136RpNiBMCMNhiXs8NAbuVxrFramgFClFQgVO+b6+Q3w2JspNE=,iv:hPUnwDUg+Wbx/YDugY8TjFIJqUzJE75tv4vzc2NHdrQ=,tag:xwqb7I315SbAlK7MlT9uBA==,type:str]
|
||||
lastmodified: "2025-12-11T07:34:59Z"
|
||||
mac: ENC[AES256_GCM,data:wEi918sFOHyo1QE50ce9CffDnxlno6UAGOGduM3GCR33LOsK/brPsQaV79k2EbLOdb2/vOy8A3SYAtmVs7s7tVIpukTyUjOLYL17Zu8DVKiQ5GHnJG+A564hj4kN4vS9fUStkpj+HiaBnkXUvIDRUGmXPkWhomwl8FvQca44ipk=,iv:bjAup4SJI62kQnjU0jzZMjwHJFJgkmtpp601rpl7aqM=,tag:aBrxrysJ/xCvEtM7OoJ1NA==,type:str]
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.11.0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue