Add collection ID from HA feat

This commit is contained in:
Joris Bertomeu
2024-11-19 17:11:05 +01:00
parent e8d68d0b7e
commit ca5f121d35
3 changed files with 31 additions and 4 deletions

View File

@@ -1,3 +1,5 @@
import fetch from "node-fetch";
export class PhotoController {
constructor(db, photoService) {
this.db = db;
@@ -13,12 +15,27 @@ export class PhotoController {
return res.status(400).json({ error: 'Invalid settings' });
}
let collections = settings.unsplash.collectionsId;
let collections = settings.unsplash?.HACollectionsId;
if (collections && collections.length > 0) {
const resp = await fetch(`${settings.hass.endpoint}/api/states/${collections}`, {
headers: {
Authorization: `Bearer ${settings.hass.token}`
}
});
const data = await resp?.json();
collections = data.state;
if (collections.includes(',')) {
collections = collections.split(',');
}
} else {
collections = settings.unsplash.collectionsId;
}
if (collections) {
collections = Array.isArray(collections) ? collections : [collections];
}
const photo = await this.photoService.pickPictureFromFile(collections, false, settings.unsplash);
const photo = await this.photoService.pickPictureFromFile(collections, true, settings.unsplash);
if (!photo) {
return res.status(500).json({ error: 'Failed to fetch photo' });