def put_library(): """ Create favorite library on record. It must be unique on one user record. """ body = request.get_json() id_token = body.get("idToken") libid = body.get("libid") logger.info(body) document, status_code = get_resource(resource_name="ALL", id_token=id_token) if status_code == 200: registered_favolib = document["favolib"] registered_libid = list(map(lambda favolib: favolib["libid"], registered_favolib)) if libid in registered_libid: # 406: not acceptable return jsonify({"status": 406, "message": "This library is already registered."}), 406 else: libinfo = db.library.find(libid) lib_doc = dict() lib_doc["timestamp"] = int(time.time()) lib_doc["formal"] = libinfo["formal"] lib_doc["libid"] = libinfo["libid"] lib_doc["systemid"] = libinfo["systemid"] logger.debug(f"additional favorite library: {lib_doc}") document["favolib"].append(lib_doc) resource, status_code = create_resource(document, id_token) return jsonify(resource), status_code else: return jsonify({"status": 500, "message": "api server error"}), 500
def put_options(): """ Create favorite library on record. It must be unique on one user record. """ body = request.get_json() id_token = body.get("idToken") options = body.get("items") logger.info(body) document, status_code = get_resource(resource_name="ALL", id_token=id_token) if status_code == 200: registered_options = document["options"] for key, val in options.items(): registered_options[key] = val document["options"] = registered_options logger.debug(document) resource, status_code = create_resource(document, id_token) return jsonify(resource), status_code else: return jsonify({"status": 500, "message": "api server error"}), 500
def get_history(): idToken = request.args.get("idToken") resource, status_code = get_resource("history", idToken) return jsonify(resource), status_code
def get_option(): title = "" isbn = "" idToken = request.args.get("idToken") resource, status_code = get_resource("options", idToken) links_names = { # "calil": { # "link": f"https://calil.jp/book/{isbn}", # "displayName": "詳細" #}, "google": { "link": f"https://www.google.com/search?q={isbn}", "displayName": "Google" }, "honto": { "link": f"https://honto.jp/netstore/search_10{title}.html", "displayName": "honto" }, "amazon": { "link": f"https://amazon.co.jp/s?k={title}", "displayName": "Amazon" }, "rakuten": { "link": f"https://search.rakuten.co.jp/search/mall/{title}/", "displayName": "楽天" }, "yodobashi": { "link": f"https://www.yodobashi.com/category/81001/?word={isbn}", "displayName": "ヨドバシドットコム" }, "yahoo": { "link": f"https://shopping.yahoo.co.jp/search?&p={title}", "displayName": "ヤフーショッピング" }, "mercari": { "link": f"https://www.mercari.com/jp/search/?keyword={title}&category_root=5", "displayName": "メルカリ" }, "rakuma": { "link": f"https://fril.jp/s?query={title}&category_id=733", "displayName": "ラクマ" }, "paypayfleamarket": { "link": f"https://paypayfleamarket.yahoo.co.jp/search/{title}?categoryIds=10002", "displayName": "PayPayフリマ" }, } display_name = { key: values["displayName"] for key, values in links_names.items() } resource["items"].pop("calil") res = { "items": { "options": resource["items"], "displayName": display_name } } logger.debug(res) return jsonify(res), status_code
def get_library(): idToken = request.args.get("idToken") resource, status_code = get_resource("favolib", idToken) return jsonify(resource), status_code
def get_bookmark(): idToken = request.args.get("idToken") resource, status_code = get_resource("bookmark", idToken) return jsonify(resource), status_code