mirror of https://gitlab.com/litecord/litecord.git
user_storage: add UserStorage.get_mutual_guilds
This commit is contained in:
parent
e5c75011da
commit
49a4b46f35
|
|
@ -373,14 +373,7 @@ async def get_profile(peer_id: int):
|
||||||
WHERE id = $1
|
WHERE id = $1
|
||||||
""", peer_id)
|
""", peer_id)
|
||||||
|
|
||||||
# this is a rad sql query
|
mutual_guilds = await app.user_storage.get_mutual_guilds(user_id, peer_id)
|
||||||
mutual_guilds = await app.db.fetch("""
|
|
||||||
SELECT guild_id FROM members WHERE user_id = $1
|
|
||||||
INTERSECT
|
|
||||||
SELECT guild_id FROM members WHERE user_id = $2
|
|
||||||
""", user_id, peer_id)
|
|
||||||
|
|
||||||
mutual_guilds = [r['guild_id'] for r in mutual_guilds]
|
|
||||||
mutual_res = []
|
mutual_res = []
|
||||||
|
|
||||||
# ascending sorting
|
# ascending sorting
|
||||||
|
|
|
||||||
|
|
@ -288,3 +288,16 @@ class UserStorage:
|
||||||
""", user_id)
|
""", user_id)
|
||||||
|
|
||||||
return [row['guild_id'] for row in guild_ids]
|
return [row['guild_id'] for row in guild_ids]
|
||||||
|
|
||||||
|
async def get_mutual_guilds(self, user_id: int, peer_id: int) -> List[int]:
|
||||||
|
"""Get a list of guilds two separate users
|
||||||
|
have in common."""
|
||||||
|
mutual_guilds = await self.db.fetch("""
|
||||||
|
SELECT guild_id FROM members WHERE user_id = $1
|
||||||
|
INTERSECT
|
||||||
|
SELECT guild_id FROM members WHERE user_id = $2
|
||||||
|
""", user_id, peer_id)
|
||||||
|
|
||||||
|
mutual_guilds = [r['guild_id'] for r in mutual_guilds]
|
||||||
|
|
||||||
|
return mutual_guilds
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue