Added FilmFormat and Location MVC to the api and modified the .gitignore to ignore compiled python files
This commit is contained in:
parent
1f2f6070ef
commit
999fea97a7
|
|
@ -1,2 +1,6 @@
|
|||
*.py[cod]
|
||||
__pycache__/
|
||||
|
||||
.venv
|
||||
/instance
|
||||
/instance
|
||||
/server/migrations
|
||||
|
|
|
|||
|
|
@ -0,0 +1,40 @@
|
|||
from flask import request, jsonify
|
||||
import uuid
|
||||
from ..app import db
|
||||
from .models import FilmFormat
|
||||
|
||||
def list_all_filmformat_controller():
|
||||
filmformat = FilmFormat.query.all()
|
||||
response = []
|
||||
for filmformat in filmformat: response.append(filmformat.toDict())
|
||||
return jsonify(response)
|
||||
|
||||
def create_filmformat_controller():
|
||||
request_form = request.form.to_dict()
|
||||
print(request_form)
|
||||
new_filmformat = FilmFormat(
|
||||
name = request_form['name'],
|
||||
)
|
||||
db.session.add(new_filmformat)
|
||||
db.session.commit()
|
||||
response = FilmFormat.query.all()
|
||||
return(jsonify(request_form))
|
||||
|
||||
def retrieve_filmformat_controller(filmformat_id):
|
||||
response = FilmFormat.query.get(filmformat_id).toDict()
|
||||
print(response)
|
||||
return jsonify(response)
|
||||
|
||||
def update_filmformat_controller(filmformat_id):
|
||||
request_form = request.form.to_dict()
|
||||
filmmanufacturer = FilmFormat.query.get(filmformat_id)
|
||||
filmmanufacturer.name = request_form['name']
|
||||
|
||||
db.session.commit()
|
||||
response = FilmFormat.query.get(filmformat_id).toDict()
|
||||
return jsonify(response)
|
||||
|
||||
def delete_filmformat_controller(filmformat_id):
|
||||
FilmFormat.query.filter_by(id=filmformat_id).delete()
|
||||
db.session.commit()
|
||||
return f"FilmManufacturer with ID= {filmformat_id} was removed successfully"
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
from sqlalchemy import inspect
|
||||
|
||||
from ..app import db
|
||||
|
||||
class FilmFormat(db.Model):
|
||||
id = db.Column(db.Integer(),primary_key=True,nullable=False,unique=True, autoincrement=True)
|
||||
name = db.Column(db.String(255))
|
||||
|
||||
def toDict(self):
|
||||
return {
|
||||
c.key: getattr(self,c.key) for c in inspect(self).mapper.column_attrs
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
from flask import request
|
||||
|
||||
from ..app import app
|
||||
from .controllers import list_all_filmformat_controller,create_filmformat_controller,retrieve_filmformat_controller,update_filmformat_controller,delete_filmformat_controller
|
||||
|
||||
@app.route("/FilmFormat",methods=["GET","POST"])
|
||||
def list_all_create_filmformats():
|
||||
if request.method == 'GET' : return list_all_filmformat_controller()
|
||||
if request.method == 'POST' : return create_filmformat_controller()
|
||||
|
||||
@app.route("/FilmFormat/<filmmanufacturer_id>",methods=["GET","PUT","DELETE"])
|
||||
def retrieve_update_delete_filmformats(filmformat_id):
|
||||
if request.method == 'GET' : return retrieve_filmformat_controller(filmformat_id)
|
||||
if request.method == 'PUT' : return update_filmformat_controller(filmformat_id)
|
||||
if request.method == "DELETE": return delete_filmformat_controller(filmformat_id)
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
from flask import request, jsonify
|
||||
import uuid
|
||||
from ..app import db
|
||||
from .models import Location
|
||||
|
||||
def list_all_location_controller():
|
||||
locations = Location.query.all()
|
||||
response = []
|
||||
for location in locations: response.append(location.toDict())
|
||||
return jsonify(response)
|
||||
|
||||
def create_location_controller():
|
||||
request_form = request.form.to_dict()
|
||||
print(request_form)
|
||||
new_location = Location(
|
||||
name = request_form['name'],
|
||||
)
|
||||
db.session.add(new_location)
|
||||
db.session.commit()
|
||||
response = Location.query.all()
|
||||
return(jsonify(request_form))
|
||||
|
||||
def retrieve_location_controller(location_id):
|
||||
response = Location.query.get(location_id).toDict()
|
||||
print(response)
|
||||
return jsonify(response)
|
||||
|
||||
def update_location_controller(location_id):
|
||||
request_form = request.form.to_dict()
|
||||
location = Location.query.get(location_id)
|
||||
location.name = request_form['name']
|
||||
|
||||
db.session.commit()
|
||||
response = Location.query.get(location_id).toDict()
|
||||
return jsonify(response)
|
||||
|
||||
def delete_location_controller(location_id):
|
||||
Location.query.filter_by(id=location_id).delete()
|
||||
db.session.commit()
|
||||
return f"FilmManufacturer with ID= {location_id} was removed successfully"
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
from sqlalchemy import inspect
|
||||
|
||||
from ..app import db
|
||||
|
||||
class Location(db.Model):
|
||||
id = db.Column(db.Integer(),primary_key=True,nullable=False,unique=True, autoincrement=True)
|
||||
name = db.Column(db.String(255))
|
||||
|
||||
def toDict(self):
|
||||
return {
|
||||
c.key: getattr(self,c.key) for c in inspect(self).mapper.column_attrs
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
from flask import request
|
||||
|
||||
from ..app import app
|
||||
from .controllers import list_all_location_controller,create_location_controller,retrieve_location_controller,update_location_controller,delete_location_controller
|
||||
|
||||
@app.route("/Location",methods=["GET","POST"])
|
||||
def list_all_create_locations():
|
||||
if request.method == 'GET' : return list_all_location_controller()
|
||||
if request.method == 'POST' : return create_location_controller()
|
||||
|
||||
@app.route("/Location/<location_id>",methods=["GET","PUT","DELETE"])
|
||||
def retrieve_update_delete_locations(filmformat_id):
|
||||
if request.method == 'GET' : return retrieve_location_controller(filmformat_id)
|
||||
if request.method == 'PUT' : return update_location_controller(filmformat_id)
|
||||
if request.method == "DELETE": return delete_location_controller(filmformat_id)
|
||||
|
|
@ -37,6 +37,9 @@ def hello():
|
|||
|
||||
from .Film import urls
|
||||
from .FilmManufacturer import urls
|
||||
from .FilmFormat import urls
|
||||
from .Location import urls
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
app.run(debug=True,port=8008)
|
||||
|
|
|
|||
Loading…
Reference in New Issue