summaryrefslogtreecommitdiff
path: root/server
AgeCommit message (Collapse)Author
2025-02-04common: fs_utils: Style fixJoel Klinghed
2025-02-04common: git: Improve config cachingJoel Klinghed
Git treats most of a config name as case-insensitive. Specifically section and value are case-insenstive while optional subsection, if it exists, is case-sensitive. So, in "a.b.c" a and c will be made lowercase but not b before checking the cache. And in "a.b" both a and b will be made lowercase
2025-02-04common: Add tests for gitJoel Klinghed
Wanted to include a non-bare repo as well but git doesn't like one adding a non-bare git repo NOT as a submodule. And bare repos are the main code path anyway.
2025-02-03Write correct commandJoel Klinghed
Arguments go after action "build".
2025-02-03code coverage: Add tests for commonJoel Klinghed
Add coverage for common as well as server. Fix fs_utils::create_dir_allow_existing to fail if entry exists but isn't a dir.
2025-02-03Document coverage collection and how to update sqlxJoel Klinghed
2025-02-01Include branch in project/reviews responseJoel Klinghed
But also add /review endpoint that takes an id. So you can get review data with either the reviewid or the branchname.
2025-02-01Use workspace instead of featuresJoel Klinghed
Having to include --feature=build-server in basically all commands that wasn't building eyeballs-githook got tiring quickly. Instead, use workspaces, with a separate project for building the githook. It means I also had to add a library common with code shared by both githook and server.
2025-01-29Add git-server to docker-composeJoel Klinghed
To make a githook that can run on alpine images (using musl) they need to be cross-compiled. Then it became apparent that the githook binary was pulling in all the same dependencies as the server was. This is not good, but apparently also not something Rust/Cargo has figured out. RFC:s has been shutdown. workspace might be an option but then I probably need to also add a "code shared by both githook and server" library that both can link. Problem for another day.
2025-01-28Remove leftover printoutJoel Klinghed
2025-01-28Generate authorized_keys from user keysJoel Klinghed
2025-01-27Add user keys to databaseJoel Klinghed
Next step is to generate authorized_keys files for git server based on keys.
2025-01-27Make clippy happyJoel Klinghed
2025-01-26Drive-by: Correct commentJoel Klinghed
2025-01-26Improve error output in hooks and make sure errors and accumilatedJoel Klinghed
2025-01-26Make sure git repo is configured to let pre-receive and post-receiveJoel Klinghed
hooks handle delete and fast forward rules.
2025-01-26Stop using current user in git hooksJoel Klinghed
Want to support any authentication for the git server, so use git commiter as username for creating reviews instead of the local user that logged in to git. Also verify that pushed commits has a valid author in pre-receive. This is tricky as pre-receive must do this check in the hook, because pre-receive runs when before the objects are pushed so the server can't read the commits, the hook must do this.
2025-01-26Bump utopia-swapper-ui to 9.0.0Joel Klinghed
Re-release of 8.1.1 apparently.
2025-01-26cargo updateJoel Klinghed
2025-01-26Use anyhow to reduce enum error types and map_errJoel Klinghed
2025-01-26Fix tests after adding git reposJoel Klinghed
Use testdir to create directories to put test git in. Use custom test method to find githook binary. Stop using remote so that git repo doesn't try to fetch.
2025-01-26Small style fixJoel Klinghed
2025-01-26Add basic git supportJoel Klinghed
Pushing a commit to a new branch creates a review. Each project has its own git directory, with githooks installed that talkes with server process via unix sockets.
2025-01-09fixup! Add string id for project and reduce usage of numeric ids in generalJoel Klinghed
Apperntly, cargo sqlx prepare --all is not enough, we need: cargo sqlx prepare -- --all-targets --all-features
2025-01-09fixup! Improve (and test) error handlingJoel Klinghed
Forgot a sqlx query
2025-01-09Add script for generating coverage reportJoel Klinghed
Not great, but works. Needs `cargo install grcov` and `rustup component add llvm-tools-preview` to work.
2025-01-09Improve (and test) error handlingJoel Klinghed
Non existent projects, users and such.
2025-01-09Add string id for project and reduce usage of numeric ids in generalJoel Klinghed
User: username must be unique, use as primary key and drop id.
2025-01-09Move sqlx to "offline mode"Joel Klinghed
Avoid having to have an active server and a migrated database to be able to build. Instead, when a new query is added or the database updated, cargo sqlx prepare needs to be run again, then with a running server and an active database. But only then.
2025-01-07cargo updateJoel Klinghed
2025-01-07Add remote & branch to project and reviewJoel Klinghed
Preparing for git connection.
2025-01-07Silence dead/unused code warnings in testsJoel Klinghed
auth module switching implementation based on cfg(test)
2025-01-04cargo updateJoel Klinghed
2025-01-04Make clippy happyJoel Klinghed
2025-01-04Support ldap in authJoel Klinghed
Non-test auth is now using ldap for account syncing and authentication. Test auth is still using hardcoded users (user and other). But it is now also possible to login as "other".
2025-01-04Add docker compose for developmentJoel Klinghed
As both compiling, tests and well, running, needs mariadb setup add a docker image for it. Also prepare for ldap support by adding a openldap image as well. Included .env as well, used by sqlx when compiling query!.
2025-01-03Add more testsJoel Klinghed
Use project_check_maintainer correctly, should not panic (by .unwrap) but forward the error (by ?).
2025-01-03Add initital testsJoel Klinghed
Also add /users endpoint.
2024-12-31Rename migration so its actually picked upJoel Klinghed
Must be <version>_<description>.sql.
2024-12-30Add methods for modifying projectsJoel Klinghed
While doing that I realized I had forgotten to declare maintainers for projects. Also added default roles and changed so that review_users only contains overrides, so that changes to the project users is instantly applied to all reviews (unless there is an override).
2024-12-30Remove unused lifetimeJoel Klinghed
2024-12-29cargo clippyJoel Klinghed
2024-12-29Minor cleanupJoel Klinghed
Let auth::stage() deal with having to clone the string It shouldn't force the caller to create a String object.
2024-12-29cargo updateJoel Klinghed
2024-12-29Add openapi generation using utoipaJoel Klinghed
2024-12-29Rework auth to include sessionJoel Klinghed
The actual authentication is still fake.
2024-12-28Improve error handling (404) and remove projectid from review api callJoel Klinghed
Also move reviews to under project to make it obvious that projectid is just that.
2024-12-28fixup! Database connectionJoel Klinghed
2024-12-28cargo fmtJoel Klinghed
2024-12-28Database connectionJoel Klinghed