feat: added retention_days for compliance

This commit is contained in:
2025-01-20 11:37:23 +01:00
parent 3d4e5e3f4b
commit 263d962912
4 changed files with 38 additions and 5 deletions

View File

@@ -0,0 +1,29 @@
"""empty message
Revision ID: 1e695b024786
Revises: 21dc1dc045b8
Create Date: 2025-01-20 11:36:14.692849
"""
from typing import Sequence, Union
import sqlalchemy as sa
from alembic import op
# revision identifiers, used by Alembic.
revision: str = "1e695b024786"
down_revision: Union[str, None] = "21dc1dc045b8"
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
with op.batch_alter_table("application", schema=None) as batch_op:
batch_op.add_column(sa.Column("retention_days", sa.Integer(), nullable=True))
def downgrade() -> None:
with op.batch_alter_table("application", schema=None) as batch_op:
batch_op.drop_column("retention_days")

View File

@@ -1,6 +1,7 @@
from creyPY.fastapi.models.base import Base from creyPY.fastapi.models.base import Base
from sqlalchemy import Column, String from sqlalchemy import Column, Integer, String
class Application(Base): class Application(Base):
name = Column(String(512), nullable=False, unique=True) name = Column(String(512), nullable=False, unique=True)
retention_days = Column(Integer, nullable=True, default=30)

View File

@@ -1,9 +1,9 @@
from creyPY.fastapi.models.base import Base
from sqlalchemy import Column, String, ForeignKey, Enum, JSON
from sqlalchemy.dialects.postgresql import UUID
from enum import Enum as pyenum from enum import Enum as pyenum
from creyPY.fastapi.models.base import Base
from sqlalchemy import JSON, Column, Enum, ForeignKey, String
from sqlalchemy.dialects.postgresql import UUID
class TransactionType(pyenum): class TransactionType(pyenum):
CREATE = "create" CREATE = "create"

View File

@@ -1,8 +1,11 @@
from pydantic.json_schema import SkipJsonSchema
from app.schema.common import BaseSchemaModelIN, BaseSchemaModelOUT from app.schema.common import BaseSchemaModelIN, BaseSchemaModelOUT
class AppIN(BaseSchemaModelIN): class AppIN(BaseSchemaModelIN):
name: str name: str
retention_days: int | SkipJsonSchema[None] = 30
class AppOUT(BaseSchemaModelOUT, AppIN): class AppOUT(BaseSchemaModelOUT, AppIN):