You've already forked Promocode-API
mirror of
https://github.com/devitq/Promocode-API.git
synced 2026-05-22 22:07:12 +00:00
feat: added promocode creation and view
This commit is contained in:
@@ -4,7 +4,8 @@ from django.http import HttpRequest, JsonResponse
|
||||
|
||||
|
||||
def handler400(
|
||||
request: HttpRequest, exception: Exception | None = None
|
||||
request: HttpRequest,
|
||||
exception: Exception | None = None,
|
||||
) -> JsonResponse:
|
||||
return JsonResponse(
|
||||
status=status.BAD_REQUEST,
|
||||
@@ -13,7 +14,8 @@ def handler400(
|
||||
|
||||
|
||||
def handler403(
|
||||
request: HttpRequest, exception: Exception | None = None
|
||||
request: HttpRequest,
|
||||
exception: Exception | None = None,
|
||||
) -> JsonResponse:
|
||||
return JsonResponse(
|
||||
status=status.FORBIDDEN,
|
||||
@@ -22,7 +24,8 @@ def handler403(
|
||||
|
||||
|
||||
def handler404(
|
||||
request: HttpRequest, exception: Exception | None = None
|
||||
request: HttpRequest,
|
||||
exception: Exception | None = None,
|
||||
) -> JsonResponse:
|
||||
return JsonResponse(
|
||||
status=status.NOT_FOUND,
|
||||
@@ -31,7 +34,8 @@ def handler404(
|
||||
|
||||
|
||||
def handler500(
|
||||
request: HttpRequest, exception: Exception | None = None
|
||||
request: HttpRequest,
|
||||
exception: Exception | None = None,
|
||||
) -> JsonResponse:
|
||||
return JsonResponse(
|
||||
status=status.INTERNAL_SERVER_ERROR,
|
||||
|
||||
@@ -69,7 +69,9 @@ class LoggingHandler(logging.Handler):
|
||||
|
||||
for attempt in range(1, self.retries + 1):
|
||||
response = httpx.post(
|
||||
self.api_url, data=payload, timeout=self.timeout
|
||||
self.api_url,
|
||||
data=payload,
|
||||
timeout=self.timeout,
|
||||
)
|
||||
if response.status_code != httpx.codes.OK:
|
||||
if attempt == self.retries:
|
||||
@@ -86,7 +88,8 @@ class LoggingHandler(logging.Handler):
|
||||
def format(self, record: logging.LogRecord) -> str:
|
||||
try:
|
||||
asctime = datetime.datetime.fromtimestamp(
|
||||
record.created, tz=get_current_timezone()
|
||||
record.created,
|
||||
tz=get_current_timezone(),
|
||||
).strftime("%Y-%m-%d %H:%M:%S %Z")
|
||||
level_emoji = LEVEL_EMOJIS.get(record.levelname, "")
|
||||
|
||||
@@ -111,7 +114,8 @@ class LoggingHandler(logging.Handler):
|
||||
formatted_message += f" #{record.correlation_id}"
|
||||
except Exception as format_error: # noqa: BLE001
|
||||
TELEGRAM_LOG_HANDLER.exception(
|
||||
"Error formatting log record: %s", format_error
|
||||
"Error formatting log record: %s",
|
||||
format_error,
|
||||
)
|
||||
return f"Error formatting log record: {format_error}"
|
||||
else:
|
||||
|
||||
@@ -52,7 +52,7 @@ CACHES = {
|
||||
"LOCATION": REDIS_URI,
|
||||
"TIMEOUT": None,
|
||||
"KEY_PREFIX": "django",
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@@ -72,22 +72,22 @@ AUTH_PASSWORD_VALIDATORS = [
|
||||
"NAME": (
|
||||
"django.contrib.auth."
|
||||
"password_validation.UserAttributeSimilarityValidator"
|
||||
)
|
||||
),
|
||||
},
|
||||
{
|
||||
"NAME": (
|
||||
"django.contrib.auth.password_validation.MinimumLengthValidator"
|
||||
)
|
||||
),
|
||||
},
|
||||
{
|
||||
"NAME": (
|
||||
"django.contrib.auth.password_validation.CommonPasswordValidator"
|
||||
)
|
||||
),
|
||||
},
|
||||
{
|
||||
"NAME": (
|
||||
"django.contrib.auth.password_validation.NumericPasswordValidator"
|
||||
)
|
||||
),
|
||||
},
|
||||
]
|
||||
|
||||
@@ -244,15 +244,18 @@ WSGI_APPLICATION = "config.wsgi.application"
|
||||
# Telegram
|
||||
|
||||
NOTIFIER_TELEGRAM_BOT_TOKEN = env(
|
||||
"DJANGO_NOTIFIER_TELEGRAM_BOT_TOKEN", default=None
|
||||
"DJANGO_NOTIFIER_TELEGRAM_BOT_TOKEN",
|
||||
default=None,
|
||||
)
|
||||
|
||||
NOTIFIER_TELEGRAM_CHAT_ID = env(
|
||||
"DJANGO_NOTIFIER_TELEGRAM_CHAT_ID", default=None
|
||||
"DJANGO_NOTIFIER_TELEGRAM_CHAT_ID",
|
||||
default=None,
|
||||
)
|
||||
|
||||
NOTIFIER_TELEGRAM_THREAD_ID = env(
|
||||
"DJANGO_NOTIFIER_TELEGRAM_THREAD_ID", default=None
|
||||
"DJANGO_NOTIFIER_TELEGRAM_THREAD_ID",
|
||||
default=None,
|
||||
)
|
||||
|
||||
|
||||
@@ -416,6 +419,8 @@ INSTALLED_APPS = [
|
||||
# Internal apps
|
||||
"apps.core",
|
||||
"apps.business",
|
||||
"apps.user",
|
||||
"apps.promo",
|
||||
# API v1 apps
|
||||
"api.v1.ping",
|
||||
"api.v1.business",
|
||||
@@ -531,7 +536,7 @@ TEMPLATES = [
|
||||
"string_if_invalid": "",
|
||||
"file_charset": "utf-8",
|
||||
},
|
||||
}
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user