@flink-app/firebase-messaging-plugin 1.0.0 → 2.0.0-alpha.100

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.
Files changed (58) hide show
  1. package/.flink/generatedAgents.ts +5 -0
  2. package/.flink/generatedHandlers.ts +2 -2
  3. package/.flink/generatedJobs.ts +1 -1
  4. package/.flink/generatedRepos.ts +1 -1
  5. package/.flink/generatedServices.ts +5 -0
  6. package/.flink/generatedTools.ts +5 -0
  7. package/.flink/schema-cache.json +92 -0
  8. package/.flink/schemas/schemas.json +53 -42
  9. package/.flink/start.ts +4 -1
  10. package/CHANGELOG.md +424 -0
  11. package/dist/.flink/generatedAgents.d.ts +1 -0
  12. package/dist/.flink/generatedAgents.js +14 -0
  13. package/dist/.flink/generatedAgents.js.map +1 -0
  14. package/dist/.flink/generatedHandlers.js +59 -28
  15. package/dist/.flink/generatedHandlers.js.map +1 -0
  16. package/dist/.flink/generatedJobs.js +13 -6
  17. package/dist/.flink/generatedJobs.js.map +1 -0
  18. package/dist/.flink/generatedRepos.js +13 -6
  19. package/dist/.flink/generatedRepos.js.map +1 -0
  20. package/dist/.flink/generatedServices.js +14 -0
  21. package/dist/.flink/generatedServices.js.map +1 -0
  22. package/dist/.flink/generatedTools.d.ts +1 -0
  23. package/dist/.flink/generatedTools.js +14 -0
  24. package/dist/.flink/generatedTools.js.map +1 -0
  25. package/dist/.flink/schema-manifest.json +104 -0
  26. package/dist/.flink/schemas/schemas.d.ts +2 -2
  27. package/dist/.flink/schemas/schemas.json +53 -42
  28. package/dist/.flink/start.d.ts +2 -0
  29. package/dist/.flink/start.js +15 -3
  30. package/dist/.flink/start.js.map +1 -0
  31. package/dist/.tsbuildinfo +1 -0
  32. package/dist/src/FirebaseMessagingContext.js +3 -1
  33. package/dist/src/FirebaseMessagingContext.js.map +1 -0
  34. package/dist/src/ManagementModule.js +69 -46
  35. package/dist/src/ManagementModule.js.map +1 -0
  36. package/dist/src/firebaseMessagingPlugin.js +177 -152
  37. package/dist/src/firebaseMessagingPlugin.js.map +1 -0
  38. package/dist/src/handlers/PostMessage.d.ts +1 -2
  39. package/dist/src/handlers/PostMessage.js +27 -55
  40. package/dist/src/handlers/PostMessage.js.map +1 -0
  41. package/dist/src/index.js +19 -18
  42. package/dist/src/index.js.map +1 -0
  43. package/dist/src/managementHandlers/Get.js +29 -61
  44. package/dist/src/managementHandlers/Get.js.map +1 -0
  45. package/dist/src/managementHandlers/PostMessage.js +41 -78
  46. package/dist/src/managementHandlers/PostMessage.js.map +1 -0
  47. package/dist/src/schemas/ManagementGet.js +3 -1
  48. package/dist/src/schemas/ManagementGet.js.map +1 -0
  49. package/dist/src/schemas/ManagementModule.js +3 -1
  50. package/dist/src/schemas/ManagementModule.js.map +1 -0
  51. package/dist/src/schemas/ManagementPostMessage.js +3 -1
  52. package/dist/src/schemas/ManagementPostMessage.js.map +1 -0
  53. package/dist/src/schemas/Message.js +3 -1
  54. package/dist/src/schemas/Message.js.map +1 -0
  55. package/dist/src/schemas/SendResult.js +3 -1
  56. package/dist/src/schemas/SendResult.js.map +1 -0
  57. package/package.json +6 -3
  58. package/.flink/schemas/schemas.ts +0 -7
@@ -1,171 +1,196 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- var desc = Object.getOwnPropertyDescriptor(m, k);
16
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
- desc = { enumerable: true, get: function() { return m[k]; } };
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "firebaseMessagingPlugin", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return firebaseMessagingPlugin;
18
9
  }
