Skip to content
Open
Show file tree
Hide file tree
Changes from 30 commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
1685f8a
feat(api-server): add GET /usage/compression endpoint
Apr 9, 2026
925dc4c
Merge branch 'main' into feat/usage-api
jackluo923 Apr 11, 2026
519ddeb
Update components/api-server/src/client.rs
jackluo923 Apr 11, 2026
bf1efb3
Update components/api-server/src/routes.rs
jackluo923 Apr 11, 2026
2ea14c2
feat(api-server): improve compression usage endpoint
jackluo923 Apr 11, 2026
02c65d0
refactor(api-server): use strum + CompressionJobStatus enum for statu…
jackluo923 Apr 11, 2026
5e0b6a1
refactor(api-server): move CompressionUsageParams and validation to C…
jackluo923 Apr 11, 2026
89636eb
chore: regenerate api-server OpenAPI JSON
jackluo923 Apr 11, 2026
f930be2
refactor(api-server): inline job_status_clause into SQL format string
jackluo923 Apr 11, 2026
7bc9293
test(api-server): add limit validation regression tests
jackluo923 Apr 11, 2026
9dc7201
fix(api-server): handle empty job_statuses in get_compression_usage
jackluo923 Apr 11, 2026
d21d49a
style(api-server): format SQL query with one clause per line
jackluo923 Apr 11, 2026
d168efe
refactor(api-server): simplify GROUP BY using ANY_VALUE()
jackluo923 Apr 11, 2026
ad901e6
refactor(api-server): introduce ValidatedCompressionUsageParams types…
jackluo923 Apr 11, 2026
1f1f66b
fix(db): add idempotent migration for JOB_START_TIME_STATUS index
jackluo923 Apr 11, 2026
1d9e3e3
refactor(api-server): Address code review feedback.
jackluo923 Apr 12, 2026
d2d2178
fix(api-server): Allow explicit `job_status=pending` queries while ke…
jackluo923 Apr 12, 2026
3bcc249
test(api-server): Remove redundant strum tests, keep domain invariant.
jackluo923 Apr 12, 2026
05b495f
refactor(api-server): Use chrono types internally while keeping epoch…
jackluo923 Apr 12, 2026
4d9648a
refactor(api-server): Remove dead code branch for empty job_statuses.
jackluo923 Apr 12, 2026
7d271a7
fix(api-server): Update stale docstrings after review.
jackluo923 Apr 12, 2026
95635aa
docs(api-server): Document timestamp range error in TryFrom Errors se…
jackluo923 Apr 12, 2026
82a68e3
feat(api-server): Reject duplicate job_status values in compression u…
jackluo923 Apr 12, 2026
463a5e7
chore(api-server): Regenerate OpenAPI spec after enabling PENDING sta…
jackluo923 Apr 13, 2026
015885b
chore: Update Cargo.lock and fix formatting after lint pass.
jackluo923 Apr 13, 2026
22196a6
test(api-server): Add routes-level test for duplicate job_status reje…
jackluo923 Apr 13, 2026
99ea8f5
refactor(api-server): Make CompressionUsage OpenAPI fields user-orien…
jackluo923 Apr 13, 2026
8217b0a
docs(api-server): Remove redundant Note about Pending exclusion.
jackluo923 Apr 13, 2026
1a71b2e
refactor(api-server): Rename timestamp params to match QueryConfig, m…
jackluo923 Apr 13, 2026
05d85a9
docs(api-server): Remove inaccurate non-constructable claim from docs…
jackluo923 Apr 13, 2026
ad6f684
Update components/api-server/src/client.rs
jackluo923 Apr 14, 2026
602f81b
Merge branch 'main' into feat/usage-api
jackluo923 Apr 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 110 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 6 additions & 1 deletion components/api-server/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ anyhow = "1.0.100"
async-stream = "0.3.6"
aws-sdk-s3 = "1.121.0"
axum = { version = "0.8.8", features = ["json"] }
chrono = { version = "0.4", features = ["serde"] }
clap = { version = "4.5.56", features = ["derive"] }
clp-rust-utils = { path = "../clp-rust-utils" }
futures = "0.3.31"
Expand All @@ -31,10 +32,14 @@ rmp-serde = "1.3.1"
secrecy = "0.10.3"
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.149"
sqlx = { version = "0.8.6", features = ["runtime-tokio", "mysql"] }
sqlx = { version = "0.8.6", features = ["runtime-tokio", "mysql", "chrono"] }
thiserror = "2.0.18"
tokio = { version = "1.49.0", features = ["full"] }
tower-http = { version = "0.6.8", features = ["cors"] }
tracing = "0.1.44"
utoipa = { version = "5.4.0", features = ["axum_extras"] }
utoipa-axum = "0.2.0"

[dev-dependencies]
http-body-util = "0.1"
tower = { version = "0.5", features = ["util"] }
Loading
Loading