Implement controllers
This commit is contained in:
@@ -21,10 +21,6 @@ local_broker_port = int(os.environ.get("LOCAL_BROKER_PORT", 1883))
|
|||||||
api_broker_address = os.environ.get("API_BROKER_ADDRESS", "127.0.0.1")
|
api_broker_address = os.environ.get("API_BROKER_ADDRESS", "127.0.0.1")
|
||||||
api_broker_port = int(os.environ.get("API_BROKER_PORT", 1883))
|
api_broker_port = int(os.environ.get("API_BROKER_PORT", 1883))
|
||||||
|
|
||||||
@app.route('/')
|
|
||||||
def hello_world():
|
|
||||||
return 'Hello World!'
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
local_broker = MQTTService(
|
local_broker = MQTTService(
|
||||||
local_broker_address,
|
local_broker_address,
|
||||||
@@ -45,26 +41,4 @@ if __name__ == '__main__':
|
|||||||
forwarder = MQTTForwarder(client_id, local_broker, api_broker)
|
forwarder = MQTTForwarder(client_id, local_broker, api_broker)
|
||||||
forwarder.start(f"/customer/telemetry/#", f"/board-mate/{client_id}/telemetry")
|
forwarder.start(f"/customer/telemetry/#", f"/board-mate/{client_id}/telemetry")
|
||||||
|
|
||||||
"""config = Configuration(
|
|
||||||
host="https://192.168.15.120:8000",
|
|
||||||
)
|
|
||||||
config.verify_ssl = False
|
|
||||||
|
|
||||||
with ApiClient(config) as api_client:
|
|
||||||
client_api = ClientApi(api_client)
|
|
||||||
|
|
||||||
new_client = ClientDto(
|
|
||||||
name=StrictStr("Alice Example"),
|
|
||||||
username=StrictStr("alice123"),
|
|
||||||
)
|
|
||||||
|
|
||||||
try:
|
|
||||||
# 5. Call the endpoint
|
|
||||||
response = client_api.create(client_dto=new_client)
|
|
||||||
print("Success:", response.success)
|
|
||||||
print("Message:", response.message)
|
|
||||||
print("Data:", response.data)
|
|
||||||
except ApiException as e:
|
|
||||||
print(f"Exception when calling ClientApi->create: {e}")"""
|
|
||||||
|
|
||||||
app.run(host="0.0.0.0", port=5000, debug=True)
|
app.run(host="0.0.0.0", port=5000, debug=True)
|
||||||
|
|||||||
34
api-customer/src/controllers/AuthController.py
Normal file
34
api-customer/src/controllers/AuthController.py
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
from board_mate.auth import *
|
||||||
|
from flask import jsonify, request
|
||||||
|
from pydantic import StrictStr
|
||||||
|
|
||||||
|
|
||||||
|
class AuthController:
|
||||||
|
def __init__(self, app):
|
||||||
|
self._register_routes(app)
|
||||||
|
self.config = Configuration(host="https://192.168.15.120:8000")
|
||||||
|
self.config.verify_ssl = False
|
||||||
|
|
||||||
|
def _register_routes(self, app):
|
||||||
|
app.add_url_rule("/client/auth", view_func=self.auth, methods=['POST'])
|
||||||
|
|
||||||
|
def auth(self):
|
||||||
|
try:
|
||||||
|
received_data = request.get_json()
|
||||||
|
with ApiClient(self.config) as client:
|
||||||
|
auth_api = AuthApi(client)
|
||||||
|
|
||||||
|
auth_request = AuthRequestDto(
|
||||||
|
username=StrictStr(received_data["username"]),
|
||||||
|
key=StrictStr(received_data["key"]),
|
||||||
|
)
|
||||||
|
|
||||||
|
response = auth_api.login(auth_request_dto=auth_request)
|
||||||
|
print("Success:", response.success)
|
||||||
|
print("Message:", response.message)
|
||||||
|
print("Data:", response.data)
|
||||||
|
return jsonify(response), 200
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Exception when calling AuthAPI->login: {e}")
|
||||||
|
return jsonify(response), 500
|
||||||
|
|
||||||
33
api-customer/src/controllers/ClientController.py
Normal file
33
api-customer/src/controllers/ClientController.py
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
from board_mate.client import Configuration, ApiClient, ClientApi, ClientDto, ApiException
|
||||||
|
from flask import jsonify
|
||||||
|
from pydantic import StrictStr
|
||||||
|
|
||||||
|
|
||||||
|
class GameController:
|
||||||
|
def __init__(self, app):
|
||||||
|
self._register_routes(app)
|
||||||
|
self.config = Configuration(host="https://192.168.15.120:8000")
|
||||||
|
self.config.verify_ssl = False
|
||||||
|
|
||||||
|
def _register_routes(self, app):
|
||||||
|
app.add_url_rule("/client/create", view_func=self.create, methods=['POST'])
|
||||||
|
|
||||||
|
def create(self):
|
||||||
|
with ApiClient(self.config) as api_client:
|
||||||
|
client_api = ClientApi(api_client)
|
||||||
|
|
||||||
|
new_client = ClientDto(
|
||||||
|
name=StrictStr("Alice Example"),
|
||||||
|
username=StrictStr("alice123"),
|
||||||
|
)
|
||||||
|
|
||||||
|
try:
|
||||||
|
response = client_api.create(client_dto=new_client)
|
||||||
|
print("Success:", response.success)
|
||||||
|
print("Message:", response.message)
|
||||||
|
print("Data:", response.data)
|
||||||
|
return jsonify(response), 200
|
||||||
|
except ApiException as e:
|
||||||
|
print(f"Exception when calling ClientApi->create: {e}")
|
||||||
|
return jsonify(response), 500
|
||||||
|
|
||||||
Reference in New Issue
Block a user