68 Commits
Author SHA1 Message Date
xphoniex 2e25250be4 httpd: Add a cache for /tree
This improves response time of:

- GET /api/v1/projects/<RID>/tree/<OID>/ from 205.71ms down to 376.4µs
- GET /api/v1/projects/<RID>/tree/<OID>/.nix from 111.06ms down to 351.70µs

Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-07-25 13:10:58 +02:00
xphoniex ed62ac4264 Add -h flag to binaries
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-07-25 11:58:39 +02:00
xphoniex 5ee8c8281b Make diff line selectable and shareable
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-07-20 11:37:57 +02:00
xphoniex 08a5a329c3 Use correct tree hash for file path on diff page
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-07-12 14:43:50 +02:00
xphoniex 5db94a962d Show "Empty file" when diff is plain without hunks
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-07-12 14:16:54 +02:00
xphoniex b1169319c3 radicle: Create Aliases and use it in httpd
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-06-02 14:50:49 +02:00
xphoniex 6f20e93c3c node: Introduce AliasStore trait
httpd: use the `AliasStore` trait

Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-06-02 14:48:33 +02:00
xphoniex d0d47f791b node: Add access to routing.db on profile
httpd: Use routing.db to return `trackings` of an RID

Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-06-02 13:42:44 +02:00
xphoniex 273a527cd7 httpd: Return alias field on merges of a patch
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-05-29 12:48:11 +02:00
xphoniex c735783246 httpd: Add author to revision of a patch
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-05-29 12:11:13 +02:00
xphoniex e17e789602 cli: Show alias on rad issue and rad patch
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-05-22 15:13:28 +02:00
xphoniex 8880c49c1d httpd: Add alias field to certain routes
* `/patches`, `/issues`, `/remotes`

Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-05-16 12:40:07 +02:00
xphoniex 1c0dd54bbf httpd: Use RID in tests
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-03-13 16:25:26 +01:00
xphoniex 6ac94ca1d4 httpd: Separate Error types of git route and /raw
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-03-13 16:25:26 +01:00
xphoniex f68f0af76f httpd: Move 404 test from git to root router
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-03-13 16:25:26 +01:00
xphoniex 44bf989d2e httpd: Add root handlers for /api/v1 and /api
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-03-12 19:12:40 +01:00
xphoniex 79934c3dfe httpd: Run tests off another remote for test::seed
Keep `test::contributor(..)` to test interactions with a contributor node.

Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-03-08 15:27:13 +01:00
xphoniex 0535b0c5c2 httpd: Remove radicle_cli from tests
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-03-07 15:08:11 +01:00
xphoniex 2b48df9526 httpd: Use radicle-term instead of radicle-cli::terminal
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-03-07 14:49:18 +01:00
xphoniex 7104cde3e7 httpd: Set a max allowed size of 4 MiB when serving files raw
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-03-07 09:37:02 +01:00
xphoniex 2fdcf85891 httpd: Change format of tracing messages
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-03-03 16:13:10 +01:00
xphoniex da594fb521 httpd: Use repo.identity_doc() instead of repo.identity_of(..)
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-02-28 18:08:26 +01:00
xphoniex e7de186e0e httpd: Add /raw route
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-02-23 06:16:37 +00:00
xphoniex 9a03136516 httpd: Use State instead of Extension for root_handler
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-02-23 05:54:31 +00:00
xphoniex 8d5d84f31c httpd: Update /git test to use test helper fns
Update `axum` to 0.6.7 to be able to use fix in:
https://github.com/tokio-rs/axum/pull/1767

Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-02-22 17:06:32 +01:00
xphoniex b0b94fea18 httpd: Move test utility mod from inside api to root
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-02-22 17:06:32 +01:00
xphoniex 1185a1fc6b httpd: Change 500 into 404 when project doesn't exist
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-02-22 17:06:32 +01:00
xphoniex 1a2ee8da58 httpd: Move git router & handler into its own file
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-02-22 17:06:32 +01:00
xphoniex 7e9b9c944b httpd: Return correct count for patches
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-02-16 16:51:02 +01:00
xphoniex 4a27cc3f6c Update radicle-git and radicle-surf
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-02-10 22:14:50 +01:00
xphoniex 6d9154d427 httpd: Extract issue json response
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-02-04 13:46:26 +00:00
xphoniex 49590bc72d httpd: Add routes for patch ops
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-02-04 13:22:09 +00:00
xphoniex b28b25c00f Update radicle-surf
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-01-28 20:19:23 +01:00
xphoniex 2125128b5f httpd: Remove lastCommit in /tree for entries
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-01-25 15:35:24 +01:00
xphoniex 9d8c5f404b httpd: Clean up json.rs
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-01-25 15:35:24 +01:00
xphoniex f9e519296d httpd: Change sha1 into id
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-01-25 15:35:24 +01:00
xphoniex 05da23b707 httpd: Use commits/commit instead of headers/header
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-01-25 15:35:24 +01:00
xphoniex 24d19b69d2 httpd: change committerTime into committer.time
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-01-25 15:35:24 +01:00
xphoniex 59e3afac67 httpd: Update axum from 0.5.x to 0.6.x
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-01-18 14:09:48 +00:00
xphoniex d98073a55d httpd: Add api tests
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-01-12 20:30:53 +01:00
xphoniex a93803c8ca httpd: Use TraceLayer on uppermost router
This allows prefix of each route e.g. `/api/*` to be visible in logs.

Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2022-12-26 15:56:21 +01:00
xphoniex 8e688fef34 Update radicle-git to 79a94721366490053e2d8ac1c1afa14fb0c25f09
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2022-12-23 13:22:55 +01:00
xphoniex 0b138f2c0c httpd: Use HashSet instead of BTreeSet
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2022-12-09 10:49:28 +01:00
xphoniex a40d53743d httpd: Conform response from issue handlers to previous model
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2022-12-09 10:49:09 +01:00
xphoniex da4287258b httpd: implement IntoResponse for api error variants
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2022-11-30 13:06:03 +00:00
xphoniex 591b86aee5 Migrate /v1/stats route
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2022-11-30 13:06:03 +00:00
xphoniex 3b50828f41 Migrate /projects: issues, issue handlers
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2022-11-30 13:06:03 +00:00
xphoniex 02ab60ac55 Migrate /projects: remotes, remote, blob, readme handlers
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2022-11-30 13:06:03 +00:00
xphoniex 45751c56c6 Migrate /projects: history and tree handlers
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2022-11-30 13:06:03 +00:00
xphoniex de1f84b792 Migrate /projects: root, project, commit, activity handlers
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2022-11-30 13:06:03 +00:00
xphoniex 2d49f8bbff Migrate /v1/delegates route
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2022-11-30 13:06:03 +00:00
xphoniex b26562f2c5 Migrate /v1/sessions route
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2022-11-30 13:06:03 +00:00
xphoniex ae2a35abb9 Migrate /v1/, /v1/node routes to heartwood
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2022-11-30 13:06:03 +00:00
xphoniex 0b61ad4aa2 Improve commit listing in revision component
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-06-05 11:07:50 +02:00
xphoniex c3346575ee Show number of nodes tracking a repo
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-06-02 13:11:27 +00:00
xphoniex 47622735c7 Use description from first revisions of Patch
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-05-29 13:02:44 +00:00
xphoniex da361fb399 Use author from Revision as it might differ from original one
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-05-29 15:57:07 +03:30
xphoniex a916783d6f Add reviewers field on Patch scheme
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-05-29 12:23:56 +00:00
xphoniex 824c719313 Use the new Merge scheme for Patch
`merges` field has moved one level up, from `revisions` to `patch` itself

Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-05-29 12:14:17 +00:00
xphoniex 39874d8d51 Add alias to Patch
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-05-29 12:14:17 +00:00
xphoniex 227424dbeb Add option to view diff between revisions
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-05-28 13:58:57 +00:00
xphoniex 2b21390540 Add alias to PeerSelector
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-05-16 08:17:48 +02:00
xphoniex 305c9677fd Add alias to Comment
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-05-12 14:30:27 +00:00
xphoniex 3eab5b9d62 Add alias to Issue/IssueTeaser
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-05-12 14:58:16 +02:00
xphoniex 04bae0ade6 Add alias to PatchTeaser
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-05-12 14:57:10 +02:00
xphoniex 9fae5ebb33 Update heartwood fixture and re-enable tests
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-01-30 14:27:46 +00:00
xphoniex b9ae9614c0 Update JSON scheme for heartwood
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-01-27 10:39:57 +00:00
xphoniexandRūdolfs Ošiņš f72405a3e4 Add support for Heartwood
Co-authored-by: Rūdolfs Ošiņš <rudolfs@osins.org>
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2023-01-04 11:20:14 +01:00