19
- Object.defineProperty(o, k2, desc);
20
- }) : (function(o, m, k, k2) {
21
- if (k2 === undefined) k2 = k;
22
- o[k2] = m[k];
23
- }));
24
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
- Object.defineProperty(o, "default", { enumerable: true, value: v });
26
- }) : function(o, v) {
27
- o["default"] = v;
28
10
  });
29
- var __importStar = (this && this.__importStar) || function (mod) {
30
- if (mod && mod.__esModule) return mod;
31
- var result = {};
32
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
- __setModuleDefault(result, mod);
34
- return result;
35
- };
36
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
37
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
38
- return new (P || (P = Promise))(function (resolve, reject) {
39
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
40
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
41
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
42
- step((generator = generator.apply(thisArg, _arguments || [])).next());
43
- });
44
- };
45
- var __generator = (this && this.__generator) || function (thisArg, body) {
46
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
47
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
48
- function verb(n) { return function (v) { return step([n, v]); }; }
49
- function step(op) {
50
- if (f) throw new TypeError("Generator is already executing.");
51
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
52
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
53
- if (y = 0, t) op = [op[0] & 2, t.value];
54
- switch (op[0]) {
55
- case 0: case 1: t = op; break;
56
- case 4: _.label++; return { value: op[1], done: false };
57
- case 5: _.label++; y = op[1]; op = [0]; continue;
58
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
59
- default:
60
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
61
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
62
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
63
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
64
- if (t[2]) _.ops.pop();
65
- _.trys.pop(); continue;
11
+ const _flink = require("@flink-app/flink");
12
+ const _PostMessage = /*#__PURE__*/ _interop_require_wildcard(require("./handlers/PostMessage"));
13
+ const _firebaseadmin = /*#__PURE__*/ _interop_require_default(require("firebase-admin"));
14
+ function _define_property(obj, key, value) {
15
+ if (key in obj) {
16
+ Object.defineProperty(obj, key, {
17
+ value: value,
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true
21
+ });
22
+ } else {
23
+ obj[key] = value;
24
+ }
25
+ return obj;
26
+ }
27
+ function _interop_require_default(obj) {
28
+ return obj && obj.__esModule ? obj : {
29
+ default: obj
30
+ };
31
+ }
32
+ function _getRequireWildcardCache(nodeInterop) {
33
+ if (typeof WeakMap !== "function") return null;
34
+ var cacheBabelInterop = new WeakMap();
35
+ var cacheNodeInterop = new WeakMap();
36
+ return (_getRequireWildcardCache = function(nodeInterop) {
37
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
38
+ })(nodeInterop);
39
+ }
40
+ function _interop_require_wildcard(obj, nodeInterop) {
41
+ if (!nodeInterop && obj && obj.__esModule) {
42
+ return obj;
43
+ }
44
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
45
+ return {
46
+ default: obj
47
+ };
48
+ }
49
+ var cache = _getRequireWildcardCache(nodeInterop);
50
+ if (cache && cache.has(obj)) {
51
+ return cache.get(obj);
52
+ }
53
+ var newObj = {
54
+ __proto__: null
55
+ };
56
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
57
+ for(var key in obj){
58
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
59
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
60
+ if (desc && (desc.get || desc.set)) {
61
+ Object.defineProperty(newObj, key, desc);
62
+ } else {
63
+ newObj[key] = obj[key];
66
64
  }
67
- op = body.call(thisArg, _);
68
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
69
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
65
+ }
70
66
  }
71
- };
72
- var __rest = (this && this.__rest) || function (s, e) {
73
- var t = {};
74
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
75
- t[p] = s[p];
76
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
77
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
78
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
79
- t[p[i]] = s[p[i]];
67
+ newObj.default = obj;
68
+ if (cache) {
69
+ cache.set(obj, newObj);
70
+ }
71
+ return newObj;
72
+ }
73
+ function _object_spread(target) {
74
+ for(var i = 1; i < arguments.length; i++){
75
+ var source = arguments[i] != null ? arguments[i] : {};
76
+ var ownKeys = Object.keys(source);
77
+ if (typeof Object.getOwnPropertySymbols === "function") {
78
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
79
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
80
+ }));
80
81
  }
