Add customer api endpoint for message exchange
This commit is contained in:
30
api-customer/src/controllers/message_controller.py
Normal file
30
api-customer/src/controllers/message_controller.py
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
import json
|
||||||
|
|
||||||
|
from flask import jsonify, request
|
||||||
|
|
||||||
|
from src.services.mqtt_service import MQTTService
|
||||||
|
|
||||||
|
|
||||||
|
class MessageController:
|
||||||
|
|
||||||
|
_mqtt_service : MQTTService = None
|
||||||
|
_client_id : MQTTService = None
|
||||||
|
|
||||||
|
def __init__(self, client_id : str, service : MQTTService):
|
||||||
|
self._mqtt_service = service
|
||||||
|
self.client_id = client_id
|
||||||
|
|
||||||
|
def _register_routes(self, app):
|
||||||
|
app.add_url_rule("/message/send", view_func=self.send, methods=['POST'])
|
||||||
|
|
||||||
|
def send(self):
|
||||||
|
try :
|
||||||
|
req = request.get_json()
|
||||||
|
msg = req["message"]
|
||||||
|
payload = json.dumps({"content" : msg})
|
||||||
|
print(payload)
|
||||||
|
self._mqtt_service.publish(f"/chat/${self.client_id}/message", payload)
|
||||||
|
return jsonify({"success" : True, "message": "An error occurred"}), 500
|
||||||
|
except Exception as e:
|
||||||
|
print(e)
|
||||||
|
return jsonify({"success" : False, "message" : "An error occurred"}), 500
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user