| 
									
										
										
										
											2020-12-06 14:04:52 +01:00
										 |  |  | from flask import session, jsonify | 
					
						
							| 
									
										
										
										
											2022-10-17 01:08:31 +02:00
										 |  |  | from pony.orm import select | 
					
						
							| 
									
										
										
										
											2020-12-06 14:04:52 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-07-16 10:34:28 -05:00
										 |  |  | from WebHostLib import to_url | 
					
						
							| 
									
										
										
										
											2022-10-17 01:08:31 +02:00
										 |  |  | from WebHostLib.models import Room, Seed | 
					
						
							| 
									
										
										
										
											2022-01-19 18:51:26 +01:00
										 |  |  | from . import api_endpoints, get_players | 
					
						
							| 
									
										
										
										
											2020-12-06 14:04:52 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @api_endpoints.route('/get_rooms') | 
					
						
							|  |  |  | def get_rooms(): | 
					
						
							|  |  |  |     response = [] | 
					
						
							|  |  |  |     for room in select(room for room in Room if room.owner == session["_id"]): | 
					
						
							|  |  |  |         response.append({ | 
					
						
							| 
									
										
										
										
											2025-07-16 10:34:28 -05:00
										 |  |  |             "room_id": to_url(room.id), | 
					
						
							|  |  |  |             "seed_id": to_url(room.seed.id), | 
					
						
							| 
									
										
										
										
											2020-12-06 14:04:52 +01:00
										 |  |  |             "creation_time": room.creation_time, | 
					
						
							|  |  |  |             "last_activity": room.last_activity, | 
					
						
							|  |  |  |             "last_port": room.last_port, | 
					
						
							|  |  |  |             "timeout": room.timeout, | 
					
						
							| 
									
										
										
										
											2025-07-16 10:34:28 -05:00
										 |  |  |             "tracker": to_url(room.tracker), | 
					
						
							| 
									
										
										
										
											2020-12-06 14:04:52 +01:00
										 |  |  |         }) | 
					
						
							|  |  |  |     return jsonify(response) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @api_endpoints.route('/get_seeds') | 
					
						
							|  |  |  | def get_seeds(): | 
					
						
							|  |  |  |     response = [] | 
					
						
							|  |  |  |     for seed in select(seed for seed in Seed if seed.owner == session["_id"]): | 
					
						
							|  |  |  |         response.append({ | 
					
						
							| 
									
										
										
										
											2025-07-16 10:34:28 -05:00
										 |  |  |             "seed_id": to_url(seed.id), | 
					
						
							| 
									
										
										
										
											2020-12-06 14:04:52 +01:00
										 |  |  |             "creation_time": seed.creation_time, | 
					
						
							| 
									
										
										
										
											2025-04-18 11:15:59 -05:00
										 |  |  |             "players": get_players(seed), | 
					
						
							| 
									
										
										
										
											2020-12-06 14:04:52 +01:00
										 |  |  |         }) | 
					
						
							| 
									
										
										
										
											2025-01-20 02:05:07 +01:00
										 |  |  |     return jsonify(response) |