mirror of
https://github.com/karl0ss/homepage.git
synced 2025-05-02 05:23:39 +01:00
extend blueiris widget
This commit is contained in:
parent
7ac5f55d74
commit
4b4bde142c
@ -872,7 +872,8 @@
|
|||||||
"blueiris": {
|
"blueiris": {
|
||||||
"serverName": "Server Name",
|
"serverName": "Server Name",
|
||||||
"numberOfActiveCams": "Active Cameras",
|
"numberOfActiveCams": "Active Cameras",
|
||||||
"numberOfAlerts": "Total Alerts"
|
"numberOfAlerts": "Total Alerts",
|
||||||
|
"numberOfNewAlerts": "New Alerts"
|
||||||
},
|
},
|
||||||
"stash": {
|
"stash": {
|
||||||
"scenes": "Scenes",
|
"scenes": "Scenes",
|
||||||
|
@ -23,6 +23,7 @@ export default function Component({ service }) {
|
|||||||
<Block label="blueiris.serverName" />
|
<Block label="blueiris.serverName" />
|
||||||
<Block label="blueiris.numberOfActiveCams" />
|
<Block label="blueiris.numberOfActiveCams" />
|
||||||
<Block label="blueiris.numberOfAlerts" />
|
<Block label="blueiris.numberOfAlerts" />
|
||||||
|
<Block label="blueiris.numberOfNewAlerts" />
|
||||||
</Container>
|
</Container>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -32,6 +33,7 @@ export default function Component({ service }) {
|
|||||||
<Block label="blueiris.serverName" value= {blueirisData.serverName} />
|
<Block label="blueiris.serverName" value= {blueirisData.serverName} />
|
||||||
<Block label="blueiris.numberOfActiveCams" value={t("common.number", { value: blueirisData.numberOfActiveCams })} />
|
<Block label="blueiris.numberOfActiveCams" value={t("common.number", { value: blueirisData.numberOfActiveCams })} />
|
||||||
<Block label="blueiris.numberOfAlerts" value={t("common.number", { value: blueirisData.totalNumberOfAlerts })} />
|
<Block label="blueiris.numberOfAlerts" value={t("common.number", { value: blueirisData.totalNumberOfAlerts })} />
|
||||||
|
<Block label="blueiris.numberOfNewAlerts" value={t("common.number", { value: blueirisData.totalNumberOfNewAlerts })} />
|
||||||
</Container>
|
</Container>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -61,7 +61,7 @@ const activeCamCount = async (widget, session) => {
|
|||||||
return cameraList;
|
return cameraList;
|
||||||
};
|
};
|
||||||
|
|
||||||
const numberOfAlerts = async (widget, session) => {
|
const getAllAlerts = async (widget, session) => {
|
||||||
const res = await activeCamCount(widget, session);
|
const res = await activeCamCount(widget, session);
|
||||||
const promises = res.map(item => executeCMD(widget.url, `{"cmd":"alertlist", "camera":"${item.optionDisplay}", "session":"${session}"}`));
|
const promises = res.map(item => executeCMD(widget.url, `{"cmd":"alertlist", "camera":"${item.optionDisplay}", "session":"${session}"}`));
|
||||||
const results = await Promise.all(promises);
|
const results = await Promise.all(promises);
|
||||||
@ -69,16 +69,25 @@ const numberOfAlerts = async (widget, session) => {
|
|||||||
return alerts;
|
return alerts;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const getNewAlerts = async (widget, session) => {
|
||||||
|
const res = await activeCamCount(widget, session);
|
||||||
|
const promises = res.map(item => executeCMD(widget.url, `{"cmd":"alertlist", "camera":"${item.optionDisplay}", "session":"${session}", "view":"new"}`));
|
||||||
|
const results = await Promise.all(promises);
|
||||||
|
const alerts = results.reduce((acc, r) => acc + r.data.length, 0);
|
||||||
|
return alerts;
|
||||||
|
};
|
||||||
|
|
||||||
export default async function blueirisProxyHandler(req, res) {
|
export default async function blueirisProxyHandler(req, res) {
|
||||||
const widget = await getWidget(req);
|
const widget = await getWidget(req);
|
||||||
const globalUserData = await userLogin(widget);
|
const globalUserData = await userLogin(widget);
|
||||||
const activeCams = await activeCamCount(widget, globalUserData.session);
|
const activeCams = await activeCamCount(widget, globalUserData.session);
|
||||||
const alerts = await numberOfAlerts(widget, globalUserData.session);
|
const allAlerts = await getAllAlerts(widget, globalUserData.session);
|
||||||
|
const newAlerts = await getNewAlerts(widget, globalUserData.session);
|
||||||
const data = {
|
const data = {
|
||||||
"serverName":globalUserData.serverName,
|
"serverName":globalUserData.serverName,
|
||||||
"numberOfActiveCams":activeCams.length,
|
"numberOfActiveCams":activeCams.length,
|
||||||
"totalNumberOfAlerts":alerts,
|
"totalNumberOfAlerts":allAlerts,
|
||||||
|
"totalNumberOfNewAlerts":newAlerts
|
||||||
};
|
};
|
||||||
return res.status(200).send(data);
|
return res.status(200).send(data);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user