rename newapi to api

This commit is contained in:
Laura Klünder 2023-12-03 21:55:08 +01:00
parent caf23d053c
commit ba4c2b7d0a
18 changed files with 101 additions and 115 deletions

View file

@ -1,14 +1,14 @@
from functools import wraps
from c3nav.editor.models import ChangeSet
from c3nav.mapdata.api.base import api_etag
from c3nav.mapdata.models.access import AccessPermission
from c3nav.mapdata.newapi.base import newapi_etag
def newapi_etag_with_update_cache_key(permissions=True, etag_func=AccessPermission.etag_func, base_mapdata=False):
def api_etag_with_update_cache_key(permissions=True, etag_func=AccessPermission.etag_func, base_mapdata=False):
def inner_wrapper(func):
func = newapi_etag(permissions=permissions, etag_func=etag_func, base_mapdata=base_mapdata)(func)
func = api_etag(permissions=permissions, etag_func=etag_func, base_mapdata=base_mapdata)(func)
@wraps(func)
def inner_wrapped_func(request, *args, **kwargs):
try:

View file

@ -2,14 +2,14 @@ from django.urls import Resolver404, resolve
from django.utils.translation import gettext_lazy as _
from ninja import Router as APIRouter
from c3nav.api.auth import APITokenAuth, auth_permission_responses
from c3nav.api.exceptions import API404
from c3nav.api.newauth import APITokenAuth, auth_permission_responses
from c3nav.editor.newapi.base import newapi_etag_with_update_cache_key
from c3nav.editor.newapi.geometries import get_level_geometries_result, get_space_geometries_result
from c3nav.editor.newapi.schemas import EditorGeometriesElemSchema, EditorID, GeometryStylesSchema, UpdateCacheKey
from c3nav.editor.api.base import api_etag_with_update_cache_key
from c3nav.editor.api.geometries import get_level_geometries_result, get_space_geometries_result
from c3nav.editor.api.schemas import EditorGeometriesElemSchema, EditorID, GeometryStylesSchema, UpdateCacheKey
from c3nav.editor.views.base import editor_etag_func
from c3nav.mapdata.api.base import api_etag
from c3nav.mapdata.models import Source
from c3nav.mapdata.newapi.base import newapi_etag
from c3nav.mapdata.schemas.responses import BoundsSchema
editor_api_router = APIRouter(tags=["editor"], auth=APITokenAuth(permissions={"editor_access"}))
@ -19,7 +19,7 @@ editor_api_router = APIRouter(tags=["editor"], auth=APITokenAuth(permissions={"e
description="get maximum boundaries of everything on the map",
response={200: BoundsSchema, **auth_permission_responses},
openapi_extra={"security": [{"APITokenAuth": ["editor_access"]}]})
@newapi_etag()
@api_etag()
def bounds(request):
return {
"bounds": Source.max_bounds(),
@ -30,7 +30,7 @@ def bounds(request):
description="get the default colors for each geometry type",
response={200: GeometryStylesSchema, **auth_permission_responses},
openapi_extra={"security": [{"APITokenAuth": ["editor_access"]}]})
@newapi_etag(permissions=False)
@api_etag(permissions=False)
def geometrystyles(request):
return {
'building': '#aaaaaa',
@ -58,7 +58,7 @@ def geometrystyles(request):
response={200: list[EditorGeometriesElemSchema], **API404.dict(),
**auth_permission_responses},
openapi_extra={"security": [{"APITokenAuth": ["editor_access"]}]})
@newapi_etag_with_update_cache_key(etag_func=editor_etag_func)
@api_etag_with_update_cache_key(etag_func=editor_etag_func)
def space_geometries(request, space_id: EditorID, update_cache_key: UpdateCacheKey = None, **kwargs):
# newapi_etag_with_update_cache_key does the following, don't let it confuse you:
# - update_cache_key becomes the actual update_cache_key, not the one supplied be the user
@ -78,7 +78,7 @@ def space_geometries(request, space_id: EditorID, update_cache_key: UpdateCacheK
response={200: list[EditorGeometriesElemSchema], **API404.dict(),
**auth_permission_responses},
openapi_extra={"security": [{"APITokenAuth": ["editor_access"]}]})
@newapi_etag_with_update_cache_key(etag_func=editor_etag_func)
@api_etag_with_update_cache_key(etag_func=editor_etag_func)
def level_geometries(request, level_id: EditorID, update_cache_key: UpdateCacheKey = None, **kwargs):
# newapi_etag_with_update_cache_key does the following, don't let it confuse you:
# - update_cache_key becomes the actual update_cache_key, not the one supplied be the user
@ -117,7 +117,7 @@ def resolve_editor_path_api(request, path):
@editor_api_router.get('/as_api/{path:path}', summary="raw editor access",
response={200: dict, **API404.dict(), **auth_permission_responses},
openapi_extra={"security": [{"APITokenAuth": ["editor_access"]}]})
@newapi_etag() # todo: correct?
@api_etag() # todo: correct?
def view_as_api(request, path: str):
"""
get editor views rendered as JSON instead of HTML.
@ -139,7 +139,7 @@ def view_as_api(request, path: str):
@editor_api_router.post('/as_api/{path:path}', summary="raw editor access",
response={200: dict, **API404.dict(), **auth_permission_responses},
openapi_extra={"security": [{"APITokenAuth": ["editor_access", "write"]}]})
@newapi_etag() # todo: correct?
@api_etag() # todo: correct?
def view_as_api(request, path: str):
"""
get editor views rendered as JSON instead of HTML.