feat: Add nextcloud and immich api integration
All checks were successful
Build Docker / BuildImage (push) Successful in 2m32s
Check Code Quality / RuffCheck (push) Successful in 2m38s

This commit is contained in:
2026-03-16 22:24:33 +11:00
parent d2db66d527
commit 5db23f0cd0
8 changed files with 211 additions and 3 deletions

35
tools/immich.py Normal file
View File

@@ -0,0 +1,35 @@
import os
import requests
IMMICH_API_KEY = os.getenv("IMMICH_API_KEY")
def get_immich_stats(user_sub: str) -> dict[str, int | str]:
"""
Get the user's Immich stats from the API.
"""
if not IMMICH_API_KEY:
return {"error": "IMMICH_API_KEY environment variable not set"}
headers = {"x-api-key": IMMICH_API_KEY, "Accept": "application/json"}
response = requests.get(
"https://immich.woodburn.au/api/admin/users", headers=headers
)
if response.status_code != 200:
return {"error": f"Failed to fetch Immich stats: {response.status_code}"}
data = response.json()
user_id = None
for user in data:
if user.get("oauthId") == user_sub:
user_id = user.get("id")
break
if not user_id:
return {"error": "User not found in Immich"}
# Get user stats
response = requests.get(
f"https://immich.woodburn.au/api/admin/users/{user_id}/statistics",
headers=headers,
)
if response.status_code != 200:
return {"error": f"Failed to fetch Immich user stats: {response.status_code}"}
stats = response.json()
return stats