Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions synapse/federation/persistence.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@

import logging

from synapse.federation.units import Transaction
from synapse.logging.utils import log_function
from synapse.types import JsonDict

logger = logging.getLogger(__name__)

Expand Down Expand Up @@ -49,15 +51,14 @@ def have_responded(self, origin, transaction):
return self.store.get_received_txn_response(transaction.transaction_id, origin)

@log_function
def set_response(self, origin, transaction, code, response):
async def set_response(
self, origin: str, transaction: Transaction, code: int, response: JsonDict
) -> None:
""" Persist how we responded to a transaction.

Returns:
Deferred
"""
if not transaction.transaction_id:
raise RuntimeError("Cannot persist a transaction with no transaction_id")

return self.store.set_received_txn_response(
await self.store.set_received_txn_response(
transaction.transaction_id, origin, code, response
)
10 changes: 6 additions & 4 deletions synapse/storage/databases/main/group_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -945,10 +945,10 @@ def remove_user_from_summary(self, group_id, user_id, role_id):
desc="remove_user_from_summary",
)

def add_group_invite(self, group_id, user_id):
async def add_group_invite(self, group_id: str, user_id: str) -> None:
"""Record that the group server has invited a user
"""
return self.db_pool.simple_insert(
await self.db_pool.simple_insert(
table="group_invites",
values={"group_id": group_id, "user_id": user_id},
desc="add_group_invite",
Expand Down Expand Up @@ -1051,8 +1051,10 @@ def _remove_user_from_group_txn(txn):
"remove_user_from_group", _remove_user_from_group_txn
)

def add_room_to_group(self, group_id, room_id, is_public):
return self.db_pool.simple_insert(
async def add_room_to_group(
self, group_id: str, room_id: str, is_public: bool
) -> None:
await self.db_pool.simple_insert(
table="group_rooms",
values={"group_id": group_id, "room_id": room_id, "is_public": is_public},
desc="add_room_to_group",
Expand Down
22 changes: 11 additions & 11 deletions synapse/storage/databases/main/media_repository.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ def get_local_media(self, media_id):
desc="get_local_media",
)

def store_local_media(
async def store_local_media(
self,
media_id,
media_type,
Expand All @@ -66,8 +66,8 @@ def store_local_media(
media_length,
user_id,
url_cache=None,
):
return self.db_pool.simple_insert(
) -> None:
await self.db_pool.simple_insert(
"local_media_repository",
{
"media_id": media_id,
Expand Down Expand Up @@ -138,10 +138,10 @@ def get_url_cache_txn(txn):

return self.db_pool.runInteraction("get_url_cache", get_url_cache_txn)

def store_url_cache(
async def store_url_cache(
self, url, response_code, etag, expires_ts, og, media_id, download_ts
):
return self.db_pool.simple_insert(
await self.db_pool.simple_insert(
"local_media_repository_url_cache",
{
"url": url,
Expand Down Expand Up @@ -169,7 +169,7 @@ def get_local_media_thumbnails(self, media_id):
desc="get_local_media_thumbnails",
)

def store_local_thumbnail(
async def store_local_thumbnail(
self,
media_id,
thumbnail_width,
Expand All @@ -178,7 +178,7 @@ def store_local_thumbnail(
thumbnail_method,
thumbnail_length,
):
return self.db_pool.simple_insert(
await self.db_pool.simple_insert(
"local_media_repository_thumbnails",
{
"media_id": media_id,
Expand Down Expand Up @@ -207,7 +207,7 @@ def get_cached_remote_media(self, origin, media_id):
desc="get_cached_remote_media",
)

def store_cached_remote_media(
async def store_cached_remote_media(
self,
origin,
media_id,
Expand All @@ -217,7 +217,7 @@ def store_cached_remote_media(
upload_name,
filesystem_id,
):
return self.db_pool.simple_insert(
await self.db_pool.simple_insert(
"remote_media_cache",
{
"media_origin": origin,
Expand Down Expand Up @@ -281,7 +281,7 @@ def get_remote_media_thumbnails(self, origin, media_id):
desc="get_remote_media_thumbnails",
)

def store_remote_media_thumbnail(
async def store_remote_media_thumbnail(
self,
origin,
media_id,
Expand All @@ -292,7 +292,7 @@ def store_remote_media_thumbnail(
thumbnail_method,
thumbnail_length,
):
return self.db_pool.simple_insert(
await self.db_pool.simple_insert(
"remote_media_cache_thumbnails",
{
"media_origin": origin,
Expand Down
6 changes: 4 additions & 2 deletions synapse/storage/databases/main/openid.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@


class OpenIdStore(SQLBaseStore):
def insert_open_id_token(self, token, ts_valid_until_ms, user_id):
return self.db_pool.simple_insert(
async def insert_open_id_token(
self, token: str, ts_valid_until_ms: int, user_id: str
) -> None:
await self.db_pool.simple_insert(
table="open_id_tokens",
values={
"token": token,
Expand Down
4 changes: 2 additions & 2 deletions synapse/storage/databases/main/profile.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,8 @@ def get_from_remote_profile_cache(self, user_id):
desc="get_from_remote_profile_cache",
)

def create_profile(self, user_localpart):
return self.db_pool.simple_insert(
async def create_profile(self, user_localpart: str) -> None:
await self.db_pool.simple_insert(
table="profiles", values={"user_id": user_localpart}, desc="create_profile"
)

Expand Down
10 changes: 5 additions & 5 deletions synapse/storage/databases/main/registration.py
Original file line number Diff line number Diff line change
Expand Up @@ -1080,17 +1080,17 @@ def _register_user(

self._invalidate_cache_and_stream(txn, self.get_user_by_id, (user_id,))

def record_user_external_id(
async def record_user_external_id(
self, auth_provider: str, external_id: str, user_id: str
) -> Awaitable:
) -> None:
"""Record a mapping from an external user id to a mxid

Args:
auth_provider: identifier for the remote auth provider
external_id: id on that system
user_id: complete mxid that it is mapped to
"""
return self.db_pool.simple_insert(
await self.db_pool.simple_insert(
table="user_external_ids",
values={
"auth_provider": auth_provider,
Expand Down Expand Up @@ -1234,12 +1234,12 @@ async def is_guest(self, user_id: str) -> bool:

return res if res else False

def add_user_pending_deactivation(self, user_id):
async def add_user_pending_deactivation(self, user_id: str) -> None:
"""
Adds a user to the table of users who need to be parted from all the rooms they're
in
"""
return self.db_pool.simple_insert(
await self.db_pool.simple_insert(
"users_pending_deactivation",
values={"user_id": user_id},
desc="add_user_pending_deactivation",
Expand Down
16 changes: 11 additions & 5 deletions synapse/storage/databases/main/room.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
from synapse.storage._base import SQLBaseStore, db_to_json
from synapse.storage.database import DatabasePool, LoggingTransaction
from synapse.storage.databases.main.search import SearchStore
from synapse.types import ThirdPartyInstanceID
from synapse.types import JsonDict, ThirdPartyInstanceID
from synapse.util import json_encoder
from synapse.util.caches.descriptors import cached

Expand Down Expand Up @@ -1296,11 +1296,17 @@ def f(txn):

return self.db_pool.runInteraction("get_rooms", f)

def add_event_report(
self, room_id, event_id, user_id, reason, content, received_ts
):
async def add_event_report(
self,
room_id: str,
event_id: str,
user_id: str,
reason: str,
content: JsonDict,
received_ts: int,
) -> None:
next_id = self._event_reports_id_gen.get_next()
return self.db_pool.simple_insert(
await self.db_pool.simple_insert(
table="event_reports",
values={
"id": next_id,
Expand Down
22 changes: 11 additions & 11 deletions synapse/storage/databases/main/transactions.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,9 @@
from synapse.metrics.background_process_metrics import run_as_background_process
from synapse.storage._base import SQLBaseStore, db_to_json
from synapse.storage.database import DatabasePool
from synapse.types import JsonDict
from synapse.util.caches.expiringcache import ExpiringCache

db_binary_type = memoryview

logger = logging.getLogger(__name__)


Expand Down Expand Up @@ -98,26 +97,27 @@ def _get_received_txn_response(self, txn, transaction_id, origin):
else:
return None

def set_received_txn_response(self, transaction_id, origin, code, response_dict):
"""Persist the response we returened for an incoming transaction, and
async def set_received_txn_response(
self, transaction_id: str, origin: str, code: int, response_dict: JsonDict
) -> None:
"""Persist the response we returned for an incoming transaction, and
should return for subsequent transactions with the same transaction_id
and origin.

Args:
txn
transaction_id (str)
origin (str)
code (int)
response_json (str)
transaction_id: The incoming transaction ID.
origin: The origin server.
code: The response code.
response_dict: The response, to be encoded into JSON.
"""

return self.db_pool.simple_insert(
await self.db_pool.simple_insert(
table="received_transactions",
values={
"transaction_id": transaction_id,
"origin": origin,
"response_code": code,
"response_json": db_binary_type(encode_canonical_json(response_dict)),
"response_json": memoryview(encode_canonical_json(response_dict)),
"ts": self._clock.time_msec(),
},
or_ignore=True,
Expand Down
4 changes: 3 additions & 1 deletion tests/rest/client/v1/test_rooms.py
Original file line number Diff line number Diff line change
Expand Up @@ -715,7 +715,9 @@ def test_join_local_ratelimit_profile_change(self):

# Create a profile for the user, since it hasn't been done on registration.
store = self.hs.get_datastore()
store.create_profile(UserID.from_string(self.user_id).localpart)
self.get_success(
store.create_profile(UserID.from_string(self.user_id).localpart)
)

# Update the display name for the user.
path = "/_matrix/client/r0/profile/%s/displayname" % self.user_id
Expand Down