# Conflicts: # server/notification.js # src/components/notifications/index.js # src/languages/en.jspull/1228/head
commit
c52c8a4206
@ -0,0 +1,42 @@
|
|||||||
|
const NotificationProvider = require("./notification-provider");
|
||||||
|
const axios = require("axios");
|
||||||
|
|
||||||
|
class Gorush extends NotificationProvider {
|
||||||
|
|
||||||
|
name = "gorush";
|
||||||
|
|
||||||
|
async send(notification, msg, monitorJSON = null, heartbeatJSON = null) {
|
||||||
|
let okMsg = "Sent Successfully.";
|
||||||
|
|
||||||
|
let platformMapping = {
|
||||||
|
"ios": 1,
|
||||||
|
"android": 2,
|
||||||
|
"huawei": 3,
|
||||||
|
};
|
||||||
|
|
||||||
|
try {
|
||||||
|
let data = {
|
||||||
|
"notifications": [
|
||||||
|
{
|
||||||
|
"tokens": [notification.gorushDeviceToken],
|
||||||
|
"platform": platformMapping[notification.gorushPlatform],
|
||||||
|
"message": msg,
|
||||||
|
// Optional
|
||||||
|
"title": notification.gorushTitle,
|
||||||
|
"priority": notification.gorushPriority,
|
||||||
|
"retry": parseInt(notification.gorushRetry) || 0,
|
||||||
|
"topic": notification.gorushTopic,
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
|
let config = {};
|
||||||
|
|
||||||
|
await axios.post(`${notification.gorushServerURL}/api/push`, data, config);
|
||||||
|
return okMsg;
|
||||||
|
} catch (error) {
|
||||||
|
this.throwGeneralAxiosError(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = Gorush;
|
@ -0,0 +1,51 @@
|
|||||||
|
<template>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="gorush-device-token" class="form-label">{{ $t("Device Token") }}</label><span style="color: red;"><sup>*</sup></span>
|
||||||
|
<div class="input-group mb-3">
|
||||||
|
<input id="gorush-device-token" v-model="$parent.notification.gorushDeviceToken" type="text" class="form-control" required>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="gorush-server-url" class="form-label">{{ $t("Server URL") }}</label><span style="color: red;"><sup>*</sup></span>
|
||||||
|
<div class="input-group mb-3">
|
||||||
|
<input id="gorush-server-url" v-model="$parent.notification.gorushServerURL" type="text" class="form-control" required>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="gorush-platform" class="form-label">{{ $t("Platform") }}</label><span style="color: red;"><sup>*</sup></span>
|
||||||
|
<select id="gorush-platform" v-model="$parent.notification.gorushPlatform" class="form-select">
|
||||||
|
<option value="ios">{{ $t("iOS") }}</option>
|
||||||
|
<option value="android">{{ $t("Android") }}</option>
|
||||||
|
<option value="huawei">{{ $t("Huawei") }}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="gorush-title" class="form-label">{{ $t("Title") }}</label>
|
||||||
|
<input id="gorush-title" v-model="$parent.notification.gorushTitle" type="text" class="form-control">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="gorush-priority" class="form-label">{{ $t("Priority") }}</label>
|
||||||
|
<select id="gorush-priority" v-model="$parent.notification.gorushPriority" class="form-select">
|
||||||
|
<option value="normal">{{ $t("Normal") }}</option>
|
||||||
|
<option value="high">{{ $t("High") }}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="gorush-retry" class="form-label">{{ $t("Retry") }}</label>
|
||||||
|
<input id="gorush-retry" v-model="$parent.notification.gorushRetry" type="number" class="form-control">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="gorush-topic" class="form-label">{{ $t("Topic") }}</label>
|
||||||
|
<input id="gorush-topic" v-model="$parent.notification.gorushTopic" type="text" class="form-control">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-text">
|
||||||
|
<span style="color: red;"><sup>*</sup></span>{{ $t("Required") }}
|
||||||
|
</div>
|
||||||
|
</template>
|
Loading…
Reference in new issue