initial commit

This commit is contained in:
2025-08-05 10:26:39 +05:00
commit b7412bbef6
298 changed files with 10533 additions and 0 deletions

View File

@@ -0,0 +1 @@
from .banks import * # noqa

View File

@@ -0,0 +1,68 @@
from django.db import models
from django.utils.translation import gettext_lazy as _
from core.utils.base_model import UUIDPrimaryKeyBaseModel
from core.apps.banks.validators.banks import (
BankValidator, # used with BankModel.clean
bic_validator, # validates bic
name_validator, # validates bank name
)
class BankModel(UUIDPrimaryKeyBaseModel):
name = models.CharField(
_("Name"),
max_length=255,
validators=[
name_validator,
],
null=False,
blank=False,
unique=True,
)
bic_code = models.CharField(
_("BIC code"),
validators=[
bic_validator,
],
null=False,
blank=False,
unique=True,
)
def __str__(self):
return self.name
@classmethod
def _create_fake(cls):
return cls.objects.create(
name="Mock TBC Bank",
bic_code="MOCKUZ22"
)
def clean(self) -> None:
super().clean()
validator = BankValidator(self)
validator()
class Meta: # type: ignore
db_table = "banks"
verbose_name = _("Bank")
verbose_name_plural = _("Banks")
indexes = [
models.Index(
fields=["bic_code"],
name="banks_bic_code_inx"
),
models.Index(
fields=["name"],
name="banks_name_inx"
),
]