11 Commits (ac6d756acb8ebec5f75ec7db529474e743c3b31b)

Author SHA1 Message Date
anna ac6d756acb
use newtypes for clear and hashed passwords 1 year ago
anna 4be3bdda0c
add public/private keys for users 1 year ago
anna a0d2dc4151
refactor model IDs to use safe types
This is a major refactor that introduces a new
generic type Id<T, I> for tagging any ID with the
model they reference without any runtime overhead.
From now on, it should be pretty much impossible
to pass e.g. a note ID to a function that expects,
say, an account ID.

Furthermore, the follow and like tables have been
simplified to use the two IDs that define the
relationship as a composite primary key.

Finally, likes now have a memory cache.
1 year ago
anna e387e43dab
add API entities and more accounts endpoints 1 year ago
anna f1a631efff
data: remove unnecessary generics
The repository layer is the central gateway to
the data storage subsystem, so it should also be
solely responsible for transforming data coming
from the rest of the app into the appropriate
format.
1 year ago
anna 271a912879
add auth middleware and identity endpoint 1 year ago
anna 41b27830b9
add signup endpoint 1 year ago
anna c227d09af3
rename statuses to notes
This matches the ActivityPub terminology, so why
not do it as long as it's still possible to
arbitrarily change the database schema.
1 year ago
anna 323fe471c5
add statuses
This commit requires wiping the database, because
it changes the accounts migration as well.
1 year ago
anna a5d9f049a9
add repository stuff 1 year ago
anna 6192aa76c8
add skeleton for endpoints 1 year ago