There are a lot of models that implement Links but implement the type attribute as a string and not as a relation to the LinkType model. This blocks the implementation of dashboard#186 (closed).
We would also need changes the logic of the /api/v1/link-types route
list only the active objects,
mark an object as inactive on delete.
I agree, that using an in-/active flag is a feasible solution. They delete should mark as inactive.
But let's not go for an implicit logic for the "list link-types" endpoint, by hiding inactive ones. This endpoint should return all available types, no matter if active or inactive. Dashboard can decide itself how to deal with state, what to use based on the is_active flag in the returned objects. E.g. Websites require also the information of inactive types, since they still might display old link types, which cannot be added in the new UI anymore.
Edit: In the future Dashboard should be able to manage all the link types too, including enabling/disabling. That's another reason the API should not be opinionated what to return, rather return all results.