示例#1
0
""" 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()