From 0949ee7c7b8ad9d8907bc515e6b5a3e645156fa7 Mon Sep 17 00:00:00 2001 From: Johannes Laurin Hoermann Date: Sun, 20 Nov 2022 18:10:10 +0100 Subject: [PATCH 1/5] WIP: Remove overlapping BaseURISchema --- dtool_lookup_server/base_uri_routes.py | 3 --- dtool_lookup_server/dataset_routes.py | 1 - dtool_lookup_server/permission_routes.py | 3 ++- dtool_lookup_server/schemas.py | 4 ---- 4 files changed, 2 insertions(+), 9 deletions(-) diff --git a/dtool_lookup_server/base_uri_routes.py b/dtool_lookup_server/base_uri_routes.py index 14fe450..846c233 100644 --- a/dtool_lookup_server/base_uri_routes.py +++ b/dtool_lookup_server/base_uri_routes.py @@ -7,9 +7,6 @@ ) from flask_smorest import Blueprint -from dtool_lookup_server import ( - AuthenticationError, -) from dtool_lookup_server.sql_models import BaseURISchema, BaseURI import dtool_lookup_server.utils_auth from dtool_lookup_server.utils import ( diff --git a/dtool_lookup_server/dataset_routes.py b/dtool_lookup_server/dataset_routes.py index c16ff98..ada1e7c 100644 --- a/dtool_lookup_server/dataset_routes.py +++ b/dtool_lookup_server/dataset_routes.py @@ -12,7 +12,6 @@ from flask_smorest.pagination import PaginationParameters from .sql_models import ( - BaseURISchema, DatasetSchema ) diff --git a/dtool_lookup_server/permission_routes.py b/dtool_lookup_server/permission_routes.py index c9e0c7d..13a57f9 100644 --- a/dtool_lookup_server/permission_routes.py +++ b/dtool_lookup_server/permission_routes.py @@ -11,7 +11,8 @@ AuthenticationError, ValidationError ) -from dtool_lookup_server.schemas import BaseUriSchema, UriPermissionSchema +from dtool_lookup_server.schemas import UriPermissionSchema +from dtool_lookup_server.sql_models import BaseURISchema bp = Blueprint("permissions", __name__, url_prefix="/admin/permission") diff --git a/dtool_lookup_server/schemas.py b/dtool_lookup_server/schemas.py index f3bfb1f..abe155e 100644 --- a/dtool_lookup_server/schemas.py +++ b/dtool_lookup_server/schemas.py @@ -15,10 +15,6 @@ class UriSchema(Schema): uri = String() -class BaseUriSchema(Schema): - base_uri = String() - - class RegisterUserSchema(Schema): username = String() is_admin = Boolean() From a4712062ac8230b92d3610c411af784c93515e2d Mon Sep 17 00:00:00 2001 From: Johannes Laurin Hoermann Date: Sun, 20 Nov 2022 18:15:56 +0100 Subject: [PATCH 2/5] MAINT: Remove obsolete annotations schema --- dtool_lookup_server/schemas.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dtool_lookup_server/schemas.py b/dtool_lookup_server/schemas.py index abe155e..2e91aa9 100644 --- a/dtool_lookup_server/schemas.py +++ b/dtool_lookup_server/schemas.py @@ -79,3 +79,7 @@ class UserResponseSchema(Schema): is_admin = Boolean() register_permissions_on_base_uris = List(String) search_permissions_on_base_uris = List(String) + + +class AnnotationsSchema(Schema): + pass From 617f58c985d3defb5f982cb67c1febd45a60a4a3 Mon Sep 17 00:00:00 2001 From: Johannes Laurin Hoermann Date: Sun, 20 Nov 2022 18:18:09 +0100 Subject: [PATCH 3/5] MAINT: Remove obsolete annotations schema --- dtool_lookup_server/dataset_routes.py | 5 ++--- dtool_lookup_server/schemas.py | 4 ---- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/dtool_lookup_server/dataset_routes.py b/dtool_lookup_server/dataset_routes.py index ada1e7c..14a75c6 100644 --- a/dtool_lookup_server/dataset_routes.py +++ b/dtool_lookup_server/dataset_routes.py @@ -28,7 +28,7 @@ ValidationError, ) from dtool_lookup_server.schemas import ( - UriSchema, + URISchema, RegisterDatasetSchema, SearchDatasetSchema, SummarySchema, @@ -195,8 +195,7 @@ def readme(query: UriSchema): @bp.route("/annotations", methods=["POST"]) -@bp.arguments(UriSchema) -@bp.response(200, Dict) +@bp.arguments(URISchema) @jwt_required() def annotations(query: UriSchema): """Request the dataset annotations.""" diff --git a/dtool_lookup_server/schemas.py b/dtool_lookup_server/schemas.py index 2e91aa9..abe155e 100644 --- a/dtool_lookup_server/schemas.py +++ b/dtool_lookup_server/schemas.py @@ -79,7 +79,3 @@ class UserResponseSchema(Schema): is_admin = Boolean() register_permissions_on_base_uris = List(String) search_permissions_on_base_uris = List(String) - - -class AnnotationsSchema(Schema): - pass From 6dfaade56e6b0b284a494de26a6bb5969f404237 Mon Sep 17 00:00:00 2001 From: Johannes Laurin Hoermann Date: Sun, 20 Nov 2022 18:24:06 +0100 Subject: [PATCH 4/5] MAINT: either URI or Uri, prefer former, but not both mixed --- dtool_lookup_server/permission_routes.py | 10 +++++----- dtool_lookup_server/schemas.py | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dtool_lookup_server/permission_routes.py b/dtool_lookup_server/permission_routes.py index 13a57f9..0d0988f 100644 --- a/dtool_lookup_server/permission_routes.py +++ b/dtool_lookup_server/permission_routes.py @@ -11,15 +11,15 @@ AuthenticationError, ValidationError ) -from dtool_lookup_server.schemas import UriPermissionSchema +from dtool_lookup_server.schemas import URIPermissionSchema from dtool_lookup_server.sql_models import BaseURISchema bp = Blueprint("permissions", __name__, url_prefix="/admin/permission") @bp.route("/info", methods=["POST"]) -@bp.arguments(BaseUriSchema) -@bp.response(200, UriPermissionSchema) +@bp.arguments(BaseURISchema) +@bp.response(200, URIPermissionSchema) @jwt_required() def permission_info(data: BaseUriSchema): """Get information about the permissions on a base URI. @@ -40,9 +40,9 @@ def permission_info(data: BaseUriSchema): @bp.route("/update_on_base_uri", methods=["POST"]) -@bp.arguments(UriPermissionSchema) +@bp.arguments(URIPermissionSchema) @jwt_required() -def update_on_base_uri(permissions: UriPermissionSchema): +def update_on_base_uri(permissions: URIPermissionSchema): """Update the permissions on a base URI. The user needs to be admin. diff --git a/dtool_lookup_server/schemas.py b/dtool_lookup_server/schemas.py index abe155e..0300eae 100644 --- a/dtool_lookup_server/schemas.py +++ b/dtool_lookup_server/schemas.py @@ -51,7 +51,7 @@ class RegisterDatasetSchema(Schema): size_in_bytes = Integer() -class UriPermissionSchema(Schema): +class URIPermissionSchema(Schema): base_uri = String() users_with_register_permissions = List(String) users_with_search_permissions = List(String) From 144e40aca29f6dac3e136399d3b305f237c24cc7 Mon Sep 17 00:00:00 2001 From: Johannes Laurin Hoermann Date: Sun, 20 Nov 2022 19:20:53 +0100 Subject: [PATCH 5/5] grep -I --files-with-matches -R Uri dtool_lookup_server | xargs sed -i 's/Uri/URI/g' --- dtool_lookup_server/dataset_routes.py | 12 ++++++------ dtool_lookup_server/permission_routes.py | 2 +- dtool_lookup_server/schemas.py | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/dtool_lookup_server/dataset_routes.py b/dtool_lookup_server/dataset_routes.py index 14a75c6..4c1e5a6 100644 --- a/dtool_lookup_server/dataset_routes.py +++ b/dtool_lookup_server/dataset_routes.py @@ -118,7 +118,7 @@ def search_datasets( @bp.route("/register", methods=["POST"]) @bp.arguments(RegisterDatasetSchema(partial=("created_at",))) -@bp.response(201, UriSchema) +@bp.response(201, URISchema) @jwt_required() def register(dataset: RegisterDatasetSchema): """Register a dataset. The user needs to have register permissions on the base_uri.""" @@ -143,9 +143,9 @@ def register(dataset: RegisterDatasetSchema): # - may_search @bp.route("/manifest", methods=["POST"]) -@bp.arguments(UriSchema) +@bp.arguments(URISchema) @jwt_required() -def manifest(query: UriSchema): +def manifest(query: URISchema): """Request the dataset manifest.""" username = get_jwt_identity() if not dtool_lookup_server.utils_auth.user_exists(username): @@ -169,9 +169,9 @@ def manifest(query: UriSchema): @bp.route("/readme", methods=["POST"]) -@bp.arguments(UriSchema) +@bp.arguments(URISchema) @jwt_required() -def readme(query: UriSchema): +def readme(query: URISchema): """Request the dataset readme.""" username = get_jwt_identity() if not dtool_lookup_server.utils_auth.user_exists(username): @@ -197,7 +197,7 @@ def readme(query: UriSchema): @bp.route("/annotations", methods=["POST"]) @bp.arguments(URISchema) @jwt_required() -def annotations(query: UriSchema): +def annotations(query: URISchema): """Request the dataset annotations.""" username = get_jwt_identity() if not dtool_lookup_server.utils_auth.user_exists(username): diff --git a/dtool_lookup_server/permission_routes.py b/dtool_lookup_server/permission_routes.py index 0d0988f..7dfc92d 100644 --- a/dtool_lookup_server/permission_routes.py +++ b/dtool_lookup_server/permission_routes.py @@ -21,7 +21,7 @@ @bp.arguments(BaseURISchema) @bp.response(200, URIPermissionSchema) @jwt_required() -def permission_info(data: BaseUriSchema): +def permission_info(data: BaseURISchema): """Get information about the permissions on a base URI. The user needs to be admin. diff --git a/dtool_lookup_server/schemas.py b/dtool_lookup_server/schemas.py index 0300eae..3a6f948 100644 --- a/dtool_lookup_server/schemas.py +++ b/dtool_lookup_server/schemas.py @@ -11,7 +11,7 @@ ) -class UriSchema(Schema): +class URISchema(Schema): uri = String()