mirror of
https://github.com/jorisbertomeu/web-screensaver.git
synced 2026-04-19 16:27:40 +02:00
Add collection ID from HA feat
This commit is contained in:
@@ -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' });
|
||||
|
||||
Reference in New Issue
Block a user