Ejemplo n.º 1
0
def update_impl(Model, Message, itemId, request):
    item = ferris3.ToolChain(itemId) \
        .ndb.get() \
        .raise_if(None, ferris3.NotFoundException()) \
        .ndb.check_kind(Model) \
        .value()

    return ferris3.ToolChain(request) \
        .messages.deserialize(item) \
        .ndb.put() \
        .messages.serialize(Message) \
        .value()
Ejemplo n.º 2
0
def get_impl(Model, Message, itemId):
    return ferris3.ToolChain(itemId) \
        .ndb.get() \
        .raise_if(None, ferris3.NotFoundException()) \
        .ndb.check_kind(Model) \
        .messages.serialize(Message) \
        .value()
Ejemplo n.º 3
0
def insert_with_keyname_impl(Model, Message, request):
    raw_model = ferris3.ToolChain(request) \
        .messages.deserialize(Model) \
        .value()

    # if keyname parameter is sent in request
    if request.keyname:
        raw_model.key = ndb.Key(Model, request.keyname)  # set keyname
    if request.parent:
        parent_key = ndb.Key(urlsafe=request.parent)
        raw_model.key = ndb.Key(Model, request.keyname,
                                parent=parent_key)  # set parent_key

    raw_model.put()
    return ferris3.ToolChain(request) \
        .value()
Ejemplo n.º 4
0
def searchable_list_impl(ListMessage, index, query, limit, sort, pageToken):
    def check_for_search_errors(data):
        if data.error:
            raise ferris3.BadRequestException("Search error: %s" % data.error)

    return ferris3.ToolChain(query) \
        .search.search(index, sort=sort, limit=limit, page_token=pageToken) \
        .tap(check_for_search_errors) \
        .search.to_entities() \
        .messages.serialize_list(ListMessage) \
        .value()
Ejemplo n.º 5
0
def list_impl(ListMessage, query):
    return ferris3.ToolChain(query) \
        .messages.serialize_list(ListMessage) \
        .value()
Ejemplo n.º 6
0
def insert_impl(Model, Message, request):
    return ferris3.ToolChain(request) \
        .messages.deserialize(Model) \
        .ndb.put() \
        .messages.serialize(Message) \
        .value()
Ejemplo n.º 7
0
def delete_impl(Model, itemId):
    return ferris3.ToolChain(itemId) \
        .ndb.key() \
        .ndb.check_kind(Model) \
        .ndb.delete() \
        .value()
Ejemplo n.º 8
0
def paginated_list_impl(ListMessage, query, limit, pageToken):
    return ferris3.ToolChain(query) \
        .ndb.paginate(limit=limit, page_token=pageToken) \
        .messages.serialize_list(ListMessage) \
        .value()