Expose corpus categories to instance administrators
https://redmine.teklia.com/issues/11416
Requires #1943 (closed)
A new arkindex.documents.serializers.elements.CorpusCategorySerializer should be created, as a ModelSerializer exposing the slug, display_name and color of a CorpusCategory.
The arkindex.documents.serializers.elements.CorpusSerializer should include a new SerializerMethodField named category. The get_category method should return the CorpusCategorySerializer for the corpus' category, but only if the user is an authenticated Django administrator (user.is_admin). Otherwise, it must return None.
In the OpenAPI documentation, ListCorpus, RetrieveCorpus, CreateCorpus, UpdateCorpus and PartialUpdateCorpus should all show the category as being either the CorpusCategorySerializer or null. This will need to be explicit set through extend_schema_field because it cannot be automatically detected.
CreateCorpus will need to make one extra query to retrieve the CorpusCategory.objects.default, but none of the other endpoints should need to make any additional SQL queries, as they can all use a select_related.