DPIclimate / broker

3 stars 3 forks source link

Webapp / REST API still has bugs after moving to the PostGIS #81

Open dajtxx opened 4 weeks ago

dajtxx commented 4 weeks ago

Locations are sometimes being returned as a tuple rather than a dict.

Trying to create a logical device and map it using the webapp also failed, looks like the same problem:

website_1        | Traceback (most recent call last):
website_1        |   File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 2077, in wsgi_app
website_1        |     response = self.full_dispatch_request()
website_1        |   File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1525, in full_dispatch_request
website_1        |     rv = self.handle_user_exception(e)
website_1        |   File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1523, in full_dispatch_request
website_1        |     rv = self.dispatch_request()
website_1        |   File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1509, in dispatch_request
website_1        |     return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
website_1        |   File "/app/./app/main.py", line 514, in CreateMapping
website_1        |     new_ld_uid = create_logical_device(physical_device, token)
website_1        |   File "/app/app/utils/api.py", line 257, in create_logical_device
website_1        |     response = requests.post(f'{end_point}/broker/api/logical/devices/', json=logicalJson, headers=headers)
website_1        |   File "/usr/local/lib/python3.10/site-packages/requests/api.py", line 115, in post
website_1        |     return request("post", url, data=data, json=json, **kwargs)
website_1        |   File "/usr/local/lib/python3.10/site-packages/requests/api.py", line 59, in request
website_1        |     return session.request(method=method, url=url, **kwargs)
website_1        |   File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 573, in request
website_1        |     prep = self.prepare_request(req)
website_1        |   File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 484, in prepare_request
website_1        |     p.prepare(
website_1        |   File "/usr/local/lib/python3.10/site-packages/requests/models.py", line 371, in prepare
website_1        |     self.prepare_body(data, files, json)
website_1        |   File "/usr/local/lib/python3.10/site-packages/requests/models.py", line 511, in prepare_body
website_1        |     body = complexjson.dumps(json, allow_nan=False)
website_1        |   File "/usr/local/lib/python3.10/json/__init__.py", line 238, in dumps
website_1        |     **kw).encode(obj)
website_1        |   File "/usr/local/lib/python3.10/json/encoder.py", line 199, in encode
website_1        |     chunks = self.iterencode(o, _one_shot=True)
website_1        |   File "/usr/local/lib/python3.10/json/encoder.py", line 257, in iterencode
website_1        |     return _iterencode(o, 0)
website_1        |   File "/usr/local/lib/python3.10/json/encoder.py", line 179, in default
website_1        |     raise TypeError(f'Object of type {o.__class__.__name__} '
website_1        | TypeError: Object of type Location is not JSON serializable