Minor code review

This commit is contained in:
Dion Moult
2021-08-12 17:56:58 +10:00
parent 7a5b15e5a2
commit 199bc86a88
3 changed files with 36 additions and 71 deletions
+1
View File
@@ -139,6 +139,7 @@ class BcfClient:
self.baseurl = version["api_base_url"]
def get(self, endpoint, params=None, is_auth_required=False):
# TODO: handle error http status codes and raise exception. Follow error.json standard.
headers = {"Authorization": "Bearer " + self.foundation_client.get_access_token()}
return requests.get(f"{self.baseurl}{endpoint}", headers=headers, params=params or None).json()
+10 -13
View File
@@ -1,19 +1,16 @@
# Server-Test
1. Cd to the server directory i.e cd `IfcOpenShell\src\bcfserver`
```
$ pip install -r requirements.txt
$ cd bcfserver/
$ python
>>> from run import db
>>> db.create_all()
$ export FLASK_APP=run.py
$ flask run
```
2. Set up the server by installing the dependencies
3. Run `pip install -r requirements.txt` to install the dependencies
4. In Python Shell, do the following
- from run import db
- db.create_all() to setup the database table
5. Run `set FLASK_APP=run.py`
6. Run `flask run` to start the server
7. Go to [http://localhost:5000](http://localhost:5000) to see the server
Go to [http://localhost:5000](http://localhost:5000) to see the server
# Register the user
+25 -58
View File
@@ -26,38 +26,23 @@ def validate_client(request):
def invalid_user():
message = {"error": "User not recognized"}
response = app.response_class(
response=json.dumps(message),
status=200,
mimetype="application/json",
)
response = jsonify({"error": "User not recognized"})
response.status = 401
return response
def invalid_project():
message = {"error": "Project not found"}
response = app.response_class(
response=json.dumps(message),
status=400,
mimetype="application/json",
)
response = jsonify({"message": "Project not found"})
response.status = 404
return response
@bcf.route("/projects")
def projects():
access_token = validate_client(request)
if access_token:
response = app.response_class(
response=jdata["Projects"],
status=200,
mimetype="application/json",
)
return response
else:
response = invalid_user()
return response
return invalid_user()
if validate_client(request):
return jsonify(jdata["Projects"])
return invalid_user()
@bcf.route("/")
@@ -68,21 +53,12 @@ def bcf_3():
@bcf.route("/projects/<project_id>")
def project_details(project_id):
access_token = validate_client(request)
if access_token:
for i in jdata["Projects"]:
if (i["project_id"]) == project_id:
response = app.response_class(
response=i,
status=200,
mimetype="application/json",
)
return response
response = invalid_project()
return response
else:
response = invalid_user()
return response
if validate_client(request):
for project in jdata["Projects"]:
if project["project_id"] == project_id:
return jsonify(project)
return invalid_project()
return invalid_user()
@bcf.route("/projects/<project_id>", methods=["PUT"])
@@ -107,24 +83,15 @@ def update_project(project_id):
@bcf.route("/projects/<project_id>/extensions")
def extensions(project_id):
access_token = validate_client(request)
if access_token:
for i in jdata["Projects"]:
if (i["project_id"]) == project_id:
response = app.response_class(
response=jdata["Extensions"],
status=200,
mimetype="application/json",
)
return response
response = invalid_project()
return response
else:
response = invalid_user()
return response
if validate_client(request):
for project in jdata["Projects"]:
if project["project_id"] == project_id:
return jsonify(jdata["Extensions"])
return invalid_project()
return invalid_user()
@bcf.routes("/projects/<project_id>/topics")
@bcf.route("/projects/<project_id>/topics")
def topics(project_id):
access_token = validate_client(request)
if access_token:
@@ -143,8 +110,8 @@ def topics(project_id):
return response
@bcf.routes("/projects/<project_id>/topics/<topic_id>", methods=["POST"])
def topic_details(project_id, topic_id):
@bcf.route("/projects/<project_id>/topics/<topic_id>", methods=["POST"])
def create_topic(project_id, topic_id):
access_token = validate_client(request)
if access_token and request.method == "POST":
body = request.form["data"]
@@ -165,7 +132,7 @@ def topic_details(project_id, topic_id):
return response
@bcf.routes("/projects/<project_id>/topics/<topic_id>")
@bcf.route("/projects/<project_id>/topics/<topic_id>")
def topic_details(project_id, topic_id):
access_token = validate_client(request)
if access_token:
@@ -598,7 +565,7 @@ def get_documents(project_id, topic_id):
return response
@bcf.routes("/projects/<project_id>/topics/<topic_id>/documents", methods=["POST"])
@bcf.route("/projects/<project_id>/topics/<topic_id>/documents", methods=["POST"])
def create_documents(project_id, topic_id):
access_token = validate_client(request)
if access_token and request.method == "POST":