summaryrefslogtreecommitdiff
path: root/flaskapi.py
diff options
context:
space:
mode:
Diffstat (limited to 'flaskapi.py')
-rw-r--r--flaskapi.py22
1 files changed, 21 insertions, 1 deletions
diff --git a/flaskapi.py b/flaskapi.py
index 29cea7e..0791016 100644
--- a/flaskapi.py
+++ b/flaskapi.py
@@ -1,4 +1,5 @@
-from flask import Flask, Blueprint, request, send_from_directory
+from flask import Flask, Blueprint, request, send_from_directory, send_file, abort
+from flask_cors import CORS
app = Flask(__name__, static_folder="static/dist", static_url_path="/")
@@ -10,6 +11,7 @@ def home():
return send_from_directory("static/public", "index.html")
api = Blueprint("api", __name__)
+CORS(api, origins="*") # For debugging TODO remove later
@api.route("/seek")
def seek():
@@ -24,4 +26,22 @@ def seek():
"imageIndex": pd.current_texture_index,
}
+@api.route("/albums/get")
+def get_albums():
+ ic = app.config["immich_connector"]
+ keys = [ "albumName", "albumThumbnailAssetId", "id", "startDate", "endDate", "assetCount", "shared", ]
+ return [{
+ key: album[key] for key in keys
+ } for album in ic.load_all_albums() ]
+
+@api.route("/albums/thumb/<key>")
+def get_album_thumb(key):
+ # TODO ensure getting actual album thumb
+ ic = app.config["immich_connector"]
+ image_data, mimetype = ic.load_image(key, size="thumbnail")
+ if image_data is None:
+ abort(400)
+ return send_file(image_data, mimetype=mimetype)
+
+
app.register_blueprint(api, url_prefix="/api")