@azure/notification-hubs 2.0.1-alpha.20250212.1 → 2.0.1-alpha.20250218.2
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.
- package/dist/browser/serializers/notificationDetailsSerializer.js +7 -6
- package/dist/browser/serializers/notificationDetailsSerializer.js.map +1 -1
- package/dist/browser/serializers/notificationHubJobSerializer.js +7 -6
- package/dist/browser/serializers/notificationHubJobSerializer.js.map +1 -1
- package/dist/browser/serializers/notificationOutcomeSerializer.js +4 -4
- package/dist/browser/serializers/notificationOutcomeSerializer.js.map +1 -1
- package/dist/browser/serializers/registrationSerializer.d.ts.map +1 -1
- package/dist/browser/serializers/registrationSerializer.js +33 -29
- package/dist/browser/serializers/registrationSerializer.js.map +1 -1
- package/dist/commonjs/serializers/notificationDetailsSerializer.js +7 -6
- package/dist/commonjs/serializers/notificationDetailsSerializer.js.map +1 -1
- package/dist/commonjs/serializers/notificationHubJobSerializer.js +7 -6
- package/dist/commonjs/serializers/notificationHubJobSerializer.js.map +1 -1
- package/dist/commonjs/serializers/notificationOutcomeSerializer.js +4 -4
- package/dist/commonjs/serializers/notificationOutcomeSerializer.js.map +1 -1
- package/dist/commonjs/serializers/registrationSerializer.d.ts.map +1 -1
- package/dist/commonjs/serializers/registrationSerializer.js +33 -29
- package/dist/commonjs/serializers/registrationSerializer.js.map +1 -1
- package/dist/commonjs/tsdoc-metadata.json +1 -1
- package/dist/esm/serializers/notificationDetailsSerializer.js +7 -6
- package/dist/esm/serializers/notificationDetailsSerializer.js.map +1 -1
- package/dist/esm/serializers/notificationHubJobSerializer.js +7 -6
- package/dist/esm/serializers/notificationHubJobSerializer.js.map +1 -1
- package/dist/esm/serializers/notificationOutcomeSerializer.js +4 -4
- package/dist/esm/serializers/notificationOutcomeSerializer.js.map +1 -1
- package/dist/esm/serializers/registrationSerializer.d.ts.map +1 -1
- package/dist/esm/serializers/registrationSerializer.js +33 -29
- package/dist/esm/serializers/registrationSerializer.js.map +1 -1
- package/dist/react-native/serializers/notificationDetailsSerializer.js +7 -6
- package/dist/react-native/serializers/notificationDetailsSerializer.js.map +1 -1
- package/dist/react-native/serializers/notificationHubJobSerializer.js +7 -6
- package/dist/react-native/serializers/notificationHubJobSerializer.js.map +1 -1
- package/dist/react-native/serializers/notificationOutcomeSerializer.js +4 -4
- package/dist/react-native/serializers/notificationOutcomeSerializer.js.map +1 -1
- package/dist/react-native/serializers/registrationSerializer.d.ts.map +1 -1
- package/dist/react-native/serializers/registrationSerializer.js +33 -29
- package/dist/react-native/serializers/registrationSerializer.js.map +1 -1
- package/package.json +22 -14
|
@@ -53,7 +53,7 @@ exports.registrationDescriptionParser = {
|
|
|
53
53
|
* Creates an ADM registration description from incoming XML property bag.
|
|
54
54
|
*/
|
|
55
55
|
createAdmRegistrationDescription(rawRegistrationDescription) {
|
|
56
|
-
return Object.assign(Object.assign({ admRegistrationId: (0, utils_js_1.getString)(rawRegistrationDescription["AdmRegistrationId"], "admRegistrationId") }, createRegistrationDescription(rawRegistrationDescription)), { kind: "Adm" });
|
|
56
|
+
return Object.assign(Object.assign({ admRegistrationId: (0, utils_js_1.getString)(rawRegistrationDescription["AdmRegistrationId"], "admRegistrationId").trim() }, createRegistrationDescription(rawRegistrationDescription)), { kind: "Adm" });
|
|
57
57
|
},
|
|
58
58
|
/**
|
|
59
59
|
* @internal
|
|
@@ -67,22 +67,22 @@ exports.registrationDescriptionParser = {
|
|
|
67
67
|
* Creates an Apple registration description from incoming XML property bag.
|
|
68
68
|
*/
|
|
69
69
|
createAppleRegistrationDescription(rawRegistrationDescription) {
|
|
70
|
-
return Object.assign(Object.assign({ deviceToken: (0, utils_js_1.getString)(rawRegistrationDescription["DeviceToken"], "deviceToken") }, createRegistrationDescription(rawRegistrationDescription)), { kind: "Apple" });
|
|
70
|
+
return Object.assign(Object.assign({ deviceToken: (0, utils_js_1.getString)(rawRegistrationDescription["DeviceToken"], "deviceToken").trim() }, createRegistrationDescription(rawRegistrationDescription)), { kind: "Apple" });
|
|
71
71
|
},
|
|
72
72
|
/**
|
|
73
73
|
* @internal
|
|
74
74
|
* Creates an Apple template registration description from incoming XML property bag.
|
|
75
75
|
*/
|
|
76
76
|
createAppleTemplateRegistrationDescription(rawRegistrationDescription) {
|
|
77
|
-
var _a;
|
|
78
|
-
return Object.assign(Object.assign(Object.assign({ priority: (0, utils_js_1.getStringOrUndefined)(rawRegistrationDescription["Priority"]), apnsHeaders: getHeadersOrUndefined((
|
|
77
|
+
var _a, _b;
|
|
78
|
+
return Object.assign(Object.assign(Object.assign({ priority: (_a = (0, utils_js_1.getStringOrUndefined)(rawRegistrationDescription["Priority"])) === null || _a === void 0 ? void 0 : _a.trim(), apnsHeaders: getHeadersOrUndefined((_b = rawRegistrationDescription["ApnsHeaders"]) === null || _b === void 0 ? void 0 : _b["ApnsHeader"]) }, this.createAppleRegistrationDescription(rawRegistrationDescription)), createTemplateRegistrationDescription(rawRegistrationDescription)), { kind: "AppleTemplate" });
|
|
79
79
|
},
|
|
80
80
|
/**
|
|
81
81
|
* @internal
|
|
82
82
|
* Creates a Baidu registration description from incoming XML property bag.
|
|
83
83
|
*/
|
|
84
84
|
createBaiduRegistrationDescription(rawRegistrationDescription) {
|
|
85
|
-
return Object.assign(Object.assign({ baiduChannelId: (0, utils_js_1.getString)(rawRegistrationDescription["BaiduChannelId"], "baiduChannelId"), baiduUserId: (0, utils_js_1.getString)(rawRegistrationDescription["BaiduUserId"], "baiduUserId") }, createRegistrationDescription(rawRegistrationDescription)), { kind: "Baidu" });
|
|
85
|
+
return Object.assign(Object.assign({ baiduChannelId: (0, utils_js_1.getString)(rawRegistrationDescription["BaiduChannelId"], "baiduChannelId").trim(), baiduUserId: (0, utils_js_1.getString)(rawRegistrationDescription["BaiduUserId"], "baiduUserId").trim() }, createRegistrationDescription(rawRegistrationDescription)), { kind: "Baidu" });
|
|
86
86
|
},
|
|
87
87
|
/**
|
|
88
88
|
* @internal
|
|
@@ -96,7 +96,7 @@ exports.registrationDescriptionParser = {
|
|
|
96
96
|
* Creates a Browser registration description from incoming XML property bag.
|
|
97
97
|
*/
|
|
98
98
|
createBrowserRegistrationDescription(rawRegistrationDescription) {
|
|
99
|
-
return Object.assign(Object.assign({ endpoint: (0, utils_js_1.getString)(rawRegistrationDescription["Endpoint"], "endpoint"), p256dh: (0, utils_js_1.getString)(rawRegistrationDescription["P256DH"], "p256dh"), auth: (0, utils_js_1.getString)(rawRegistrationDescription["Auth"], "auth") }, createRegistrationDescription(rawRegistrationDescription)), { kind: "Browser" });
|
|
99
|
+
return Object.assign(Object.assign({ endpoint: (0, utils_js_1.getString)(rawRegistrationDescription["Endpoint"], "endpoint").trim(), p256dh: (0, utils_js_1.getString)(rawRegistrationDescription["P256DH"], "p256dh").trim(), auth: (0, utils_js_1.getString)(rawRegistrationDescription["Auth"], "auth").trim() }, createRegistrationDescription(rawRegistrationDescription)), { kind: "Browser" });
|
|
100
100
|
},
|
|
101
101
|
/**
|
|
102
102
|
* @internal
|
|
@@ -110,7 +110,7 @@ exports.registrationDescriptionParser = {
|
|
|
110
110
|
* Creates an GCM registration description from incoming XML property bag.
|
|
111
111
|
*/
|
|
112
112
|
createFcmV1RegistrationDescription(rawRegistrationDescription) {
|
|
113
|
-
return Object.assign(Object.assign({ fcmV1RegistrationId: (0, utils_js_1.getString)(rawRegistrationDescription["FcmV1RegistrationId"], "fcmV1RegistrationId") }, createRegistrationDescription(rawRegistrationDescription)), { kind: "FcmV1" });
|
|
113
|
+
return Object.assign(Object.assign({ fcmV1RegistrationId: (0, utils_js_1.getString)(rawRegistrationDescription["FcmV1RegistrationId"], "fcmV1RegistrationId").trim() }, createRegistrationDescription(rawRegistrationDescription)), { kind: "FcmV1" });
|
|
114
114
|
},
|
|
115
115
|
/**
|
|
116
116
|
* @internal
|
|
@@ -124,7 +124,7 @@ exports.registrationDescriptionParser = {
|
|
|
124
124
|
* Creates an GCM registration description from incoming XML property bag.
|
|
125
125
|
*/
|
|
126
126
|
createGcmRegistrationDescription(rawRegistrationDescription) {
|
|
127
|
-
return Object.assign(Object.assign({ gcmRegistrationId: (0, utils_js_1.getString)(rawRegistrationDescription["GcmRegistrationId"], "gcmRegistrationId") }, createRegistrationDescription(rawRegistrationDescription)), { kind: "Gcm" });
|
|
127
|
+
return Object.assign(Object.assign({ gcmRegistrationId: (0, utils_js_1.getString)(rawRegistrationDescription["GcmRegistrationId"], "gcmRegistrationId").trim() }, createRegistrationDescription(rawRegistrationDescription)), { kind: "Gcm" });
|
|
128
128
|
},
|
|
129
129
|
/**
|
|
130
130
|
* @internal
|
|
@@ -138,7 +138,7 @@ exports.registrationDescriptionParser = {
|
|
|
138
138
|
* Creates a Windows Phone registration description from incoming XML property bag.
|
|
139
139
|
*/
|
|
140
140
|
createMpnsRegistrationDescription(rawRegistrationDescription) {
|
|
141
|
-
return Object.assign(Object.assign({ channelUri: (0, utils_js_1.getString)(rawRegistrationDescription["ChannelUri"], "channelUri") }, createRegistrationDescription(rawRegistrationDescription)), { kind: "Mpns" });
|
|
141
|
+
return Object.assign(Object.assign({ channelUri: (0, utils_js_1.getString)(rawRegistrationDescription["ChannelUri"], "channelUri").trim() }, createRegistrationDescription(rawRegistrationDescription)), { kind: "Mpns" });
|
|
142
142
|
},
|
|
143
143
|
/**
|
|
144
144
|
* @internal
|
|
@@ -153,7 +153,7 @@ exports.registrationDescriptionParser = {
|
|
|
153
153
|
* Creates a Xiaomi registration description from incoming XML property bag.
|
|
154
154
|
*/
|
|
155
155
|
createXiaomiRegistrationDescription(rawRegistrationDescription) {
|
|
156
|
-
return Object.assign(Object.assign({ xiaomiRegistrationId: (0, utils_js_1.getString)(rawRegistrationDescription["XiaomiRegistrationId"], "xiaomiRegistrationId") }, createRegistrationDescription(rawRegistrationDescription)), { kind: "Xiaomi" });
|
|
156
|
+
return Object.assign(Object.assign({ xiaomiRegistrationId: (0, utils_js_1.getString)(rawRegistrationDescription["XiaomiRegistrationId"], "xiaomiRegistrationId").trim() }, createRegistrationDescription(rawRegistrationDescription)), { kind: "Xiaomi" });
|
|
157
157
|
},
|
|
158
158
|
/**
|
|
159
159
|
* @internal
|
|
@@ -167,7 +167,7 @@ exports.registrationDescriptionParser = {
|
|
|
167
167
|
* Creates a Windows registration description from incoming XML property bag.
|
|
168
168
|
*/
|
|
169
169
|
createWindowsRegistrationDescription(rawRegistrationDescription) {
|
|
170
|
-
return Object.assign(Object.assign({ channelUri: (0, utils_js_1.getString)(rawRegistrationDescription["ChannelUri"], "channelUri") }, createRegistrationDescription(rawRegistrationDescription)), { kind: "Windows" });
|
|
170
|
+
return Object.assign(Object.assign({ channelUri: (0, utils_js_1.getString)(rawRegistrationDescription["ChannelUri"], "channelUri").trim() }, createRegistrationDescription(rawRegistrationDescription)), { kind: "Windows" });
|
|
171
171
|
},
|
|
172
172
|
/**
|
|
173
173
|
* @internal
|
|
@@ -189,21 +189,23 @@ function getHeadersOrUndefined(value) {
|
|
|
189
189
|
return headerObj;
|
|
190
190
|
}
|
|
191
191
|
function createRegistrationDescription(rawRegistrationDescription) {
|
|
192
|
+
var _a, _b, _c;
|
|
192
193
|
let pushVariables;
|
|
193
|
-
const unparsed = (0, utils_js_1.getStringOrUndefined)(rawRegistrationDescription["PushVariables"]);
|
|
194
|
+
const unparsed = (_a = (0, utils_js_1.getStringOrUndefined)(rawRegistrationDescription["PushVariables"])) === null || _a === void 0 ? void 0 : _a.trim();
|
|
194
195
|
if (unparsed) {
|
|
195
196
|
pushVariables = JSON.parse(unparsed);
|
|
196
197
|
}
|
|
197
198
|
return {
|
|
198
|
-
registrationId: (0, utils_js_1.getStringOrUndefined)(rawRegistrationDescription["RegistrationId"]),
|
|
199
|
+
registrationId: (_b = (0, utils_js_1.getStringOrUndefined)(rawRegistrationDescription["RegistrationId"])) === null || _b === void 0 ? void 0 : _b.trim(),
|
|
199
200
|
expirationTime: (0, utils_js_1.getDateOrUndefined)(rawRegistrationDescription["ExpirationTime"]),
|
|
200
|
-
etag: (0, utils_js_1.getStringOrUndefined)(rawRegistrationDescription["ETag"]),
|
|
201
|
+
etag: (_c = (0, utils_js_1.getStringOrUndefined)(rawRegistrationDescription["ETag"])) === null || _c === void 0 ? void 0 : _c.trim(),
|
|
201
202
|
tags: (0, utils_js_1.getTagsOrUndefined)(rawRegistrationDescription["Tags"]),
|
|
202
203
|
pushVariables: pushVariables,
|
|
203
204
|
};
|
|
204
205
|
}
|
|
205
206
|
function createTemplateRegistrationDescription(rawRegistrationDescription) {
|
|
206
|
-
|
|
207
|
+
var _a;
|
|
208
|
+
return Object.assign({ bodyTemplate: (0, utils_js_1.getString)(rawRegistrationDescription["BodyTemplate"], "bodyTemplate").trim(), templateName: (_a = (0, utils_js_1.getStringOrUndefined)(rawRegistrationDescription["TemplateName"])) === null || _a === void 0 ? void 0 : _a.trim() }, createRegistrationDescription(rawRegistrationDescription));
|
|
207
209
|
}
|
|
208
210
|
/**
|
|
209
211
|
* Represents a RegistrationDescription serializer.
|
|
@@ -225,7 +227,7 @@ exports.registrationDescriptionSerializer = {
|
|
|
225
227
|
* Serializes an existing ADM registration description to an object for serialization.
|
|
226
228
|
*/
|
|
227
229
|
serializeAdmRegistrationDescription(description) {
|
|
228
|
-
return Object.assign(Object.assign({}, serializeRegistrationDescription(description)), { AdmRegistrationId: (0, utils_js_1.getString)(description.admRegistrationId, "admRegistrationId") });
|
|
230
|
+
return Object.assign(Object.assign({}, serializeRegistrationDescription(description)), { AdmRegistrationId: (0, utils_js_1.getString)(description.admRegistrationId, "admRegistrationId").trim() });
|
|
229
231
|
},
|
|
230
232
|
/**
|
|
231
233
|
* @internal
|
|
@@ -239,13 +241,14 @@ exports.registrationDescriptionSerializer = {
|
|
|
239
241
|
* Serializes an existing Apple registration description to an object for serialization.
|
|
240
242
|
*/
|
|
241
243
|
serializeAppleRegistrationDescription(description) {
|
|
242
|
-
return Object.assign(Object.assign({}, serializeRegistrationDescription(description)), { DeviceToken: (0, utils_js_1.getString)(description.deviceToken, "deviceToken") });
|
|
244
|
+
return Object.assign(Object.assign({}, serializeRegistrationDescription(description)), { DeviceToken: (0, utils_js_1.getString)(description.deviceToken, "deviceToken").trim() });
|
|
243
245
|
},
|
|
244
246
|
/**
|
|
245
247
|
* @internal
|
|
246
248
|
* Serializes an existing Apple template registration description to an object for serialization.
|
|
247
249
|
*/
|
|
248
250
|
serializeAppleTemplateRegistrationDescription(description) {
|
|
251
|
+
var _a;
|
|
249
252
|
let apnsHeaders;
|
|
250
253
|
if (description.apnsHeaders) {
|
|
251
254
|
apnsHeaders = {
|
|
@@ -253,19 +256,19 @@ exports.registrationDescriptionSerializer = {
|
|
|
253
256
|
};
|
|
254
257
|
for (const header of Object.keys(description.apnsHeaders)) {
|
|
255
258
|
apnsHeaders["ApnsHeader"].push({
|
|
256
|
-
Header: header,
|
|
257
|
-
Value: description.apnsHeaders[header],
|
|
259
|
+
Header: header.trim(),
|
|
260
|
+
Value: description.apnsHeaders[header].trim(),
|
|
258
261
|
});
|
|
259
262
|
}
|
|
260
263
|
}
|
|
261
|
-
return Object.assign(Object.assign(Object.assign({}, this.serializeAppleRegistrationDescription(description)), serializeTemplateRegistrationDescription(description)), { Expiry: (0, utils_js_1.getStringOrUndefined)(description.expiry), ApnsHeaders: apnsHeaders });
|
|
264
|
+
return Object.assign(Object.assign(Object.assign({}, this.serializeAppleRegistrationDescription(description)), serializeTemplateRegistrationDescription(description)), { Expiry: (_a = (0, utils_js_1.getStringOrUndefined)(description.expiry)) === null || _a === void 0 ? void 0 : _a.trim(), ApnsHeaders: apnsHeaders });
|
|
262
265
|
},
|
|
263
266
|
/**
|
|
264
267
|
* @internal
|
|
265
268
|
* Serializes an existing Baidu registration description to an object for serialization.
|
|
266
269
|
*/
|
|
267
270
|
serializeBaiduRegistrationDescription(description) {
|
|
268
|
-
return Object.assign(Object.assign({}, serializeRegistrationDescription(description)), { BaiduChannelId: (0, utils_js_1.getString)(description.baiduChannelId, "baiduChannelId"), BaiduUserId: (0, utils_js_1.getString)(description.baiduUserId, "baiduUserId") });
|
|
271
|
+
return Object.assign(Object.assign({}, serializeRegistrationDescription(description)), { BaiduChannelId: (0, utils_js_1.getString)(description.baiduChannelId, "baiduChannelId").trim(), BaiduUserId: (0, utils_js_1.getString)(description.baiduUserId, "baiduUserId").trim() });
|
|
269
272
|
},
|
|
270
273
|
/**
|
|
271
274
|
* @internal
|
|
@@ -293,7 +296,7 @@ exports.registrationDescriptionSerializer = {
|
|
|
293
296
|
* Serializes an existing FCM V1 registration description to an object for serialization.
|
|
294
297
|
*/
|
|
295
298
|
serializeFcmV1RegistrationDescription(description) {
|
|
296
|
-
return Object.assign(Object.assign({}, serializeRegistrationDescription(description)), { FcmV1RegistrationId: (0, utils_js_1.getString)(description.fcmV1RegistrationId, "fcmRegistrationId") });
|
|
299
|
+
return Object.assign(Object.assign({}, serializeRegistrationDescription(description)), { FcmV1RegistrationId: (0, utils_js_1.getString)(description.fcmV1RegistrationId, "fcmRegistrationId").trim() });
|
|
297
300
|
},
|
|
298
301
|
/**
|
|
299
302
|
* @internal
|
|
@@ -307,7 +310,7 @@ exports.registrationDescriptionSerializer = {
|
|
|
307
310
|
* Serializes an existing GCM registration description to an object for serialization.
|
|
308
311
|
*/
|
|
309
312
|
serializeGcmRegistrationDescription(description) {
|
|
310
|
-
return Object.assign(Object.assign({}, serializeRegistrationDescription(description)), { GcmRegistrationId: (0, utils_js_1.getString)(description.gcmRegistrationId, "gcmRegistrationId") });
|
|
313
|
+
return Object.assign(Object.assign({}, serializeRegistrationDescription(description)), { GcmRegistrationId: (0, utils_js_1.getString)(description.gcmRegistrationId, "gcmRegistrationId").trim() });
|
|
311
314
|
},
|
|
312
315
|
/**
|
|
313
316
|
* @internal
|
|
@@ -337,8 +340,8 @@ exports.registrationDescriptionSerializer = {
|
|
|
337
340
|
};
|
|
338
341
|
for (const header of Object.keys(description.mpnsHeaders)) {
|
|
339
342
|
mpnsHeaders["MpnsHeader"].push({
|
|
340
|
-
Header: header,
|
|
341
|
-
Value: description.mpnsHeaders[header],
|
|
343
|
+
Header: header.trim(),
|
|
344
|
+
Value: description.mpnsHeaders[header].trim(),
|
|
342
345
|
});
|
|
343
346
|
}
|
|
344
347
|
}
|
|
@@ -349,7 +352,7 @@ exports.registrationDescriptionSerializer = {
|
|
|
349
352
|
* Serializes an existing Xiaomi registration description to an object for serialization.
|
|
350
353
|
*/
|
|
351
354
|
serializeXiaomiRegistrationDescription(description) {
|
|
352
|
-
return Object.assign(Object.assign({}, serializeRegistrationDescription(description)), { XiaomiRegistrationId: (0, utils_js_1.getString)(description.xiaomiRegistrationId, "xiaomiRegistrationId") });
|
|
355
|
+
return Object.assign(Object.assign({}, serializeRegistrationDescription(description)), { XiaomiRegistrationId: (0, utils_js_1.getString)(description.xiaomiRegistrationId, "xiaomiRegistrationId").trim() });
|
|
353
356
|
},
|
|
354
357
|
/**
|
|
355
358
|
* @internal
|
|
@@ -377,8 +380,8 @@ exports.registrationDescriptionSerializer = {
|
|
|
377
380
|
};
|
|
378
381
|
for (const header of Object.keys(description.wnsHeaders)) {
|
|
379
382
|
wnsHeaders["WnsHeader"].push({
|
|
380
|
-
Header: header,
|
|
381
|
-
Value: description.wnsHeaders[header],
|
|
383
|
+
Header: header.trim(),
|
|
384
|
+
Value: description.wnsHeaders[header].trim(),
|
|
382
385
|
});
|
|
383
386
|
}
|
|
384
387
|
}
|
|
@@ -401,9 +404,10 @@ function serializeRegistrationDescription(description) {
|
|
|
401
404
|
};
|
|
402
405
|
}
|
|
403
406
|
function serializeTemplateRegistrationDescription(description) {
|
|
407
|
+
var _a;
|
|
404
408
|
return {
|
|
405
409
|
BodyTemplate: { __cdata: description.bodyTemplate },
|
|
406
|
-
TemplateName: (0, utils_js_1.getStringOrUndefined)(description.templateName),
|
|
410
|
+
TemplateName: (_a = (0, utils_js_1.getStringOrUndefined)(description.templateName)) === null || _a === void 0 ? void 0 : _a.trim(),
|
|
407
411
|
};
|
|
408
412
|
}
|
|
409
413
|
//# sourceMappingURL=registrationSerializer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registrationSerializer.js","sourceRoot":"","sources":["../../../src/serializers/registrationSerializer.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n AdmRegistrationDescription,\n AdmTemplateRegistrationDescription,\n AppleRegistrationDescription,\n AppleTemplateRegistrationDescription,\n BaiduRegistrationDescription,\n BaiduTemplateRegistrationDescription,\n BrowserRegistrationDescription,\n BrowserTemplateRegistrationDescription,\n GcmRegistrationDescription,\n GcmTemplateRegistrationDescription,\n FcmV1RegistrationDescription,\n FcmV1TemplateRegistrationDescription,\n MpnsRegistrationDescription,\n MpnsTemplateRegistrationDescription,\n RegistrationDescription,\n RegistrationDescriptionCommon,\n TemplateRegistrationDescription,\n XiaomiRegistrationDescription,\n XiaomiTemplateRegistrationDescription,\n WindowsRegistrationDescription,\n WindowsTemplateRegistrationDescription,\n} from \"../models/registration.js\";\nimport {\n getDateOrUndefined,\n getString,\n getStringOrUndefined,\n getTagsOrUndefined,\n isDefined,\n} from \"../utils/utils.js\";\nimport { parseXML, stringifyXML } from \"@azure/core-xml\";\nimport { RestError } from \"@azure/core-rest-pipeline\";\nimport { serializeToAtomXmlRequest } from \"../utils/xmlUtils.js\";\n\n/**\n * Represents a registration description parser from the incoming XML.\n */\nexport interface RegistrationDescriptionParser {\n /**\n * @internal\n * Creates a registration type from the incoming entry.\n */\n parseRegistrationEntry: (bodyText: string) => Promise<RegistrationDescription>;\n /**\n * @internal\n * Creates a list of registrations from an incoming ATOM XML Feed.\n */\n parseRegistrationFeed: (bodyText: string) => Promise<RegistrationDescription[]>;\n /**\n * @internal\n * Creates an Amazon Device Messaging (ADM) registration description from the incoming parsed XML.\n */\n createAdmRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => AdmRegistrationDescription;\n /**\n * @internal\n * Creates an Amazon Device Messaging (ADM) template registration description from the incoming parsed XML.\n */\n createAdmTemplateRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => AdmTemplateRegistrationDescription;\n /**\n * @internal\n * Creates an Apple Platform Notification Services (APNs) registration description from the incoming parsed XML.\n */\n createAppleRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => AppleRegistrationDescription;\n /**\n * @internal\n * Creates an Apple Platform Notification Services (APNs) template registration description from the incoming parsed XML.\n */\n createAppleTemplateRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => AppleTemplateRegistrationDescription;\n /**\n * @internal\n * Creates a Baidu registration description from the incoming parsed XML.\n */\n createBaiduRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => BaiduRegistrationDescription;\n /**\n * @internal\n * Creates a Baidu template registration description from the incoming parsed XML.\n */\n createBaiduTemplateRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => BaiduTemplateRegistrationDescription;\n /**\n * @internal\n * Creates a Web Push registration description from the incoming parsed XML.\n */\n createBrowserRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => BrowserRegistrationDescription;\n /**\n * @internal\n * Creates a Web Push template registration description from the incoming parsed XML.\n */\n createBrowserTemplateRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => BrowserTemplateRegistrationDescription;\n /**\n * @internal\n * Creates a Firebase V1 Cloud Messaging (FCM) registration description from the incoming parsed XML.\n */\n createFcmV1RegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => FcmV1RegistrationDescription;\n /**\n * @internal\n * Creates a Firebase V1 Cloud Messaging (FCM) template registration description from the incoming parsed XML.\n */\n createFcmV1TemplateRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => FcmV1TemplateRegistrationDescription;\n /**\n * @internal\n * Creates a Google Cloud Messaging (GCM) registration description from the incoming parsed XML.\n */\n createGcmRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => GcmRegistrationDescription;\n /**\n * @internal\n * Creates a Google Cloud Messaging (GCM) template registration description from the incoming parsed XML.\n */\n createGcmTemplateRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => GcmTemplateRegistrationDescription;\n /**\n * @internal\n * Creates a Microsoft Phone Notification Services (MPNS) registration description from the incoming parsed XML.\n */\n createMpnsRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => MpnsRegistrationDescription;\n /**\n * @internal\n * Creates a Microsoft Phone Notification Services (MPNS) template registration description from the incoming parsed XML.\n */\n createMpnsTemplateRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => MpnsTemplateRegistrationDescription;\n /**\n * @internal\n * Creates a Xiaomi registration description from the incoming parsed XML.\n */\n createXiaomiRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => XiaomiRegistrationDescription;\n /**\n * @internal\n * Creates a Xiaomi template registration description from the incoming parsed XML.\n */\n createXiaomiTemplateRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => XiaomiTemplateRegistrationDescription;\n /**\n * @internal\n * Creates a Windows Notification Services (WNS) registration description from the incoming parsed XML.\n */\n createWindowsRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => WindowsRegistrationDescription;\n /**\n * @internal\n * Creates a Windows Notification Services (WNS) template registration description from the incoming parsed XML.\n */\n createWindowsTemplateRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => WindowsTemplateRegistrationDescription;\n}\n\nexport const registrationDescriptionParser: RegistrationDescriptionParser = {\n /**\n * @internal\n * Creates a registration type from the incoming entry.\n */\n async parseRegistrationEntry(bodyText: string): Promise<RegistrationDescription> {\n const xml = await parseXML(bodyText, { includeRoot: true });\n delete xml.entry.content[\"$\"];\n const keyName = Object.keys(xml.entry.content)[0];\n const content = xml.entry.content[keyName];\n const methodName = `create${keyName}`;\n\n const method = this[methodName as keyof RegistrationDescriptionParser] as any;\n if (!methodName) {\n throw new RestError(`${keyName} is not a supported registration type`, { statusCode: 500 });\n }\n\n return method.call(this, content) as RegistrationDescription;\n },\n\n /**\n * @internal\n * Creates a list of registrations from an incoming ATOM XML Feed.\n */\n async parseRegistrationFeed(bodyText: string): Promise<RegistrationDescription[]> {\n const xml = await parseXML(bodyText, { includeRoot: true });\n const results: RegistrationDescription[] = [];\n if (!isDefined(xml.feed.entry)) {\n return results;\n }\n\n const entries = Array.isArray(xml.feed.entry) ? xml.feed.entry : [xml.feed.entry];\n\n for (const entry of entries) {\n delete entry.content[\"$\"];\n\n const keyName = Object.keys(entry.content)[0];\n const methodName = `create${keyName}`;\n const content = entry.content[keyName];\n const method = this[methodName as keyof RegistrationDescriptionParser] as any;\n if (!methodName) {\n throw new RestError(`${keyName} is not a supported registration type`, { statusCode: 500 });\n }\n\n results.push(method.call(this, content) as RegistrationDescription);\n }\n\n return results;\n },\n\n /**\n * @internal\n * Creates an ADM registration description from incoming XML property bag.\n */\n createAdmRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): AdmRegistrationDescription {\n return {\n admRegistrationId: getString(\n rawRegistrationDescription[\"AdmRegistrationId\"],\n \"admRegistrationId\",\n ),\n ...createRegistrationDescription(rawRegistrationDescription),\n kind: \"Adm\",\n };\n },\n\n /**\n * @internal\n * Creates an ADM template registration description from incoming XML property bag.\n */\n createAdmTemplateRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): AdmTemplateRegistrationDescription {\n return {\n ...this.createAdmRegistrationDescription(rawRegistrationDescription),\n ...createTemplateRegistrationDescription(rawRegistrationDescription),\n kind: \"AdmTemplate\",\n };\n },\n\n /**\n * @internal\n * Creates an Apple registration description from incoming XML property bag.\n */\n createAppleRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): AppleRegistrationDescription {\n return {\n deviceToken: getString(rawRegistrationDescription[\"DeviceToken\"], \"deviceToken\"),\n ...createRegistrationDescription(rawRegistrationDescription),\n kind: \"Apple\",\n };\n },\n\n /**\n * @internal\n * Creates an Apple template registration description from incoming XML property bag.\n */\n createAppleTemplateRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): AppleTemplateRegistrationDescription {\n return {\n priority: getStringOrUndefined(rawRegistrationDescription[\"Priority\"]) as \"10\" | \"5\",\n apnsHeaders: getHeadersOrUndefined(rawRegistrationDescription[\"ApnsHeaders\"]?.[\"ApnsHeader\"]),\n ...this.createAppleRegistrationDescription(rawRegistrationDescription),\n ...createTemplateRegistrationDescription(rawRegistrationDescription),\n kind: \"AppleTemplate\",\n };\n },\n\n /**\n * @internal\n * Creates a Baidu registration description from incoming XML property bag.\n */\n createBaiduRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): BaiduRegistrationDescription {\n return {\n baiduChannelId: getString(rawRegistrationDescription[\"BaiduChannelId\"], \"baiduChannelId\"),\n baiduUserId: getString(rawRegistrationDescription[\"BaiduUserId\"], \"baiduUserId\"),\n ...createRegistrationDescription(rawRegistrationDescription),\n kind: \"Baidu\",\n };\n },\n\n /**\n * @internal\n * Creates a Baidu template registration description from incoming XML property bag.\n */\n createBaiduTemplateRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): BaiduTemplateRegistrationDescription {\n return {\n ...this.createBaiduRegistrationDescription(rawRegistrationDescription),\n ...createTemplateRegistrationDescription(rawRegistrationDescription),\n kind: \"BaiduTemplate\",\n };\n },\n\n /**\n * @internal\n * Creates a Browser registration description from incoming XML property bag.\n */\n createBrowserRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): BrowserRegistrationDescription {\n return {\n endpoint: getString(rawRegistrationDescription[\"Endpoint\"], \"endpoint\"),\n p256dh: getString(rawRegistrationDescription[\"P256DH\"], \"p256dh\"),\n auth: getString(rawRegistrationDescription[\"Auth\"], \"auth\"),\n ...createRegistrationDescription(rawRegistrationDescription),\n kind: \"Browser\",\n };\n },\n\n /**\n * @internal\n * Creates a Browser template registration description from incoming XML property bag.\n */\n createBrowserTemplateRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): BrowserTemplateRegistrationDescription {\n return {\n ...this.createBrowserRegistrationDescription(rawRegistrationDescription),\n ...createTemplateRegistrationDescription(rawRegistrationDescription),\n kind: \"BrowserTemplate\",\n };\n },\n /**\n * @internal\n * Creates an GCM registration description from incoming XML property bag.\n */\n createFcmV1RegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): FcmV1RegistrationDescription {\n return {\n fcmV1RegistrationId: getString(\n rawRegistrationDescription[\"FcmV1RegistrationId\"],\n \"fcmV1RegistrationId\",\n ),\n ...createRegistrationDescription(rawRegistrationDescription),\n kind: \"FcmV1\",\n };\n },\n\n /**\n * @internal\n * Creates an FCM template registration description from incoming XML property bag.\n */\n createFcmV1TemplateRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): FcmV1TemplateRegistrationDescription {\n return {\n ...this.createFcmV1RegistrationDescription(rawRegistrationDescription),\n ...createTemplateRegistrationDescription(rawRegistrationDescription),\n kind: \"FcmV1Template\",\n };\n },\n\n /**\n * @internal\n * Creates an GCM registration description from incoming XML property bag.\n */\n createGcmRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): GcmRegistrationDescription {\n return {\n gcmRegistrationId: getString(\n rawRegistrationDescription[\"GcmRegistrationId\"],\n \"gcmRegistrationId\",\n ),\n ...createRegistrationDescription(rawRegistrationDescription),\n kind: \"Gcm\",\n };\n },\n\n /**\n * @internal\n * Creates an FCM template registration description from incoming XML property bag.\n */\n createGcmTemplateRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): GcmTemplateRegistrationDescription {\n return {\n ...this.createGcmRegistrationDescription(rawRegistrationDescription),\n ...createTemplateRegistrationDescription(rawRegistrationDescription),\n kind: \"GcmTemplate\",\n };\n },\n\n /**\n * @internal\n * Creates a Windows Phone registration description from incoming XML property bag.\n */\n createMpnsRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): MpnsRegistrationDescription {\n return {\n channelUri: getString(rawRegistrationDescription[\"ChannelUri\"], \"channelUri\"),\n ...createRegistrationDescription(rawRegistrationDescription),\n kind: \"Mpns\",\n };\n },\n\n /**\n * @internal\n * Creates a Windows Phone template registration description from incoming XML property bag.\n */\n createMpnsTemplateRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): MpnsTemplateRegistrationDescription {\n return {\n mpnsHeaders: getHeadersOrUndefined(rawRegistrationDescription[\"MpnsHeaders\"]?.[\"MpnsHeader\"]),\n ...this.createWindowsRegistrationDescription(rawRegistrationDescription),\n ...createTemplateRegistrationDescription(rawRegistrationDescription),\n kind: \"MpnsTemplate\",\n };\n },\n\n /**\n * @internal\n * Creates a Xiaomi registration description from incoming XML property bag.\n */\n createXiaomiRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): XiaomiRegistrationDescription {\n return {\n xiaomiRegistrationId: getString(\n rawRegistrationDescription[\"XiaomiRegistrationId\"],\n \"xiaomiRegistrationId\",\n ),\n ...createRegistrationDescription(rawRegistrationDescription),\n kind: \"Xiaomi\",\n };\n },\n\n /**\n * @internal\n * Creates a Xiaomi template registration description from incoming XML property bag.\n */\n createXiaomiTemplateRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): XiaomiTemplateRegistrationDescription {\n return {\n ...this.createXiaomiRegistrationDescription(rawRegistrationDescription),\n ...createTemplateRegistrationDescription(rawRegistrationDescription),\n kind: \"XiaomiTemplate\",\n };\n },\n\n /**\n * @internal\n * Creates a Windows registration description from incoming XML property bag.\n */\n createWindowsRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): WindowsRegistrationDescription {\n return {\n channelUri: getString(rawRegistrationDescription[\"ChannelUri\"], \"channelUri\"),\n ...createRegistrationDescription(rawRegistrationDescription),\n kind: \"Windows\",\n };\n },\n\n /**\n * @internal\n * Creates a Windows template registration description from incoming XML property bag.\n */\n createWindowsTemplateRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): WindowsTemplateRegistrationDescription {\n return {\n wnsHeaders: getHeadersOrUndefined(rawRegistrationDescription[\"WnsHeaders\"]?.[\"WnsHeader\"]),\n ...this.createWindowsRegistrationDescription(rawRegistrationDescription),\n ...createTemplateRegistrationDescription(rawRegistrationDescription),\n kind: \"WindowsTemplate\",\n };\n },\n};\n\nfunction getHeadersOrUndefined(\n value?: { Header: string; Value: string }[],\n): Record<string, string> | undefined {\n if (!isDefined(value)) {\n return undefined;\n }\n\n const headerObj: Record<string, string> = {};\n for (const { Header, Value } of value) {\n headerObj[Header] = Value;\n }\n\n return headerObj;\n}\n\nfunction createRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n): Omit<RegistrationDescriptionCommon, \"kind\"> {\n let pushVariables: Record<string, string> | undefined;\n const unparsed = getStringOrUndefined(rawRegistrationDescription[\"PushVariables\"]);\n if (unparsed) {\n pushVariables = JSON.parse(unparsed) as Record<string, string>;\n }\n\n return {\n registrationId: getStringOrUndefined(rawRegistrationDescription[\"RegistrationId\"]),\n expirationTime: getDateOrUndefined(rawRegistrationDescription[\"ExpirationTime\"]),\n etag: getStringOrUndefined(rawRegistrationDescription[\"ETag\"]),\n tags: getTagsOrUndefined(rawRegistrationDescription[\"Tags\"]),\n pushVariables: pushVariables,\n };\n}\n\nfunction createTemplateRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n): TemplateRegistrationDescription {\n return {\n bodyTemplate: getString(rawRegistrationDescription[\"BodyTemplate\"], \"bodyTemplate\"),\n templateName: getStringOrUndefined(rawRegistrationDescription[\"TemplateName\"]),\n ...createRegistrationDescription(rawRegistrationDescription),\n };\n}\n\n/**\n * @internal\n * Represents a serializer for all registration descriptions.\n */\nexport interface RegistrationDescriptionSerializer {\n /**\n * @internal\n * Serializes a registration description into an ATOM XML string.\n */\n serializeRegistrationDescription(description: RegistrationDescription): string;\n /**\n * @internal\n * Serializes an Amazon Device Messaging (ADM) registration description into an XML object for serialization.\n */\n serializeAdmRegistrationDescription(\n description: Omit<AdmRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes an Amazon Device Messaging (ADM) template registration description into an XML object for serialization.\n */\n serializeAdmTemplateRegistrationDescription(\n description: Omit<AdmTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes an Apple registration description into an XML object for serialization.\n */\n serializeAppleRegistrationDescription(\n description: Omit<AppleRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes an Apple template registration description into an XML object for serialization.\n */\n serializeAppleTemplateRegistrationDescription(\n description: Omit<AppleRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Baidu registration description into an XML object for serialization.\n */\n serializeBaiduRegistrationDescription(\n description: Omit<BaiduRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Baidu template registration description into an XML object for serialization.\n */\n serializeBaiduTemplateRegistrationDescription(\n description: Omit<BaiduTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Web Push registration description into an XML object for serialization.\n */\n serializeBrowserRegistrationDescription(\n description: Omit<BrowserRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Web Push template registration description into an XML object for serialization.\n */\n serializeBrowserTemplateRegistrationDescription(\n description: Omit<BrowserTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Google Cloud Messaging (GCM) registration description into an XML object for serialization.\n */\n serializeFcmV1RegistrationDescription(\n description: Omit<FcmV1RegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Google Cloud Messaging (GCM) template registration description into an XML object for serialization.\n */\n serializeFcmV1TemplateRegistrationDescription(\n description: Omit<FcmV1TemplateRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Google Cloud Messaging (GCM) registration description into an XML object for serialization.\n */\n serializeGcmRegistrationDescription(\n description: Omit<GcmRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Google Cloud Messaging (GCM) template registration description into an XML object for serialization.\n */\n serializeGcmTemplateRegistrationDescription(\n description: Omit<GcmTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Windows Phone registration description into an XML object for serialization.\n */\n serializeMpnsRegistrationDescription(\n description: Omit<MpnsRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Windows Phone template registration description into an XML object for serialization.\n */\n serializeMpnsTemplateRegistrationDescription(\n description: Omit<MpnsTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Xiaomi registration description into an XML object for serialization.\n */\n serializeXiaomiRegistrationDescription(\n description: Omit<XiaomiRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Xiaomi template registration description into an XML object for serialization.\n */\n serializeXiaomiTemplateRegistrationDescription(\n description: Omit<XiaomiTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Windows Notification Services (WNS) registration description into an XML object for serialization.\n */\n serializeWindowsRegistrationDescription(\n description: Omit<WindowsRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Windows Notification Services (WNS) template registration description into an XML object for serialization.\n */\n serializeWindowsTemplateRegistrationDescription(\n description: Omit<WindowsTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n}\n\n/**\n * Represents a RegistrationDescription serializer.\n */\nexport const registrationDescriptionSerializer: RegistrationDescriptionSerializer = {\n serializeRegistrationDescription(description: RegistrationDescription): string {\n const rootName = `${description.kind}RegistrationDescription`;\n const methodName = `serialize${rootName}`;\n\n const method = this[methodName as keyof RegistrationDescriptionSerializer].bind(this) as (\n description: RegistrationDescription,\n ) => Record<string, any>;\n if (!isDefined(method)) {\n throw new RestError(`Undefined platform ${description.kind}`, { statusCode: 400 });\n }\n\n const registration = method(description) as Record<string, any>;\n const requestObject = serializeToAtomXmlRequest(rootName, registration);\n\n return stringifyXML(requestObject, { rootName: \"entry\" });\n },\n\n /**\n * @internal\n * Serializes an existing ADM registration description to an object for serialization.\n */\n serializeAdmRegistrationDescription(\n description: Omit<AdmRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...serializeRegistrationDescription(description),\n AdmRegistrationId: getString(description.admRegistrationId, \"admRegistrationId\"),\n };\n },\n\n /**\n * @internal\n * Serializes an existing ADM template registration description to an object for serialization.\n */\n serializeAdmTemplateRegistrationDescription(\n description: Omit<AdmTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...this.serializeAdmRegistrationDescription(description),\n ...serializeTemplateRegistrationDescription(description),\n };\n },\n\n /**\n * @internal\n * Serializes an existing Apple registration description to an object for serialization.\n */\n serializeAppleRegistrationDescription(\n description: Omit<AppleRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...serializeRegistrationDescription(description),\n DeviceToken: getString(description.deviceToken, \"deviceToken\"),\n };\n },\n\n /**\n * @internal\n * Serializes an existing Apple template registration description to an object for serialization.\n */\n serializeAppleTemplateRegistrationDescription(\n description: AppleTemplateRegistrationDescription,\n ): Record<string, any> {\n let apnsHeaders: Record<string, any> | undefined;\n if (description.apnsHeaders) {\n apnsHeaders = {\n ApnsHeader: [],\n };\n\n for (const header of Object.keys(description.apnsHeaders)) {\n apnsHeaders[\"ApnsHeader\"].push({\n Header: header,\n Value: description.apnsHeaders[header],\n });\n }\n }\n\n return {\n ...this.serializeAppleRegistrationDescription(description),\n ...serializeTemplateRegistrationDescription(description),\n Expiry: getStringOrUndefined(description.expiry),\n ApnsHeaders: apnsHeaders,\n };\n },\n\n /**\n * @internal\n * Serializes an existing Baidu registration description to an object for serialization.\n */\n serializeBaiduRegistrationDescription(\n description: Omit<BaiduRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...serializeRegistrationDescription(description),\n BaiduChannelId: getString(description.baiduChannelId, \"baiduChannelId\"),\n BaiduUserId: getString(description.baiduUserId, \"baiduUserId\"),\n };\n },\n\n /**\n * @internal\n * Serializes an existing Baidu template registration description to an object for serialization.\n */\n serializeBaiduTemplateRegistrationDescription(\n description: Omit<BaiduTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...this.serializeBaiduRegistrationDescription(description),\n ...serializeTemplateRegistrationDescription(description),\n };\n },\n\n /**\n * @internal\n * Serializes an existing Browser registration description to an object for serialization.\n */\n serializeBrowserRegistrationDescription(\n description: Omit<BrowserRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...serializeRegistrationDescription(description),\n Endpoint: description.endpoint,\n P256DH: description.p256dh,\n Auth: description.auth,\n };\n },\n\n /**\n * @internal\n * Serializes an existing Browser template registration description to an object for serialization.\n */\n serializeBrowserTemplateRegistrationDescription(\n description: Omit<BrowserTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...this.serializeBrowserRegistrationDescription(description),\n ...serializeTemplateRegistrationDescription(description),\n };\n },\n\n /**\n * @internal\n * Serializes an existing FCM V1 registration description to an object for serialization.\n */\n serializeFcmV1RegistrationDescription(\n description: Omit<FcmV1RegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...serializeRegistrationDescription(description),\n FcmV1RegistrationId: getString(description.fcmV1RegistrationId, \"fcmRegistrationId\"),\n };\n },\n\n /**\n * @internal\n * Serializes an existing FCM V1 template registration description to an object for serialization.\n */\n serializeFcmV1TemplateRegistrationDescription(\n description: Omit<FcmV1TemplateRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...this.serializeFcmV1RegistrationDescription(description),\n ...serializeTemplateRegistrationDescription(description),\n };\n },\n\n /**\n * @internal\n * Serializes an existing GCM registration description to an object for serialization.\n */\n serializeGcmRegistrationDescription(\n description: Omit<GcmRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...serializeRegistrationDescription(description),\n GcmRegistrationId: getString(description.gcmRegistrationId, \"gcmRegistrationId\"),\n };\n },\n\n /**\n * @internal\n * Serializes an existing GCM template registration description to an object for serialization.\n */\n serializeGcmTemplateRegistrationDescription(\n description: Omit<GcmTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...this.serializeGcmRegistrationDescription(description),\n ...serializeTemplateRegistrationDescription(description),\n };\n },\n\n /**\n * @internal\n * @deprecated Windows Phone is no longer supported.\n * Serializes an existing MPNS registration description to an object for serialization.\n */\n serializeMpnsRegistrationDescription(\n description: Omit<MpnsRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...serializeRegistrationDescription(description),\n ChannelUri: description.channelUri,\n };\n },\n\n /**\n * @internal\n * @deprecated Windows Phone is no longer supported.\n * Serializes an existing MPNS template registration description to an object for serialization.\n */\n serializeMpnsTemplateRegistrationDescription(\n description: Omit<MpnsTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n let mpnsHeaders: Record<string, any> | undefined;\n if (description.mpnsHeaders) {\n mpnsHeaders = {\n MpnsHeader: [],\n };\n\n for (const header of Object.keys(description.mpnsHeaders)) {\n mpnsHeaders[\"MpnsHeader\"].push({\n Header: header,\n Value: description.mpnsHeaders[header],\n });\n }\n }\n\n return {\n ...this.serializeMpnsRegistrationDescription(description),\n ...serializeTemplateRegistrationDescription(description),\n MpnsHeaders: mpnsHeaders,\n };\n },\n\n /**\n * @internal\n * Serializes an existing Xiaomi registration description to an object for serialization.\n */\n serializeXiaomiRegistrationDescription(\n description: Omit<XiaomiRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...serializeRegistrationDescription(description),\n XiaomiRegistrationId: getString(description.xiaomiRegistrationId, \"xiaomiRegistrationId\"),\n };\n },\n\n /**\n * @internal\n * Serializes an existing Xiaomi template registration description to an object for serialization.\n */\n serializeXiaomiTemplateRegistrationDescription(\n description: Omit<XiaomiTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...this.serializeXiaomiRegistrationDescription(description),\n ...serializeTemplateRegistrationDescription(description),\n };\n },\n\n /**\n * @internal\n * Serializes an existing Windows registration description to an object for serialization.\n */\n serializeWindowsRegistrationDescription(\n description: Omit<WindowsRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...serializeRegistrationDescription(description),\n ChannelUri: description.channelUri,\n };\n },\n\n /**\n * @internal\n * Serializes an existing Windows template registration description to an object for serialization.\n */\n serializeWindowsTemplateRegistrationDescription(\n description: Omit<WindowsTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n let wnsHeaders: Record<string, any> | undefined;\n if (description.wnsHeaders) {\n wnsHeaders = {\n WnsHeader: [],\n };\n\n for (const header of Object.keys(description.wnsHeaders)) {\n wnsHeaders[\"WnsHeader\"].push({\n Header: header,\n Value: description.wnsHeaders[header],\n });\n }\n }\n\n return {\n ...this.serializeWindowsRegistrationDescription(description),\n ...serializeTemplateRegistrationDescription(description),\n WnsHeaders: wnsHeaders,\n };\n },\n};\n\nfunction serializeRegistrationDescription(\n description: Omit<RegistrationDescriptionCommon, \"kind\">,\n): Record<string, any> {\n let tags: string | undefined;\n if (description.tags) {\n tags = description.tags.join(\",\");\n }\n\n let pushVariables: string | undefined;\n if (description.pushVariables) {\n pushVariables = JSON.stringify(description.pushVariables);\n }\n\n return {\n RegistrationId: getStringOrUndefined(description.registrationId),\n Tags: tags,\n PushVariables: pushVariables,\n };\n}\n\nfunction serializeTemplateRegistrationDescription(\n description: TemplateRegistrationDescription,\n): Record<string, any> {\n return {\n BodyTemplate: { __cdata: description.bodyTemplate },\n TemplateName: getStringOrUndefined(description.templateName),\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"registrationSerializer.js","sourceRoot":"","sources":["../../../src/serializers/registrationSerializer.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n AdmRegistrationDescription,\n AdmTemplateRegistrationDescription,\n AppleRegistrationDescription,\n AppleTemplateRegistrationDescription,\n BaiduRegistrationDescription,\n BaiduTemplateRegistrationDescription,\n BrowserRegistrationDescription,\n BrowserTemplateRegistrationDescription,\n GcmRegistrationDescription,\n GcmTemplateRegistrationDescription,\n FcmV1RegistrationDescription,\n FcmV1TemplateRegistrationDescription,\n MpnsRegistrationDescription,\n MpnsTemplateRegistrationDescription,\n RegistrationDescription,\n RegistrationDescriptionCommon,\n TemplateRegistrationDescription,\n XiaomiRegistrationDescription,\n XiaomiTemplateRegistrationDescription,\n WindowsRegistrationDescription,\n WindowsTemplateRegistrationDescription,\n} from \"../models/registration.js\";\nimport {\n getDateOrUndefined,\n getString,\n getStringOrUndefined,\n getTagsOrUndefined,\n isDefined,\n} from \"../utils/utils.js\";\nimport { parseXML, stringifyXML } from \"@azure/core-xml\";\nimport { RestError } from \"@azure/core-rest-pipeline\";\nimport { serializeToAtomXmlRequest } from \"../utils/xmlUtils.js\";\n\n/**\n * Represents a registration description parser from the incoming XML.\n */\nexport interface RegistrationDescriptionParser {\n /**\n * @internal\n * Creates a registration type from the incoming entry.\n */\n parseRegistrationEntry: (bodyText: string) => Promise<RegistrationDescription>;\n /**\n * @internal\n * Creates a list of registrations from an incoming ATOM XML Feed.\n */\n parseRegistrationFeed: (bodyText: string) => Promise<RegistrationDescription[]>;\n /**\n * @internal\n * Creates an Amazon Device Messaging (ADM) registration description from the incoming parsed XML.\n */\n createAdmRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => AdmRegistrationDescription;\n /**\n * @internal\n * Creates an Amazon Device Messaging (ADM) template registration description from the incoming parsed XML.\n */\n createAdmTemplateRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => AdmTemplateRegistrationDescription;\n /**\n * @internal\n * Creates an Apple Platform Notification Services (APNs) registration description from the incoming parsed XML.\n */\n createAppleRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => AppleRegistrationDescription;\n /**\n * @internal\n * Creates an Apple Platform Notification Services (APNs) template registration description from the incoming parsed XML.\n */\n createAppleTemplateRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => AppleTemplateRegistrationDescription;\n /**\n * @internal\n * Creates a Baidu registration description from the incoming parsed XML.\n */\n createBaiduRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => BaiduRegistrationDescription;\n /**\n * @internal\n * Creates a Baidu template registration description from the incoming parsed XML.\n */\n createBaiduTemplateRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => BaiduTemplateRegistrationDescription;\n /**\n * @internal\n * Creates a Web Push registration description from the incoming parsed XML.\n */\n createBrowserRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => BrowserRegistrationDescription;\n /**\n * @internal\n * Creates a Web Push template registration description from the incoming parsed XML.\n */\n createBrowserTemplateRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => BrowserTemplateRegistrationDescription;\n /**\n * @internal\n * Creates a Firebase V1 Cloud Messaging (FCM) registration description from the incoming parsed XML.\n */\n createFcmV1RegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => FcmV1RegistrationDescription;\n /**\n * @internal\n * Creates a Firebase V1 Cloud Messaging (FCM) template registration description from the incoming parsed XML.\n */\n createFcmV1TemplateRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => FcmV1TemplateRegistrationDescription;\n /**\n * @internal\n * Creates a Google Cloud Messaging (GCM) registration description from the incoming parsed XML.\n */\n createGcmRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => GcmRegistrationDescription;\n /**\n * @internal\n * Creates a Google Cloud Messaging (GCM) template registration description from the incoming parsed XML.\n */\n createGcmTemplateRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => GcmTemplateRegistrationDescription;\n /**\n * @internal\n * Creates a Microsoft Phone Notification Services (MPNS) registration description from the incoming parsed XML.\n */\n createMpnsRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => MpnsRegistrationDescription;\n /**\n * @internal\n * Creates a Microsoft Phone Notification Services (MPNS) template registration description from the incoming parsed XML.\n */\n createMpnsTemplateRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => MpnsTemplateRegistrationDescription;\n /**\n * @internal\n * Creates a Xiaomi registration description from the incoming parsed XML.\n */\n createXiaomiRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => XiaomiRegistrationDescription;\n /**\n * @internal\n * Creates a Xiaomi template registration description from the incoming parsed XML.\n */\n createXiaomiTemplateRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => XiaomiTemplateRegistrationDescription;\n /**\n * @internal\n * Creates a Windows Notification Services (WNS) registration description from the incoming parsed XML.\n */\n createWindowsRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => WindowsRegistrationDescription;\n /**\n * @internal\n * Creates a Windows Notification Services (WNS) template registration description from the incoming parsed XML.\n */\n createWindowsTemplateRegistrationDescription: (\n rawRegistrationDescription: Record<string, any>,\n ) => WindowsTemplateRegistrationDescription;\n}\n\nexport const registrationDescriptionParser: RegistrationDescriptionParser = {\n /**\n * @internal\n * Creates a registration type from the incoming entry.\n */\n async parseRegistrationEntry(bodyText: string): Promise<RegistrationDescription> {\n const xml = await parseXML(bodyText, { includeRoot: true });\n delete xml.entry.content[\"$\"];\n const keyName = Object.keys(xml.entry.content)[0];\n const content = xml.entry.content[keyName];\n const methodName = `create${keyName}`;\n\n const method = this[methodName as keyof RegistrationDescriptionParser] as any;\n if (!methodName) {\n throw new RestError(`${keyName} is not a supported registration type`, { statusCode: 500 });\n }\n\n return method.call(this, content) as RegistrationDescription;\n },\n\n /**\n * @internal\n * Creates a list of registrations from an incoming ATOM XML Feed.\n */\n async parseRegistrationFeed(bodyText: string): Promise<RegistrationDescription[]> {\n const xml = await parseXML(bodyText, { includeRoot: true });\n const results: RegistrationDescription[] = [];\n if (!isDefined(xml.feed.entry)) {\n return results;\n }\n\n const entries = Array.isArray(xml.feed.entry) ? xml.feed.entry : [xml.feed.entry];\n\n for (const entry of entries) {\n delete entry.content[\"$\"];\n\n const keyName = Object.keys(entry.content)[0];\n const methodName = `create${keyName}`;\n const content = entry.content[keyName];\n const method = this[methodName as keyof RegistrationDescriptionParser] as any;\n if (!methodName) {\n throw new RestError(`${keyName} is not a supported registration type`, { statusCode: 500 });\n }\n\n results.push(method.call(this, content) as RegistrationDescription);\n }\n\n return results;\n },\n\n /**\n * @internal\n * Creates an ADM registration description from incoming XML property bag.\n */\n createAdmRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): AdmRegistrationDescription {\n return {\n admRegistrationId: getString(\n rawRegistrationDescription[\"AdmRegistrationId\"],\n \"admRegistrationId\",\n ).trim(),\n ...createRegistrationDescription(rawRegistrationDescription),\n kind: \"Adm\",\n };\n },\n\n /**\n * @internal\n * Creates an ADM template registration description from incoming XML property bag.\n */\n createAdmTemplateRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): AdmTemplateRegistrationDescription {\n return {\n ...this.createAdmRegistrationDescription(rawRegistrationDescription),\n ...createTemplateRegistrationDescription(rawRegistrationDescription),\n kind: \"AdmTemplate\",\n };\n },\n\n /**\n * @internal\n * Creates an Apple registration description from incoming XML property bag.\n */\n createAppleRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): AppleRegistrationDescription {\n return {\n deviceToken: getString(rawRegistrationDescription[\"DeviceToken\"], \"deviceToken\").trim(),\n ...createRegistrationDescription(rawRegistrationDescription),\n kind: \"Apple\",\n };\n },\n\n /**\n * @internal\n * Creates an Apple template registration description from incoming XML property bag.\n */\n createAppleTemplateRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): AppleTemplateRegistrationDescription {\n return {\n priority: getStringOrUndefined(rawRegistrationDescription[\"Priority\"])?.trim() as \"10\" | \"5\",\n apnsHeaders: getHeadersOrUndefined(rawRegistrationDescription[\"ApnsHeaders\"]?.[\"ApnsHeader\"]),\n ...this.createAppleRegistrationDescription(rawRegistrationDescription),\n ...createTemplateRegistrationDescription(rawRegistrationDescription),\n kind: \"AppleTemplate\",\n };\n },\n\n /**\n * @internal\n * Creates a Baidu registration description from incoming XML property bag.\n */\n createBaiduRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): BaiduRegistrationDescription {\n return {\n baiduChannelId: getString(\n rawRegistrationDescription[\"BaiduChannelId\"],\n \"baiduChannelId\",\n ).trim(),\n baiduUserId: getString(rawRegistrationDescription[\"BaiduUserId\"], \"baiduUserId\").trim(),\n ...createRegistrationDescription(rawRegistrationDescription),\n kind: \"Baidu\",\n };\n },\n\n /**\n * @internal\n * Creates a Baidu template registration description from incoming XML property bag.\n */\n createBaiduTemplateRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): BaiduTemplateRegistrationDescription {\n return {\n ...this.createBaiduRegistrationDescription(rawRegistrationDescription),\n ...createTemplateRegistrationDescription(rawRegistrationDescription),\n kind: \"BaiduTemplate\",\n };\n },\n\n /**\n * @internal\n * Creates a Browser registration description from incoming XML property bag.\n */\n createBrowserRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): BrowserRegistrationDescription {\n return {\n endpoint: getString(rawRegistrationDescription[\"Endpoint\"], \"endpoint\").trim(),\n p256dh: getString(rawRegistrationDescription[\"P256DH\"], \"p256dh\").trim(),\n auth: getString(rawRegistrationDescription[\"Auth\"], \"auth\").trim(),\n ...createRegistrationDescription(rawRegistrationDescription),\n kind: \"Browser\",\n };\n },\n\n /**\n * @internal\n * Creates a Browser template registration description from incoming XML property bag.\n */\n createBrowserTemplateRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): BrowserTemplateRegistrationDescription {\n return {\n ...this.createBrowserRegistrationDescription(rawRegistrationDescription),\n ...createTemplateRegistrationDescription(rawRegistrationDescription),\n kind: \"BrowserTemplate\",\n };\n },\n /**\n * @internal\n * Creates an GCM registration description from incoming XML property bag.\n */\n createFcmV1RegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): FcmV1RegistrationDescription {\n return {\n fcmV1RegistrationId: getString(\n rawRegistrationDescription[\"FcmV1RegistrationId\"],\n \"fcmV1RegistrationId\",\n ).trim(),\n ...createRegistrationDescription(rawRegistrationDescription),\n kind: \"FcmV1\",\n };\n },\n\n /**\n * @internal\n * Creates an FCM template registration description from incoming XML property bag.\n */\n createFcmV1TemplateRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): FcmV1TemplateRegistrationDescription {\n return {\n ...this.createFcmV1RegistrationDescription(rawRegistrationDescription),\n ...createTemplateRegistrationDescription(rawRegistrationDescription),\n kind: \"FcmV1Template\",\n };\n },\n\n /**\n * @internal\n * Creates an GCM registration description from incoming XML property bag.\n */\n createGcmRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): GcmRegistrationDescription {\n return {\n gcmRegistrationId: getString(\n rawRegistrationDescription[\"GcmRegistrationId\"],\n \"gcmRegistrationId\",\n ).trim(),\n ...createRegistrationDescription(rawRegistrationDescription),\n kind: \"Gcm\",\n };\n },\n\n /**\n * @internal\n * Creates an FCM template registration description from incoming XML property bag.\n */\n createGcmTemplateRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): GcmTemplateRegistrationDescription {\n return {\n ...this.createGcmRegistrationDescription(rawRegistrationDescription),\n ...createTemplateRegistrationDescription(rawRegistrationDescription),\n kind: \"GcmTemplate\",\n };\n },\n\n /**\n * @internal\n * Creates a Windows Phone registration description from incoming XML property bag.\n */\n createMpnsRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): MpnsRegistrationDescription {\n return {\n channelUri: getString(rawRegistrationDescription[\"ChannelUri\"], \"channelUri\").trim(),\n ...createRegistrationDescription(rawRegistrationDescription),\n kind: \"Mpns\",\n };\n },\n\n /**\n * @internal\n * Creates a Windows Phone template registration description from incoming XML property bag.\n */\n createMpnsTemplateRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): MpnsTemplateRegistrationDescription {\n return {\n mpnsHeaders: getHeadersOrUndefined(rawRegistrationDescription[\"MpnsHeaders\"]?.[\"MpnsHeader\"]),\n ...this.createWindowsRegistrationDescription(rawRegistrationDescription),\n ...createTemplateRegistrationDescription(rawRegistrationDescription),\n kind: \"MpnsTemplate\",\n };\n },\n\n /**\n * @internal\n * Creates a Xiaomi registration description from incoming XML property bag.\n */\n createXiaomiRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): XiaomiRegistrationDescription {\n return {\n xiaomiRegistrationId: getString(\n rawRegistrationDescription[\"XiaomiRegistrationId\"],\n \"xiaomiRegistrationId\",\n ).trim(),\n ...createRegistrationDescription(rawRegistrationDescription),\n kind: \"Xiaomi\",\n };\n },\n\n /**\n * @internal\n * Creates a Xiaomi template registration description from incoming XML property bag.\n */\n createXiaomiTemplateRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): XiaomiTemplateRegistrationDescription {\n return {\n ...this.createXiaomiRegistrationDescription(rawRegistrationDescription),\n ...createTemplateRegistrationDescription(rawRegistrationDescription),\n kind: \"XiaomiTemplate\",\n };\n },\n\n /**\n * @internal\n * Creates a Windows registration description from incoming XML property bag.\n */\n createWindowsRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): WindowsRegistrationDescription {\n return {\n channelUri: getString(rawRegistrationDescription[\"ChannelUri\"], \"channelUri\").trim(),\n ...createRegistrationDescription(rawRegistrationDescription),\n kind: \"Windows\",\n };\n },\n\n /**\n * @internal\n * Creates a Windows template registration description from incoming XML property bag.\n */\n createWindowsTemplateRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n ): WindowsTemplateRegistrationDescription {\n return {\n wnsHeaders: getHeadersOrUndefined(rawRegistrationDescription[\"WnsHeaders\"]?.[\"WnsHeader\"]),\n ...this.createWindowsRegistrationDescription(rawRegistrationDescription),\n ...createTemplateRegistrationDescription(rawRegistrationDescription),\n kind: \"WindowsTemplate\",\n };\n },\n};\n\nfunction getHeadersOrUndefined(\n value?: { Header: string; Value: string }[],\n): Record<string, string> | undefined {\n if (!isDefined(value)) {\n return undefined;\n }\n\n const headerObj: Record<string, string> = {};\n for (const { Header, Value } of value) {\n headerObj[Header] = Value;\n }\n\n return headerObj;\n}\n\nfunction createRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n): Omit<RegistrationDescriptionCommon, \"kind\"> {\n let pushVariables: Record<string, string> | undefined;\n const unparsed = getStringOrUndefined(rawRegistrationDescription[\"PushVariables\"])?.trim();\n if (unparsed) {\n pushVariables = JSON.parse(unparsed) as Record<string, string>;\n }\n\n return {\n registrationId: getStringOrUndefined(rawRegistrationDescription[\"RegistrationId\"])?.trim(),\n expirationTime: getDateOrUndefined(rawRegistrationDescription[\"ExpirationTime\"]),\n etag: getStringOrUndefined(rawRegistrationDescription[\"ETag\"])?.trim(),\n tags: getTagsOrUndefined(rawRegistrationDescription[\"Tags\"]),\n pushVariables: pushVariables,\n };\n}\n\nfunction createTemplateRegistrationDescription(\n rawRegistrationDescription: Record<string, any>,\n): TemplateRegistrationDescription {\n return {\n bodyTemplate: getString(rawRegistrationDescription[\"BodyTemplate\"], \"bodyTemplate\").trim(),\n templateName: getStringOrUndefined(rawRegistrationDescription[\"TemplateName\"])?.trim(),\n ...createRegistrationDescription(rawRegistrationDescription),\n };\n}\n\n/**\n * @internal\n * Represents a serializer for all registration descriptions.\n */\nexport interface RegistrationDescriptionSerializer {\n /**\n * @internal\n * Serializes a registration description into an ATOM XML string.\n */\n serializeRegistrationDescription(description: RegistrationDescription): string;\n /**\n * @internal\n * Serializes an Amazon Device Messaging (ADM) registration description into an XML object for serialization.\n */\n serializeAdmRegistrationDescription(\n description: Omit<AdmRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes an Amazon Device Messaging (ADM) template registration description into an XML object for serialization.\n */\n serializeAdmTemplateRegistrationDescription(\n description: Omit<AdmTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes an Apple registration description into an XML object for serialization.\n */\n serializeAppleRegistrationDescription(\n description: Omit<AppleRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes an Apple template registration description into an XML object for serialization.\n */\n serializeAppleTemplateRegistrationDescription(\n description: Omit<AppleRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Baidu registration description into an XML object for serialization.\n */\n serializeBaiduRegistrationDescription(\n description: Omit<BaiduRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Baidu template registration description into an XML object for serialization.\n */\n serializeBaiduTemplateRegistrationDescription(\n description: Omit<BaiduTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Web Push registration description into an XML object for serialization.\n */\n serializeBrowserRegistrationDescription(\n description: Omit<BrowserRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Web Push template registration description into an XML object for serialization.\n */\n serializeBrowserTemplateRegistrationDescription(\n description: Omit<BrowserTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Google Cloud Messaging (GCM) registration description into an XML object for serialization.\n */\n serializeFcmV1RegistrationDescription(\n description: Omit<FcmV1RegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Google Cloud Messaging (GCM) template registration description into an XML object for serialization.\n */\n serializeFcmV1TemplateRegistrationDescription(\n description: Omit<FcmV1TemplateRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Google Cloud Messaging (GCM) registration description into an XML object for serialization.\n */\n serializeGcmRegistrationDescription(\n description: Omit<GcmRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Google Cloud Messaging (GCM) template registration description into an XML object for serialization.\n */\n serializeGcmTemplateRegistrationDescription(\n description: Omit<GcmTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Windows Phone registration description into an XML object for serialization.\n */\n serializeMpnsRegistrationDescription(\n description: Omit<MpnsRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Windows Phone template registration description into an XML object for serialization.\n */\n serializeMpnsTemplateRegistrationDescription(\n description: Omit<MpnsTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Xiaomi registration description into an XML object for serialization.\n */\n serializeXiaomiRegistrationDescription(\n description: Omit<XiaomiRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Xiaomi template registration description into an XML object for serialization.\n */\n serializeXiaomiTemplateRegistrationDescription(\n description: Omit<XiaomiTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Windows Notification Services (WNS) registration description into an XML object for serialization.\n */\n serializeWindowsRegistrationDescription(\n description: Omit<WindowsRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n /**\n * @internal\n * Serializes a Windows Notification Services (WNS) template registration description into an XML object for serialization.\n */\n serializeWindowsTemplateRegistrationDescription(\n description: Omit<WindowsTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any>;\n}\n\n/**\n * Represents a RegistrationDescription serializer.\n */\nexport const registrationDescriptionSerializer: RegistrationDescriptionSerializer = {\n serializeRegistrationDescription(description: RegistrationDescription): string {\n const rootName = `${description.kind}RegistrationDescription`;\n const methodName = `serialize${rootName}`;\n\n const method = this[methodName as keyof RegistrationDescriptionSerializer].bind(this) as (\n description: RegistrationDescription,\n ) => Record<string, any>;\n if (!isDefined(method)) {\n throw new RestError(`Undefined platform ${description.kind}`, { statusCode: 400 });\n }\n\n const registration = method(description) as Record<string, any>;\n const requestObject = serializeToAtomXmlRequest(rootName, registration);\n\n return stringifyXML(requestObject, { rootName: \"entry\" });\n },\n\n /**\n * @internal\n * Serializes an existing ADM registration description to an object for serialization.\n */\n serializeAdmRegistrationDescription(\n description: Omit<AdmRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...serializeRegistrationDescription(description),\n AdmRegistrationId: getString(description.admRegistrationId, \"admRegistrationId\").trim(),\n };\n },\n\n /**\n * @internal\n * Serializes an existing ADM template registration description to an object for serialization.\n */\n serializeAdmTemplateRegistrationDescription(\n description: Omit<AdmTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...this.serializeAdmRegistrationDescription(description),\n ...serializeTemplateRegistrationDescription(description),\n };\n },\n\n /**\n * @internal\n * Serializes an existing Apple registration description to an object for serialization.\n */\n serializeAppleRegistrationDescription(\n description: Omit<AppleRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...serializeRegistrationDescription(description),\n DeviceToken: getString(description.deviceToken, \"deviceToken\").trim(),\n };\n },\n\n /**\n * @internal\n * Serializes an existing Apple template registration description to an object for serialization.\n */\n serializeAppleTemplateRegistrationDescription(\n description: AppleTemplateRegistrationDescription,\n ): Record<string, any> {\n let apnsHeaders: Record<string, any> | undefined;\n if (description.apnsHeaders) {\n apnsHeaders = {\n ApnsHeader: [],\n };\n\n for (const header of Object.keys(description.apnsHeaders)) {\n apnsHeaders[\"ApnsHeader\"].push({\n Header: header.trim(),\n Value: description.apnsHeaders[header].trim(),\n });\n }\n }\n\n return {\n ...this.serializeAppleRegistrationDescription(description),\n ...serializeTemplateRegistrationDescription(description),\n Expiry: getStringOrUndefined(description.expiry)?.trim(),\n ApnsHeaders: apnsHeaders,\n };\n },\n\n /**\n * @internal\n * Serializes an existing Baidu registration description to an object for serialization.\n */\n serializeBaiduRegistrationDescription(\n description: Omit<BaiduRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...serializeRegistrationDescription(description),\n BaiduChannelId: getString(description.baiduChannelId, \"baiduChannelId\").trim(),\n BaiduUserId: getString(description.baiduUserId, \"baiduUserId\").trim(),\n };\n },\n\n /**\n * @internal\n * Serializes an existing Baidu template registration description to an object for serialization.\n */\n serializeBaiduTemplateRegistrationDescription(\n description: Omit<BaiduTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...this.serializeBaiduRegistrationDescription(description),\n ...serializeTemplateRegistrationDescription(description),\n };\n },\n\n /**\n * @internal\n * Serializes an existing Browser registration description to an object for serialization.\n */\n serializeBrowserRegistrationDescription(\n description: Omit<BrowserRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...serializeRegistrationDescription(description),\n Endpoint: description.endpoint,\n P256DH: description.p256dh,\n Auth: description.auth,\n };\n },\n\n /**\n * @internal\n * Serializes an existing Browser template registration description to an object for serialization.\n */\n serializeBrowserTemplateRegistrationDescription(\n description: Omit<BrowserTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...this.serializeBrowserRegistrationDescription(description),\n ...serializeTemplateRegistrationDescription(description),\n };\n },\n\n /**\n * @internal\n * Serializes an existing FCM V1 registration description to an object for serialization.\n */\n serializeFcmV1RegistrationDescription(\n description: Omit<FcmV1RegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...serializeRegistrationDescription(description),\n FcmV1RegistrationId: getString(description.fcmV1RegistrationId, \"fcmRegistrationId\").trim(),\n };\n },\n\n /**\n * @internal\n * Serializes an existing FCM V1 template registration description to an object for serialization.\n */\n serializeFcmV1TemplateRegistrationDescription(\n description: Omit<FcmV1TemplateRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...this.serializeFcmV1RegistrationDescription(description),\n ...serializeTemplateRegistrationDescription(description),\n };\n },\n\n /**\n * @internal\n * Serializes an existing GCM registration description to an object for serialization.\n */\n serializeGcmRegistrationDescription(\n description: Omit<GcmRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...serializeRegistrationDescription(description),\n GcmRegistrationId: getString(description.gcmRegistrationId, \"gcmRegistrationId\").trim(),\n };\n },\n\n /**\n * @internal\n * Serializes an existing GCM template registration description to an object for serialization.\n */\n serializeGcmTemplateRegistrationDescription(\n description: Omit<GcmTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...this.serializeGcmRegistrationDescription(description),\n ...serializeTemplateRegistrationDescription(description),\n };\n },\n\n /**\n * @internal\n * @deprecated Windows Phone is no longer supported.\n * Serializes an existing MPNS registration description to an object for serialization.\n */\n serializeMpnsRegistrationDescription(\n description: Omit<MpnsRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...serializeRegistrationDescription(description),\n ChannelUri: description.channelUri,\n };\n },\n\n /**\n * @internal\n * @deprecated Windows Phone is no longer supported.\n * Serializes an existing MPNS template registration description to an object for serialization.\n */\n serializeMpnsTemplateRegistrationDescription(\n description: Omit<MpnsTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n let mpnsHeaders: Record<string, any> | undefined;\n if (description.mpnsHeaders) {\n mpnsHeaders = {\n MpnsHeader: [],\n };\n\n for (const header of Object.keys(description.mpnsHeaders)) {\n mpnsHeaders[\"MpnsHeader\"].push({\n Header: header.trim(),\n Value: description.mpnsHeaders[header].trim(),\n });\n }\n }\n\n return {\n ...this.serializeMpnsRegistrationDescription(description),\n ...serializeTemplateRegistrationDescription(description),\n MpnsHeaders: mpnsHeaders,\n };\n },\n\n /**\n * @internal\n * Serializes an existing Xiaomi registration description to an object for serialization.\n */\n serializeXiaomiRegistrationDescription(\n description: Omit<XiaomiRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...serializeRegistrationDescription(description),\n XiaomiRegistrationId: getString(\n description.xiaomiRegistrationId,\n \"xiaomiRegistrationId\",\n ).trim(),\n };\n },\n\n /**\n * @internal\n * Serializes an existing Xiaomi template registration description to an object for serialization.\n */\n serializeXiaomiTemplateRegistrationDescription(\n description: Omit<XiaomiTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...this.serializeXiaomiRegistrationDescription(description),\n ...serializeTemplateRegistrationDescription(description),\n };\n },\n\n /**\n * @internal\n * Serializes an existing Windows registration description to an object for serialization.\n */\n serializeWindowsRegistrationDescription(\n description: Omit<WindowsRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n return {\n ...serializeRegistrationDescription(description),\n ChannelUri: description.channelUri,\n };\n },\n\n /**\n * @internal\n * Serializes an existing Windows template registration description to an object for serialization.\n */\n serializeWindowsTemplateRegistrationDescription(\n description: Omit<WindowsTemplateRegistrationDescription, \"kind\">,\n ): Record<string, any> {\n let wnsHeaders: Record<string, any> | undefined;\n if (description.wnsHeaders) {\n wnsHeaders = {\n WnsHeader: [],\n };\n\n for (const header of Object.keys(description.wnsHeaders)) {\n wnsHeaders[\"WnsHeader\"].push({\n Header: header.trim(),\n Value: description.wnsHeaders[header].trim(),\n });\n }\n }\n\n return {\n ...this.serializeWindowsRegistrationDescription(description),\n ...serializeTemplateRegistrationDescription(description),\n WnsHeaders: wnsHeaders,\n };\n },\n};\n\nfunction serializeRegistrationDescription(\n description: Omit<RegistrationDescriptionCommon, \"kind\">,\n): Record<string, any> {\n let tags: string | undefined;\n if (description.tags) {\n tags = description.tags.join(\",\");\n }\n\n let pushVariables: string | undefined;\n if (description.pushVariables) {\n pushVariables = JSON.stringify(description.pushVariables);\n }\n\n return {\n RegistrationId: getStringOrUndefined(description.registrationId),\n Tags: tags,\n PushVariables: pushVariables,\n };\n}\n\nfunction serializeTemplateRegistrationDescription(\n description: TemplateRegistrationDescription,\n): Record<string, any> {\n return {\n BodyTemplate: { __cdata: description.bodyTemplate },\n TemplateName: getStringOrUndefined(description.templateName)?.trim(),\n };\n}\n"]}
|
|
@@ -7,6 +7,7 @@ import { parseXML } from "@azure/core-xml";
|
|
|
7
7
|
* Parses a NotificationDetails from incoming XML.
|
|
8
8
|
*/
|
|
9
9
|
export async function parseNotificationDetails(bodyText) {
|
|
10
|
+
var _a, _b, _c, _d, _e, _f;
|
|
10
11
|
const xml = await parseXML(bodyText, {
|
|
11
12
|
includeRoot: true,
|
|
12
13
|
});
|
|
@@ -44,15 +45,15 @@ export async function parseNotificationDetails(bodyText) {
|
|
|
44
45
|
wnsOutcomeCounts = parseOutcomeCounts(notificationDetails["WnsOutcomeCounts"]["Outcome"]);
|
|
45
46
|
}
|
|
46
47
|
return {
|
|
47
|
-
notificationId: getStringOrUndefined(notificationDetails["NotificationId"]),
|
|
48
|
-
location: getStringOrUndefined(notificationDetails["Location"]),
|
|
49
|
-
state: getStringOrUndefined(notificationDetails["State"]),
|
|
48
|
+
notificationId: (_a = getStringOrUndefined(notificationDetails["NotificationId"])) === null || _a === void 0 ? void 0 : _a.trim(),
|
|
49
|
+
location: (_b = getStringOrUndefined(notificationDetails["Location"])) === null || _b === void 0 ? void 0 : _b.trim(),
|
|
50
|
+
state: (_c = getStringOrUndefined(notificationDetails["State"])) === null || _c === void 0 ? void 0 : _c.trim(),
|
|
50
51
|
enqueueTime: getDateOrUndefined(notificationDetails["EnqueueTime"]),
|
|
51
52
|
startTime: getDateOrUndefined(notificationDetails["StartTime"]),
|
|
52
53
|
endTime: getDateOrUndefined(notificationDetails["EndTime"]),
|
|
53
|
-
pnsErrorDetailsUrl: getStringOrUndefined(notificationDetails["PnsErrorDetailsUri"]),
|
|
54
|
-
targetPlatforms: getStringOrUndefined(notificationDetails["TargetPlatforms"]),
|
|
55
|
-
notificationBody: getStringOrUndefined(notificationDetails["NotificationBody"]),
|
|
54
|
+
pnsErrorDetailsUrl: (_d = getStringOrUndefined(notificationDetails["PnsErrorDetailsUri"])) === null || _d === void 0 ? void 0 : _d.trim(),
|
|
55
|
+
targetPlatforms: (_e = getStringOrUndefined(notificationDetails["TargetPlatforms"])) === null || _e === void 0 ? void 0 : _e.trim(),
|
|
56
|
+
notificationBody: (_f = getStringOrUndefined(notificationDetails["NotificationBody"])) === null || _f === void 0 ? void 0 : _f.trim(),
|
|
56
57
|
apnsOutcomeCounts,
|
|
57
58
|
admOutcomeCounts,
|
|
58
59
|
baiduOutcomeCounts,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notificationDetailsSerializer.js","sourceRoot":"","sources":["../../../src/serializers/notificationDetailsSerializer.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAOlC,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,QAAgB
|
|
1
|
+
{"version":3,"file":"notificationDetailsSerializer.js","sourceRoot":"","sources":["../../../src/serializers/notificationDetailsSerializer.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n NotificationDetails,\n NotificationOutcome,\n NotificationOutcomeState,\n} from \"../models/notificationDetails.js\";\nimport { getDateOrUndefined, getInteger, getStringOrUndefined, isDefined } from \"../utils/utils.js\";\nimport { parseXML } from \"@azure/core-xml\";\n\n/**\n * @internal\n * Parses a NotificationDetails from incoming XML.\n */\nexport async function parseNotificationDetails(bodyText: string): Promise<NotificationDetails> {\n const xml = await parseXML(bodyText, {\n includeRoot: true,\n });\n const notificationDetails = xml[\"NotificationDetails\"];\n\n let apnsOutcomeCounts: NotificationOutcome[] | undefined;\n if (isDefined(notificationDetails[\"ApnsOutcomeCounts\"])) {\n apnsOutcomeCounts = parseOutcomeCounts(notificationDetails[\"ApnsOutcomeCounts\"][\"Outcome\"]);\n }\n\n let admOutcomeCounts: NotificationOutcome[] | undefined;\n if (isDefined(notificationDetails[\"AdmOutcomeCounts\"])) {\n admOutcomeCounts = parseOutcomeCounts(notificationDetails[\"AdmOutcomeCounts\"][\"Outcome\"]);\n }\n\n let baiduOutcomeCounts: NotificationOutcome[] | undefined;\n if (isDefined(notificationDetails[\"BaiduOutcomeCounts\"])) {\n baiduOutcomeCounts = parseOutcomeCounts(notificationDetails[\"BaiduOutcomeCounts\"][\"Outcome\"]);\n }\n\n let browserOutcomeCounts: NotificationOutcome[] | undefined;\n if (isDefined(notificationDetails[\"BrowserOutcomeCounts\"])) {\n browserOutcomeCounts = parseOutcomeCounts(\n notificationDetails[\"BrowserOutcomeCounts\"][\"Outcome\"],\n );\n }\n\n let fcmOutcomeCounts: NotificationOutcome[] | undefined;\n if (isDefined(notificationDetails[\"GcmOutcomeCounts\"])) {\n fcmOutcomeCounts = parseOutcomeCounts(notificationDetails[\"GcmOutcomeCounts\"][\"Outcome\"]);\n }\n\n let fcmV1OutcomeCounts: NotificationOutcome[] | undefined;\n if (isDefined(notificationDetails[\"FcmV1OutcomeCounts\"])) {\n fcmV1OutcomeCounts = parseOutcomeCounts(notificationDetails[\"FcmV1OutcomeCounts\"][\"Outcome\"]);\n }\n\n let xiaomiOutcomeCounts: NotificationOutcome[] | undefined;\n if (isDefined(notificationDetails[\"XiaomiOutcomeCounts\"])) {\n xiaomiOutcomeCounts = parseOutcomeCounts(notificationDetails[\"XiaomiOutcomeCounts\"][\"Outcome\"]);\n }\n\n let wnsOutcomeCounts: NotificationOutcome[] | undefined;\n if (isDefined(notificationDetails[\"WnsOutcomeCounts\"])) {\n wnsOutcomeCounts = parseOutcomeCounts(notificationDetails[\"WnsOutcomeCounts\"][\"Outcome\"]);\n }\n\n return {\n notificationId: getStringOrUndefined(notificationDetails[\"NotificationId\"])?.trim(),\n location: getStringOrUndefined(notificationDetails[\"Location\"])?.trim(),\n state: getStringOrUndefined(notificationDetails[\"State\"])?.trim() as NotificationOutcomeState,\n enqueueTime: getDateOrUndefined(notificationDetails[\"EnqueueTime\"]),\n startTime: getDateOrUndefined(notificationDetails[\"StartTime\"]),\n endTime: getDateOrUndefined(notificationDetails[\"EndTime\"]),\n pnsErrorDetailsUrl: getStringOrUndefined(notificationDetails[\"PnsErrorDetailsUri\"])?.trim(),\n targetPlatforms: getStringOrUndefined(notificationDetails[\"TargetPlatforms\"])?.trim(),\n notificationBody: getStringOrUndefined(notificationDetails[\"NotificationBody\"])?.trim(),\n apnsOutcomeCounts,\n admOutcomeCounts,\n baiduOutcomeCounts,\n browserOutcomeCounts,\n fcmOutcomeCounts,\n fcmV1OutcomeCounts,\n xiaomiOutcomeCounts,\n wnsOutcomeCounts,\n };\n}\n\nfunction parseOutcomeCounts(\n counts: Record<string, any>[] | Record<string, any>,\n): NotificationOutcome[] {\n const items = Array.isArray(counts) ? counts : [counts];\n const results: NotificationOutcome[] = [];\n for (const item of items) {\n results.push({ state: item[\"Name\"], count: getInteger(item[\"Count\"], \"Count\") });\n }\n\n return results;\n}\n"]}
|
|
@@ -55,6 +55,7 @@ function createInputOutputProperties(content) {
|
|
|
55
55
|
return props;
|
|
56
56
|
}
|
|
57
57
|
function createNotificationHubJob(content) {
|
|
58
|
+
var _a, _b, _c, _d;
|
|
58
59
|
let outputProperties;
|
|
59
60
|
if (isDefined(content["OutputProperties"])) {
|
|
60
61
|
outputProperties = createInputOutputProperties(content["OutputProperties"]);
|
|
@@ -64,13 +65,13 @@ function createNotificationHubJob(content) {
|
|
|
64
65
|
inputProperties = createInputOutputProperties(content["InputProperties"]);
|
|
65
66
|
}
|
|
66
67
|
return {
|
|
67
|
-
jobId: getStringOrUndefined(content["JobId"]),
|
|
68
|
-
type: getString(content["Type"], "type"),
|
|
69
|
-
status: getStringOrUndefined(content["Status"]),
|
|
68
|
+
jobId: (_a = getStringOrUndefined(content["JobId"])) === null || _a === void 0 ? void 0 : _a.trim(),
|
|
69
|
+
type: getString(content["Type"], "type").trim(),
|
|
70
|
+
status: (_b = getStringOrUndefined(content["Status"])) === null || _b === void 0 ? void 0 : _b.trim(),
|
|
70
71
|
progress: getFloatOrUndefined(content["Progress"]),
|
|
71
|
-
outputContainerUrl: getString(content["OutputContainerUri"], "outputContainerUrl"),
|
|
72
|
-
importFileUrl: getStringOrUndefined(content["ImportFileUri"]),
|
|
73
|
-
failure: getStringOrUndefined(content["Failure"]),
|
|
72
|
+
outputContainerUrl: getString(content["OutputContainerUri"], "outputContainerUrl").trim(),
|
|
73
|
+
importFileUrl: (_c = getStringOrUndefined(content["ImportFileUri"])) === null || _c === void 0 ? void 0 : _c.trim(),
|
|
74
|
+
failure: (_d = getStringOrUndefined(content["Failure"])) === null || _d === void 0 ? void 0 : _d.trim(),
|
|
74
75
|
createdAt: getDateOrUndefined(content["CreatedAt"]),
|
|
75
76
|
updatedAt: getDateOrUndefined(content["UpdatedAt"]),
|
|
76
77
|
inputProperties,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notificationHubJobSerializer.js","sourceRoot":"","sources":["../../../src/serializers/notificationHubJobSerializer.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAOlC,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACT,oBAAoB,EACpB,SAAS,GACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,UAAU,gCAAgC,CAAC,KAAyB;IACxE,MAAM,GAAG,GAAwB;QAC/B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,kBAAkB,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,kBAAkB,EAAE;QACzD,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS;KAC7F,CAAC;IAEF,MAAM,aAAa,GAAG,yBAAyB,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;IAE3E,OAAO,YAAY,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC;AACtF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,QAAgB;IACjE,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACrD,OAAO,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,QAAgB;IAChE,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAyB,EAAE,CAAC;IAEzC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAElF,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,2BAA2B,CAAC,OAA4B;IAC/D,MAAM,KAAK,GAA2B,EAAE,CAAC;IAEzC,MAAM,SAAS,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACzE,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,wBAAwB,CAAC,OAA4B
|
|
1
|
+
{"version":3,"file":"notificationHubJobSerializer.js","sourceRoot":"","sources":["../../../src/serializers/notificationHubJobSerializer.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n NotificationHubJob,\n NotificationHubJobStatus,\n NotificationHubJobType,\n} from \"../models/notificationHubJob.js\";\nimport {\n getDateOrUndefined,\n getFloatOrUndefined,\n getString,\n getStringOrUndefined,\n isDefined,\n} from \"../utils/utils.js\";\nimport { parseXML, stringifyXML } from \"@azure/core-xml\";\nimport { serializeToAtomXmlRequest } from \"../utils/xmlUtils.js\";\n\n/**\n * @internal\n * Serializes a NotificationHubJob into an Atom XML entry.\n * @param entry - The NotificationHubJob to turn into an Atom XML entry.\n * @returns An Atom XML entry containing the notification hub job.\n */\nexport function serializeNotificationHubJobEntry(entry: NotificationHubJob): string {\n const job: Record<string, any> = {\n Type: entry.type,\n OutputContainerUri: { __cdata: entry.outputContainerUrl },\n ImportFileUri: isDefined(entry.importFileUrl) ? { __cdata: entry.importFileUrl } : undefined,\n };\n\n const requestObject = serializeToAtomXmlRequest(\"NotificationHubJob\", job);\n\n return stringifyXML(requestObject, { rootName: \"entry\", cdataPropName: \"__cdata\" });\n}\n\n/**\n * Parses an Atom XML of an notification hub job entry.\n * @param bodyText - The incoming Atom XML entry to parse into a notification hub job.\n * @returns A parsed NotificationHubJob.\n */\nexport async function parseNotificationHubJobEntry(bodyText: string): Promise<NotificationHubJob> {\n const xml = await parseXML(bodyText, { includeRoot: true });\n const content = xml.entry.content.NotificationHubJob;\n return createNotificationHubJob(content);\n}\n\n/**\n * Parses an Atom XML feed of notification hub jobs.\n * @param bodyText - The incoming Atom XML feed to parse into notification hub jobs.\n * @returns A list of notification hub jobs.\n */\nexport async function parseNotificationHubJobFeed(bodyText: string): Promise<NotificationHubJob[]> {\n const xml = await parseXML(bodyText, { includeRoot: true });\n const results: NotificationHubJob[] = [];\n\n if (!isDefined(xml.feed.entry)) {\n return results;\n }\n\n const entries = Array.isArray(xml.feed.entry) ? xml.feed.entry : [xml.feed.entry];\n\n for (const item of entries) {\n results.push(createNotificationHubJob(item.content.NotificationHubJob));\n }\n\n return results;\n}\n\nfunction createInputOutputProperties(content: Record<string, any>): Record<string, string> {\n const props: Record<string, string> = {};\n\n const keyValues = content[\"d3p1:KeyValueOfstringstring\"];\n const keyValueArray = Array.isArray(keyValues) ? keyValues : [keyValues];\n for (const item of keyValueArray) {\n props[item[\"d3p1:Key\"]] = item[\"d3p1:Value\"];\n }\n\n return props;\n}\n\nfunction createNotificationHubJob(content: Record<string, any>): NotificationHubJob {\n let outputProperties: Record<string, string> | undefined;\n if (isDefined(content[\"OutputProperties\"])) {\n outputProperties = createInputOutputProperties(content[\"OutputProperties\"]);\n }\n\n let inputProperties: Record<string, string> | undefined;\n if (isDefined(content[\"InputProperties\"])) {\n inputProperties = createInputOutputProperties(content[\"InputProperties\"]);\n }\n\n return {\n jobId: getStringOrUndefined(content[\"JobId\"])?.trim(),\n type: getString(content[\"Type\"], \"type\").trim() as NotificationHubJobType,\n status: getStringOrUndefined(content[\"Status\"])?.trim() as NotificationHubJobStatus,\n progress: getFloatOrUndefined(content[\"Progress\"]),\n outputContainerUrl: getString(content[\"OutputContainerUri\"], \"outputContainerUrl\").trim(),\n importFileUrl: getStringOrUndefined(content[\"ImportFileUri\"])?.trim(),\n failure: getStringOrUndefined(content[\"Failure\"])?.trim(),\n createdAt: getDateOrUndefined(content[\"CreatedAt\"]),\n updatedAt: getDateOrUndefined(content[\"UpdatedAt\"]),\n inputProperties,\n outputProperties,\n };\n}\n"]}
|