mirror of
https://github.com/maubot/maubot
synced 2025-08-29 17:50:38 +00:00
Add device_id to client db
This commit is contained in:
parent
9578883bbb
commit
09108f6a73
6 changed files with 47 additions and 10 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue