Merge branch '4-api-for-car-data' into 'master'

Resolve "API for car data"

Closes #4

See merge request kranklyboy/dse-assignment!3
This commit is contained in:
david eder 2021-05-15 12:02:56 +00:00
commit df5084bf21
3 changed files with 32 additions and 24 deletions

View File

@ -1,31 +1,37 @@
import jsonify as jsonify
from flask import Flask
from bson import json_util
from flask import Flask, request
from flask_pymongo import PyMongo
# make sure mongoDB (container) is running and accessible
# see https://flask-pymongo.readthedocs.io/en/latest/
from pymongo import MongoClient
app = Flask(__name__)
app.config["MONGO_URI"] = "mongodb://mongo:27017/entities"
mongo = PyMongo(app)
@app.route("/")
def index():
test_results = mongo.db.cars.find()
results = []
try:
while True:
result = test_results.next()
results.append(result)
except StopIteration:
pass
return str(results)
@app.route('/api/v1/resources/cars', methods=['GET'])
def get_cars():
query_parameters = request.args
vin = query_parameters.get('vin')
if vin is not None:
cars = [car for car in mongo.db.cars.find({'vin': vin})]
else:
cars = [car for car in mongo.db.cars.find({})]
return json_util.dumps({'cursor': cars})
@app.route('/api/v1/resources/traffic_lights', methods=['GET'])
def get_traffic_lights():
query_parameters = request.args
tl_id = query_parameters.get('id')
if tl_id is not None:
traffic_lights = [traffic_light for traffic_light in mongo.db.trafficLights.find({'id': tl_id})]
else:
traffic_lights = [traffic_light for traffic_light in mongo.db.trafficLights.find({})]
return json_util.dumps({'cursor': traffic_lights})
#if __name__ == '__main__':
# app.run()
if __name__ == '__main__':
app.run(host='0.0.0.0')

View File

@ -12,6 +12,6 @@
{
"oem": "SATURN",
"modelType": "Vue2",
"vin": "5GZCZ43D13S812715"
"vin": "5GZCZ43D13S812716"
}
]

View File

@ -3,13 +3,15 @@ kind: Ingress
metadata:
name: minimal-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/add-base-url: "true"
nginx.ingress.kubernetes.io/rewrite-target: /$1
nginx.ingress.kubernetes.io/service-upstream: "true"
spec:
rules:
- http:
paths:
- path: /testpath
pathType: Prefix
- path: /entity-ident/(.+)
backend:
serviceName: entity-ident
servicePort: 5000