@things-factory/integration-notification 7.0.1-beta.8 → 7.0.1-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ import './task';
@@ -0,0 +1 @@
1
+ import './notification';
@@ -0,0 +1 @@
1
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"notification.js","sourceRoot":"","sources":["../../../server/engine/task/notification.ts"],"names":[],"mappings":"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","sourcesContent":["import { ILike } from 'typeorm'\nimport { VM } from 'vm2'\n\nimport { User } from '@things-factory/auth-base'\nimport { TaskRegistry } from '@things-factory/integration-base'\nimport { notify } from '@things-factory/notification'\nimport { getRepository, pubsub } from '@things-factory/shell'\n\nasync function Notification(step, { logger, domain, user, data, variables }) {\n var {\n params: { level: type, receivers, title, image, url, body, push = false }\n } = step\n\n if (!receivers || !title || !body) {\n throw Error(`receivers, title and body should be defined: receivers - '${receivers}', title - '${title}', body - '${body}'`)\n }\n\n const repository = getRepository(User)\n\n // TODO filter only users having current domain privilege\n receivers = (\n await Promise.all(\n receivers\n .split(',')\n .map(email => email.trim())\n .map(async email => {\n var receiver: User = await repository.findOneBy({ email: ILike(email) })\n return receiver && receiver.id\n })\n )\n ).filter(receiver => !!receiver)\n\n const vm = new VM({\n sandbox: {\n domain,\n user,\n data,\n variables\n }\n })\n\n body = vm.run('`' + body + '`')\n const timestamp = String(Date.now())\n\n if (push) {\n await notify({\n receivers,\n privileges: undefined,\n tokens: undefined,\n topic: undefined,\n title,\n body,\n data: {\n url,\n timestamp\n },\n image,\n actions: undefined\n })\n } else {\n await pubsub.publish('notification', {\n notification: {\n domain,\n type,\n subject: type || 'info',\n title,\n body,\n image,\n url,\n timestamp\n }\n })\n }\n\n return {\n data: true\n }\n}\n\nNotification.parameterSpec = [\n {\n type: 'select',\n name: 'level',\n label: 'level',\n property: {\n options: ['', 'info', 'warn', 'error']\n }\n },\n {\n type: 'string',\n name: 'receivers',\n label: 'receivers'\n },\n {\n type: 'string',\n name: 'title',\n label: 'title'\n },\n {\n type: 'string',\n name: 'image',\n label: 'image'\n },\n {\n type: 'string',\n name: 'url',\n label: 'url'\n },\n {\n type: 'textarea',\n name: 'body',\n label: 'message-body',\n property: {\n language: 'text',\n showLineNumbers: true\n },\n styles: {\n flex: '1'\n }\n },\n {\n type: 'checkbox',\n name: 'push',\n label: 'push-notification'\n }\n]\n\nNotification.connectorFree = true\nNotification.help = 'integration/task/notification'\n\nTaskRegistry.registerTaskHandler('notification', Notification)\n"]}
1
+ {"version":3,"file":"notification.js","sourceRoot":"","sources":["../../../server/engine/task/notification.ts"],"names":[],"mappings":"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","sourcesContent":["import { ILike } from 'typeorm'\nimport { VM } from 'vm2'\n\nimport { User } from '@things-factory/auth-base'\nimport { TaskRegistry } from '@things-factory/integration-base'\nimport { notify } from '@things-factory/notification'\nimport { getRepository, pubsub } from '@things-factory/shell'\n\nasync function Notification(step, { logger, domain, user, data, variables }) {\n var {\n params: { level: type, receivers, title, image, url, body, push = false }\n } = step\n\n if (!receivers || !title || !body) {\n throw Error(`receivers, title and body should be defined: receivers - '${receivers}', title - '${title}', body - '${body}'`)\n }\n\n const repository = getRepository(User)\n\n // TODO filter only users having current domain privilege\n receivers = (\n await Promise.all(\n receivers\n .split(',')\n .map(email => email.trim())\n .map(async email => {\n var receiver: User = await repository.findOneBy({ email: ILike(email) })\n return receiver && receiver.id\n })\n )\n ).filter(receiver => !!receiver)\n\n const vm = new VM({\n sandbox: {\n domain,\n user,\n data,\n variables\n }\n })\n\n body = vm.run('`' + body + '`')\n const timestamp = String(Date.now())\n\n if (push) {\n await notify({\n receivers,\n privileges: undefined,\n tokens: undefined,\n topic: undefined,\n title,\n body,\n data: {\n url,\n timestamp\n },\n image,\n actions: undefined\n })\n } else {\n await pubsub.publish('notification', {\n notification: {\n domain,\n type,\n subject: type || 'info',\n title,\n body,\n image,\n url,\n timestamp\n }\n })\n }\n\n return {\n data: true\n }\n}\n\nNotification.parameterSpec = [\n {\n type: 'select',\n name: 'level',\n label: 'level',\n property: {\n options: ['', 'info', 'warn', 'error']\n }\n },\n {\n type: 'string',\n name: 'receivers',\n label: 'receivers'\n },\n {\n type: 'string',\n name: 'title',\n label: 'title'\n },\n {\n type: 'string',\n name: 'image',\n label: 'image'\n },\n {\n type: 'string',\n name: 'url',\n label: 'url'\n },\n {\n type: 'textarea',\n name: 'body',\n label: 'message-body',\n property: {\n language: 'text',\n showLineNumbers: true\n },\n styles: {\n flex: '1'\n }\n },\n {\n type: 'checkbox',\n name: 'push',\n label: 'push-notification'\n }\n]\n\nNotification.connectorFree = true\nNotification.help = 'integration/task/notification'\n\nTaskRegistry.registerTaskHandler('notification', Notification)\n"]}
@@ -0,0 +1 @@
1
+ import './engine';