From 0f5baeb9eb8774ea8e14217a6425e6fab3a08ce2 Mon Sep 17 00:00:00 2001 From: sm4640 Date: Thu, 27 Mar 2025 16:58:54 +0900 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Feat:=20[#10]=20codes=20=EC=95=B1?= =?UTF-8?q?=20=EC=83=9D=EC=84=B1=20=EB=B0=8F=20=EC=B4=88=EB=8C=80/?= =?UTF-8?q?=EC=9D=B8=EC=A6=9D=EC=BD=94=EB=93=9C=20=EB=AA=A8=EB=8D=B8=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- codes/__init__.py | 0 codes/admin.py | 3 +++ codes/apps.py | 6 ++++++ codes/models.py | 19 +++++++++++++++++++ codes/tests.py | 3 +++ codes/views.py | 3 +++ 6 files changed, 34 insertions(+) create mode 100644 codes/__init__.py create mode 100644 codes/admin.py create mode 100644 codes/apps.py create mode 100644 codes/models.py create mode 100644 codes/tests.py create mode 100644 codes/views.py diff --git a/codes/__init__.py b/codes/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/codes/admin.py b/codes/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/codes/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/codes/apps.py b/codes/apps.py new file mode 100644 index 0000000..5238a21 --- /dev/null +++ b/codes/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class CodesConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'codes' diff --git a/codes/models.py b/codes/models.py new file mode 100644 index 0000000..b95593f --- /dev/null +++ b/codes/models.py @@ -0,0 +1,19 @@ +from django.db import models + +from common.models.baseModels import BaseModel +from common.models.choiceModels import CertificateCodeUseType, InviteCodeUseType +from common.utils.codeManger import set_expire + + +class CertificationCode(BaseModel): + use_type = models.CharField(choices=CertificateCodeUseType.choices, max_length=5) + code = models.CharField(max_length=6) + expire_at = models.DateTimeField(default=set_expire(minutes=5)) + is_used = models.BooleanField(default=False) + identifier = models.CharField(max_length=40) + +class InviteCode(BaseModel): + use_type = models.CharField(choices=InviteCodeUseType.choices, max_length=5) + code = models.CharField(max_length=10) + expire_at = models.DateTimeField(default=set_expire(minutes=10080)) # 일주일은 10080분 + identifier = models.CharField(max_length=40) diff --git a/codes/tests.py b/codes/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/codes/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/codes/views.py b/codes/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/codes/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here.