@@ 317-348 (lines=32) @@ | ||
314 | ] |
|
315 | ||
316 | ||
317 | def get_servers_for_owner_and_party( |
|
318 | owner_id: UserID, party_id: PartyID |
|
319 | ) -> list[Server]: |
|
320 | """Return the servers owned by the user for the party.""" |
|
321 | db_servers = ( |
|
322 | db.session.scalars( |
|
323 | select(DbGuestServer) |
|
324 | .filter_by(owner_id=owner_id) |
|
325 | .filter_by(party_id=party_id) |
|
326 | .join(DbGuestServerAddress) |
|
327 | ) |
|
328 | .unique() |
|
329 | .all() |
|
330 | ) |
|
331 | ||
332 | creator_ids = {db_server.creator_id for db_server in db_servers} |
|
333 | creators_by_id = user_service.get_users_indexed_by_id( |
|
334 | creator_ids, include_avatars=True |
|
335 | ) |
|
336 | ||
337 | owner_ids = {db_server.owner_id for db_server in db_servers} |
|
338 | owners_by_id = user_service.get_users_indexed_by_id( |
|
339 | owner_ids, include_avatars=True |
|
340 | ) |
|
341 | ||
342 | return [ |
|
343 | _db_entity_to_server( |
|
344 | db_server, |
|
345 | creators_by_id[db_server.creator_id], |
|
346 | owners_by_id[db_server.owner_id], |
|
347 | ) |
|
348 | for db_server in db_servers |
|
349 | ] |
|
350 | ||
351 | ||
@@ 285-313 (lines=29) @@ | ||
282 | return _db_entity_to_server(db_server, creator, owner) |
|
283 | ||
284 | ||
285 | def get_all_servers_for_party(party_id: PartyID) -> list[Server]: |
|
286 | """Return all servers for the party.""" |
|
287 | db_servers = ( |
|
288 | db.session.scalars( |
|
289 | select(DbGuestServer) |
|
290 | .filter_by(party_id=party_id) |
|
291 | .join(DbGuestServerAddress) |
|
292 | ) |
|
293 | .unique() |
|
294 | .all() |
|
295 | ) |
|
296 | ||
297 | creator_ids = {db_server.creator_id for db_server in db_servers} |
|
298 | creators_by_id = user_service.get_users_indexed_by_id( |
|
299 | creator_ids, include_avatars=True |
|
300 | ) |
|
301 | ||
302 | owner_ids = {db_server.owner_id for db_server in db_servers} |
|
303 | owners_by_id = user_service.get_users_indexed_by_id( |
|
304 | owner_ids, include_avatars=True |
|
305 | ) |
|
306 | ||
307 | return [ |
|
308 | _db_entity_to_server( |
|
309 | db_server, |
|
310 | creators_by_id[db_server.creator_id], |
|
311 | owners_by_id[db_server.owner_id], |
|
312 | ) |
|
313 | for db_server in db_servers |
|
314 | ] |
|
315 | ||
316 |