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
Binary file not shown.
Binary file not shown.
Binary file not shown.
+44
View File
@@ -0,0 +1,44 @@
from flask import request, jsonify
import uuid
from ..app import db
from .models import Film
def list_all_films_controller():
films = Film.query.all()
response = []
for film in films: response.append(film.toDict())
return jsonify(response)
def create_film_controller():
request_form = request.form.to_dict()
print(request_form)
new_film = Film(
name = request_form['name'],
ISO = request_form['ISO'],
Push_Pull = request_form['Push_Pull'],
fk_FilmManufacturer_id = request_form["manufacturerID"]
)
db.session.add(new_film)
db.session.commit()
response = Film.query.all()
return(jsonify(request_form))
def retrieve_film_controller(film_id):
response = Film.query.get(film_id).toDict()
return jsonify(response)
def update_film_controller(film_id):
request_form = request.form.to_dict()
film = Film.query.get(film_id)
film.name = request_form['name']
film.ISO = request_form['ISO']
film.Push_Pull = request_form['Push_Pull']
film.fk_FilmManufacturer_id = request_form["manufacturerID"]
db.session.commit()
response = Film.query.get(film_id).toDict()
return jsonify(response)
def delete_film_controller(film_id):
Film.query.filter_by(id=film_id).delete()
db.session.commit()
return f"Film with ID={film_id} was removed successfully"
+17
View File
@@ -0,0 +1,17 @@
from sqlalchemy import inspect
from datetime import datetime
from ..app import db
class Film(db.Model):
id = db.Column(db.Integer(),primary_key=True,nullable=False,unique=True, autoincrement=True)
name = db.Column(db.String(255))
ISO = db.Column(db.String(10))
Push_Pull = db.Column(db.String(10))
fk_FilmManufacturer_id = db.Column(db.Integer(),db.ForeignKey("film_manufacturer.id"))
filmmanufacturer = db.relationship("FilmManufacturer",back_populates='films')
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_films_controller,create_film_controller,retrieve_film_controller,update_film_controller,delete_film_controller
@app.route("/Films",methods=["GET","POST"])
def list_all_create_films():
if request.method == 'GET' : return list_all_films_controller()
if request.method == 'POST' : return create_film_controller()
@app.route("/Films/<film_id>",methods=["GET","PUT","DELETE"])
def retrieve_update_delete_Films(film_id):
if request.method == 'GET' : return retrieve_film_controller(film_id)
if request.method == 'PUT' : return update_film_controller(film_id)
if request.method == "DELETE": return delete_film_controller(film_id)