Esempio n. 1
0
def create(appname, MODELNAME, data):
    cond = {"title": data["title"]}
    if MODELNAME.find_one(appname, cond):
        return json_response_error(DUPLICATE_FIELD, msg="the title exist")

    info_instance = MODELNAME.new(data)
    MODELNAME.save(appname, info_instance)
    _LOGGER.info("add a new %s:%s", MODELNAME.model_name,  data["title"])

    # get added info
    info = MODELNAME.find_one(appname, cond, MODELNAME.fields)
    info = get_list_page_info(info)

    return json_response_ok(info)
Esempio n. 2
0
def info_list(
        appname, modelName, cond, page=0, page_size=PAGE_SIZE, sort=None):
    info_cursor = modelName.find(appname, cond, None)
    if sort is not None:
        info_cursor = info_cursor.sort(sort)
    info_cursor = info_cursor.skip(page * page_size).limit(page_size)
    infos = []
    for item in info_cursor:
        item = get_list_page_info(item)
        infos.append(item)

    total = modelName.find(appname, cond).count()

    filters = {}
    if issubclass(modelName, Rule):
        filters = get_rule_filter_list(appname)

    data = {}
    data.setdefault("items", infos)
    data.setdefault("total", total)
    data.setdefault("filters", filters)
    return json_response_ok(data)