start to write contract apis

This commit is contained in:
behruz-dev
2025-07-16 14:48:56 +05:00
parent 2e6f50de43
commit 834ca060ef
18 changed files with 203 additions and 40 deletions

View File

@@ -1,7 +0,0 @@
SPECTACULAR_SETTINGS = {
"TITLE": "Your Project API",
"DESCRIPTION": "Your project description",
"VERSION": "1.0.0",
"SERVE_INCLUDE_SCHEMA": False,
"CAMELIZE_NAMES": True,
}

7
config/conf/drf_yasg.py Normal file
View File

@@ -0,0 +1,7 @@
SWAGGER_SETTINGS = {
'SECURITY_DEFINITIONS': {
'basic': {
'type': 'basic'
}
},
}

View File

@@ -1,6 +1,11 @@
REST_FRAMEWORK = {
"DEFAULT_AUTHENTICATION_CLASSES": ("rest_framework_simplejwt.authentication.JWTAuthentication",),
"DEFAULT_SCHEMA_CLASS": "drf_spectacular.openapi.AutoSchema",
"DEFAULT_AUTHENTICATION_CLASSES": (
"rest_framework_simplejwt.authentication.JWTAuthentication",
"rest_framework.authentication.BasicAuthentication",
'rest_framework.authentication.SessionAuthentication',
),
"DEFAULT_PERMISSION_CLASSES": ["rest_framework.permissions.IsAuthenticated"],
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
'PAGE_SIZE': 10
}

View File

@@ -1,6 +1,5 @@
UNFOLD = {
"DASHBOARD_CALLBACK": "django_core.views.dashboard_callback",
"SITE_TITLE": None,
"SHOW_LANGUAGES": True,
"SITE_HEADER": None,

View File

@@ -42,7 +42,7 @@ APPS = [
]
PACKAGES = [
'drf_spectacular',
'drf_yasg',
'rest_framework',
'rest_framework_simplejwt',
'cacheops',
@@ -146,7 +146,7 @@ DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
AUTH_USER_MODEL = 'accounts.User'
from config.conf.drf_spectacular import *
from config.conf.drf_yasg import *
from config.conf.rest_framework import *
from config.conf.simplejwt import *
from config.conf.celery import *

View File

@@ -1,18 +1,32 @@
from django.contrib import admin
from django.urls import path, include
from drf_spectacular.views import SpectacularSwaggerView, SpectacularAPIView
from rest_framework import permissions
from drf_yasg.views import get_schema_view
from drf_yasg import openapi
schema_view = get_schema_view(
openapi.Info(
title="Snippets API",
default_version='v1',
description="Test description",
terms_of_service="https://www.google.com/policies/terms/",
contact=openapi.Contact(email="contact@snippets.local"),
license=openapi.License(name="BSD License"),
),
public=True,
permission_classes=[permissions.AllowAny]
)
urlpatterns = [
path('admin/', admin.site.urls),
path('swagger/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
path('api/v1/', include(
[
path('', include('core.apps.accounts.urls')),
path('contracts/', include('core.apps.contracts.urls')),
]
)),
# swagger
path('api/schema/', SpectacularAPIView.as_view(), name='schema'),
path('swagger/', SpectacularSwaggerView.as_view(url_name='schema'), name='swagger-ui'),
]