Add cache field

This commit is contained in:
2021-12-27 23:08:47 +03:00
parent d84ee796bb
commit 1084a54a65
3 changed files with 40 additions and 3 deletions

View File

@@ -0,0 +1,30 @@
"""empty message
Revision ID: 85ece6cfed22
Revises: 738a796c3f0a
Create Date: 2021-12-27 23:08:26.124204
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '85ece6cfed22'
down_revision = '738a796c3f0a'
branch_labels = None
depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('services', sa.Column('cache', sa.String(length=12), nullable=True))
op.drop_column('services', 'privileged')
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('services', sa.Column('privileged', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=False))
op.drop_column('services', 'cache')
# ### end Alembic commands ###

View File

@@ -17,6 +17,12 @@ class Statuses(str, Enum):
blocked = "blocked" blocked = "blocked"
class CachePrivileges(str, Enum):
original = "original"
buffer = "buffer"
no_cache = "no_cache"
class Service(ormar.Model): class Service(ormar.Model):
class Meta(BaseMeta): class Meta(BaseMeta):
tablename = "services" tablename = "services"
@@ -25,5 +31,5 @@ class Service(ormar.Model):
token: str = ormar.String(max_length=128, unique=True) # type: ignore token: str = ormar.String(max_length=128, unique=True) # type: ignore
user: int = ormar.BigInteger() # type: ignore user: int = ormar.BigInteger() # type: ignore
status: str = ormar.String(max_length=12, choices=list(Statuses), default=Statuses.pending) # type: ignore status: str = ormar.String(max_length=12, choices=list(Statuses), default=Statuses.pending) # type: ignore
privileged: bool = ormar.Boolean(default=False, server_default='f', nullable=False) # type: ignore cache: str = ormar.String(max_length=12, choices=list(CachePrivileges), default=CachePrivileges.no_cache) # type: ignore
created_time = ormar.DateTime(timezone=True, default=datetime.now) created_time = ormar.DateTime(timezone=True, default=datetime.now)

View File

@@ -2,13 +2,14 @@ from datetime import datetime
from pydantic import BaseModel, constr from pydantic import BaseModel, constr
from app.models import Statuses from app.models import Statuses, CachePrivileges
class ServiceCreate(BaseModel): class ServiceCreate(BaseModel):
token: constr(max_length=128) # type: ignore token: constr(max_length=128) # type: ignore
user: str user: str
status: Statuses status: Statuses
cache: CachePrivileges
class ServiceDetail(BaseModel): class ServiceDetail(BaseModel):
@@ -16,5 +17,5 @@ class ServiceDetail(BaseModel):
token: str token: str
user: str user: str
status: str status: str
privileged: bool cache: str
created_time: datetime created_time: datetime