@salesforce/lds-adapters-sales-user-working-hours 1.100.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.
Files changed (43) hide show
  1. package/LICENSE.txt +82 -0
  2. package/dist/es/es2018/sales-user-working-hours.js +892 -0
  3. package/dist/types/src/generated/adapters/adapter-utils.d.ts +66 -0
  4. package/dist/types/src/generated/adapters/createSalesUserWorkingHours.d.ts +15 -0
  5. package/dist/types/src/generated/adapters/deleteSalesUserWorkingHours.d.ts +13 -0
  6. package/dist/types/src/generated/adapters/getSalesUserWorkingHours.d.ts +28 -0
  7. package/dist/types/src/generated/adapters/updateSalesUserWorkingHours.d.ts +15 -0
  8. package/dist/types/src/generated/artifacts/main.d.ts +4 -0
  9. package/dist/types/src/generated/artifacts/sfdc.d.ts +7 -0
  10. package/dist/types/src/generated/resources/deleteSalesWorkingHoursTimeSlots.d.ts +8 -0
  11. package/dist/types/src/generated/resources/deleteSalesWorkingHoursTimeSlotsById.d.ts +12 -0
  12. package/dist/types/src/generated/resources/getSalesWorkingHoursTimeSlots.d.ts +17 -0
  13. package/dist/types/src/generated/resources/getSalesWorkingHoursTimeSlotsById.d.ts +19 -0
  14. package/dist/types/src/generated/resources/patchSalesWorkingHoursTimeSlots.d.ts +13 -0
  15. package/dist/types/src/generated/resources/patchSalesWorkingHoursTimeSlotsById.d.ts +17 -0
  16. package/dist/types/src/generated/resources/postActivityEngagementMetricsEngagement.d.ts +14 -0
  17. package/dist/types/src/generated/resources/postSalesAlertsDataAndMetrics.d.ts +13 -0
  18. package/dist/types/src/generated/resources/postSalesWorkingHoursTimeSlots.d.ts +13 -0
  19. package/dist/types/src/generated/resources/postSalesWorkingHoursTimeSlotsById.d.ts +17 -0
  20. package/dist/types/src/generated/resources/putActivityEngagementEventsEngagement.d.ts +9 -0
  21. package/dist/types/src/generated/types/EngagementAggregationRequest.d.ts +44 -0
  22. package/dist/types/src/generated/types/EngagementEventResponse.d.ts +32 -0
  23. package/dist/types/src/generated/types/HVSMetricOutputRepresentation.d.ts +38 -0
  24. package/dist/types/src/generated/types/HVSMetricsRequest.d.ts +35 -0
  25. package/dist/types/src/generated/types/HVSMetricsResponse.d.ts +36 -0
  26. package/dist/types/src/generated/types/HighVelocityEngagementEventRequest.d.ts +29 -0
  27. package/dist/types/src/generated/types/HighVelocityEngagementRequest.d.ts +77 -0
  28. package/dist/types/src/generated/types/SalesAlertsRequest.d.ts +32 -0
  29. package/dist/types/src/generated/types/SalesAlertsResponse.d.ts +54 -0
  30. package/dist/types/src/generated/types/SalesUserWorkingHoursRequest.d.ts +33 -0
  31. package/dist/types/src/generated/types/SalesUserWorkingHoursRequestWrapper.d.ts +29 -0
  32. package/dist/types/src/generated/types/SalesUserWorkingHoursResponse.d.ts +54 -0
  33. package/dist/types/src/generated/types/TimeSlotInputRepresentation.d.ts +38 -0
  34. package/dist/types/src/generated/types/TimeSlotOutputRepresentation.d.ts +47 -0
  35. package/dist/types/src/generated/types/UpdateAlertsRequest.d.ts +35 -0
  36. package/dist/types/src/generated/types/type-utils.d.ts +39 -0
  37. package/dist/umd/es2018/sales-user-working-hours.js +903 -0
  38. package/dist/umd/es5/sales-user-working-hours.js +907 -0
  39. package/package.json +68 -0
  40. package/sfdc/index.d.ts +1 -0
  41. package/sfdc/index.js +971 -0
  42. package/src/raml/api.raml +447 -0
  43. package/src/raml/luvio.raml +36 -0
@@ -0,0 +1,907 @@
1
+ /**
2
+ * Copyright (c) 2022, Salesforce, Inc.,
3
+ * All rights reserved.
4
+ * For full license text, see the LICENSE.txt file
5
+ */
6
+
7
+ (function (global, factory) {
8
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@luvio/engine')) :
9
+ typeof define === 'function' && define.amd ? define(['exports', '@luvio/engine'], factory) :
10
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.salesUserWorkingHours = {}, global.engine));
11
+ })(this, (function (exports, engine) { 'use strict';
12
+
13
+ var ObjectPrototypeHasOwnProperty = Object.prototype.hasOwnProperty;
14
+ var ObjectKeys$1 = Object.keys;
15
+ var ArrayIsArray$1 = Array.isArray;
16
+ /**
17
+ * Validates an adapter config is well-formed.
18
+ * @param config The config to validate.
19
+ * @param adapter The adapter validation configuration.
20
+ * @param oneOf The keys the config must contain at least one of.
21
+ * @throws A TypeError if config doesn't satisfy the adapter's config validation.
22
+ */
23
+ function validateConfig(config, adapter, oneOf) {
24
+ var displayName = adapter.displayName;
25
+ var _a = adapter.parameters, required = _a.required, optional = _a.optional, unsupported = _a.unsupported;
26
+ if (config === undefined ||
27
+ required.every(function (req) { return ObjectPrototypeHasOwnProperty.call(config, req); }) === false) {
28
+ throw new TypeError("adapter ".concat(displayName, " configuration must specify ").concat(required.sort().join(', ')));
29
+ }
30
+ if (oneOf && oneOf.some(function (req) { return ObjectPrototypeHasOwnProperty.call(config, req); }) === false) {
31
+ throw new TypeError("adapter ".concat(displayName, " configuration must specify one of ").concat(oneOf.sort().join(', ')));
32
+ }
33
+ if (unsupported !== undefined &&
34
+ unsupported.some(function (req) { return ObjectPrototypeHasOwnProperty.call(config, req); })) {
35
+ throw new TypeError("adapter ".concat(displayName, " does not yet support ").concat(unsupported.sort().join(', ')));
36
+ }
37
+ var supported = required.concat(optional);
38
+ if (ObjectKeys$1(config).some(function (key) { return !supported.includes(key); })) {
39
+ throw new TypeError("adapter ".concat(displayName, " configuration supports only ").concat(supported.sort().join(', ')));
40
+ }
41
+ }
42
+ function untrustedIsObject(untrusted) {
43
+ return typeof untrusted === 'object' && untrusted !== null && ArrayIsArray$1(untrusted) === false;
44
+ }
45
+ function areRequiredParametersPresent(config, configPropertyNames) {
46
+ return configPropertyNames.parameters.required.every(function (req) { return req in config; });
47
+ }
48
+ var snapshotRefreshOptions = {
49
+ overrides: {
50
+ headers: {
51
+ 'Cache-Control': 'no-cache',
52
+ },
53
+ }
54
+ };
55
+ var keyPrefix = 'user-working-hours';
56
+
57
+ var ObjectFreeze = Object.freeze, ObjectKeys = Object.keys;
58
+ var ArrayIsArray = Array.isArray;
59
+ function equalsArray(a, b, equalsItem) {
60
+ var aLength = a.length;
61
+ var bLength = b.length;
62
+ if (aLength !== bLength) {
63
+ return false;
64
+ }
65
+ for (var i = 0; i < aLength; i++) {
66
+ if (equalsItem(a[i], b[i]) === false) {
67
+ return false;
68
+ }
69
+ }
70
+ return true;
71
+ }
72
+ function deepFreeze(value) {
73
+ // No need to freeze primitives
74
+ if (typeof value !== 'object' || value === null) {
75
+ return;
76
+ }
77
+ if (ArrayIsArray(value)) {
78
+ for (var i = 0, len = value.length; i < len; i += 1) {
79
+ deepFreeze(value[i]);
80
+ }
81
+ }
82
+ else {
83
+ var keys = ObjectKeys(value);
84
+ for (var i = 0, len = keys.length; i < len; i += 1) {
85
+ deepFreeze(value[keys[i]]);
86
+ }
87
+ }
88
+ ObjectFreeze(value);
89
+ }
90
+ function createLink(ref) {
91
+ return {
92
+ __ref: engine.serializeStructuredKey(ref),
93
+ };
94
+ }
95
+
96
+ var VERSION$1 = "ab53e63d1233601122336385be605930";
97
+ function validate$3(obj, path) {
98
+ if (path === void 0) { path = 'TimeSlotOutputRepresentation'; }
99
+ var v_error = (function () {
100
+ if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
101
+ return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
102
+ }
103
+ var obj_dayOfWeek = obj.dayOfWeek;
104
+ var path_dayOfWeek = path + '.dayOfWeek';
105
+ if (typeof obj_dayOfWeek !== 'string') {
106
+ return new TypeError('Expected "string" but received "' + typeof obj_dayOfWeek + '" (at "' + path_dayOfWeek + '")');
107
+ }
108
+ var obj_endTime = obj.endTime;
109
+ var path_endTime = path + '.endTime';
110
+ if (typeof obj_endTime !== 'string') {
111
+ return new TypeError('Expected "string" but received "' + typeof obj_endTime + '" (at "' + path_endTime + '")');
112
+ }
113
+ var obj_id = obj.id;
114
+ var path_id = path + '.id';
115
+ if (typeof obj_id !== 'string') {
116
+ return new TypeError('Expected "string" but received "' + typeof obj_id + '" (at "' + path_id + '")');
117
+ }
118
+ var obj_startTime = obj.startTime;
119
+ var path_startTime = path + '.startTime';
120
+ if (typeof obj_startTime !== 'string') {
121
+ return new TypeError('Expected "string" but received "' + typeof obj_startTime + '" (at "' + path_startTime + '")');
122
+ }
123
+ })();
124
+ return v_error === undefined ? null : v_error;
125
+ }
126
+ var RepresentationType$1 = 'TimeSlotOutputRepresentation';
127
+ function keyBuilder$4(luvio, config) {
128
+ return keyPrefix + '::' + RepresentationType$1 + ':' + config.timeSlotId;
129
+ }
130
+ function keyBuilderFromType$1(luvio, object) {
131
+ var keyParams = {
132
+ timeSlotId: object.id
133
+ };
134
+ return keyBuilder$4(luvio, keyParams);
135
+ }
136
+ function normalize$1(input, existing, path, luvio, store, timestamp) {
137
+ return input;
138
+ }
139
+ var select$4 = function TimeSlotOutputRepresentationSelect() {
140
+ return {
141
+ kind: 'Fragment',
142
+ version: VERSION$1,
143
+ private: [],
144
+ selections: [
145
+ {
146
+ name: 'dayOfWeek',
147
+ kind: 'Scalar'
148
+ },
149
+ {
150
+ name: 'endTime',
151
+ kind: 'Scalar'
152
+ },
153
+ {
154
+ name: 'id',
155
+ kind: 'Scalar'
156
+ },
157
+ {
158
+ name: 'startTime',
159
+ kind: 'Scalar'
160
+ }
161
+ ]
162
+ };
163
+ };
164
+ function equals$1(existing, incoming) {
165
+ var existing_dayOfWeek = existing.dayOfWeek;
166
+ var incoming_dayOfWeek = incoming.dayOfWeek;
167
+ if (!(existing_dayOfWeek === incoming_dayOfWeek)) {
168
+ return false;
169
+ }
170
+ var existing_endTime = existing.endTime;
171
+ var incoming_endTime = incoming.endTime;
172
+ if (!(existing_endTime === incoming_endTime)) {
173
+ return false;
174
+ }
175
+ var existing_id = existing.id;
176
+ var incoming_id = incoming.id;
177
+ if (!(existing_id === incoming_id)) {
178
+ return false;
179
+ }
180
+ var existing_startTime = existing.startTime;
181
+ var incoming_startTime = incoming.startTime;
182
+ if (!(existing_startTime === incoming_startTime)) {
183
+ return false;
184
+ }
185
+ return true;
186
+ }
187
+ var ingest$1 = function TimeSlotOutputRepresentationIngest(input, path, luvio, store, timestamp) {
188
+ if (process.env.NODE_ENV !== 'production') {
189
+ var validateError = validate$3(input);
190
+ if (validateError !== null) {
191
+ throw validateError;
192
+ }
193
+ }
194
+ var key = keyBuilderFromType$1(luvio, input);
195
+ var existingRecord = store.readEntry(key);
196
+ var ttlToUse = path.ttl !== undefined ? path.ttl : 100;
197
+ var incomingRecord = normalize$1(input, store.readEntry(key), {
198
+ fullPath: key,
199
+ parent: path.parent,
200
+ propertyName: path.propertyName,
201
+ ttl: ttlToUse
202
+ });
203
+ if (existingRecord === undefined || equals$1(existingRecord, incomingRecord) === false) {
204
+ luvio.storePublish(key, incomingRecord);
205
+ }
206
+ if (ttlToUse !== undefined) {
207
+ var storeMetadataParams = {
208
+ ttl: ttlToUse,
209
+ namespace: "user-working-hours",
210
+ version: VERSION$1,
211
+ representationName: RepresentationType$1,
212
+ };
213
+ luvio.publishStoreMetadata(key, storeMetadataParams);
214
+ }
215
+ return createLink(key);
216
+ };
217
+ function getTypeCacheKeys$1(luvio, input, fullPathFactory) {
218
+ var rootKeySet = new engine.StoreKeyMap();
219
+ // root cache key (uses fullPathFactory if keyBuilderFromType isn't defined)
220
+ var rootKey = keyBuilderFromType$1(luvio, input);
221
+ rootKeySet.set(rootKey, {
222
+ namespace: keyPrefix,
223
+ representationName: RepresentationType$1,
224
+ mergeable: false
225
+ });
226
+ return rootKeySet;
227
+ }
228
+
229
+ var VERSION = "3188b3f71c60ae4cc806f314366a515b";
230
+ function validate$2(obj, path) {
231
+ if (path === void 0) { path = 'SalesUserWorkingHoursResponse'; }
232
+ var v_error = (function () {
233
+ if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
234
+ return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
235
+ }
236
+ var obj_timeSlots = obj.timeSlots;
237
+ var path_timeSlots = path + '.timeSlots';
238
+ if (!ArrayIsArray(obj_timeSlots)) {
239
+ return new TypeError('Expected "array" but received "' + typeof obj_timeSlots + '" (at "' + path_timeSlots + '")');
240
+ }
241
+ for (var i = 0; i < obj_timeSlots.length; i++) {
242
+ var obj_timeSlots_item = obj_timeSlots[i];
243
+ var path_timeSlots_item = path_timeSlots + '[' + i + ']';
244
+ if (typeof obj_timeSlots_item !== 'object') {
245
+ return new TypeError('Expected "object" but received "' + typeof obj_timeSlots_item + '" (at "' + path_timeSlots_item + '")');
246
+ }
247
+ }
248
+ var obj_timeZone = obj.timeZone;
249
+ var path_timeZone = path + '.timeZone';
250
+ if (typeof obj_timeZone !== 'string') {
251
+ return new TypeError('Expected "string" but received "' + typeof obj_timeZone + '" (at "' + path_timeZone + '")');
252
+ }
253
+ var obj_userId = obj.userId;
254
+ var path_userId = path + '.userId';
255
+ if (typeof obj_userId !== 'string') {
256
+ return new TypeError('Expected "string" but received "' + typeof obj_userId + '" (at "' + path_userId + '")');
257
+ }
258
+ })();
259
+ return v_error === undefined ? null : v_error;
260
+ }
261
+ var RepresentationType = 'SalesUserWorkingHoursResponse';
262
+ function keyBuilder$3(luvio, config) {
263
+ return keyPrefix + '::' + RepresentationType + ':' + config.salesUserId;
264
+ }
265
+ function keyBuilderFromType(luvio, object) {
266
+ var keyParams = {
267
+ salesUserId: object.userId
268
+ };
269
+ return keyBuilder$3(luvio, keyParams);
270
+ }
271
+ function normalize(input, existing, path, luvio, store, timestamp) {
272
+ var input_timeSlots = input.timeSlots;
273
+ var input_timeSlots_id = path.fullPath + '__timeSlots';
274
+ for (var i = 0; i < input_timeSlots.length; i++) {
275
+ var input_timeSlots_item = input_timeSlots[i];
276
+ var input_timeSlots_item_id = input_timeSlots_id + '__' + i;
277
+ input_timeSlots[i] = ingest$1(input_timeSlots_item, {
278
+ fullPath: input_timeSlots_item_id,
279
+ propertyName: i,
280
+ parent: {
281
+ data: input,
282
+ key: path.fullPath,
283
+ existing: existing,
284
+ },
285
+ ttl: path.ttl
286
+ }, luvio, store);
287
+ }
288
+ return input;
289
+ }
290
+ var select$3 = function SalesUserWorkingHoursResponseSelect() {
291
+ return {
292
+ kind: 'Fragment',
293
+ version: VERSION,
294
+ private: [],
295
+ selections: [
296
+ {
297
+ name: 'timeSlots',
298
+ kind: 'Link',
299
+ plural: true,
300
+ fragment: select$4()
301
+ },
302
+ {
303
+ name: 'timeZone',
304
+ kind: 'Scalar'
305
+ },
306
+ {
307
+ name: 'userId',
308
+ kind: 'Scalar'
309
+ }
310
+ ]
311
+ };
312
+ };
313
+ function equals(existing, incoming) {
314
+ var existing_timeZone = existing.timeZone;
315
+ var incoming_timeZone = incoming.timeZone;
316
+ if (!(existing_timeZone === incoming_timeZone)) {
317
+ return false;
318
+ }
319
+ var existing_userId = existing.userId;
320
+ var incoming_userId = incoming.userId;
321
+ if (!(existing_userId === incoming_userId)) {
322
+ return false;
323
+ }
324
+ var existing_timeSlots = existing.timeSlots;
325
+ var incoming_timeSlots = incoming.timeSlots;
326
+ var equals_timeSlots_items = equalsArray(existing_timeSlots, incoming_timeSlots, function (existing_timeSlots_item, incoming_timeSlots_item) {
327
+ if (!(existing_timeSlots_item.__ref === incoming_timeSlots_item.__ref)) {
328
+ return false;
329
+ }
330
+ });
331
+ if (equals_timeSlots_items === false) {
332
+ return false;
333
+ }
334
+ return true;
335
+ }
336
+ var ingest = function SalesUserWorkingHoursResponseIngest(input, path, luvio, store, timestamp) {
337
+ if (process.env.NODE_ENV !== 'production') {
338
+ var validateError = validate$2(input);
339
+ if (validateError !== null) {
340
+ throw validateError;
341
+ }
342
+ }
343
+ var key = keyBuilderFromType(luvio, input);
344
+ var existingRecord = store.readEntry(key);
345
+ var ttlToUse = path.ttl !== undefined ? path.ttl : 100;
346
+ var incomingRecord = normalize(input, store.readEntry(key), {
347
+ fullPath: key,
348
+ parent: path.parent,
349
+ propertyName: path.propertyName,
350
+ ttl: ttlToUse
351
+ }, luvio, store);
352
+ if (existingRecord === undefined || equals(existingRecord, incomingRecord) === false) {
353
+ luvio.storePublish(key, incomingRecord);
354
+ }
355
+ if (ttlToUse !== undefined) {
356
+ var storeMetadataParams = {
357
+ ttl: ttlToUse,
358
+ namespace: "user-working-hours",
359
+ version: VERSION,
360
+ representationName: RepresentationType,
361
+ };
362
+ luvio.publishStoreMetadata(key, storeMetadataParams);
363
+ }
364
+ return createLink(key);
365
+ };
366
+ function getTypeCacheKeys(luvio, input, fullPathFactory) {
367
+ var rootKeySet = new engine.StoreKeyMap();
368
+ // root cache key (uses fullPathFactory if keyBuilderFromType isn't defined)
369
+ var rootKey = keyBuilderFromType(luvio, input);
370
+ rootKeySet.set(rootKey, {
371
+ namespace: keyPrefix,
372
+ representationName: RepresentationType,
373
+ mergeable: false
374
+ });
375
+ var input_timeSlots_length = input.timeSlots.length;
376
+ for (var i = 0; i < input_timeSlots_length; i++) {
377
+ rootKeySet.merge(getTypeCacheKeys$1(luvio, input.timeSlots[i]));
378
+ }
379
+ return rootKeySet;
380
+ }
381
+
382
+ function select$2(luvio, params) {
383
+ return select$3();
384
+ }
385
+ function keyBuilder$2(luvio, params) {
386
+ return keyBuilder$3(luvio, {
387
+ salesUserId: params.queryParams.userId
388
+ });
389
+ }
390
+ function getResponseCacheKeys$3(luvio, resourceParams, response) {
391
+ return getTypeCacheKeys(luvio, response);
392
+ }
393
+ function ingestSuccess$2(luvio, resourceParams, response, snapshotRefresh) {
394
+ var body = response.body;
395
+ var key = keyBuilder$2(luvio, resourceParams);
396
+ luvio.storeIngest(key, ingest, body);
397
+ var snapshot = luvio.storeLookup({
398
+ recordId: key,
399
+ node: select$2(),
400
+ variables: {},
401
+ }, snapshotRefresh);
402
+ if (process.env.NODE_ENV !== 'production') {
403
+ if (snapshot.state !== 'Fulfilled') {
404
+ throw new Error('Invalid network response. Expected resource response to result in Fulfilled snapshot');
405
+ }
406
+ }
407
+ return snapshot;
408
+ }
409
+ function ingestError(luvio, params, error, snapshotRefresh) {
410
+ var key = keyBuilder$2(luvio, params);
411
+ var errorSnapshot = luvio.errorSnapshot(error, snapshotRefresh);
412
+ luvio.storeIngestError(key, errorSnapshot);
413
+ return errorSnapshot;
414
+ }
415
+ function createResourceRequest$3(config) {
416
+ var headers = {};
417
+ return {
418
+ baseUri: '/services/data/v58.0',
419
+ basePath: '/sales/working-hours/time-slots',
420
+ method: 'get',
421
+ body: null,
422
+ urlParams: {},
423
+ queryParams: config.queryParams,
424
+ headers: headers,
425
+ priority: 'normal',
426
+ };
427
+ }
428
+
429
+ var getSalesUserWorkingHours_ConfigPropertyNames = {
430
+ displayName: 'getSalesUserWorkingHours',
431
+ parameters: {
432
+ required: ['userId'],
433
+ optional: ['workingHoursType']
434
+ }
435
+ };
436
+ function createResourceParams$3(config) {
437
+ var resourceParams = {
438
+ queryParams: {
439
+ userId: config.userId, workingHoursType: config.workingHoursType
440
+ }
441
+ };
442
+ return resourceParams;
443
+ }
444
+ function keyBuilder$1(luvio, config) {
445
+ var resourceParams = createResourceParams$3(config);
446
+ return keyBuilder$2(luvio, resourceParams);
447
+ }
448
+ function typeCheckConfig$3(untrustedConfig) {
449
+ var config = {};
450
+ var untrustedConfig_userId = untrustedConfig.userId;
451
+ if (typeof untrustedConfig_userId === 'string') {
452
+ config.userId = untrustedConfig_userId;
453
+ }
454
+ var untrustedConfig_workingHoursType = untrustedConfig.workingHoursType;
455
+ if (typeof untrustedConfig_workingHoursType === 'string') {
456
+ config.workingHoursType = untrustedConfig_workingHoursType;
457
+ }
458
+ return config;
459
+ }
460
+ function validateAdapterConfig$3(untrustedConfig, configPropertyNames) {
461
+ if (!untrustedIsObject(untrustedConfig)) {
462
+ return null;
463
+ }
464
+ if (process.env.NODE_ENV !== 'production') {
465
+ validateConfig(untrustedConfig, configPropertyNames);
466
+ }
467
+ var config = typeCheckConfig$3(untrustedConfig);
468
+ if (!areRequiredParametersPresent(config, configPropertyNames)) {
469
+ return null;
470
+ }
471
+ return config;
472
+ }
473
+ function adapterFragment(luvio, config) {
474
+ createResourceParams$3(config);
475
+ return select$2();
476
+ }
477
+ function onFetchResponseSuccess(luvio, config, resourceParams, response) {
478
+ var snapshot = ingestSuccess$2(luvio, resourceParams, response, {
479
+ config: config,
480
+ resolve: function () { return buildNetworkSnapshot$3(luvio, config, snapshotRefreshOptions); }
481
+ });
482
+ return luvio.storeBroadcast().then(function () { return snapshot; });
483
+ }
484
+ function onFetchResponseError(luvio, config, resourceParams, response) {
485
+ var snapshot = ingestError(luvio, resourceParams, response, {
486
+ config: config,
487
+ resolve: function () { return buildNetworkSnapshot$3(luvio, config, snapshotRefreshOptions); }
488
+ });
489
+ return luvio.storeBroadcast().then(function () { return snapshot; });
490
+ }
491
+ function buildNetworkSnapshot$3(luvio, config, options) {
492
+ var resourceParams = createResourceParams$3(config);
493
+ var request = createResourceRequest$3(resourceParams);
494
+ return luvio.dispatchResourceRequest(request, options)
495
+ .then(function (response) {
496
+ return luvio.handleSuccessResponse(function () { return onFetchResponseSuccess(luvio, config, resourceParams, response); }, function () { return getResponseCacheKeys$3(luvio, resourceParams, response.body); });
497
+ }, function (response) {
498
+ return luvio.handleErrorResponse(function () { return onFetchResponseError(luvio, config, resourceParams, response); });
499
+ });
500
+ }
501
+ function buildNetworkSnapshotCachePolicy(context, coercedAdapterRequestContext) {
502
+ var luvio = context.luvio, config = context.config;
503
+ var networkPriority = coercedAdapterRequestContext.networkPriority, requestCorrelator = coercedAdapterRequestContext.requestCorrelator, eventObservers = coercedAdapterRequestContext.eventObservers;
504
+ var dispatchOptions = {
505
+ resourceRequestContext: {
506
+ requestCorrelator: requestCorrelator,
507
+ luvioRequestMethod: undefined,
508
+ },
509
+ eventObservers: eventObservers
510
+ };
511
+ if (networkPriority !== 'normal') {
512
+ dispatchOptions.overrides = {
513
+ priority: networkPriority
514
+ };
515
+ }
516
+ return buildNetworkSnapshot$3(luvio, config, dispatchOptions);
517
+ }
518
+ function buildCachedSnapshotCachePolicy(context, storeLookup) {
519
+ var luvio = context.luvio, config = context.config;
520
+ var selector = {
521
+ recordId: keyBuilder$1(luvio, config),
522
+ node: adapterFragment(luvio, config),
523
+ variables: {},
524
+ };
525
+ var cacheSnapshot = storeLookup(selector, {
526
+ config: config,
527
+ resolve: function () { return buildNetworkSnapshot$3(luvio, config, snapshotRefreshOptions); }
528
+ });
529
+ return cacheSnapshot;
530
+ }
531
+ var getSalesUserWorkingHoursAdapterFactory = function (luvio) { return function userWorkingHours__getSalesUserWorkingHours(untrustedConfig, requestContext) {
532
+ var config = validateAdapterConfig$3(untrustedConfig, getSalesUserWorkingHours_ConfigPropertyNames);
533
+ // Invalid or incomplete config
534
+ if (config === null) {
535
+ return null;
536
+ }
537
+ return luvio.applyCachePolicy((requestContext || {}), { config: config, luvio: luvio }, // BuildSnapshotContext
538
+ buildCachedSnapshotCachePolicy, buildNetworkSnapshotCachePolicy);
539
+ }; };
540
+
541
+ function validate$1(obj, path) {
542
+ if (path === void 0) { path = 'TimeSlotInputRepresentation'; }
543
+ var v_error = (function () {
544
+ if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
545
+ return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
546
+ }
547
+ if (obj.dayOfWeek !== undefined) {
548
+ var obj_dayOfWeek = obj.dayOfWeek;
549
+ var path_dayOfWeek = path + '.dayOfWeek';
550
+ if (typeof obj_dayOfWeek !== 'string') {
551
+ return new TypeError('Expected "string" but received "' + typeof obj_dayOfWeek + '" (at "' + path_dayOfWeek + '")');
552
+ }
553
+ }
554
+ if (obj.endTime !== undefined) {
555
+ var obj_endTime = obj.endTime;
556
+ var path_endTime = path + '.endTime';
557
+ if (typeof obj_endTime !== 'string') {
558
+ return new TypeError('Expected "string" but received "' + typeof obj_endTime + '" (at "' + path_endTime + '")');
559
+ }
560
+ }
561
+ if (obj.id !== undefined) {
562
+ var obj_id = obj.id;
563
+ var path_id = path + '.id';
564
+ if (typeof obj_id !== 'string') {
565
+ return new TypeError('Expected "string" but received "' + typeof obj_id + '" (at "' + path_id + '")');
566
+ }
567
+ }
568
+ if (obj.startTime !== undefined) {
569
+ var obj_startTime = obj.startTime;
570
+ var path_startTime = path + '.startTime';
571
+ if (typeof obj_startTime !== 'string') {
572
+ return new TypeError('Expected "string" but received "' + typeof obj_startTime + '" (at "' + path_startTime + '")');
573
+ }
574
+ }
575
+ })();
576
+ return v_error === undefined ? null : v_error;
577
+ }
578
+
579
+ function validate(obj, path) {
580
+ if (path === void 0) { path = 'SalesUserWorkingHoursRequest'; }
581
+ var v_error = (function () {
582
+ if (typeof obj !== 'object' || ArrayIsArray(obj) || obj === null) {
583
+ return new TypeError('Expected "object" but received "' + typeof obj + '" (at "' + path + '")');
584
+ }
585
+ var obj_salesUserWorkingHoursType = obj.salesUserWorkingHoursType;
586
+ var path_salesUserWorkingHoursType = path + '.salesUserWorkingHoursType';
587
+ if (typeof obj_salesUserWorkingHoursType !== 'string') {
588
+ return new TypeError('Expected "string" but received "' + typeof obj_salesUserWorkingHoursType + '" (at "' + path_salesUserWorkingHoursType + '")');
589
+ }
590
+ var obj_timeSlots = obj.timeSlots;
591
+ var path_timeSlots = path + '.timeSlots';
592
+ if (!ArrayIsArray(obj_timeSlots)) {
593
+ return new TypeError('Expected "array" but received "' + typeof obj_timeSlots + '" (at "' + path_timeSlots + '")');
594
+ }
595
+ for (var i = 0; i < obj_timeSlots.length; i++) {
596
+ var obj_timeSlots_item = obj_timeSlots[i];
597
+ var path_timeSlots_item = path_timeSlots + '[' + i + ']';
598
+ var referencepath_timeSlots_itemValidationError = validate$1(obj_timeSlots_item, path_timeSlots_item);
599
+ if (referencepath_timeSlots_itemValidationError !== null) {
600
+ var message = 'Object doesn\'t match TimeSlotInputRepresentation (at "' + path_timeSlots_item + '")\n';
601
+ message += referencepath_timeSlots_itemValidationError.message.split('\n').map(function (line) { return '\t' + line; }).join('\n');
602
+ return new TypeError(message);
603
+ }
604
+ }
605
+ })();
606
+ return v_error === undefined ? null : v_error;
607
+ }
608
+
609
+ function select$1(luvio, params) {
610
+ return select$3();
611
+ }
612
+ function getResponseCacheKeys$2(luvio, resourceParams, response) {
613
+ return getTypeCacheKeys(luvio, response);
614
+ }
615
+ function ingestSuccess$1(luvio, resourceParams, response) {
616
+ var body = response.body;
617
+ var key = keyBuilderFromType(luvio, body);
618
+ luvio.storeIngest(key, ingest, body);
619
+ var snapshot = luvio.storeLookup({
620
+ recordId: key,
621
+ node: select$1(),
622
+ variables: {},
623
+ });
624
+ if (process.env.NODE_ENV !== 'production') {
625
+ if (snapshot.state !== 'Fulfilled') {
626
+ throw new Error('Invalid network response. Expected resource response to result in Fulfilled snapshot');
627
+ }
628
+ }
629
+ return snapshot;
630
+ }
631
+ function createResourceRequest$2(config) {
632
+ var headers = {};
633
+ return {
634
+ baseUri: '/services/data/v58.0',
635
+ basePath: '/sales/working-hours/time-slots',
636
+ method: 'patch',
637
+ body: config.body,
638
+ urlParams: {},
639
+ queryParams: {},
640
+ headers: headers,
641
+ priority: 'normal',
642
+ };
643
+ }
644
+
645
+ var updateSalesUserWorkingHours_ConfigPropertyNames = {
646
+ displayName: 'updateSalesUserWorkingHours',
647
+ parameters: {
648
+ required: ['salesUserWorkingHoursRequest'],
649
+ optional: []
650
+ }
651
+ };
652
+ function createResourceParams$2(config) {
653
+ var resourceParams = {
654
+ body: {
655
+ salesUserWorkingHoursRequest: config.salesUserWorkingHoursRequest
656
+ }
657
+ };
658
+ return resourceParams;
659
+ }
660
+ function typeCheckConfig$2(untrustedConfig) {
661
+ var config = {};
662
+ var untrustedConfig_salesUserWorkingHoursRequest = untrustedConfig.salesUserWorkingHoursRequest;
663
+ var referenceSalesUserWorkingHoursRequestValidationError = validate(untrustedConfig_salesUserWorkingHoursRequest);
664
+ if (referenceSalesUserWorkingHoursRequestValidationError === null) {
665
+ config.salesUserWorkingHoursRequest = untrustedConfig_salesUserWorkingHoursRequest;
666
+ }
667
+ return config;
668
+ }
669
+ function validateAdapterConfig$2(untrustedConfig, configPropertyNames) {
670
+ if (!untrustedIsObject(untrustedConfig)) {
671
+ return null;
672
+ }
673
+ if (process.env.NODE_ENV !== 'production') {
674
+ validateConfig(untrustedConfig, configPropertyNames);
675
+ }
676
+ var config = typeCheckConfig$2(untrustedConfig);
677
+ if (!areRequiredParametersPresent(config, configPropertyNames)) {
678
+ return null;
679
+ }
680
+ return config;
681
+ }
682
+ function buildNetworkSnapshot$2(luvio, config, options) {
683
+ var resourceParams = createResourceParams$2(config);
684
+ var request = createResourceRequest$2(resourceParams);
685
+ return luvio.dispatchResourceRequest(request, options)
686
+ .then(function (response) {
687
+ return luvio.handleSuccessResponse(function () {
688
+ var snapshot = ingestSuccess$1(luvio, resourceParams, response);
689
+ return luvio.storeBroadcast().then(function () { return snapshot; });
690
+ }, function () { return getResponseCacheKeys$2(luvio, resourceParams, response.body); });
691
+ }, function (response) {
692
+ deepFreeze(response);
693
+ throw response;
694
+ });
695
+ }
696
+ var updateSalesUserWorkingHoursAdapterFactory = function (luvio) {
697
+ return function updateSalesUserWorkingHours(untrustedConfig) {
698
+ var config = validateAdapterConfig$2(untrustedConfig, updateSalesUserWorkingHours_ConfigPropertyNames);
699
+ // Invalid or incomplete config
700
+ if (config === null) {
701
+ throw new Error('Invalid config for "updateSalesUserWorkingHours"');
702
+ }
703
+ return buildNetworkSnapshot$2(luvio, config);
704
+ };
705
+ };
706
+
707
+ function select(luvio, params) {
708
+ return select$3();
709
+ }
710
+ function getResponseCacheKeys$1(luvio, resourceParams, response) {
711
+ return getTypeCacheKeys(luvio, response);
712
+ }
713
+ function ingestSuccess(luvio, resourceParams, response) {
714
+ var body = response.body;
715
+ var key = keyBuilderFromType(luvio, body);
716
+ luvio.storeIngest(key, ingest, body);
717
+ var snapshot = luvio.storeLookup({
718
+ recordId: key,
719
+ node: select(),
720
+ variables: {},
721
+ });
722
+ if (process.env.NODE_ENV !== 'production') {
723
+ if (snapshot.state !== 'Fulfilled') {
724
+ throw new Error('Invalid network response. Expected resource response to result in Fulfilled snapshot');
725
+ }
726
+ }
727
+ return snapshot;
728
+ }
729
+ function createResourceRequest$1(config) {
730
+ var headers = {};
731
+ return {
732
+ baseUri: '/services/data/v58.0',
733
+ basePath: '/sales/working-hours/time-slots',
734
+ method: 'post',
735
+ body: config.body,
736
+ urlParams: {},
737
+ queryParams: {},
738
+ headers: headers,
739
+ priority: 'normal',
740
+ };
741
+ }
742
+
743
+ var createSalesUserWorkingHours_ConfigPropertyNames = {
744
+ displayName: 'createSalesUserWorkingHours',
745
+ parameters: {
746
+ required: ['salesUserWorkingHoursRequest'],
747
+ optional: []
748
+ }
749
+ };
750
+ function createResourceParams$1(config) {
751
+ var resourceParams = {
752
+ body: {
753
+ salesUserWorkingHoursRequest: config.salesUserWorkingHoursRequest
754
+ }
755
+ };
756
+ return resourceParams;
757
+ }
758
+ function typeCheckConfig$1(untrustedConfig) {
759
+ var config = {};
760
+ var untrustedConfig_salesUserWorkingHoursRequest = untrustedConfig.salesUserWorkingHoursRequest;
761
+ var referenceSalesUserWorkingHoursRequestValidationError = validate(untrustedConfig_salesUserWorkingHoursRequest);
762
+ if (referenceSalesUserWorkingHoursRequestValidationError === null) {
763
+ config.salesUserWorkingHoursRequest = untrustedConfig_salesUserWorkingHoursRequest;
764
+ }
765
+ return config;
766
+ }
767
+ function validateAdapterConfig$1(untrustedConfig, configPropertyNames) {
768
+ if (!untrustedIsObject(untrustedConfig)) {
769
+ return null;
770
+ }
771
+ if (process.env.NODE_ENV !== 'production') {
772
+ validateConfig(untrustedConfig, configPropertyNames);
773
+ }
774
+ var config = typeCheckConfig$1(untrustedConfig);
775
+ if (!areRequiredParametersPresent(config, configPropertyNames)) {
776
+ return null;
777
+ }
778
+ return config;
779
+ }
780
+ function buildNetworkSnapshot$1(luvio, config, options) {
781
+ var resourceParams = createResourceParams$1(config);
782
+ var request = createResourceRequest$1(resourceParams);
783
+ return luvio.dispatchResourceRequest(request, options)
784
+ .then(function (response) {
785
+ return luvio.handleSuccessResponse(function () {
786
+ var snapshot = ingestSuccess(luvio, resourceParams, response);
787
+ return luvio.storeBroadcast().then(function () { return snapshot; });
788
+ }, function () { return getResponseCacheKeys$1(luvio, resourceParams, response.body); });
789
+ }, function (response) {
790
+ deepFreeze(response);
791
+ throw response;
792
+ });
793
+ }
794
+ var createSalesUserWorkingHoursAdapterFactory = function (luvio) {
795
+ return function createSalesUserWorkingHours(untrustedConfig) {
796
+ var config = validateAdapterConfig$1(untrustedConfig, createSalesUserWorkingHours_ConfigPropertyNames);
797
+ // Invalid or incomplete config
798
+ if (config === null) {
799
+ throw new Error('Invalid config for "createSalesUserWorkingHours"');
800
+ }
801
+ return buildNetworkSnapshot$1(luvio, config);
802
+ };
803
+ };
804
+
805
+ function keyBuilder(luvio, params) {
806
+ return keyBuilder$4(luvio, {
807
+ timeSlotId: params.urlParams.id
808
+ });
809
+ }
810
+ function getResponseCacheKeys(luvio, resourceParams) {
811
+ var key = keyBuilder(luvio, resourceParams);
812
+ var cacheKeyMap = new engine.StoreKeyMap();
813
+ cacheKeyMap.set(key, {
814
+ namespace: keyPrefix,
815
+ representationName: RepresentationType$1,
816
+ mergeable: false
817
+ });
818
+ return cacheKeyMap;
819
+ }
820
+ function evictSuccess(luvio, resourceParams) {
821
+ var key = keyBuilder(luvio, resourceParams);
822
+ luvio.storeEvict(key);
823
+ }
824
+ function createResourceRequest(config) {
825
+ var headers = {};
826
+ return {
827
+ baseUri: '/services/data/v58.0',
828
+ basePath: '/sales/working-hours/time-slots/' + config.urlParams.id + '',
829
+ method: 'delete',
830
+ body: null,
831
+ urlParams: config.urlParams,
832
+ queryParams: {},
833
+ headers: headers,
834
+ priority: 'normal',
835
+ };
836
+ }
837
+
838
+ var adapterName = 'deleteSalesUserWorkingHours';
839
+ var deleteSalesUserWorkingHours_ConfigPropertyNames = {
840
+ displayName: 'deleteSalesUserWorkingHours',
841
+ parameters: {
842
+ required: ['id'],
843
+ optional: []
844
+ }
845
+ };
846
+ function createResourceParams(config) {
847
+ var resourceParams = {
848
+ urlParams: {
849
+ id: config.id
850
+ }
851
+ };
852
+ return resourceParams;
853
+ }
854
+ function typeCheckConfig(untrustedConfig) {
855
+ var config = {};
856
+ var untrustedConfig_id = untrustedConfig.id;
857
+ if (typeof untrustedConfig_id === 'string') {
858
+ config.id = untrustedConfig_id;
859
+ }
860
+ return config;
861
+ }
862
+ function validateAdapterConfig(untrustedConfig, configPropertyNames) {
863
+ if (!untrustedIsObject(untrustedConfig)) {
864
+ return null;
865
+ }
866
+ if (process.env.NODE_ENV !== 'production') {
867
+ validateConfig(untrustedConfig, configPropertyNames);
868
+ }
869
+ var config = typeCheckConfig(untrustedConfig);
870
+ if (!areRequiredParametersPresent(config, configPropertyNames)) {
871
+ return null;
872
+ }
873
+ return config;
874
+ }
875
+ function buildNetworkSnapshot(luvio, config, options) {
876
+ var resourceParams = createResourceParams(config);
877
+ var request = createResourceRequest(resourceParams);
878
+ return luvio.dispatchResourceRequest(request, options)
879
+ .then(function () {
880
+ return luvio.handleSuccessResponse(function () {
881
+ evictSuccess(luvio, resourceParams);
882
+ return luvio.storeBroadcast();
883
+ }, function () { return getResponseCacheKeys(luvio, resourceParams); });
884
+ }, function (response) {
885
+ deepFreeze(response);
886
+ throw response;
887
+ });
888
+ }
889
+ var deleteSalesUserWorkingHoursAdapterFactory = function (luvio) {
890
+ return function userWorkingHoursdeleteSalesUserWorkingHours(untrustedConfig) {
891
+ var config = validateAdapterConfig(untrustedConfig, deleteSalesUserWorkingHours_ConfigPropertyNames);
892
+ // Invalid or incomplete config
893
+ if (config === null) {
894
+ throw new Error("Invalid config for \"".concat(adapterName, "\""));
895
+ }
896
+ return buildNetworkSnapshot(luvio, config);
897
+ };
898
+ };
899
+
900
+ exports.createSalesUserWorkingHoursAdapterFactory = createSalesUserWorkingHoursAdapterFactory;
901
+ exports.deleteSalesUserWorkingHoursAdapterFactory = deleteSalesUserWorkingHoursAdapterFactory;
902
+ exports.getSalesUserWorkingHoursAdapterFactory = getSalesUserWorkingHoursAdapterFactory;
903
+ exports.updateSalesUserWorkingHoursAdapterFactory = updateSalesUserWorkingHoursAdapterFactory;
904
+
905
+ Object.defineProperty(exports, '__esModule', { value: true });
906
+
907
+ }));