mirror of
https://github.com/element-hq/synapse.git
synced 2024-11-24 10:35:46 +03:00
Remember to invalidate caches
This commit is contained in:
parent
1a9510bb84
commit
2d97e65558
1 changed files with 8 additions and 2 deletions
|
@ -21,12 +21,15 @@ from twisted.internet import defer
|
||||||
|
|
||||||
class PresenceStore(SQLBaseStore):
|
class PresenceStore(SQLBaseStore):
|
||||||
def create_presence(self, user_localpart):
|
def create_presence(self, user_localpart):
|
||||||
return self._simple_insert(
|
res = self._simple_insert(
|
||||||
table="presence",
|
table="presence",
|
||||||
values={"user_id": user_localpart},
|
values={"user_id": user_localpart},
|
||||||
desc="create_presence",
|
desc="create_presence",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
self.get_presence_state.invalidate((user_localpart,))
|
||||||
|
return res
|
||||||
|
|
||||||
def has_presence_state(self, user_localpart):
|
def has_presence_state(self, user_localpart):
|
||||||
return self._simple_select_one(
|
return self._simple_select_one(
|
||||||
table="presence",
|
table="presence",
|
||||||
|
@ -65,7 +68,7 @@ class PresenceStore(SQLBaseStore):
|
||||||
return self.runInteraction("get_presence_states", f)
|
return self.runInteraction("get_presence_states", f)
|
||||||
|
|
||||||
def set_presence_state(self, user_localpart, new_state):
|
def set_presence_state(self, user_localpart, new_state):
|
||||||
return self._simple_update_one(
|
res = self._simple_update_one(
|
||||||
table="presence",
|
table="presence",
|
||||||
keyvalues={"user_id": user_localpart},
|
keyvalues={"user_id": user_localpart},
|
||||||
updatevalues={"state": new_state["state"],
|
updatevalues={"state": new_state["state"],
|
||||||
|
@ -74,6 +77,9 @@ class PresenceStore(SQLBaseStore):
|
||||||
desc="set_presence_state",
|
desc="set_presence_state",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
self.get_presence_state.invalidate((user_localpart,))
|
||||||
|
return res
|
||||||
|
|
||||||
def allow_presence_visible(self, observed_localpart, observer_userid):
|
def allow_presence_visible(self, observed_localpart, observer_userid):
|
||||||
return self._simple_insert(
|
return self._simple_insert(
|
||||||
table="presence_allow_inbound",
|
table="presence_allow_inbound",
|
||||||
|
|
Loading…
Reference in a new issue