81
- return t;
82
- };
83
- var __importDefault = (this && this.__importDefault) || function (mod) {
84
- return (mod && mod.__esModule) ? mod : { "default": mod };
85
- };
86
- Object.defineProperty(exports, "__esModule", { value: true });
87
- exports.firebaseMessagingPlugin = void 0;
88
- var flink_1 = require("@flink-app/flink");
89
- var PostMessage = __importStar(require("./handlers/PostMessage"));
90
- var firebase_admin_1 = __importDefault(require("firebase-admin"));
91
- var firebaseMessagingPlugin = function (options) {
92
- var decodedKey = Buffer.from(options.serviceAccountKey, "base64").toString("utf-8");
93
- var adminAdpp = firebase_admin_1.default.initializeApp({
94
- credential: firebase_admin_1.default.credential.cert(JSON.parse(decodedKey)),
82
+ ownKeys.forEach(function(key) {
83
+ _define_property(target, key, source[key]);
84
+ });
85
+ }
86
+ return target;
87
+ }
88
+ function ownKeys(object, enumerableOnly) {
89
+ var keys = Object.keys(object);
90
+ if (Object.getOwnPropertySymbols) {
91
+ var symbols = Object.getOwnPropertySymbols(object);
92
+ if (enumerableOnly) {
93
+ symbols = symbols.filter(function(sym) {
94
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
95
+ });
96
+ }
97
+ keys.push.apply(keys, symbols);
98
+ }
99
+ return keys;
100
+ }
101
+ function _object_spread_props(target, source) {
102
+ source = source != null ? source : {};
103
+ if (Object.getOwnPropertyDescriptors) {
104
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
105
+ } else {
106
+ ownKeys(Object(source)).forEach(function(key) {
107
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
108
+ });
109
+ }
110
+ return target;
111
+ }
112
+ function _object_without_properties(source, excluded) {
113
+ if (source == null) return {};
114
+ var target = {}, sourceKeys, key, i;
115
+ if (typeof Reflect !== "undefined" && Reflect.ownKeys) {
116
+ sourceKeys = Reflect.ownKeys(Object(source));
117
+ for(i = 0; i < sourceKeys.length; i++){
118
+ key = sourceKeys[i];
119
+ if (excluded.indexOf(key) >= 0) continue;
120
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
121
+ target[key] = source[key];
122
+ }
123
+ return target;
124
+ }
125
+ target = _object_without_properties_loose(source, excluded);
126
+ if (Object.getOwnPropertySymbols) {
127
+ sourceKeys = Object.getOwnPropertySymbols(source);
128
+ for(i = 0; i < sourceKeys.length; i++){
129
+ key = sourceKeys[i];
130
+ if (excluded.indexOf(key) >= 0) continue;
131
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
132
+ target[key] = source[key];
133
+ }
134
+ }
135
+ return target;
136
+ }
137
+ function _object_without_properties_loose(source, excluded) {
138
+ if (source == null) return {};
139
+ var target = {}, sourceKeys = Object.getOwnPropertyNames(source), key, i;
140
+ for(i = 0; i < sourceKeys.length; i++){
141
+ key = sourceKeys[i];
142
+ if (excluded.indexOf(key) >= 0) continue;
143
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
144
+ target[key] = source[key];
145
+ }
146
+ return target;
147
+ }
148
+ const firebaseMessagingPlugin = (options)=>{
149
+ const decodedKey = Buffer.from(options.serviceAccountKey, "base64").toString("utf-8");
150
+ const adminAdpp = _firebaseadmin.default.initializeApp({
151
+ credential: _firebaseadmin.default.credential.cert(JSON.parse(decodedKey))
95
152
  });
96
153
  return {
97
154
  id: "firebaseMessaging",
98
155
  ctx: {
99
- send: function (message) { return send(message, adminAdpp); },
156
+ send: (message)=>send(message, adminAdpp)
100
157
  },
101
- init: function (app) { return __awaiter(void 0, void 0, void 0, function () {
102
- var _a;
103
- return __generator(this, function (_b) {
104
- app.addHandler(PostMessage, {
105
- permissions: [((_a = options.permissions) === null || _a === void 0 ? void 0 : _a.send) || "firebase-messaging:send"],
106
- });
107
- return [2 /*return*/];
158
+ init: async (app)=>{
159
+ var _options_permissions;
160
+ app.addHandler(_PostMessage, {
161
+ permissions: [
162
+ ((_options_permissions = options.permissions) === null || _options_permissions === void 0 ? void 0 : _options_permissions.send) || "firebase-messaging:send"
163
+ ]
108
164
  });
109
- }); },
165
+ }
110
166
  };
111
167
  };
112
- exports.firebaseMessagingPlugin = firebaseMessagingPlugin;
113
168
  /**
114
169
  * Send push notification.
115
- */
116
- function send(message, adminApp) {
117
- return __awaiter(this, void 0, void 0, function () {
118
- var messages, batchSize, _loop_1, i;
119
- return __generator(this, function (_a) {
120
- switch (_a.label) {
121
- case 0:
122
- messages = message.to.map(function (to) {
123
- var toArray = message.to, rest = __rest(message, ["to"]);
124
- return __assign(__assign({}, rest), { token: to });
125
- });
126
- batchSize = 500;
127
- _loop_1 = function (i) {
128
- var batch, response, err_1;
129
- return __generator(this, function (_b) {
130
- switch (_b.label) {
131
- case 0:
132
- batch = messages.slice(i, i + batchSize);
133
- _b.label = 1;
134
- case 1:
135
- _b.trys.push([1, 3, , 4]);
136
- return [4 /*yield*/, adminApp.messaging().sendEach(batch)];
137
- case 2:
138
- response = _b.sent();
139
- response.responses.forEach(function (res, idx) {
140
- if (res.success) {
141
- flink_1.log.debug("[firebaseMessaging] Successfully sent to device ".concat(batch[idx].token));
142
- }
143
- else {
144
- flink_1.log.debug("[firebaseMessaging] Failed sending to device ".concat(batch[idx].token, ": ").concat(res.error));
145
- }
146
- });
147
- return [3 /*break*/, 4];
148
- case 3:
149
- err_1 = _b.sent();
150
- flink_1.log.debug("[firebaseMessaging] Failed sending batch: ".concat(err_1));
151
- return [3 /*break*/, 4];
152
- case 4: return [2 /*return*/];
153
- }
154
- });
155
- };
156
- i = 0;
157
- _a.label = 1;
158
- case 1:
159
- if (!(i < messages.length)) return [3 /*break*/, 4];
160
- return [5 /*yield**/, _loop_1(i)];
161
- case 2:
162
- _a.sent();
163
- _a.label = 3;
164
- case 3:
165
- i += batchSize;
166
- return [3 /*break*/, 1];
167
- case 4: return [2 /*return*/];
168
- }
170
+ */ async function send(message, adminApp) {
171
+ const messages = message.to.map((to)=>{
172
+ const { to: toArray } = message, rest = _object_without_properties(message, [
173
+ "to"
174
+ ]);
175
+ return _object_spread_props(_object_spread({}, rest), {
176
+ token: to
169
177
  });
170
178
  });
179
+ // Split messages into batches of 500
180
+ const batchSize = 500;
181
+ for(let i = 0; i < messages.length; i += batchSize){
182
+ const batch = messages.slice(i, i + batchSize);
183
+ try {
184
+ const response = await adminApp.messaging().sendEach(batch);
185
+ response.responses.forEach((res, idx)=>{
186
+ if (res.success) {
187
+ _flink.log.debug(`[firebaseMessaging] Successfully sent to device ${batch[idx].token}`);
188
+ } else {
189
+ _flink.log.debug(`[firebaseMessaging] Failed sending to device ${batch[idx].token}: ${res.error}`);
190
+ }
191
+ });
192
+ } catch (err) {
193
+ _flink.log.debug(`[firebaseMessaging] Failed sending batch: ${err}`);
194
+ }
195
+ }
171
196
  }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/joel/projects/flink/flink-framework/packages/firebase-messaging-plugin/src/firebaseMessagingPlugin.ts"],"sourcesContent":["import { FlinkPlugin, log } from \"@flink-app/flink\";\n\nimport * as PostMessage from \"./handlers/PostMessage\";\nimport Message from \"./schemas/Message\";\nimport admin from \"firebase-admin\";\n\nexport type FirebaseMessagingPluginOptions = {\n /**\n * Firebase server key\n */\n\n serviceAccountKey: string;\n\n /**\n * If to expose endpoints for sending push notification.\n */\n exposeEndpoints?: boolean;\n\n permissions?: {\n send: string;\n };\n};\n\nexport const firebaseMessagingPlugin = (options: FirebaseMessagingPluginOptions): FlinkPlugin => {\n const decodedKey = Buffer.from(options.serviceAccountKey, \"base64\").toString(\"utf-8\");\n\n const adminAdpp = admin.initializeApp({\n credential: admin.credential.cert(JSON.parse(decodedKey)),\n });\n\n return {\n id: \"firebaseMessaging\",\n ctx: {\n send: (message: Message) => send(message, adminAdpp),\n },\n init: async (app) => {\n app.addHandler(PostMessage, {\n permissions: [options.permissions?.send || \"firebase-messaging:send\"],\n });\n },\n };\n};\n\n/**\n * Send push notification.\n */\nasync function send(message: Message, adminApp: admin.app.App) {\n const messages = message.to.map((to) => {\n const { to: toArray, ...rest } = message;\n return { ...rest, token: to };\n });\n\n // Split messages into batches of 500\n const batchSize = 500;\n for (let i = 0; i < messages.length; i += batchSize) {\n const batch = messages.slice(i, i + batchSize);\n\n try {\n const response = await adminApp.messaging().sendEach(batch);\n response.responses.forEach((res, idx) => {\n if (res.success) {\n log.debug(`[firebaseMessaging] Successfully sent to device ${batch[idx].token}`);\n } else {\n log.debug(`[firebaseMessaging] Failed sending to device ${batch[idx].token}: ${res.error}`);\n }\n });\n } catch (err: any) {\n log.debug(`[firebaseMessaging] Failed sending batch: ${err}`);\n }\n }\n}\n"],"names":["firebaseMessagingPlugin","options","decodedKey","Buffer","from","serviceAccountKey","toString","adminAdpp","admin","initializeApp","credential","cert","JSON","parse","id","ctx","send","message","init","app","addHandler","PostMessage","permissions","adminApp","messages","to","map","toArray","rest","token","batchSize","i","length","batch","slice","response","messaging","sendEach","responses","forEach","res","idx","success","log","debug","error","err"],"mappings":";;;;+BAuBaA;;;eAAAA;;;uBAvBoB;qEAEJ;sEAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBX,MAAMA,0BAA0B,CAACC;IACpC,MAAMC,aAAaC,OAAOC,IAAI,CAACH,QAAQI,iBAAiB,EAAE,UAAUC,QAAQ,CAAC;IAE7E,MAAMC,YAAYC,sBAAK,CAACC,aAAa,CAAC;QAClCC,YAAYF,sBAAK,CAACE,UAAU,CAACC,IAAI,CAACC,KAAKC,KAAK,CAACX;IACjD;IAEA,OAAO;QACHY,IAAI;QACJC,KAAK;YACDC,MAAM,CAACC,UAAqBD,KAAKC,SAASV;QAC9C;QACAW,MAAM,OAAOC;gBAESlB;YADlBkB,IAAIC,UAAU,CAACC,cAAa;gBACxBC,aAAa;oBAACrB,EAAAA,uBAAAA,QAAQqB,WAAW,cAAnBrB,2CAAAA,qBAAqBe,IAAI,KAAI;iBAA0B;YACzE;QACJ;IACJ;AACJ;AAEA;;CAEC,GACD,eAAeA,KAAKC,OAAgB,EAAEM,QAAuB;IACzD,MAAMC,WAAWP,QAAQQ,EAAE,CAACC,GAAG,CAAC,CAACD;QAC7B,MAAM,EAAEA,IAAIE,OAAO,EAAW,GAAGV,SAATW,kCAASX;;;QACjC,OAAO,wCAAKW;YAAMC,OAAOJ;;IAC7B;IAEA,qCAAqC;IACrC,MAAMK,YAAY;IAClB,IAAK,IAAIC,IAAI,GAAGA,IAAIP,SAASQ,MAAM,EAAED,KAAKD,UAAW;QACjD,MAAMG,QAAQT,SAASU,KAAK,CAACH,GAAGA,IAAID;QAEpC,IAAI;YACA,MAAMK,WAAW,MAAMZ,SAASa,SAAS,GAAGC,QAAQ,CAACJ;YACrDE,SAASG,SAAS,CAACC,OAAO,CAAC,CAACC,KAAKC;gBAC7B,IAAID,IAAIE,OAAO,EAAE;oBACbC,UAAG,CAACC,KAAK,CAAC,CAAC,gDAAgD,EAAEX,KAAK,CAACQ,IAAI,CAACZ,KAAK,EAAE;gBACnF,OAAO;oBACHc,UAAG,CAACC,KAAK,CAAC,CAAC,6CAA6C,EAAEX,KAAK,CAACQ,IAAI,CAACZ,KAAK,CAAC,EAAE,EAAEW,IAAIK,KAAK,EAAE;gBAC9F;YACJ;QACJ,EAAE,OAAOC,KAAU;YACfH,UAAG,CAACC,KAAK,CAAC,CAAC,0CAA0C,EAAEE,KAAK;QAChE;IACJ;AACJ"}
@@ -5,5 +5,4 @@ import SendResult from "../schemas/SendResult";
5
5
  export declare const Route: RouteProps;
6
6
  declare const PostMessage: Handler<FlinkContext<FirebaseMessagingContext>, Message, SendResult>;
7
7
  export default PostMessage;
8
- export declare const __assumedHttpMethod = "post", __file = "PostMessage.ts", __query: never[], __params: never[];
9
- export declare const __schemas: any;
8
+ export declare const __assumedHttpMethod = "post", __file = "src/handlers/PostMessage.ts", __query: never[], __params: never[];
@@ -1,61 +1,33 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
9
  });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
10
+ }
11
+ _export(exports, {
12
+ get Route () {
13
+ return Route;
14
+ },
15
+ get default () {
16
+ return _default;
36
17
  }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.__schemas = exports.__params = exports.__query = exports.__file = exports.__assumedHttpMethod = exports.Route = void 0;
40
- var flink_1 = require("@flink-app/flink");
41
- exports.Route = {
42
- method: flink_1.HttpMethod.post,
18
+ });
19
+ const _flink = require("@flink-app/flink");
20
+ const Route = {
21
+ method: _flink.HttpMethod.post,
43
22
  path: "/send-message",
44
- docs: "Publishes push notification to one or multiple devices",
23
+ docs: "Publishes push notification to one or multiple devices"
45
24
  };
46
- var PostMessage = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
47
- var ctx = _b.ctx, req = _b.req;
48
- return __generator(this, function (_c) {
49
- switch (_c.label) {
50
- case 0: return [4 /*yield*/, ctx.plugins.firebaseMessaging.send(req.body)];
51
- case 1:
52
- _c.sent();
53
- return [2 /*return*/, {
54
- data: { failedDevices: [] }, // TODO
55
- }];
25
+ const PostMessage = async ({ ctx, req })=>{
26
+ await ctx.plugins.firebaseMessaging.send(req.body);
27
+ return {
28
+ data: {
29
+ failedDevices: []
56
30
  }
57
- });
58
- }); };
59
- exports.default = PostMessage;
60
- exports.__assumedHttpMethod = "post", exports.__file = "PostMessage.ts", exports.__query = [], exports.__params = [];
61
- exports.__schemas = { reqSchema: { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "additionalProperties": false, "properties": { "to": { "type": "array", "items": { "type": "string" } }, "notification": { "type": "object", "properties": { "title": { "type": "string" }, "body": { "type": "string" } }, "additionalProperties": false }, "data": { "type": "object", "additionalProperties": { "type": "string" } } }, "required": ["data", "to"], "definitions": {} }, resSchema: { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "additionalProperties": false, "properties": { "failedDevices": { "type": "array", "items": { "type": "string" } } }, "required": ["failedDevices"], "definitions": {} } };
31
+ };
32
+ };
33
+ const _default = PostMessage;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/joel/projects/flink/flink-framework/packages/firebase-messaging-plugin/src/handlers/PostMessage.ts"],"sourcesContent":["import { FlinkContext, Handler, HttpMethod, RouteProps } from \"@flink-app/flink\";\nimport { FirebaseMessagingContext } from \"../FirebaseMessagingContext\";\nimport Message from \"../schemas/Message\";\nimport SendResult from \"../schemas/SendResult\";\n\nexport const Route: RouteProps = {\n method: HttpMethod.post,\n path: \"/send-message\",\n docs: \"Publishes push notification to one or multiple devices\",\n};\n\nconst PostMessage: Handler<FlinkContext<FirebaseMessagingContext>, Message, SendResult> = async ({ ctx, req }) => {\n await ctx.plugins.firebaseMessaging.send(req.body);\n\n return {\n data: { failedDevices: [] }, // TODO\n };\n};\n\nexport default PostMessage;\n"],"names":["Route","method","HttpMethod","post","path","docs","PostMessage","ctx","req","plugins","firebaseMessaging","send","body","data","failedDevices"],"mappings":";;;;;;;;;;;QAKaA;eAAAA;;QAcb;eAAA;;;uBAnB8D;AAKvD,MAAMA,QAAoB;IAC7BC,QAAQC,iBAAU,CAACC,IAAI;IACvBC,MAAM;IACNC,MAAM;AACV;AAEA,MAAMC,cAAoF,OAAO,EAAEC,GAAG,EAAEC,GAAG,EAAE;IACzG,MAAMD,IAAIE,OAAO,CAACC,iBAAiB,CAACC,IAAI,CAACH,IAAII,IAAI;IAEjD,OAAO;QACHC,MAAM;YAAEC,eAAe,EAAE;QAAC;IAC9B;AACJ;MAEA,WAAeR"}
package/dist/src/index.js CHANGED
@@ -1,19 +1,20 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./firebaseMessagingPlugin"), exports);
18
- __exportStar(require("./FirebaseMessagingContext"), exports);
19
- __exportStar(require("./ManagementModule"), exports);
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ _export_star(require("./firebaseMessagingPlugin"), exports);
6
+ _export_star(require("./FirebaseMessagingContext"), exports);
7
+ _export_star(require("./ManagementModule"), exports);
8
+ function _export_star(from, to) {
9
+ Object.keys(from).forEach(function(k) {
10
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
11
+ Object.defineProperty(to, k, {
12
+ enumerable: true,
13
+ get: function() {
14
+ return from[k];
15
+ }
16
+ });
17
+ }
18
+ });
19
+ return from;
20
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/joel/projects/flink/flink-framework/packages/firebase-messaging-plugin/src/index.ts"],"sourcesContent":["export * from \"./firebaseMessagingPlugin\";\nexport * from \"./FirebaseMessagingContext\";\nexport * from \"./ManagementModule\";\n"],"names":[],"mappings":";;;;qBAAc;qBACA;qBACA"}
@@ -1,64 +1,32 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
36
9
  }
