Undo my overzelous linter
This commit is contained in:
parent
10659d07b2
commit
246316f55b
|
@ -57,6 +57,7 @@ const ServerChan = require("./notification-providers/serverchan");
|
||||||
const ZohoCliq = require("./notification-providers/zoho-cliq");
|
const ZohoCliq = require("./notification-providers/zoho-cliq");
|
||||||
|
|
||||||
class Notification {
|
class Notification {
|
||||||
|
|
||||||
providerList = {};
|
providerList = {};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -125,10 +126,10 @@ class Notification {
|
||||||
new Webhook(),
|
new Webhook(),
|
||||||
new WeCom(),
|
new WeCom(),
|
||||||
new GoAlert(),
|
new GoAlert(),
|
||||||
new ZohoCliq(),
|
new ZohoCliq()
|
||||||
];
|
];
|
||||||
for (let item of list) {
|
for (let item of list) {
|
||||||
if (!item.name) {
|
if (! item.name) {
|
||||||
throw new Error("Notification provider without name");
|
throw new Error("Notification provider without name");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -148,19 +149,9 @@ class Notification {
|
||||||
* @returns {Promise<string>} Successful msg
|
* @returns {Promise<string>} Successful msg
|
||||||
* @throws Error with fail msg
|
* @throws Error with fail msg
|
||||||
*/
|
*/
|
||||||
static async send(
|
static async send(notification, msg, monitorJSON = null, heartbeatJSON = null) {
|
||||||
notification,
|
|
||||||
msg,
|
|
||||||
monitorJSON = null,
|
|
||||||
heartbeatJSON = null
|
|
||||||
) {
|
|
||||||
if (this.providerList[notification.type]) {
|
if (this.providerList[notification.type]) {
|
||||||
return this.providerList[notification.type].send(
|
return this.providerList[notification.type].send(notification, msg, monitorJSON, heartbeatJSON);
|
||||||
notification,
|
|
||||||
msg,
|
|
||||||
monitorJSON,
|
|
||||||
heartbeatJSON
|
|
||||||
);
|
|
||||||
} else {
|
} else {
|
||||||
throw new Error("Notification type is not supported");
|
throw new Error("Notification type is not supported");
|
||||||
}
|
}
|
||||||
|
@ -182,9 +173,10 @@ class Notification {
|
||||||
userID,
|
userID,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if (!bean) {
|
if (! bean) {
|
||||||
throw new Error("notification not found");
|
throw new Error("notification not found");
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
bean = R.dispense("notification");
|
bean = R.dispense("notification");
|
||||||
}
|
}
|
||||||
|
@ -214,7 +206,7 @@ class Notification {
|
||||||
userID,
|
userID,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if (!bean) {
|
if (! bean) {
|
||||||
throw new Error("notification not found");
|
throw new Error("notification not found");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -230,6 +222,7 @@ class Notification {
|
||||||
let exists = commandExistsSync("apprise");
|
let exists = commandExistsSync("apprise");
|
||||||
return exists;
|
return exists;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -240,17 +233,16 @@ class Notification {
|
||||||
*/
|
*/
|
||||||
async function applyNotificationEveryMonitor(notificationID, userID) {
|
async function applyNotificationEveryMonitor(notificationID, userID) {
|
||||||
let monitors = await R.getAll("SELECT id FROM monitor WHERE user_id = ?", [
|
let monitors = await R.getAll("SELECT id FROM monitor WHERE user_id = ?", [
|
||||||
userID,
|
userID
|
||||||
]);
|
]);
|
||||||
|
|
||||||
for (let i = 0; i < monitors.length; i++) {
|
for (let i = 0; i < monitors.length; i++) {
|
||||||
let checkNotification = await R.findOne(
|
let checkNotification = await R.findOne("monitor_notification", " monitor_id = ? AND notification_id = ? ", [
|
||||||
"monitor_notification",
|
monitors[i].id,
|
||||||
" monitor_id = ? AND notification_id = ? ",
|
notificationID,
|
||||||
[ monitors[i].id, notificationID ]
|
]);
|
||||||
);
|
|
||||||
|
|
||||||
if (!checkNotification) {
|
if (! checkNotification) {
|
||||||
let relation = R.dispense("monitor_notification");
|
let relation = R.dispense("monitor_notification");
|
||||||
relation.monitor_id = monitors[i].id;
|
relation.monitor_id = monitors[i].id;
|
||||||
relation.notification_id = notificationID;
|
relation.notification_id = notificationID;
|
||||||
|
|
|
@ -1,132 +1,62 @@
|
||||||
<template>
|
<template>
|
||||||
<form @submit.prevent="submit">
|
<form @submit.prevent="submit">
|
||||||
<div
|
<div ref="modal" class="modal fade" tabindex="-1" data-bs-backdrop="static">
|
||||||
ref="modal"
|
|
||||||
class="modal fade"
|
|
||||||
tabindex="-1"
|
|
||||||
data-bs-backdrop="static"
|
|
||||||
>
|
|
||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 id="exampleModalLabel" class="modal-title">
|
<h5 id="exampleModalLabel" class="modal-title">
|
||||||
{{ $t("Setup Notification") }}
|
{{ $t("Setup Notification") }}
|
||||||
</h5>
|
</h5>
|
||||||
<button
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close" />
|
||||||
type="button"
|
|
||||||
class="btn-close"
|
|
||||||
data-bs-dismiss="modal"
|
|
||||||
aria-label="Close"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="notification-type" class="form-label">{{
|
<label for="notification-type" class="form-label">{{ $t("Notification Type") }}</label>
|
||||||
$t("Notification Type")
|
<select id="notification-type" v-model="notification.type" class="form-select">
|
||||||
}}</label>
|
<option v-for="(name, type) in notificationNameList.regularList" :key="type" :value="type">{{ name }}</option>
|
||||||
<select
|
|
||||||
id="notification-type"
|
|
||||||
v-model="notification.type"
|
|
||||||
class="form-select"
|
|
||||||
>
|
|
||||||
<option
|
|
||||||
v-for="(
|
|
||||||
name, type
|
|
||||||
) in notificationNameList.regularList"
|
|
||||||
:key="type"
|
|
||||||
:value="type"
|
|
||||||
>
|
|
||||||
{{ name }}
|
|
||||||
</option>
|
|
||||||
<optgroup :label="$t('notificationRegional')">
|
<optgroup :label="$t('notificationRegional')">
|
||||||
<option
|
<option v-for="(name, type) in notificationNameList.regionalList" :key="type" :value="type">{{ name }}</option>
|
||||||
v-for="(
|
|
||||||
name, type
|
|
||||||
) in notificationNameList.regionalList"
|
|
||||||
:key="type"
|
|
||||||
:value="type"
|
|
||||||
>
|
|
||||||
{{ name }}
|
|
||||||
</option>
|
|
||||||
</optgroup>
|
</optgroup>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="notification-name" class="form-label">{{
|
<label for="notification-name" class="form-label">{{ $t("Friendly Name") }}</label>
|
||||||
$t("Friendly Name")
|
<input id="notification-name" v-model="notification.name" type="text" class="form-control" required>
|
||||||
}}</label>
|
|
||||||
<input
|
|
||||||
id="notification-name"
|
|
||||||
v-model="notification.name"
|
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
required
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- form body -->
|
<!-- form body -->
|
||||||
<component :is="currentForm" />
|
<component :is="currentForm" />
|
||||||
|
|
||||||
<div class="mb-3 mt-4">
|
<div class="mb-3 mt-4">
|
||||||
<hr class="dropdown-divider mb-4" />
|
<hr class="dropdown-divider mb-4">
|
||||||
|
|
||||||
<div class="form-check form-switch">
|
<div class="form-check form-switch">
|
||||||
<input
|
<input v-model="notification.isDefault" class="form-check-input" type="checkbox">
|
||||||
v-model="notification.isDefault"
|
<label class="form-check-label">{{ $t("Default enabled") }}</label>
|
||||||
class="form-check-input"
|
|
||||||
type="checkbox"
|
|
||||||
/>
|
|
||||||
<label class="form-check-label">{{
|
|
||||||
$t("Default enabled")
|
|
||||||
}}</label>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="form-text">
|
<div class="form-text">
|
||||||
{{ $t("enableDefaultNotificationDescription") }}
|
{{ $t("enableDefaultNotificationDescription") }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<br />
|
<br>
|
||||||
|
|
||||||
<div class="form-check form-switch">
|
<div class="form-check form-switch">
|
||||||
<input
|
<input v-model="notification.applyExisting" class="form-check-input" type="checkbox">
|
||||||
v-model="notification.applyExisting"
|
<label class="form-check-label">{{ $t("Apply on all existing monitors") }}</label>
|
||||||
class="form-check-input"
|
|
||||||
type="checkbox"
|
|
||||||
/>
|
|
||||||
<label class="form-check-label">{{
|
|
||||||
$t("Apply on all existing monitors")
|
|
||||||
}}</label>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button
|
<button v-if="id" type="button" class="btn btn-danger" :disabled="processing" @click="deleteConfirm">
|
||||||
v-if="id"
|
|
||||||
type="button"
|
|
||||||
class="btn btn-danger"
|
|
||||||
:disabled="processing"
|
|
||||||
@click="deleteConfirm"
|
|
||||||
>
|
|
||||||
{{ $t("Delete") }}
|
{{ $t("Delete") }}
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button type="button" class="btn btn-warning" :disabled="processing" @click="test">
|
||||||
type="button"
|
|
||||||
class="btn btn-warning"
|
|
||||||
:disabled="processing"
|
|
||||||
@click="test"
|
|
||||||
>
|
|
||||||
{{ $t("Test") }}
|
{{ $t("Test") }}
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button type="submit" class="btn btn-primary" :disabled="processing">
|
||||||
type="submit"
|
<div v-if="processing" class="spinner-border spinner-border-sm me-1"></div>
|
||||||
class="btn btn-primary"
|
|
||||||
:disabled="processing"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
v-if="processing"
|
|
||||||
class="spinner-border spinner-border-sm me-1"
|
|
||||||
></div>
|
|
||||||
{{ $t("Save") }}
|
{{ $t("Save") }}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -135,13 +65,7 @@
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<Confirm
|
<Confirm ref="confirmDelete" btn-style="btn-danger" :yes-text="$t('Yes')" :no-text="$t('No')" @yes="deleteNotification">
|
||||||
ref="confirmDelete"
|
|
||||||
btn-style="btn-danger"
|
|
||||||
:yes-text="$t('Yes')"
|
|
||||||
:no-text="$t('No')"
|
|
||||||
@yes="deleteNotification"
|
|
||||||
>
|
|
||||||
{{ $t("deleteNotificationMsg") }}
|
{{ $t("deleteNotificationMsg") }}
|
||||||
</Confirm>
|
</Confirm>
|
||||||
</template>
|
</template>
|
||||||
|
@ -197,7 +121,6 @@ export default {
|
||||||
"gotify": "Gotify",
|
"gotify": "Gotify",
|
||||||
"GrafanaOncall": "Grafana Oncall",
|
"GrafanaOncall": "Grafana Oncall",
|
||||||
"HomeAssistant": "Home Assistant",
|
"HomeAssistant": "Home Assistant",
|
||||||
"HeiiOnCall": "Heii On-Call",
|
|
||||||
"Kook": "Kook",
|
"Kook": "Kook",
|
||||||
"line": "LINE Messenger",
|
"line": "LINE Messenger",
|
||||||
"LineNotify": "LINE Notify",
|
"LineNotify": "LINE Notify",
|
||||||
|
@ -407,8 +330,7 @@ export default {
|
||||||
@import "../assets/vars.scss";
|
@import "../assets/vars.scss";
|
||||||
|
|
||||||
.dark {
|
.dark {
|
||||||
.modal-dialog .form-text,
|
.modal-dialog .form-text, .modal-dialog p {
|
||||||
.modal-dialog p {
|
|
||||||
color: $dark-font-color;
|
color: $dark-font-color;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue