Api assist (#71)
* feat(api): assist peerJS server * feat(api): install assist_server dependencies and start it with the API * feat(api): assist: list live sessions * feat(nginx): expose assist_server and block peers listing * feat(api): merged sourcemaps reader and assist-server feat(api): change image definition feat(api): changed service start command feat(utilities): created full server & image definition feat(nginx): reset chalice configuration * feat(utilities): utilities.yaml * feat(nginx): utilities URL * feat(utilities): utilities template * feat(ci): Adding utilities GH action. Signed-off-by: Rajesh Rajendran <rjshrjndrn@gmail.com> * feat(utilities): build script * feat(utilities): build script fix image name * feat(utilities): tag and push image as latest * feat(api): tag and push image as latest * feat(api): extract peers host * feat(api): fixed utilities URL * feat(api): assist logs * feat(api): assist: fixed peerjs URL * feat(api): log peers URL * feat(api): assit: get all durations, even if it is not null * feat(api): assit: include peerId in response * feat(api): return project_key with session's details * feat(assist): fix peerJS error * feat(api): fix typo * feat(api): assist: return live flag with session details Co-authored-by: Rajesh Rajendran <rjshrjndrn@gmail.com>
This commit is contained in:
parent
38c4e0b263
commit
fa7105e64c
2 changed files with 16 additions and 2 deletions
|
|
@ -37,7 +37,19 @@ def get_live_sessions(project_id):
|
|||
FROM public.sessions AS s
|
||||
WHERE s.project_id = %(project_id)s
|
||||
AND session_id IN %(connected_peers)s;""",
|
||||
{"project_id": project_id, "connected_peers": connected_peers, "project_key":project_key})
|
||||
{"project_id": project_id, "connected_peers": connected_peers, "project_key": project_key})
|
||||
cur.execute(query)
|
||||
results = cur.fetchall()
|
||||
return helper.list_to_camel_case(results)
|
||||
|
||||
|
||||
def is_live(project_id, session_id, project_key=None):
|
||||
if project_key is None:
|
||||
project_key = projects.get_project_key(project_id)
|
||||
connected_peers = requests.get(environ["peers"] + f"/{project_key}")
|
||||
if connected_peers.status_code != 200:
|
||||
print("!! issue with the peer-server")
|
||||
print(connected_peers.text)
|
||||
return False
|
||||
connected_peers = connected_peers.json().get("data", [])
|
||||
return session_id in connected_peers
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
from chalicelib.utils import pg_client, helper, dev
|
||||
from chalicelib.core import events, sessions_metas, socket_ios, metadata, events_ios, \
|
||||
sessions_mobs, issues, projects, errors, resources
|
||||
sessions_mobs, issues, projects, errors, resources, assist
|
||||
|
||||
SESSION_PROJECTION_COLS = """s.project_id,
|
||||
s.session_id::text AS session_id,
|
||||
|
|
@ -100,6 +100,8 @@ def get_by_id2_pg(project_id, session_id, user_id, full_data=False, include_fav_
|
|||
|
||||
data['metadata'] = __group_metadata(project_metadata=data.pop("projectMetadata"), session=data)
|
||||
data['issues'] = issues.get_by_session_id(session_id=session_id)
|
||||
data['live'] = assist.is_live(project_id=project_id, session_id=session_id,
|
||||
project_key=data["projectKey"])
|
||||
|
||||
return data
|
||||
return None
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue