Add device_id to client db
This commit is contained in:
parent
9578883bbb
commit
09108f6a73
6 changed files with 47 additions and 10 deletions
|
@ -56,6 +56,7 @@ def run_migrations_offline():
|
|||
target_metadata=target_metadata,
|
||||
literal_binds=True,
|
||||
dialect_opts={"paramstyle": "named"},
|
||||
render_as_batch=True,
|
||||
)
|
||||
|
||||
with context.begin_transaction():
|
||||
|
@ -77,7 +78,8 @@ def run_migrations_online():
|
|||
|
||||
with connectable.connect() as connection:
|
||||
context.configure(
|
||||
connection=connection, target_metadata=target_metadata
|
||||
connection=connection, target_metadata=target_metadata,
|
||||
render_as_batch=True,
|
||||
)
|
||||
|
||||
with context.begin_transaction():
|
||||
|
|
32
alembic/versions/4b93300852aa_add_device_id_to_clients.py
Normal file
32
alembic/versions/4b93300852aa_add_device_id_to_clients.py
Normal file
|
@ -0,0 +1,32 @@
|
|||
"""Add device_id to clients
|
||||
|
||||
Revision ID: 4b93300852aa
|
||||
Revises: fccd1f95544d
|
||||
Create Date: 2020-07-11 15:49:38.831459
|
||||
|
||||
"""
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = '4b93300852aa'
|
||||
down_revision = 'fccd1f95544d'
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
with op.batch_alter_table('client', schema=None) as batch_op:
|
||||
batch_op.add_column(sa.Column('device_id', sa.String(length=255), nullable=True))
|
||||
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
with op.batch_alter_table('client', schema=None) as batch_op:
|
||||
batch_op.drop_column('device_id')
|
||||
|
||||
# ### end Alembic commands ###
|
|
@ -60,7 +60,7 @@ class Client:
|
|||
self.remote_avatar_url = None
|
||||
self.client = MaubotMatrixClient(mxid=self.id, base_url=self.homeserver,
|
||||
token=self.access_token, client_session=self.http_client,
|
||||
log=self.log, loop=self.loop,
|
||||
log=self.log, loop=self.loop, device_id=self.device_id,
|
||||
store=ClientStoreProxy(self.db_instance))
|
||||
self.client.ignore_initial_sync = True
|
||||
self.client.ignore_first_sync = True
|
||||
|
@ -273,6 +273,10 @@ class Client:
|
|||
def access_token(self) -> str:
|
||||
return self.db_instance.access_token
|
||||
|
||||
@property
|
||||
def device_id(self) -> str:
|
||||
return self.db_instance.device_id
|
||||
|
||||
@property
|
||||
def enabled(self) -> bool:
|
||||
return self.db_instance.enabled
|
||||
|
|
|
@ -21,7 +21,7 @@ from sqlalchemy import Column, String, Boolean, ForeignKey, Text
|
|||
from sqlalchemy.engine.base import Engine
|
||||
import sqlalchemy as sql
|
||||
|
||||
from mautrix.types import UserID, FilterID, SyncToken, ContentURI
|
||||
from mautrix.types import UserID, FilterID, DeviceID, SyncToken, ContentURI
|
||||
from mautrix.util.db import Base
|
||||
|
||||
from .config import Config
|
||||
|
@ -53,6 +53,7 @@ class DBClient(Base):
|
|||
id: UserID = Column(String(255), primary_key=True)
|
||||
homeserver: str = Column(String(255), nullable=False)
|
||||
access_token: str = Column(Text, nullable=False)
|
||||
device_id: DeviceID = Column(String(255), nullable=True)
|
||||
enabled: bool = Column(Boolean, nullable=False, default=False)
|
||||
|
||||
next_batch: SyncToken = Column(String(255), nullable=False, default="")
|
||||
|
|
|
@ -21,10 +21,8 @@ class ClientStoreProxy(ClientStore):
|
|||
def __init__(self, db_instance) -> None:
|
||||
self.db_instance = db_instance
|
||||
|
||||
@property
|
||||
def next_batch(self) -> SyncToken:
|
||||
return self.db_instance.next_batch
|
||||
async def put_next_batch(self, next_batch: SyncToken) -> None:
|
||||
self.db_instance.edit(next_batch=next_batch)
|
||||
|
||||
@next_batch.setter
|
||||
def next_batch(self, value: SyncToken) -> None:
|
||||
self.db_instance.edit(next_batch=value)
|
||||
async def get_next_batch(self) -> SyncToken:
|
||||
return self.db_instance.next_batch
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
mautrix==0.5.7
|
||||
mautrix==0.6.0.beta7
|
||||
aiohttp>=3,<4
|
||||
SQLAlchemy>=1,<2
|
||||
alembic>=1,<2
|
||||
|
|
Loading…
Reference in a new issue