Commit Graph

59 Commits

Author SHA1 Message Date
Oystein Kristoffer Tveit f957bbd9da
Don't validate prefixes and postfixes for db item ownership 2024-08-17 22:30:30 +02:00
Oystein Kristoffer Tveit 54a38255e6
privs editor: "New user" ->"Previously unprivileged" 2024-08-17 21:27:46 +02:00
Oystein Kristoffer Tveit 466d4a8b96
Use db name as example for privs editor 2024-08-17 21:24:59 +02:00
Oystein Kristoffer Tveit af86893acf
Rewrite entire codebase to split into client and server 2024-08-17 20:21:05 +02:00
Oystein Kristoffer Tveit 20e60ca5c7
Add protocol for authenticating a unix socket 2024-08-09 19:09:04 +02:00
Oystein Kristoffer Tveit dc29dd274a
flake.nix: create packaging, generate coverage 2024-08-09 19:05:16 +02:00
Oystein Kristoffer Tveit e420c1f4d5
edit-db-privs: display diffs and ask before commiting 2024-08-08 21:48:41 +02:00
Oystein Kristoffer Tveit 7ee60dacdc
Misc fixups to priv diff logic, add tests 2024-08-08 21:02:25 +02:00
Oystein Kristoffer Tveit 8a91e9a3d0
core/database_operations: replace single field struct with sqlx unwrap 2024-08-08 19:45:28 +02:00
Oystein Kristoffer Tveit e2193f47c1
Only pass the mysql config portion when connecting 2024-08-08 19:40:57 +02:00
Oystein Kristoffer Tveit 452fa22e9c
flake.nix: add cargo-nextest to devshell 2024-08-08 19:31:02 +02:00
Oystein Kristoffer Tveit 39a3f8ffd1
core/common: make testable, fix some status messages 2024-08-08 19:30:42 +02:00
Oystein Kristoffer Tveit 69870147f5
Add a few more status prints to the commands 2024-08-08 00:56:30 +02:00
Oystein Kristoffer Tveit f78c88517f
Add `lock-user` and `unlock-user` 2024-08-08 00:53:26 +02:00
Oystein Kristoffer Tveit 7e71b5071f
Report back more detailed results from commands 2024-08-07 23:33:07 +02:00
Oystein Kristoffer Tveit 21c1f8cc87
Fix clippy warnings 2024-08-07 23:10:37 +02:00
Oystein Kristoffer Tveit 011bcf9edc
More spring cleaning for privs, add test 2024-08-07 23:00:38 +02:00
Oystein Kristoffer Tveit 1bb1c133e8
Consistently name db connection `connection` 2024-08-07 21:54:13 +02:00
Oystein Kristoffer Tveit 5a7516aed8
Rename most instances of "permission" to "privilege" 2024-08-07 21:51:03 +02:00
Oystein Kristoffer Tveit 7025982d44
flake.nix: add mysql-client to devshell 2024-08-07 21:17:27 +02:00
Oystein Kristoffer Tveit 71c712dce0
treewide: move some code around, spring cleaning 2024-08-07 21:17:27 +02:00
Oystein Kristoffer Tveit 833251a1a2
show-user: add databases field, report when no users 2024-08-07 20:31:05 +02:00
Oystein Kristoffer Tveit a3c894061c
Remove already fixed TODO 2024-08-07 17:27:29 +02:00
Oystein Kristoffer Tveit e1f89b7b72
cargo clippy + fmt 2024-08-07 17:25:28 +02:00
Oystein Kristoffer Tveit 3d7d001f65
show-user: add `--json` flag 2024-08-07 17:22:23 +02:00
Oystein Kristoffer Tveit a9b8f7cee7
user_operations: don't fetch auth_string/password, only check existence 2024-08-07 17:20:13 +02:00
Oystein Kristoffer Tveit d0b750cd33
cargo clippy + fmt 2024-08-07 16:55:51 +02:00
Oystein Kristoffer Tveit d1c42dac8b
Wrap all operations in database transactions 2024-08-07 16:54:26 +02:00
Oystein Kristoffer Tveit cb83942cc8
tokio: use single thread 2024-08-07 16:45:24 +02:00
Oystein Kristoffer Tveit dadfa786ef
create-user: ask for password by default 2024-08-07 16:43:55 +02:00
Oystein Kristoffer Tveit f75d2fee7a
replace deps `edit` and `rpassword` with `dialoguer` 2024-08-07 16:43:26 +02:00
Oystein Kristoffer Tveit 404e5371e3
build.rs: don't fail on symlink creation 2024-08-07 16:19:40 +02:00
Oystein Kristoffer Tveit 05c15da59d
Remove already fixed TODOs 2024-08-07 16:18:48 +02:00
Oystein Kristoffer Tveit 9d0b632e9c
Inline database quotation functions 2024-08-07 16:17:14 +02:00
Oystein Kristoffer Tveit 01d502337d
Don't fail on erroneus db connection closure 2024-08-07 16:16:46 +02:00
Oystein Kristoffer Tveit 460a8d6abb
core/user_operations: add a few docstrings 2024-08-07 00:02:14 +02:00
Oystein Kristoffer Tveit 21c2fc2e8b
cargo fmt + clippy 2024-08-06 23:48:31 +02:00
Oystein Kristoffer Tveit fb7391a29c
edit-db-perm: ensure user exists before applying changes 2024-08-06 23:41:11 +02:00
Oystein Kristoffer Tveit 4353689a03 create compatibility layer for mysql-admutils commands 2024-08-06 23:31:47 +02:00
Oystein Kristoffer Tveit c473a4823e
flake.nix: remove openssl from devshell 2024-08-06 01:30:26 +02:00
Oystein Kristoffer Tveit eddc0ad5e9 Fix issue where groupless users own all users/dbs 2024-08-04 17:51:49 +02:00
Oystein Kristoffer Tveit 0b1b8c296c
.gitignore: add nix ignores 2024-08-04 14:30:35 +02:00
Felix Albrigtsen 44e23413ff Align privilege tables in edit-db-perm and show-db-perm, fixes #5 2024-07-12 23:35:57 +02:00
Felix Albrigtsen 4a94265eae Remove randomly generated example, run clippy. Fixes #6 2024-07-12 21:59:44 +02:00
Felix Albrigtsen 1a5dc96f0d Simplify docker networking and clarify the README, fixes #8 2024-07-12 21:27:35 +02:00
Felix Albrigtsen 34dfc562a9 Remove group support on macOS, fixes #10 2024-07-12 20:53:03 +02:00
Oystein Kristoffer Tveit e6e05df77e
flake.nix: replace fenix with rust-overlay 2024-07-10 17:08:53 +02:00
Oystein Kristoffer Tveit 2b056942eb
make database connection timeout configurable 2024-07-09 21:36:12 +02:00
Oystein Kristoffer Tveit 4dedde5edb
flatten subcommands and add better doc comments 2024-07-09 19:54:27 +02:00
Oystein Kristoffer Tveit b0bffc45ee
Add large parts of the permission editor 2024-07-09 19:51:59 +02:00