Skip to content

Commit

Permalink
adding a subscription will throw 404 if the mission doesnt exist
Browse files Browse the repository at this point in the history
  • Loading branch information
naman108 committed Aug 19, 2023
1 parent 60c3d6b commit 76c7e6c
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 42 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -93,18 +93,21 @@ def add_mission_subscription(self, mission_id: str, client: str, topic: str, pas
"""
mission_db_obj = self.persistency_controller.get_mission(mission_id)

token = self.token_controller.get_token(mission_db_obj)

subscription_db_obj = self.persistency_controller.create_subscription(None, str(mission_id), token, client, mission_db_obj.defaultRole)

domain_subscription = self.domain_controller.create_mission_subscription(config_loader)

completed_subscription = self.complete_mission_subscription(domain_subscription, subscription_db_obj, config_loader)
if mission_db_obj is not None:
token = self.token_controller.get_token(mission_db_obj)

subscription_db_obj = self.persistency_controller.create_subscription(None, str(mission_id), token, client, mission_db_obj.defaultRole)

domain_subscription = self.domain_controller.create_mission_subscription(config_loader)

completed_subscription = self.complete_mission_subscription(domain_subscription, subscription_db_obj, config_loader)

serialized_object = serialize_to_json(completed_subscription, self.request, self.execute_sub_action)

self.response.set_value("mission_subscription", serialized_object)
else:
self.response.set_value("mission_subscription", None)

serialized_object = serialize_to_json(completed_subscription, self.request, self.execute_sub_action)

self.response.set_value("mission_subscription", serialized_object)

return serialized_object

def delete_mission_subscription(self, mission_id: str, client: str, topic:str, disconnect_only:str, config_loader, *args, **kwargs):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ def get_groups():
def put_mission(mission_id):
from flask import request
out_data = HTTPTakApiCommunicationController().make_request("PutMission", "mission", {"mission_id": mission_id, "mission_data": request.data, "mission_data_args": request.args, "creatorUid": request.args.get("creatorUid")}, None, True).get_value("mission_subscription"), 200 # type: ignore
HTTPTakApiCommunicationController().make_request("MissionCreatedNotification", "mission", {"mission_id": mission_id}, synchronous= False)
HTTPTakApiCommunicationController().make_request("MissionCreatedNotification", "mission", {"mission_id": mission_id}, None, synchronous= False)
print(out_data)
return out_data

Expand Down Expand Up @@ -124,21 +124,28 @@ def get_mission_subscriptions(mission_id):

@page.route('/Marti/api/missions/<mission_id>/subscription', methods=['PUT'])
def add_mission_subscription(mission_id):
uid = request.args.get("uid") # type: ignore
topic = request.args.get("topic") # type: ignore
password = request.args.get("password") # type: ignore
secago = request.args.get("secago") # type: ignore
start = request.args.get("start") # type: ignore
end = request.args.get("end") # type: ignore
return HTTPTakApiCommunicationController().make_request("AddMissionSubscription", "mission", {"mission_id": mission_id,
"client": uid,
"topic": topic,
"password": password,
"secago": secago,
"start": start,
"end": end},
None, True).get_value("mission_subscription"), 201

try:
uid = request.args.get("uid") # type: ignore
topic = request.args.get("topic") # type: ignore
password = request.args.get("password") # type: ignore
secago = request.args.get("secago") # type: ignore
start = request.args.get("start") # type: ignore
end = request.args.get("end") # type: ignore
mission_subscription_data = HTTPTakApiCommunicationController().make_request("AddMissionSubscription", "mission", {"mission_id": mission_id,
"client": uid,
"topic": topic,
"password": password,
"secago": secago,
"start": start,
"end": end},
None, True).get_value("mission_subscription")
if mission_subscription_data is not None:
return mission_subscription_data, 201
else:
return '', 404
except Exception as e:
print(e)
return '', 500
@page.route('/Marti/api/missions/<mission_id>/subscription', methods=['DELETE'])
def delete_mission_subscription(mission_id):
uid = request.args.get("uid") # type: ignore
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ def get_groups():
def put_mission(mission_id):
from flask import request
out_data = HTTPSTakApiCommunicationController().make_request("PutMission", "mission", {"mission_id": mission_id, "mission_data": request.data, "mission_data_args": request.args, "creatorUid": request.args.get("creatorUid")}, None, True).get_value("mission_subscription"), 200 # type: ignore
HTTPSTakApiCommunicationController().make_request("MissionCreatedNotification", "mission", {"mission_id": mission_id}, None, True)
HTTPSTakApiCommunicationController().make_request("MissionCreatedNotification", "mission", {"mission_id": mission_id}, None, synchronous=False)
print(out_data)
return out_data

Expand Down Expand Up @@ -125,20 +125,30 @@ def get_mission_subscriptions(mission_id):

@page.route('/Marti/api/missions/<mission_id>/subscription', methods=['PUT'])
def add_mission_subscription(mission_id):
uid = request.args.get("uid") # type: ignore
topic = request.args.get("topic") # type: ignore
password = request.args.get("password") # type: ignore
secago = request.args.get("secago") # type: ignore
start = request.args.get("start") # type: ignore
end = request.args.get("end") # type: ignore
return HTTPSTakApiCommunicationController().make_request("AddMissionSubscription", "mission", {"mission_id": mission_id,
"client": uid,
"topic": topic,
"password": password,
"secago": secago,
"start": start,
"end": end},
None, True).get_value("mission_subscription"), 201
try:
uid = request.args.get("uid") # type: ignore
topic = request.args.get("topic") # type: ignore
password = request.args.get("password") # type: ignore
secago = request.args.get("secago") # type: ignore
start = request.args.get("start") # type: ignore
end = request.args.get("end") # type: ignore
mission_subscription_data = HTTPSTakApiCommunicationController().make_request("AddMissionSubscription", "mission", {"mission_id": mission_id,
"client": uid,
"topic": topic,
"password": password,
"secago": secago,
"start": start,
"end": end},
None, True).get_value("mission_subscription"), 201

if mission_subscription_data is not None:
return mission_subscription_data, 201
else:
return '', 404

except Exception as e:
print(e)
return "", 500

@page.route('/Marti/api/missions/<mission_id>/subscription', methods=['DELETE'])
def delete_mission_subscription(mission_id):
Expand Down

0 comments on commit 76c7e6c

Please sign in to comment.