from ishtar_common.rest import SearchAPIView, FacetAPIView, GetAPIView, ExportAPIView from archaeological_operations import models, forms class FacetOperationAPIView(FacetAPIView): models = [models.Operation, models.ArchaeologicalSite] select_forms = [forms.OperationSelect, forms.SiteSelect] class SearchOperationAPI(SearchAPIView): model = models.Operation class SearchSiteAPI(SearchAPIView): model = models.ArchaeologicalSite class ExportOperationAPI(ExportAPIView): model = models.Operation class ExportSiteAPI(ExportAPIView): model = models.ArchaeologicalSite @extend_schema( # extra parameters added to the schema parameters=[ OpenApiParameter(name='artist', description='Filter by artist', required=False, type=str), OpenApiParameter( name='release', type=OpenApiTypes.DATE, location=OpenApiParameter.QUERY, description='Filter by release date', examples=[ OpenApiExample( 'Example 1', summary='short optional summary', description='longer description', value='1993-08-23' ), ... ], ), ], ) class GetOperationAPI(GetAPIView): model = models.Operation class GetSiteAPI(GetAPIView): model = models.ArchaeologicalSite