mirror of
https://github.com/inventree/InvenTree.git
synced 2025-04-27 19:16:44 +00:00
Remove unneeded AjaxView usage (#8461)
* remove unneeded AjaxView usage * add schema * bump schema version * make schema more acurate * exclude not found view * make script also axept base api
This commit is contained in:
parent
5464bc5a8a
commit
9cd0394dc4
@ -44,7 +44,8 @@ def top_level_path(path: str) -> str:
|
|||||||
|
|
||||||
path = path.strip()
|
path = path.strip()
|
||||||
|
|
||||||
key = path.split('/')[1]
|
parts = path.split('/')
|
||||||
|
key = parts[1] if len(parts) > 1 else parts[0]
|
||||||
|
|
||||||
if key in SPECIAL_PATHS:
|
if key in SPECIAL_PATHS:
|
||||||
return key
|
return key
|
||||||
|
@ -30,7 +30,6 @@ from .helpers_email import is_email_configured
|
|||||||
from .mixins import ListAPI, RetrieveUpdateAPI
|
from .mixins import ListAPI, RetrieveUpdateAPI
|
||||||
from .status import check_system_health, is_worker_running
|
from .status import check_system_health, is_worker_running
|
||||||
from .version import inventreeApiText
|
from .version import inventreeApiText
|
||||||
from .views import AjaxView
|
|
||||||
|
|
||||||
logger = logging.getLogger('inventree')
|
logger = logging.getLogger('inventree')
|
||||||
|
|
||||||
@ -196,8 +195,35 @@ class VersionTextView(ListAPI):
|
|||||||
return JsonResponse(inventreeApiText())
|
return JsonResponse(inventreeApiText())
|
||||||
|
|
||||||
|
|
||||||
class InfoView(AjaxView):
|
class InfoApiSerializer(serializers.Serializer):
|
||||||
"""Simple JSON endpoint for InvenTree information.
|
"""InvenTree server information - some information might be blanked if called without elevated credentials."""
|
||||||
|
|
||||||
|
server = serializers.CharField(read_only=True)
|
||||||
|
version = serializers.CharField(read_only=True)
|
||||||
|
instance = serializers.CharField(read_only=True)
|
||||||
|
apiVersion = serializers.IntegerField(read_only=True) # noqa: N815
|
||||||
|
worker_running = serializers.BooleanField(read_only=True)
|
||||||
|
worker_count = serializers.IntegerField(read_only=True)
|
||||||
|
worker_pending_tasks = serializers.IntegerField(read_only=True)
|
||||||
|
plugins_enabled = serializers.BooleanField(read_only=True)
|
||||||
|
plugins_install_disabled = serializers.BooleanField(read_only=True)
|
||||||
|
active_plugins = serializers.JSONField(read_only=True)
|
||||||
|
email_configured = serializers.BooleanField(read_only=True)
|
||||||
|
debug_mode = serializers.BooleanField(read_only=True)
|
||||||
|
docker_mode = serializers.BooleanField(read_only=True)
|
||||||
|
default_locale = serializers.ChoiceField(
|
||||||
|
choices=settings.LOCALE_CODES, read_only=True
|
||||||
|
)
|
||||||
|
system_health = serializers.BooleanField(read_only=True)
|
||||||
|
database = serializers.CharField(read_only=True)
|
||||||
|
platform = serializers.CharField(read_only=True)
|
||||||
|
installer = serializers.CharField(read_only=True)
|
||||||
|
target = serializers.CharField(read_only=True)
|
||||||
|
django_admin = serializers.CharField(read_only=True)
|
||||||
|
|
||||||
|
|
||||||
|
class InfoView(APIView):
|
||||||
|
"""JSON endpoint for InvenTree server information.
|
||||||
|
|
||||||
Use to confirm that the server is running, etc.
|
Use to confirm that the server is running, etc.
|
||||||
"""
|
"""
|
||||||
@ -208,6 +234,13 @@ class InfoView(AjaxView):
|
|||||||
"""Return the current number of outstanding background tasks."""
|
"""Return the current number of outstanding background tasks."""
|
||||||
return OrmQ.objects.count()
|
return OrmQ.objects.count()
|
||||||
|
|
||||||
|
@extend_schema(
|
||||||
|
responses={
|
||||||
|
200: OpenApiResponse(
|
||||||
|
response=InfoApiSerializer, description='InvenTree server information'
|
||||||
|
)
|
||||||
|
}
|
||||||
|
)
|
||||||
def get(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
"""Serve current server information."""
|
"""Serve current server information."""
|
||||||
is_staff = request.user.is_staff
|
is_staff = request.user.is_staff
|
||||||
@ -261,7 +294,7 @@ class InfoView(AjaxView):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
class NotFoundView(AjaxView):
|
class NotFoundView(APIView):
|
||||||
"""Simple JSON view when accessing an invalid API view."""
|
"""Simple JSON view when accessing an invalid API view."""
|
||||||
|
|
||||||
permission_classes = [permissions.AllowAny]
|
permission_classes = [permissions.AllowAny]
|
||||||
@ -280,22 +313,27 @@ class NotFoundView(AjaxView):
|
|||||||
"""Return 404."""
|
"""Return 404."""
|
||||||
return self.not_found(request)
|
return self.not_found(request)
|
||||||
|
|
||||||
|
@extend_schema(exclude=True)
|
||||||
def get(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
"""Return 404."""
|
"""Return 404."""
|
||||||
return self.not_found(request)
|
return self.not_found(request)
|
||||||
|
|
||||||
|
@extend_schema(exclude=True)
|
||||||
def post(self, request, *args, **kwargs):
|
def post(self, request, *args, **kwargs):
|
||||||
"""Return 404."""
|
"""Return 404."""
|
||||||
return self.not_found(request)
|
return self.not_found(request)
|
||||||
|
|
||||||
|
@extend_schema(exclude=True)
|
||||||
def patch(self, request, *args, **kwargs):
|
def patch(self, request, *args, **kwargs):
|
||||||
"""Return 404."""
|
"""Return 404."""
|
||||||
return self.not_found(request)
|
return self.not_found(request)
|
||||||
|
|
||||||
|
@extend_schema(exclude=True)
|
||||||
def put(self, request, *args, **kwargs):
|
def put(self, request, *args, **kwargs):
|
||||||
"""Return 404."""
|
"""Return 404."""
|
||||||
return self.not_found(request)
|
return self.not_found(request)
|
||||||
|
|
||||||
|
@extend_schema(exclude=True)
|
||||||
def delete(self, request, *args, **kwargs):
|
def delete(self, request, *args, **kwargs):
|
||||||
"""Return 404."""
|
"""Return 404."""
|
||||||
return self.not_found(request)
|
return self.not_found(request)
|
||||||
|
@ -1,13 +1,17 @@
|
|||||||
"""InvenTree API version information."""
|
"""InvenTree API version information."""
|
||||||
|
|
||||||
# InvenTree API version
|
# InvenTree API version
|
||||||
INVENTREE_API_VERSION = 279
|
INVENTREE_API_VERSION = 280
|
||||||
|
|
||||||
"""Increment this API version number whenever there is a significant change to the API that any clients need to know about."""
|
"""Increment this API version number whenever there is a significant change to the API that any clients need to know about."""
|
||||||
|
|
||||||
|
|
||||||
INVENTREE_API_TEXT = """
|
INVENTREE_API_TEXT = """
|
||||||
|
|
||||||
|
v280 - 2024-11-10 : https://github.com/inventree/InvenTree/pull/8461
|
||||||
|
- Makes schema for API information endpoint more informing
|
||||||
|
- Removes general not found endpoint
|
||||||
|
|
||||||
v279 - 2024-11-09 : https://github.com/inventree/InvenTree/pull/8458
|
v279 - 2024-11-09 : https://github.com/inventree/InvenTree/pull/8458
|
||||||
- Adds "order_outstanding" and "part" filters to the BuildLine API endpoint
|
- Adds "order_outstanding" and "part" filters to the BuildLine API endpoint
|
||||||
- Adds "order_outstanding" filter to the SalesOrderLineItem API endpoint
|
- Adds "order_outstanding" filter to the SalesOrderLineItem API endpoint
|
||||||
|
Loading…
x
Reference in New Issue
Block a user