REST API¶
The REST API is a pretty straightforward Django REST Framework API.
The identities
, follows
, and aliases
endpoints are all
straightforward. Each only lets you create the relevant objects with
yourself as the user
or from_user
, as appropriate.
The profile
endpoint is a bit weirder. It is doesn’t play with the
usual collection/instance pattern of other REST endpoints, because any
given user can only see and only edit just one profile: theirs. Of note,
it doesn’t show up in the root API JSON object because I jammed it in to
the router by hand.
Reorder Mixin¶
The identities
and aliases
endpoints allow their objects to be
reordered. This happens through the ReorderMixin
, which adds a
.../reorder/
endpoint which expects a list of IDs in the desired
order. We hit the database twice, once to null out the existing seq
values, and again with an absurd built Case
statement that sets the
seq
values appropriately.