docs: def detail_permissions(self, request, pk=None):
          """Get or set permissions API endpoint."""
          obj = self.get_object()
  
          if request.method == 'POST':
              content_type = ContentType.objects.get_for_model(obj)
              payload = request.data
              share_content = strtobool(payload.pop('share_content', 'false'))
              user = request.user
              is_owner = user.has_perm('owner_{}'.format(content_type), obj=obj)
  
              allow_owner = is_owner or user.is_superuser
              check_owner_permission(payload, allow_owner)
              check_public_permissions(payload)
              check_user_permissions(payload, request.user.pk)
  
              with transaction.atomic():
                  update_permission(obj, payload)
  
                  owner_count = UserObjectPermission.objects.filter(
                      object_pk=obj.id,
                      content_type=content_type,
                      permission__codename__startswith='owner_'
                  ).count()
  
                  if not owner_count:
                      raise exceptions.ParseError('Object must have at least one owner.')
  
              if share_content:
                  self.set_content_permissions(user, obj, payload)
  
          return Response(get_object_perms(obj))