@taoya785/flow-bark
Version:
Bark notification plugin for activepieces
64 lines (60 loc) • 2.14 kB
JavaScript
'use strict';
const piecesFramework = require('@activepieces/pieces-framework');
const auth = require('../auth.js');
const utils = require('../common/utils.js');
const sendCriticalAction = piecesFramework.createAction({
name: "send_critical",
displayName: "\u53D1\u9001\u91CD\u8981\u8B66\u544A",
description: "\u53D1\u9001\u4E00\u4E2A\u91CD\u8981\u8B66\u544A\u901A\u77E5\uFF0C\u4F1A\u7A81\u7834\u9759\u97F3\u548C\u52FF\u6270\u6A21\u5F0F",
auth: auth.auth,
requireAuth: true,
props: {
title: piecesFramework.Property.ShortText({
displayName: "\u6807\u9898",
description: "\u8B66\u544A\u901A\u77E5\u7684\u6807\u9898",
required: false
}),
body: piecesFramework.Property.LongText({
displayName: "\u5185\u5BB9",
description: "\u8B66\u544A\u901A\u77E5\u7684\u5185\u5BB9",
required: true
}),
sound: piecesFramework.Property.StaticDropdown({
displayName: "\u63D0\u793A\u97F3",
description: "\u8B66\u544A\u901A\u77E5\u7684\u63D0\u793A\u97F3",
required: false,
defaultValue: "alarm",
options: {
disabled: false,
options: [
{ label: "\u8B66\u62A5", value: "alarm" },
{ label: "\u9884\u8B66", value: "anticipate" },
{ label: "\u94C3\u58F0", value: "bell" },
{ label: "\u4FE1\u53F7", value: "horn" }
]
}
}),
call: piecesFramework.Property.Checkbox({
displayName: "\u8FDE\u7EED\u54CD\u94C3",
description: "\u8BBE\u7F6E\u8B66\u544A\u94C3\u58F0\u662F\u5426\u5FAA\u73AF\u64AD\u653E",
required: false,
defaultValue: true
})
},
async run({ auth: auth2, propsValue }) {
const { baseUrl, key } = auth2;
const { title, body, sound, call } = propsValue;
const pushUrl = utils.buildBarkUrl(baseUrl, key, title, void 0, body);
const params = {
level: "critical"
// 重要警告级别
};
if (sound)
params.sound = sound;
if (call)
params.call = "1";
const response = await utils.sendBarkNotification(pushUrl, params);
return response.body;
}
});
exports.sendCriticalAction = sendCriticalAction;