Atproto Types Overhaul and DB Interface #3

Merged
Julia merged 4 commits from db-ingestion-interface into main 2025-06-17 15:49:17 -07:00
Owner

I was working on the DB interface, but the atproto types needed an overhaul for anything to get done. Nothing in this is tested, but It's going to stay that way until I find out it's broken. This is "main" enough.

Plus I want a clean branch with a better name for working on the ingestors. Once I have ingestion I'll do tests (probably unless I want to do the endpoints...)

If you want a summary of changes look at the commit messages they will do a better job than me.

I was working on the DB interface, but the atproto types needed an overhaul for anything to get done. Nothing in this is tested, but It's going to stay that way until I find out it's broken. This is "main" enough. Plus I want a clean branch with a better name for working on the ingestors. Once I have ingestion I'll do tests (probably unless I want to do the endpoints...) If you want a summary of changes look at the commit messages they will do a better job than me.
Julia added 4 commits 2025-06-17 15:48:43 -07:00
Move async-trait from ingestor to workspace so DB can share.

Update the reference to tokio in DB from version to workspace
Breaks off from Atrium-rs's types because they are implemented
inconsistently, which makes them harder to use.

This was done with reference to the atproto documentation but
specifically not the atrium-rs codebase so I wouldn't have to think
about licenses.

This adds the types and error module in atproto. It also touches
Cargo.toml for some new dependencies and some shared dependencies.

some things to keep in mind:
- There is no CID parsing
- None of this is tested, nor are there any tests written. We're playing
  fast and loose baby~
Moves sqlx to workspace so this touches DB and workspace
Adds a migration for an initial schema. Adds sqlx-cli to the flake
so that I use those migrations easily.

adds an UNTESTED "direct" interface, which should make writing ingestors
easier, and be very easy for spoor lexicons. It will probably also be
easy for other lexicons if they can fit into the Activity -> Session ->
Content interface.

Adds errors because I needed errors.

Since this is a library, and as you can see there are no tests, that
means that everything is *untested* which is fine because I want a MVP
not a stable app. For now.
Julia merged commit 8288620f2e into main 2025-06-17 15:49:17 -07:00
Julia deleted branch db-ingestion-interface 2025-06-17 15:49:17 -07:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Spoor/appview#3
No description provided.