Exemplo n.º 1
0
from flask_restx.fields import DateTime, Integer, List, String

from models.common import _make_response_data_model

_shopping_list = {
    "shoppingList": List(String),
}

_user = {
    **_shopping_list,
    "userId": String(required=True),
    "nextCategoryId": Integer(),
    "nextRecipeId": Integer(),
    "signUpTime": DateTime(),
}

shopping_list_data, _shopping_list_response_model = _make_response_data_model(
    "ShoppingList", _shopping_list)
Exemplo n.º 2
0
        # "link": "/api/v1/widgets/first_widget",
        "link": Url("api.widget"),
    },
)

pagination_links_model = Model(
    "Nav Links",
    {
        "self": String,
        "prev": String,
        "next": String,
        "first": String,
        "last": String
    },
)

pagination_model = Model(
    "Pagination",
    {
        # skip_none=True Value with None will not be displayed
        "links": Nested(pagination_links_model, skip_none=True),
        "has_prev": Boolean,
        "has_next": Boolean,
        "page": Integer,
        "total_pages": Integer(attribute="pages"),
        "items_per_page": Integer(attribute="per_page"),
        "total_items": Integer(attribute="total"),
        "items": List(Nested(widget_model)),
    },
)
Exemplo n.º 3
0
from flask_restx import Model
from flask_restx.fields import DateTime, Integer, List, Nested, String

from models.common import _make_response_data_model

_recipe_id = Integer(required=True)
_name = String(min_length=1, max_length=200, required=True)
_desc = String(max_length=200)
_cook_time = String()
_ingredients = List(String)
_instructions = List(String)
_create_time = DateTime(required=True)
_update_time = DateTime(required=True)
_adapted_from = String()
_url = String()
_imgSrc = String()

# Editable recipe fields
_recipe = {
    "name": _name,
    "desc": _desc,
    "cookTime": _cook_time,
    "ingredients": _ingredients,
    "instructions": _instructions,
    "categories": List(String),
    "adaptedFrom": _adapted_from,
    "url": _url,
    "imgSrc": _imgSrc,
}
recipe_model = Model("Recipe", _recipe)
Exemplo n.º 4
0
# flake8: noqa
from flask_restx.fields import Integer, List, Nested, String

from models import db_category_data
from models.common import _make_response_data_model
from models.requests.recipes import (
    _db_recipe,
    _db_recipe_response_model as db_recipe_response_model,
    db_recipe_data,
    recipe_model,
)

recipe_update_response_data, recipe_update_response_model = _make_response_data_model(
    "UpdateRecipe",
    {
        "existingCategories": List(Integer),
        "newCategories": List(Nested(db_category_data, skip_none=True)),
        "categoryFailedAdds": List(String),
        "imgSrc": String(),
    },
    skip_none=True,
)

recipe_add_response_data, recipe_add_response_model = _make_response_data_model(
    "AddRecipe",
    {
        **_db_recipe,
        "existingCategories": List(Integer),
        "newCategories": List(Nested(db_category_data, skip_none=True)),
        "categoryFailedAdds": List(String),
    },
Exemplo n.º 5
0
category_model = Model("Category", _category)

_category_with_id = {
    **_category,
    "categoryId": _category_id,
}
category_with_id_model = Model("CategoryWithId", _category_with_id)

# All fields present in DynamoDB
_db_category = {
    **_category_with_id,
    "createTime": _create_time,
    "updateTime": _update_time,
}
db_category_data, _db_category_response_model = _make_response_data_model(
    "DbCategory", _db_category, skip_none=True)

_category_update = {"update": Nested(category_model)}
category_update_model = Model("CategoryUpdate", _category_update)

_batch_category_delete = {"categoryIds": List(_category_id)}
batch_category_delete_model = Model("BatchCategoryDelete",
                                    _batch_category_delete)

_batch_category_update = {
    "categoryIdToUpdate1": Nested(category_update_model),
    "categoryIdToUpdate2": Nested(category_update_model),
}
batch_category_update_model = Model("BatchCategoryUpdate",
                                    _batch_category_update)
Exemplo n.º 6
0
from flask_restx.fields import List, String

from models.common import _make_response_data_model

scrape_response_data, scrape_response_model = _make_response_data_model(
    "Scrape",
    {
        "url": String(required=True),
        "name": String(),
        "imgSrc": String(),
        "adaptedFrom": String(),
        "yield": String(),
        "cookTime": String(),
        "instructions": List(String),
        "ingredients": List(String),
    },
    skip_none=True,
)
Exemplo n.º 7
0
from flask_restx import Model
from flask_restx.fields import String, List, Nested

person = Model(
    'Person Model', {
        'id': String(),
        'name': String(),
        'gender': String(),
        'eye_color': String(),
        'hair_color': String(),
        'age': String(),
    })

film_model = Model(
    'Film Model', {
        'id': String(),
        'title': String(),
        'description': String(),
        'director': String(),
        'producer': String(),
        'release_date': String(),
        'rt_score': String(),
        'people': List(Nested(person)),
    })
Exemplo n.º 8
0
        DATA_SOURCE_NAME_FIELD_NAME:
        String(required=True),
    },
)

CompleteInputSourceModel = Model.clone(
    "DatabaseTableCompleteInputSourceModel",
    InputSourceModel,
    {
        DOC_NAME: String(),
    },
)

InputSourceEditionModel = Model(
    "DatabaseTableInputSourceEditionModel",
    {INPUT_SOURCE_FIELDS: List(Nested(InputSourceModel))},
)

CompleteInputSourcesListModel = Model(
    "DatabaseTableCompleteInputSourcesListModel",
    {INPUT_SOURCE_FIELDS: List(Nested(CompleteInputSourceModel))},
)

MODELS = [
    BaseInputSourceModel,
    InputSourceModel,
    CompleteInputSourceModel,
    InputSourceEditionModel,
    CompleteInputSourcesListModel,
]
Exemplo n.º 9
0
# flake8: noqa
from flask_restx.fields import Integer, List, Nested

from models.common import _make_response_data_model
from models.requests.categories import (
    _db_category_response_model as db_category_response_model,
    db_category_data,
)

category_delete_response_data, category_delete_response_model = _make_response_data_model(
    "DeleteCategory",
    {
        "updatedRecipes": List(Integer),
        "failedUpdatedReipes": List(Integer)
    },
    skip_none=True,
)

batch_category_get_response_data, batch_category_get_response_model = _make_response_data_model(
    "BatchGetCategory",
    {"categories": List(Nested(db_category_data, skip_none=True))})

(
    batch_category_update_response_data,
    batch_category_update_response_model,
) = _make_response_data_model("BatchUpdateCategory",
                              {"failedUpdates": List(Integer)},
                              skip_none=True)

(
    batch_category_delete_response_data,