import json from board_mate.sms import ApiClient, SmsApi, Configuration from flask import request, jsonify from pydantic import StrictStr from src.models.AuthData import AuthData class SmsController: _auth_data: AuthData = None def __init__(self, app, auth_data, host): self._register_routes(app) self.config = Configuration(host=host) self.config.verify_ssl = False self._auth_data = auth_data self.is_logged_in = False def _register_routes(self, app): app.add_url_rule("/sms/send", view_func=self.send, methods=['POST']) def send(self): try: with ApiClient(self.config) as api: req = request.get_json() content = req["content"] payload = json.dumps({"content": content}) print(payload) api.default_headers["Authorization"] = f"Bearer {self._auth_data.get_token()}" sms_api = SmsApi(api) sms_api.example(StrictStr(payload)) return jsonify({"success": True, "message": None}), 200 except Exception as e: print(e) return jsonify({"success": False, "message": f"An error occurred : {self._auth_data.get_token()} {self._auth_data.get_client_id()} \n {e}"}), 500