44 lines
1.4 KiB
YAML
44 lines
1.4 KiB
YAML
apiVersion: v1
|
|
data:
|
|
schema.py: |
|
|
from rest_framework.viewsets import ModelViewSet
|
|
from rest_framework.permissions import IsAuthenticated
|
|
|
|
from core.permissions import CompanyIdTokenBasedPermission
|
|
from main.models import AttributeSchema
|
|
from main.api.v0.filters import AttributeSchemaFilterSet
|
|
from main.serializers import (
|
|
AttributeSchemaCreateSerializer,
|
|
AttributeSchemaRetrieveSerializer,
|
|
)
|
|
|
|
|
|
class AttributeSchemaViewSet(ModelViewSet):
|
|
|
|
queryset = AttributeSchema.public.all()
|
|
create_serializer_class = AttributeSchemaCreateSerializer
|
|
retrieve_serializer_class = AttributeSchemaRetrieveSerializer
|
|
filterset_class = AttributeSchemaFilterSet
|
|
#permission_classes = [IsAuthenticated, CompanyIdTokenBasedPermission]
|
|
|
|
filterset_fields = [
|
|
"model_name",
|
|
"type_identifier",
|
|
"service_name",
|
|
]
|
|
|
|
def get_serializer_class(self):
|
|
if self.action in ("retrieve", "list",):
|
|
return self.retrieve_serializer_class
|
|
return self.create_serializer_class
|
|
|
|
def filter_queryset(self, queryset, *args, **kwargs):
|
|
qs = super().filter_queryset(queryset)
|
|
qs = qs.filter(published=True)
|
|
qs = qs.order_by("tenant_identifier")
|
|
return qs
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: schema
|
|
namespace: eav
|