UPDATE
This commit is contained in:
@@ -35,6 +35,8 @@ INSTALLED_APPS = [
|
||||
"fertilization_recommendation",
|
||||
"farm_ai_assistant",
|
||||
"rest_framework",
|
||||
"drf_spectacular",
|
||||
"drf_spectacular_sidecar",
|
||||
"corsheaders",
|
||||
]
|
||||
|
||||
@@ -113,6 +115,18 @@ REST_FRAMEWORK = {
|
||||
"DEFAULT_AUTHENTICATION_CLASSES": [
|
||||
"rest_framework_simplejwt.authentication.JWTAuthentication",
|
||||
],
|
||||
"DEFAULT_SCHEMA_CLASS": "drf_spectacular.openapi.AutoSchema",
|
||||
}
|
||||
|
||||
SPECTACULAR_SETTINGS = {
|
||||
"TITLE": "CropLogic API",
|
||||
"DESCRIPTION": "Swagger/OpenAPI documentation for all CropLogic API endpoints.",
|
||||
"VERSION": "1.0.0",
|
||||
"SERVE_INCLUDE_SCHEMA": False,
|
||||
"SWAGGER_UI_DIST": "SIDECAR",
|
||||
"SWAGGER_UI_FAVICON_HREF": "SIDECAR",
|
||||
"REDOC_DIST": "SIDECAR",
|
||||
"SCHEMA_PATH_PREFIX": r"/api/",
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
from drf_spectacular.utils import inline_serializer
|
||||
|
||||
|
||||
class TokenPairSerializer(serializers.Serializer):
|
||||
access = serializers.CharField()
|
||||
refresh = serializers.CharField()
|
||||
|
||||
|
||||
def code_response(name, data=None, token=False, extra_fields=None):
|
||||
fields = {
|
||||
"code": serializers.IntegerField(),
|
||||
"msg": serializers.CharField(),
|
||||
}
|
||||
if data is not None:
|
||||
fields["data"] = data
|
||||
if token:
|
||||
fields["token"] = TokenPairSerializer()
|
||||
if extra_fields:
|
||||
fields.update(extra_fields)
|
||||
return inline_serializer(name=name, fields=fields)
|
||||
|
||||
|
||||
def status_response(name, data=None):
|
||||
fields = {
|
||||
"status": serializers.CharField(default="success"),
|
||||
}
|
||||
if data is not None:
|
||||
fields["data"] = data
|
||||
return inline_serializer(name=name, fields=fields)
|
||||
@@ -1,8 +1,12 @@
|
||||
from django.contrib import admin
|
||||
from django.urls import include, path
|
||||
from drf_spectacular.views import SpectacularAPIView, SpectacularRedocView, SpectacularSwaggerView
|
||||
|
||||
urlpatterns = [
|
||||
path("admin/", admin.site.urls),
|
||||
path("api/schema/", SpectacularAPIView.as_view(), name="schema"),
|
||||
path("api/docs/swagger/", SpectacularSwaggerView.as_view(url_name="schema"), name="swagger-ui"),
|
||||
path("api/docs/redoc/", SpectacularRedocView.as_view(url_name="schema"), name="redoc"),
|
||||
path("api/auth/", include("auth.urls")),
|
||||
path("api/account/", include("account.urls")),
|
||||
path("api/sensor-hub/", include("sensor_hub.urls")),
|
||||
|
||||
Reference in New Issue
Block a user