Added FilmFormat and Location MVC to the api and modified the .gitignore to ignore compiled python files

This commit is contained in:
Gustavo Henrique Santos Souza de Miranda 2024-04-11 03:19:02 -03:00
parent 1f2f6070ef
commit 999fea97a7
8 changed files with 144 additions and 1 deletions

4
.gitignore vendored
View File

@ -1,2 +1,6 @@
*.py[cod]
__pycache__/
.venv
/instance
/server/migrations

View File

@ -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"

View File

@ -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
}

15
server/FilmFormat/urls.py Normal file
View File

@ -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)

View File

@ -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"

13
server/Location/models.py Normal file
View File

@ -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
}

15
server/Location/urls.py Normal file
View File

@ -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)

View File

@ -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)