mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-09 09:21:46 +00:00
Minor code review
This commit is contained in:
@@ -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()
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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":
|
||||
|
||||
Reference in New Issue
Block a user