From f8dbb4e9dbcc98aa746f0bc1d57c662c1003a53c Mon Sep 17 00:00:00 2001
From: Kenzo-Hugo Hillion <kenzo-hugo.hillion1@pasteur.fr>
Date: Fri, 22 Nov 2019 10:48:34 +0100
Subject: [PATCH] allow page as query param by default

---
 backend/metagenedb/api/catalog/qparams_validators/base.py   | 5 +++++
 backend/metagenedb/api/catalog/qparams_validators/empty.py  | 5 -----
 .../metagenedb/api/catalog/qparams_validators/function.py   | 6 ++++--
 .../metagenedb/api/catalog/qparams_validators/taxonomy.py   | 6 ++++--
 backend/metagenedb/api/catalog/views/bulk_viewset.py        | 4 ++--
 5 files changed, 15 insertions(+), 11 deletions(-)
 create mode 100644 backend/metagenedb/api/catalog/qparams_validators/base.py
 delete mode 100644 backend/metagenedb/api/catalog/qparams_validators/empty.py

diff --git a/backend/metagenedb/api/catalog/qparams_validators/base.py b/backend/metagenedb/api/catalog/qparams_validators/base.py
new file mode 100644
index 0000000..7dbb19d
--- /dev/null
+++ b/backend/metagenedb/api/catalog/qparams_validators/base.py
@@ -0,0 +1,5 @@
+from marshmallow import Schema, fields
+
+
+class PaginatedQueryParams(Schema):
+    page = fields.Integer()
diff --git a/backend/metagenedb/api/catalog/qparams_validators/empty.py b/backend/metagenedb/api/catalog/qparams_validators/empty.py
deleted file mode 100644
index 3bb46ea..0000000
--- a/backend/metagenedb/api/catalog/qparams_validators/empty.py
+++ /dev/null
@@ -1,5 +0,0 @@
-from marshmallow import Schema
-
-
-class EmptyQueryParams(Schema):
-    pass
diff --git a/backend/metagenedb/api/catalog/qparams_validators/function.py b/backend/metagenedb/api/catalog/qparams_validators/function.py
index ead585c..73880b5 100644
--- a/backend/metagenedb/api/catalog/qparams_validators/function.py
+++ b/backend/metagenedb/api/catalog/qparams_validators/function.py
@@ -1,5 +1,7 @@
-from marshmallow import Schema, fields
+from marshmallow import fields
 
+from .base import PaginatedQueryParams
 
-class FunctionQueryParams(Schema):
+
+class FunctionQueryParams(PaginatedQueryParams):
     detailed = fields.Boolean()
diff --git a/backend/metagenedb/api/catalog/qparams_validators/taxonomy.py b/backend/metagenedb/api/catalog/qparams_validators/taxonomy.py
index 6ec78af..20a5569 100644
--- a/backend/metagenedb/api/catalog/qparams_validators/taxonomy.py
+++ b/backend/metagenedb/api/catalog/qparams_validators/taxonomy.py
@@ -1,6 +1,8 @@
-from marshmallow import Schema, fields
+from marshmallow import fields
 
+from .base import PaginatedQueryParams
 
-class TaxonomyQueryParams(Schema):
+
+class TaxonomyQueryParams(PaginatedQueryParams):
     rank = fields.String()
     name = fields.String()
diff --git a/backend/metagenedb/api/catalog/views/bulk_viewset.py b/backend/metagenedb/api/catalog/views/bulk_viewset.py
index 745c545..36f49bf 100644
--- a/backend/metagenedb/api/catalog/views/bulk_viewset.py
+++ b/backend/metagenedb/api/catalog/views/bulk_viewset.py
@@ -3,11 +3,11 @@ from rest_framework import status
 from rest_framework.response import Response
 from rest_framework.viewsets import ModelViewSet
 
-from metagenedb.api.catalog.qparams_validators.empty import EmptyQueryParams
+from metagenedb.api.catalog.qparams_validators.base import PaginatedQueryParams
 
 
 class BulkViewSet(ModelViewSet):
-    query_params_parser = EmptyQueryParams
+    query_params_parser = PaginatedQueryParams
 
     def get_objects(self, instance_ids):
         return self.queryset.in_bulk(instance_ids, field_name=self.lookup_field)
-- 
GitLab