Started creating the api
This commit is contained in:
parent
43768d76d8
commit
1f2f6070ef
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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"
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
Reference in New Issue
Block a user