10
+ });
11
+ const getManagementPluginHandler = async ({ ctx, req, origin })=>{
12
+ var _module_data, _module_data1;
13
+ const modules = ctx.plugins.managementApi.moduleList.modules;
14
+ const module = modules.find((p)=>p.id == origin);
15
+ const segments = (_module_data = module.data) === null || _module_data === void 0 ? void 0 : _module_data.segments;
16
+ const messageingData = ((_module_data1 = module.data) === null || _module_data1 === void 0 ? void 0 : _module_data1.data) || [];
17
+ const data = {
18
+ segments: segments.map((s)=>{
19
+ let sv = {
20
+ id: s.id,
21
+ description: s.description
22
+ };
23
+ return sv;
24
+ }),
25
+ data: messageingData
26
+ };
27
+ return {
28
+ data,
29
+ status: 200
30
+ };
37
31
  };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- var getManagementPluginHandler = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
40
- var modules, module, segments, messageingData, data;
41
- var _c, _d;
42
- var ctx = _b.ctx, req = _b.req, origin = _b.origin;
43
- return __generator(this, function (_e) {
44
- modules = ctx.plugins.managementApi.moduleList.modules;
45
- module = modules.find(function (p) { return p.id == origin; });
46
- segments = (_c = module.data) === null || _c === void 0 ? void 0 : _c.segments;
47
- messageingData = ((_d = module.data) === null || _d === void 0 ? void 0 : _d.data) || [];
48
- data = {
49
- segments: segments.map(function (s) {
50
- var sv = {
51
- id: s.id,
52
- description: s.description,
53
- };
54
- return sv;
55
- }),
56
- data: messageingData,
57
- };
58
- return [2 /*return*/, {
59
- data: data,
60
- status: 200,
61
- }];
62
- });
63
- }); };
64
- exports.default = getManagementPluginHandler;
32
+ const _default = getManagementPluginHandler;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/joel/projects/flink/flink-framework/packages/firebase-messaging-plugin/src/managementHandlers/Get.ts"],"sourcesContent":["import { FlinkContext, Handler } from \"@flink-app/flink\";\n\nimport { ManagementGetRequest, ManagementGetResponse } from \"../schemas/ManagementGet\";\nimport { MessagingData, MessagingSegment, MessagingSegmentView } from \"../schemas/ManagementModule\";\n\nconst getManagementPluginHandler: Handler<FlinkContext, ManagementGetRequest, ManagementGetResponse> = async ({ ctx, req, origin }) => {\n const modules = ctx.plugins.managementApi.moduleList.modules as any[];\n const module = modules.find((p) => p.id == origin);\n\n const segments = module.data?.segments as MessagingSegment[];\n const messageingData = (module.data?.data as MessagingData[] | undefined) || [];\n\n const data = {\n segments: segments.map((s) => {\n let sv: MessagingSegmentView = {\n id: s.id,\n description: s.description,\n };\n return sv;\n }),\n data: messageingData,\n };\n\n return {\n data,\n status: 200,\n };\n};\n\nexport default getManagementPluginHandler;\n"],"names":["getManagementPluginHandler","ctx","req","origin","module","modules","plugins","managementApi","moduleList","find","p","id","segments","data","messageingData","map","s","sv","description","status"],"mappings":";;;;+BA6BA;;;eAAA;;;AAxBA,MAAMA,6BAAiG,OAAO,EAAEC,GAAG,EAAEC,GAAG,EAAEC,MAAM,EAAE;QAI7GC,cACOA;IAJxB,MAAMC,UAAUJ,IAAIK,OAAO,CAACC,aAAa,CAACC,UAAU,CAACH,OAAO;IAC5D,MAAMD,SAASC,QAAQI,IAAI,CAAC,CAACC,IAAMA,EAAEC,EAAE,IAAIR;IAE3C,MAAMS,YAAWR,eAAAA,OAAOS,IAAI,cAAXT,mCAAAA,aAAaQ,QAAQ;IACtC,MAAME,iBAAiB,EAACV,gBAAAA,OAAOS,IAAI,cAAXT,oCAAAA,cAAaS,IAAI,KAAoC,EAAE;IAE/E,MAAMA,OAAO;QACTD,UAAUA,SAASG,GAAG,CAAC,CAACC;YACpB,IAAIC,KAA2B;gBAC3BN,IAAIK,EAAEL,EAAE;gBACRO,aAAaF,EAAEE,WAAW;YAC9B;YACA,OAAOD;QACX;QACAJ,MAAMC;IACV;IAEA,OAAO;QACHD;QACAM,QAAQ;IACZ;AACJ;MAEA,WAAenB"}