• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

0xmichalis / nftbk / 27233185475
48%

Build:
DEFAULT BRANCH: main
Ran 09 Jun 2026 08:22PM UTC
Jobs 1
Files 69
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

09 Jun 2026 08:17PM UTC coverage: 47.619% (-0.3%) from 47.891%
27233185475

push

github

web-flow
refactor: move status types from strings to enums (#108)

* refactor: move status types from strings to enums

Define ArchiveStatus and IpfsStatus enums with serde snake_case
serialization (matching existing DB string values). Update BackupTask,
PinRow, Database trait, Db impl, workers, handlers, recovery module,
pruner, pin monitor, CLI, and all tests to use the new types instead
of raw strings.

No DB migration needed — enum serde produces the same strings:
- ArchiveStatus: in_progress, done, error, expired
- IpfsStatus: in_progress, done, error
- PinRow.pin_status uses existing PinResponseStatus enum

Closes #80

* fix: complete status enum migration to fix CI

Resolve compile, clippy, and fmt failures from the string->enum refactor:
- Import ArchiveStatus/IpfsStatus in test modules that use them; drop the
  now-unused top-level import in handle_backup_create
- Import IpfsStatus in handle_backup_delete_pins (used by the handler)
- Borrow statuses instead of moving out of &BackupTask in retry validation
- Pass status refs to validate_status_for_scope; use PinResponseStatus::Pinned
  literals instead of "pinned".into()
- Drop unused PinResponseStatus import and simplify and_then(|x| Ok(..)) to map
- Apply rustfmt

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(pin_monitor): map pin status via as_str instead of JSON round-trip

Addresses review feedback: serializing PinResponseStatus through serde_json
and falling back to unwrap_or_default() wrote an empty string to the DB on
any error and could panic in as_str().unwrap(). Add PinResponseStatus::as_str
(matching ArchiveStatus/IpfsStatus) and use it directly.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Hermes Agent <agent@hermes.ai>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

29 of 106 new or added lines in 12 files covered. (27.36%)

2 existing lines in 1 file now uncovered.

2360 of 4956 relevant lines covered (47.62%)

9.01 hits per line

Uncovered Changes

Lines Coverage ∆ File
54
1.26
1.26% src/server/database/mod.rs
16
6.83
-0.35% src/server/workers/creation.rs
3
37.74
-4.37% src/server/pin_monitor.rs
2
43.05
0.0% src/server/workers/deletion.rs
1
10.47
0.0% src/server/handlers/handle_archive_download.rs
1
0.0
0.0% src/server/pruner.rs

Coverage Regressions

Lines Coverage ∆ File
2
6.83
-0.35% src/server/workers/creation.rs
Jobs
ID Job ID Ran Files Coverage
1 27233185475.1 09 Jun 2026 08:22PM UTC 69
47.62
GitHub Action Run
Source Files on build 27233185475
  • Tree
  • List 69
  • Changed 16
  • Source Changed 16
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #27233185475
  • 3f56b01f on github
  • Prev Build on main (#26841390457)
  • Next Build on main (#29497560494)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc