Started creating the api

This commit is contained in:
Gustavo Henrique Santos Souza de Miranda
2024-04-11 01:48:41 -03:00
parent 43768d76d8
commit 1f2f6070ef
28 changed files with 473 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
from flask import request, jsonify
import uuid
from ..app import db
from .models import FilmManufacturer
def list_all_filmmanufacturers_controller():
filmmanufacturers = FilmManufacturer.query.all()
response = []
for filmmanufacturer in filmmanufacturers: response.append(filmmanufacturer.toDict())
return jsonify(response)
def create_filmmanufacturer_controller():
request_form = request.form.to_dict()
print(request_form)
new_filmmanufacturer = FilmManufacturer(
name = request_form['name'],
)
db.session.add(new_filmmanufacturer)
db.session.commit()
response = FilmManufacturer.query.all()
return(jsonify(request_form))
def retrieve_filmmanufacturer_controller(filmmanufacturer_id):
response = FilmManufacturer.query.get(filmmanufacturer_id).toDict()
print(response)
return jsonify(response)
def update_filmmanufacturer_controller(filmmanufacturer_id):
request_form = request.form.to_dict()
filmmanufacturer = FilmManufacturer.query.get(filmmanufacturer_id)
filmmanufacturer.name = request_form['name']
db.session.commit()
response = FilmManufacturer.query.get(filmmanufacturer_id).toDict()
return jsonify(response)
def delete_filmmanufacturer_controller(filmmanufacturer_id):
FilmManufacturer.query.filter_by(id=filmmanufacturer_id).delete()
db.session.commit()
return f"FilmManufacturer with ID={FilmManufacturer} was removed successfully"
+13
View File
@@ -0,0 +1,13 @@
from sqlalchemy import inspect
from ..app import db
class FilmManufacturer(db.Model):
id = db.Column(db.Integer(),primary_key=True,nullable=False,unique=True, autoincrement=True)
name = db.Column(db.String(255))
films = db.relationship("Film",back_populates='filmmanufacturer')
def toDict(self):
return {
c.key: getattr(self,c.key) for c in inspect(self).mapper.column_attrs
}
+15
View File
@@ -0,0 +1,15 @@
from flask import request
from ..app import app
from .controllers import list_all_filmmanufacturers_controller,create_filmmanufacturer_controller,retrieve_filmmanufacturer_controller,update_filmmanufacturer_controller,delete_filmmanufacturer_controller
@app.route("/FilmManufacturer",methods=["GET","POST"])
def list_all_create_filmmanufacturers():
if request.method == 'GET' : return list_all_filmmanufacturers_controller()
if request.method == 'POST' : return create_filmmanufacturer_controller()
@app.route("/FilmManufacturer/<filmmanufacturer_id>",methods=["GET","PUT","DELETE"])
def retrieve_update_delete_FilmManufacturers(filmmanufacturer_id):
if request.method == 'GET' : return retrieve_filmmanufacturer_controller(filmmanufacturer_id)
if request.method == 'PUT' : return update_filmmanufacturer_controller(filmmanufacturer_id)
if request.method == "DELETE": return delete_filmmanufacturer_controller(filmmanufacturer_id)