""" The main Flask application file that bootstraps and starts the app. """ import os from bootstrap import app_factory from marshmallow import ValidationError from flask import request from helpers import data_required, validate_schema from models import Product, ProductSchema, Message, MessageSchema, SendMessageSchema, db app = app_factory() twilio = app.twilio # Using schemas to serialize and make sure payloads are ok product_schema = ProductSchema() products_schema = ProductSchema(many=True, only=("id", "name")) message_schema = MessageSchema() send_message_schema = SendMessageSchema() ##### API ##### @app.route("/products") def get_products(): products = Product.query.all() # Serialize the queryset result = products_schema.dump(products) return {"data": result}
def app(request): """ Returns session-wide application. """ os.environ["SQLALCHEMY_DATABASE_URI"] = TEST_DATABASE_URI return app_factory()