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.