sfdx-browserforce-plugin 2.11.3 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/README.md +6 -6
  2. package/lib/browserforce-command.js +25 -19
  3. package/lib/browserforce-command.js.map +1 -1
  4. package/lib/browserforce.js +11 -28
  5. package/lib/browserforce.js.map +1 -1
  6. package/lib/commands/browserforce/apply.js +14 -14
  7. package/lib/commands/browserforce/apply.js.map +1 -1
  8. package/lib/commands/browserforce/plan.js +16 -15
  9. package/lib/commands/browserforce/plan.js.map +1 -1
  10. package/lib/config-parser.js +1 -1
  11. package/lib/config-parser.js.map +1 -1
  12. package/lib/jsforce-utils.js.map +1 -1
  13. package/lib/plugin.js +11 -30
  14. package/lib/plugin.js.map +1 -1
  15. package/lib/plugins/activity-settings/index.e2e-spec.js +41 -0
  16. package/lib/plugins/activity-settings/index.e2e-spec.js.map +1 -0
  17. package/lib/plugins/activity-settings/index.js +1 -4
  18. package/lib/plugins/activity-settings/index.js.map +1 -1
  19. package/lib/plugins/communities/index.e2e-spec.js +39 -0
  20. package/lib/plugins/communities/index.e2e-spec.js.map +1 -0
  21. package/lib/plugins/communities/index.js +2 -7
  22. package/lib/plugins/communities/index.js.map +1 -1
  23. package/lib/plugins/company-information/index.e2e-spec.js +42 -0
  24. package/lib/plugins/company-information/index.e2e-spec.js.map +1 -0
  25. package/lib/plugins/company-information/index.js +8 -12
  26. package/lib/plugins/company-information/index.js.map +1 -1
  27. package/lib/plugins/customer-portal/available-custom-objects/index.js +20 -48
  28. package/lib/plugins/customer-portal/available-custom-objects/index.js.map +1 -1
  29. package/lib/plugins/customer-portal/available-custom-objects/index.test.js +44 -0
  30. package/lib/plugins/customer-portal/available-custom-objects/index.test.js.map +1 -0
  31. package/lib/plugins/customer-portal/enabled/index.js +3 -11
  32. package/lib/plugins/customer-portal/enabled/index.js.map +1 -1
  33. package/lib/plugins/customer-portal/enabled/index.test.js +39 -0
  34. package/lib/plugins/customer-portal/enabled/index.test.js.map +1 -0
  35. package/lib/plugins/customer-portal/index.e2e-spec.js +222 -0
  36. package/lib/plugins/customer-portal/index.e2e-spec.js.map +1 -0
  37. package/lib/plugins/customer-portal/index.js +17 -13
  38. package/lib/plugins/customer-portal/index.js.map +1 -1
  39. package/lib/plugins/customer-portal/index.test.js +89 -0
  40. package/lib/plugins/customer-portal/index.test.js.map +1 -0
  41. package/lib/plugins/customer-portal/portals/index.js +17 -25
  42. package/lib/plugins/customer-portal/portals/index.js.map +1 -1
  43. package/lib/plugins/customer-portal/portals/index.test.js +145 -0
  44. package/lib/plugins/customer-portal/portals/index.test.js.map +1 -0
  45. package/lib/plugins/defer-sharing-calculation/index.e2e-spec.js +96 -0
  46. package/lib/plugins/defer-sharing-calculation/index.e2e-spec.js.map +1 -0
  47. package/lib/plugins/defer-sharing-calculation/index.js +2 -7
  48. package/lib/plugins/defer-sharing-calculation/index.js.map +1 -1
  49. package/lib/plugins/density-settings/index.e2e-spec.js +44 -0
  50. package/lib/plugins/density-settings/index.e2e-spec.js.map +1 -0
  51. package/lib/plugins/density-settings/index.js +8 -6
  52. package/lib/plugins/density-settings/index.js.map +1 -1
  53. package/lib/plugins/email-deliverability/index.e2e-spec.js +60 -0
  54. package/lib/plugins/email-deliverability/index.e2e-spec.js.map +1 -0
  55. package/lib/plugins/email-deliverability/index.js +7 -10
  56. package/lib/plugins/email-deliverability/index.js.map +1 -1
  57. package/lib/plugins/high-velocity-sales-settings/index.e2e-spec.js +34 -0
  58. package/lib/plugins/high-velocity-sales-settings/index.e2e-spec.js.map +1 -0
  59. package/lib/plugins/high-velocity-sales-settings/index.js +1 -2
  60. package/lib/plugins/high-velocity-sales-settings/index.js.map +1 -1
  61. package/lib/plugins/high-velocity-sales-settings/page.js +3 -1
  62. package/lib/plugins/high-velocity-sales-settings/page.js.map +1 -1
  63. package/lib/plugins/home-page-layouts/index.e2e-spec.js +52 -0
  64. package/lib/plugins/home-page-layouts/index.e2e-spec.js.map +1 -0
  65. package/lib/plugins/home-page-layouts/index.js +14 -32
  66. package/lib/plugins/home-page-layouts/index.js.map +1 -1
  67. package/lib/plugins/home-page-layouts/index.test.js +109 -0
  68. package/lib/plugins/home-page-layouts/index.test.js.map +1 -0
  69. package/lib/plugins/lightning-experience-settings/index.e2e-spec.js +44 -0
  70. package/lib/plugins/lightning-experience-settings/index.e2e-spec.js.map +1 -0
  71. package/lib/plugins/lightning-experience-settings/index.js +11 -9
  72. package/lib/plugins/lightning-experience-settings/index.js.map +1 -1
  73. package/lib/plugins/opportunity-splits/index.e2e-spec.js +70 -0
  74. package/lib/plugins/opportunity-splits/index.e2e-spec.js.map +1 -0
  75. package/lib/plugins/opportunity-splits/pages/layout-selection.js +1 -4
  76. package/lib/plugins/opportunity-splits/pages/layout-selection.js.map +1 -1
  77. package/lib/plugins/opportunity-splits/pages/overview.js +1 -4
  78. package/lib/plugins/opportunity-splits/pages/overview.js.map +1 -1
  79. package/lib/plugins/opportunity-splits/pages/setup.js +1 -4
  80. package/lib/plugins/opportunity-splits/pages/setup.js.map +1 -1
  81. package/lib/plugins/picklists/field-dependencies/index.js +15 -10
  82. package/lib/plugins/picklists/field-dependencies/index.js.map +1 -1
  83. package/lib/plugins/picklists/field-dependencies/index.test.js +69 -0
  84. package/lib/plugins/picklists/field-dependencies/index.test.js.map +1 -0
  85. package/lib/plugins/picklists/field-dependencies/pages.js +3 -12
  86. package/lib/plugins/picklists/field-dependencies/pages.js.map +1 -1
  87. package/lib/plugins/picklists/index.e2e-spec.js +118 -0
  88. package/lib/plugins/picklists/index.e2e-spec.js.map +1 -0
  89. package/lib/plugins/picklists/index.js +36 -27
  90. package/lib/plugins/picklists/index.js.map +1 -1
  91. package/lib/plugins/picklists/pages.js +7 -28
  92. package/lib/plugins/picklists/pages.js.map +1 -1
  93. package/lib/plugins/picklists/standard-value-set.js +1 -1
  94. package/lib/plugins/picklists/standard-value-set.js.map +1 -1
  95. package/lib/plugins/record-types/index.e2e-spec.js +99 -0
  96. package/lib/plugins/record-types/index.e2e-spec.js.map +1 -0
  97. package/lib/plugins/record-types/index.js +1 -2
  98. package/lib/plugins/record-types/index.js.map +1 -1
  99. package/lib/plugins/record-types/pages.js +4 -10
  100. package/lib/plugins/record-types/pages.js.map +1 -1
  101. package/lib/plugins/relate-contact-to-multiple-accounts/index.e2e-spec.js +34 -0
  102. package/lib/plugins/relate-contact-to-multiple-accounts/index.e2e-spec.js.map +1 -0
  103. package/lib/plugins/relate-contact-to-multiple-accounts/index.js +3 -12
  104. package/lib/plugins/relate-contact-to-multiple-accounts/index.js.map +1 -1
  105. package/lib/plugins/reports-and-dashboards/folder-sharing/index.e2e-spec.js +3 -0
  106. package/lib/plugins/reports-and-dashboards/folder-sharing/index.e2e-spec.js.map +1 -0
  107. package/lib/plugins/reports-and-dashboards/folder-sharing/index.js +1 -4
  108. package/lib/plugins/reports-and-dashboards/folder-sharing/index.js.map +1 -1
  109. package/lib/plugins/reports-and-dashboards/index.e2e-spec.js +3 -0
  110. package/lib/plugins/reports-and-dashboards/index.e2e-spec.js.map +1 -0
  111. package/lib/plugins/reports-and-dashboards/index.js +6 -6
  112. package/lib/plugins/reports-and-dashboards/index.js.map +1 -1
  113. package/lib/plugins/salesforce-to-salesforce/index.e2e-spec.js +39 -0
  114. package/lib/plugins/salesforce-to-salesforce/index.e2e-spec.js.map +1 -0
  115. package/lib/plugins/salesforce-to-salesforce/index.js +1 -4
  116. package/lib/plugins/salesforce-to-salesforce/index.js.map +1 -1
  117. package/lib/plugins/security/certificate-and-key-management/index.js +25 -36
  118. package/lib/plugins/security/certificate-and-key-management/index.js.map +1 -1
  119. package/lib/plugins/security/certificate-and-key-management/index.test.js +66 -0
  120. package/lib/plugins/security/certificate-and-key-management/index.test.js.map +1 -0
  121. package/lib/plugins/security/identity-provider/index.js +13 -24
  122. package/lib/plugins/security/identity-provider/index.js.map +1 -1
  123. package/lib/plugins/security/index.e2e-spec.js +86 -0
  124. package/lib/plugins/security/index.e2e-spec.js.map +1 -0
  125. package/lib/plugins/security/index.js +24 -15
  126. package/lib/plugins/security/index.js.map +1 -1
  127. package/lib/plugins/security/login-access-policies/index.e2e-spec.js +32 -0
  128. package/lib/plugins/security/login-access-policies/index.e2e-spec.js.map +1 -0
  129. package/lib/plugins/security/login-access-policies/index.js +2 -5
  130. package/lib/plugins/security/login-access-policies/index.js.map +1 -1
  131. package/lib/plugins/security/sharing/index.e2e-spec.js +34 -0
  132. package/lib/plugins/security/sharing/index.e2e-spec.js.map +1 -0
  133. package/lib/plugins/security/sharing/index.js +5 -11
  134. package/lib/plugins/security/sharing/index.js.map +1 -1
  135. package/lib/plugins/utils.js +38 -41
  136. package/lib/plugins/utils.js.map +1 -1
  137. package/oclif.manifest.json +85 -53
  138. package/package.json +12 -10
  139. package/lib/browserforce-command.d.ts +0 -15
  140. package/lib/browserforce.d.ts +0 -26
  141. package/lib/commands/browserforce/apply.d.ts +0 -6
  142. package/lib/commands/browserforce/plan.d.ts +0 -6
  143. package/lib/config-parser.d.ts +0 -16
  144. package/lib/index.d.ts +0 -1
  145. package/lib/jsforce-utils.d.ts +0 -5
  146. package/lib/plugin.d.ts +0 -11
  147. package/lib/plugins/activity-settings/index.d.ts +0 -9
  148. package/lib/plugins/communities/index.d.ts +0 -10
  149. package/lib/plugins/company-information/index.d.ts +0 -8
  150. package/lib/plugins/customer-portal/available-custom-objects/index.d.ts +0 -14
  151. package/lib/plugins/customer-portal/enabled/index.d.ts +0 -7
  152. package/lib/plugins/customer-portal/index.d.ts +0 -15
  153. package/lib/plugins/customer-portal/portals/index.d.ts +0 -25
  154. package/lib/plugins/defer-sharing-calculation/index.d.ts +0 -9
  155. package/lib/plugins/density-settings/index.d.ts +0 -17
  156. package/lib/plugins/email-deliverability/index.d.ts +0 -9
  157. package/lib/plugins/high-velocity-sales-settings/index.d.ts +0 -10
  158. package/lib/plugins/high-velocity-sales-settings/page.d.ts +0 -7
  159. package/lib/plugins/home-page-layouts/index.d.ts +0 -14
  160. package/lib/plugins/index.d.ts +0 -18
  161. package/lib/plugins/lightning-experience-settings/index.d.ts +0 -17
  162. package/lib/plugins/opportunity-splits/index.d.ts +0 -9
  163. package/lib/plugins/opportunity-splits/pages/layout-selection.d.ts +0 -8
  164. package/lib/plugins/opportunity-splits/pages/overview.d.ts +0 -10
  165. package/lib/plugins/opportunity-splits/pages/setup.d.ts +0 -8
  166. package/lib/plugins/picklists/field-dependencies/index.d.ts +0 -11
  167. package/lib/plugins/picklists/field-dependencies/pages.d.ts +0 -14
  168. package/lib/plugins/picklists/index.d.ts +0 -23
  169. package/lib/plugins/picklists/pages.d.ts +0 -40
  170. package/lib/plugins/picklists/standard-value-set.d.ts +0 -1
  171. package/lib/plugins/record-types/index.d.ts +0 -13
  172. package/lib/plugins/record-types/pages.d.ts +0 -15
  173. package/lib/plugins/relate-contact-to-multiple-accounts/index.d.ts +0 -9
  174. package/lib/plugins/reports-and-dashboards/folder-sharing/index.d.ts +0 -8
  175. package/lib/plugins/reports-and-dashboards/index.d.ts +0 -11
  176. package/lib/plugins/salesforce-to-salesforce/index.d.ts +0 -9
  177. package/lib/plugins/security/certificate-and-key-management/index.d.ts +0 -23
  178. package/lib/plugins/security/identity-provider/index.d.ts +0 -10
  179. package/lib/plugins/security/index.d.ts +0 -17
  180. package/lib/plugins/security/login-access-policies/index.d.ts +0 -8
  181. package/lib/plugins/security/sharing/index.d.ts +0 -8
  182. package/lib/plugins/utils.d.ts +0 -4
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/security/identity-provider/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/security/identity-provider/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const core_1 = require("@salesforce/core");
7
+ const assert_1 = __importDefault(require("assert"));
8
+ const certificate_and_key_management_1 = require("./certificate-and-key-management");
9
+ const identity_provider_1 = require("./identity-provider");
10
+ describe(`${certificate_and_key_management_1.CertificateAndKeyManagement.name} and ${identity_provider_1.IdentityProvider.name}`, function () {
11
+ let pluginIdentityProvider, pluginCertificateManagement;
12
+ before(() => {
13
+ pluginIdentityProvider = new identity_provider_1.IdentityProvider(global.bf);
14
+ pluginCertificateManagement = new certificate_and_key_management_1.CertificateAndKeyManagement(global.bf);
15
+ });
16
+ const configEnabled = {
17
+ enabled: true,
18
+ certificate: 'identity_provider'
19
+ };
20
+ const configDisabled = {
21
+ enabled: false
22
+ };
23
+ const configGeneratedCert = {
24
+ certificates: [
25
+ {
26
+ name: 'identity_provider',
27
+ label: 'identity_provider'
28
+ }
29
+ ]
30
+ };
31
+ const configImportFromKeystore = {
32
+ importFromKeystore: [
33
+ {
34
+ filePath: './src/plugins/security/certificate-and-key-management/Dummy.jks',
35
+ name: 'Dummy'
36
+ }
37
+ ]
38
+ };
39
+ it('should fail to enable identity provider with non-existing Certificate', async () => {
40
+ let err;
41
+ try {
42
+ await pluginIdentityProvider.run(configEnabled);
43
+ }
44
+ catch (e) {
45
+ err = e;
46
+ }
47
+ assert_1.default.throws(() => {
48
+ throw err;
49
+ }, /Could not find Certificate 'identity_provider'/);
50
+ });
51
+ it('should create a self-signed certificate', async () => {
52
+ await pluginCertificateManagement.apply(configGeneratedCert);
53
+ });
54
+ it('should not do anything if self-signed certificate is already available', async () => {
55
+ // explictly pass definition to retrieve
56
+ const res = await pluginCertificateManagement.run(configGeneratedCert);
57
+ assert_1.default.deepStrictEqual(res, { message: 'no action necessary' });
58
+ });
59
+ it('should enable Identity Provider with generated cert', async () => {
60
+ await pluginIdentityProvider.apply(configEnabled);
61
+ });
62
+ it('Identity Provider should be enabled', async () => {
63
+ const state = await pluginIdentityProvider.retrieve();
64
+ assert_1.default.deepStrictEqual(state.enabled, true);
65
+ });
66
+ it('should disable Identity Provider', async () => {
67
+ await pluginIdentityProvider.apply(configDisabled);
68
+ });
69
+ it('Identity Provider should be disabled', async () => {
70
+ const state = await pluginIdentityProvider.retrieve();
71
+ assert_1.default.deepStrictEqual(state.enabled, false);
72
+ });
73
+ it('should import a cert from a keystore', async () => {
74
+ await pluginCertificateManagement.run(configImportFromKeystore);
75
+ });
76
+ it('should not do anything if cert is already available in keystore', async () => {
77
+ const res = await pluginCertificateManagement.run(configImportFromKeystore);
78
+ assert_1.default.deepStrictEqual(res, { message: 'no action necessary' });
79
+ });
80
+ it('should delete certificates using Metadata API', async () => {
81
+ const org = await core_1.Org.create({});
82
+ const conn = org.getConnection();
83
+ await conn.metadata.delete('Certificate', ['identity_provider', 'Dummy']);
84
+ });
85
+ });
86
+ //# sourceMappingURL=index.e2e-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/security/index.e2e-spec.ts"],"names":[],"mappings":";;;;;AAAA,2CAAuC;AACvC,oDAA4B;AAC5B,qFAA+E;AAC/E,2DAAuD;AAEvD,QAAQ,CAAC,GAAG,4DAA2B,CAAC,IAAI,QAAQ,oCAAgB,CAAC,IAAI,EAAE,EAAE;IAC3E,IAAI,sBAAsB,EAAE,2BAA2B,CAAC;IACxD,MAAM,CAAC,GAAG,EAAE;QACV,sBAAsB,GAAG,IAAI,oCAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzD,2BAA2B,GAAG,IAAI,4DAA2B,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG;QACpB,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,mBAAmB;KACjC,CAAC;IACF,MAAM,cAAc,GAAG;QACrB,OAAO,EAAE,KAAK;KACf,CAAC;IACF,MAAM,mBAAmB,GAAG;QAC1B,YAAY,EAAE;YACZ;gBACE,IAAI,EAAE,mBAAmB;gBACzB,KAAK,EAAE,mBAAmB;aAC3B;SACF;KACF,CAAC;IACF,MAAM,wBAAwB,GAAG;QAC/B,kBAAkB,EAAE;YAClB;gBACE,QAAQ,EAAE,iEAAiE;gBAC3E,IAAI,EAAE,OAAO;aACd;SACF;KACF,CAAC;IAEF,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,IAAI,GAAG,CAAC;QACR,IAAI;YACF,MAAM,sBAAsB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;SACjD;QAAC,OAAO,CAAC,EAAE;YACV,GAAG,GAAG,CAAC,CAAC;SACT;QACD,gBAAM,CAAC,MAAM,CAAC,GAAG,EAAE;YACjB,MAAM,GAAG,CAAC;QACZ,CAAC,EAAE,gDAAgD,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,2BAA2B,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,wCAAwC;QACxC,MAAM,GAAG,GAAG,MAAM,2BAA2B,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACvE,gBAAM,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,sBAAsB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,CAAC;QACtD,gBAAM,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,sBAAsB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,CAAC;QACtD,gBAAM,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,2BAA2B,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,GAAG,GAAG,MAAM,2BAA2B,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAC5E,gBAAM,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,GAAG,GAAG,MAAM,UAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Security = void 0;
4
4
  const plugin_1 = require("../../plugin");
5
- const utils_1 = require("../utils");
6
5
  const certificate_and_key_management_1 = require("./certificate-and-key-management");
7
6
  const identity_provider_1 = require("./identity-provider");
8
7
  const login_access_policies_1 = require("./login-access-policies");
@@ -17,31 +16,41 @@ class Security extends plugin_1.BrowserforcePlugin {
17
16
  }
18
17
  if (definition.identityProvider) {
19
18
  const pluginIdentityProvider = new identity_provider_1.IdentityProvider(this.browserforce);
20
- response.identityProvider = await pluginIdentityProvider.retrieve(definition.identityProvider);
19
+ response.identityProvider = await pluginIdentityProvider.retrieve();
21
20
  }
22
21
  if (definition.loginAccessPolicies) {
23
22
  const pluginLoginAccessPolicies = new login_access_policies_1.LoginAccessPolicies(this.browserforce);
24
- response.loginAccessPolicies = await pluginLoginAccessPolicies.retrieve(definition.loginAccessPolicies);
23
+ response.loginAccessPolicies = await pluginLoginAccessPolicies.retrieve();
25
24
  }
26
25
  if (definition.sharing) {
27
26
  const pluginSharing = new sharing_1.Sharing(this.browserforce);
28
- response.sharing = await pluginSharing.retrieve(definition.sharing);
27
+ response.sharing = await pluginSharing.retrieve();
29
28
  }
30
29
  }
31
30
  return response;
32
31
  }
33
32
  diff(state, definition) {
34
- const pluginCKM = new certificate_and_key_management_1.CertificateAndKeyManagement(null);
35
- const pluginIdentityProvider = new identity_provider_1.IdentityProvider(null);
36
- const pluginLoginAccessPolicies = new login_access_policies_1.LoginAccessPolicies(null);
37
- const pluginSharing = new sharing_1.Sharing(null);
38
- const response = {
39
- certificateAndKeyManagement: pluginCKM.diff(state.certificateAndKeyManagement, definition.certificateAndKeyManagement),
40
- identityProvider: pluginIdentityProvider.diff(state.identityProvider, definition.identityProvider),
41
- loginAccessPolicies: pluginLoginAccessPolicies.diff(state.loginAccessPolicies, definition.loginAccessPolicies),
42
- sharing: pluginSharing.diff(state.sharing, definition.sharing)
43
- };
44
- return (0, utils_1.removeEmptyValues)(response);
33
+ const certificateAndKeyManagement = new certificate_and_key_management_1.CertificateAndKeyManagement(this.browserforce).diff(state.certificateAndKeyManagement, definition.certificateAndKeyManagement);
34
+ const identityProvider = new identity_provider_1.IdentityProvider(this.browserforce).diff(state.identityProvider, definition.identityProvider);
35
+ const loginAccessPolicies = new login_access_policies_1.LoginAccessPolicies(this.browserforce).diff(state.loginAccessPolicies, definition.loginAccessPolicies);
36
+ const sharing = new sharing_1.Sharing(this.browserforce).diff(state.sharing, definition.sharing);
37
+ const response = {};
38
+ if (certificateAndKeyManagement !== undefined) {
39
+ response.certificateAndKeyManagement = certificateAndKeyManagement;
40
+ }
41
+ if (identityProvider !== undefined) {
42
+ response.identityProvider = identityProvider;
43
+ }
44
+ if (loginAccessPolicies !== undefined) {
45
+ response.loginAccessPolicies = loginAccessPolicies;
46
+ }
47
+ if (loginAccessPolicies !== undefined) {
48
+ response.loginAccessPolicies = loginAccessPolicies;
49
+ }
50
+ if (sharing !== undefined) {
51
+ response.sharing = sharing;
52
+ }
53
+ return Object.keys(response).length ? response : undefined;
45
54
  }
46
55
  async apply(plan) {
47
56
  if (plan.certificateAndKeyManagement) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/security/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/security/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const assert_1 = __importDefault(require("assert"));
7
+ const _1 = require(".");
8
+ describe(_1.LoginAccessPolicies.name, function () {
9
+ let plugin;
10
+ before(() => {
11
+ plugin = new _1.LoginAccessPolicies(global.bf);
12
+ });
13
+ describe('administratorsCanLogInAsAnyUser', () => {
14
+ const configDisabled = { administratorsCanLogInAsAnyUser: false };
15
+ const configEnabled = { administratorsCanLogInAsAnyUser: true };
16
+ it('should enable', async () => {
17
+ await plugin.run(configEnabled);
18
+ });
19
+ it('should be enabled', async () => {
20
+ const res = await plugin.retrieve();
21
+ assert_1.default.deepStrictEqual(res, configEnabled);
22
+ });
23
+ it('should disable', async () => {
24
+ await plugin.apply(configDisabled);
25
+ });
26
+ it('should be disabled', async () => {
27
+ const res = await plugin.retrieve();
28
+ assert_1.default.deepStrictEqual(res, configDisabled);
29
+ });
30
+ });
31
+ });
32
+ //# sourceMappingURL=index.e2e-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../../src/plugins/security/login-access-policies/index.e2e-spec.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,wBAAqD;AAErD,QAAQ,CAAC,sBAAmB,CAAC,IAAI,EAAE;IACjC,IAAI,MAAM,CAAC;IACX,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,GAAG,IAAI,sBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC/C,MAAM,cAAc,GAAW,EAAE,+BAA+B,EAAE,KAAK,EAAE,CAAC;QAC1E,MAAM,aAAa,GAAW,EAAE,+BAA+B,EAAE,IAAI,EAAE,CAAC;QAExE,EAAE,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;YAC7B,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;YACjC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpC,gBAAM,CAAC,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;YAC9B,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;YAClC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpC,gBAAM,CAAC,eAAe,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -11,7 +11,7 @@ const SELECTORS = {
11
11
  SAVE_BUTTON: 'input[id$=":save"]'
12
12
  };
13
13
  class LoginAccessPolicies extends plugin_1.BrowserforcePlugin {
14
- async retrieve(definition) {
14
+ async retrieve() {
15
15
  const page = await this.browserforce.openPage(PATHS.BASE);
16
16
  await page.waitForSelector(SELECTORS.ENABLED);
17
17
  const response = {
@@ -26,10 +26,7 @@ class LoginAccessPolicies extends plugin_1.BrowserforcePlugin {
26
26
  await page.$eval(SELECTORS.ENABLED, (e, v) => {
27
27
  e.checked = v;
28
28
  }, config.administratorsCanLogInAsAnyUser);
29
- await Promise.all([
30
- page.waitForSelector(SELECTORS.CONFIRM_MESSAGE),
31
- page.click(SELECTORS.SAVE_BUTTON)
32
- ]);
29
+ await Promise.all([page.waitForSelector(SELECTORS.CONFIRM_MESSAGE), page.click(SELECTORS.SAVE_BUTTON)]);
33
30
  await page.close();
34
31
  }
35
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/security/login-access-policies/index.ts"],"names":[],"mappings":";;;AAAA,4CAAqD;AAErD,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,qCAAqC;CAC5C,CAAC;AACF,MAAM,SAAS,GAAG;IAChB,OAAO,EAAE,kCAAkC;IAC3C,eAAe,EAAE,oBAAoB;IACrC,WAAW,EAAE,oBAAoB;CAClC,CAAC;AAMF,MAAa,mBAAoB,SAAQ,2BAAkB;IAClD,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG;YACf,+BAA+B,EAAE,MAAM,IAAI,CAAC,KAAK,CAC/C,SAAS,CAAC,OAAO,EACjB,CAAC,EAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CACrC;SACF,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,KAAK,CACd,SAAS,CAAC,OAAO,EACjB,CAAC,CAAmB,EAAE,CAAU,EAAE,EAAE;YAClC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;QAChB,CAAC,EACD,MAAM,CAAC,+BAA+B,CACvC,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC;SAClC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF;AA9BD,kDA8BC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/security/login-access-policies/index.ts"],"names":[],"mappings":";;;AAAA,4CAAqD;AAErD,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,qCAAqC;CAC5C,CAAC;AACF,MAAM,SAAS,GAAG;IAChB,OAAO,EAAE,kCAAkC;IAC3C,eAAe,EAAE,oBAAoB;IACrC,WAAW,EAAE,oBAAoB;CAClC,CAAC;AAMF,MAAa,mBAAoB,SAAQ,2BAAkB;IAClD,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG;YACf,+BAA+B,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC;SAC3G,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,KAAK,CACd,SAAS,CAAC,OAAO,EACjB,CAAC,CAAmB,EAAE,CAAU,EAAE,EAAE;YAClC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;QAChB,CAAC,EACD,MAAM,CAAC,+BAA+B,CACvC,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACxG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF;AAxBD,kDAwBC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const assert_1 = __importDefault(require("assert"));
7
+ const _1 = require(".");
8
+ describe.skip(_1.Sharing.name, function () {
9
+ let plugin;
10
+ before(() => {
11
+ plugin = new _1.Sharing(global.bf);
12
+ });
13
+ const configEnabled = {
14
+ enableExternalSharingModel: true
15
+ };
16
+ const configDisabled = {
17
+ enableExternalSharingModel: true
18
+ };
19
+ it('should enable', async () => {
20
+ await plugin.run(configEnabled);
21
+ });
22
+ it('should be enabled', async () => {
23
+ const state = await plugin.retrieve();
24
+ assert_1.default.deepStrictEqual(state, configEnabled);
25
+ });
26
+ it('should disable', async () => {
27
+ await plugin.apply(configDisabled);
28
+ });
29
+ it('should be disabled', async () => {
30
+ const state = await plugin.retrieve();
31
+ assert_1.default.deepStrictEqual(state, configDisabled);
32
+ });
33
+ });
34
+ //# sourceMappingURL=index.e2e-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../../src/plugins/security/sharing/index.e2e-spec.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,wBAA4B;AAE5B,QAAQ,CAAC,IAAI,CAAC,UAAO,CAAC,IAAI,EAAE;IAC1B,IAAI,MAAM,CAAC;IACX,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,GAAG,IAAI,UAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG;QACpB,0BAA0B,EAAE,IAAI;KACjC,CAAC;IACF,MAAM,cAAc,GAAG;QACrB,0BAA0B,EAAE,IAAI;KACjC,CAAC;IAEF,EAAE,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;QAC7B,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,gBAAM,CAAC,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,gBAAM,CAAC,eAAe,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -12,13 +12,13 @@ const SELECTORS = {
12
12
  MODAL_DIALOG: 'Modal.confirm'
13
13
  };
14
14
  class Sharing extends plugin_1.BrowserforcePlugin {
15
- async retrieve(definition) {
15
+ async retrieve() {
16
16
  const page = await this.browserforce.openPage(PATHS.BASE);
17
17
  await page.waitForSelector(SELECTORS.EXTERNAL_SHARING_MODEL_BUTTON);
18
- const buttonOnclick = await page.$eval(SELECTORS.EXTERNAL_SHARING_MODEL_BUTTON, (el) => el.onclick.toString());
18
+ const buttonOnclick = await page.$eval(SELECTORS.EXTERNAL_SHARING_MODEL_BUTTON, (el) => el.onclick?.toString() || '');
19
19
  await page.close();
20
20
  return {
21
- enableExternalSharingModel: buttonOnclick.indexOf(SELECTORS.MODAL_DIALOG) >= 0
21
+ enableExternalSharingModel: buttonOnclick.includes(SELECTORS.MODAL_DIALOG)
22
22
  };
23
23
  }
24
24
  async apply(config) {
@@ -28,16 +28,10 @@ class Sharing extends plugin_1.BrowserforcePlugin {
28
28
  await dialog.accept();
29
29
  });
30
30
  if (config.enableExternalSharingModel) {
31
- await Promise.all([
32
- page.waitForSelector(SELECTORS.DISABLE_BUTTON),
33
- page.click(SELECTORS.ENABLE_BUTTON)
34
- ]);
31
+ await Promise.all([page.waitForSelector(SELECTORS.DISABLE_BUTTON), page.click(SELECTORS.ENABLE_BUTTON)]);
35
32
  }
36
33
  else {
37
- await Promise.all([
38
- page.waitForSelector(SELECTORS.ENABLE_BUTTON),
39
- page.click(SELECTORS.DISABLE_BUTTON)
40
- ]);
34
+ await Promise.all([page.waitForSelector(SELECTORS.ENABLE_BUTTON), page.click(SELECTORS.DISABLE_BUTTON)]);
41
35
  }
42
36
  await page.close();
43
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/security/sharing/index.ts"],"names":[],"mappings":";;;AAAA,4CAAqD;AAErD,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,wBAAwB;CAC/B,CAAC;AACF,MAAM,SAAS,GAAG;IAChB,6BAA6B,EAAE,6BAA6B;IAC5D,aAAa,EACX,kEAAkE;IACpE,cAAc,EAAE,4DAA4D;IAC5E,YAAY,EAAE,eAAe;CAC9B,CAAC;AAMF,MAAa,OAAQ,SAAQ,2BAAkB;IACtC,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;QACpE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,KAAK,CACpC,SAAS,CAAC,6BAA6B,EACvC,CAAC,EAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAChD,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO;YACL,0BAA0B,EACxB,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC;SACrD,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;QACpE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;YAC/B,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,0BAA0B,EAAE;YACrC,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,cAAc,CAAC;gBAC9C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC;aACpC,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,aAAa,CAAC;gBAC7C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC;aACrC,CAAC,CAAC;SACJ;QACD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF;AAlCD,0BAkCC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/security/sharing/index.ts"],"names":[],"mappings":";;;AAAA,4CAAqD;AAErD,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,wBAAwB;CAC/B,CAAC;AACF,MAAM,SAAS,GAAG;IAChB,6BAA6B,EAAE,6BAA6B;IAC5D,aAAa,EAAE,kEAAkE;IACjF,cAAc,EAAE,4DAA4D;IAC5E,YAAY,EAAE,eAAe;CAC9B,CAAC;AAMF,MAAa,OAAQ,SAAQ,2BAAkB;IACtC,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;QACpE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,KAAK,CACpC,SAAS,CAAC,6BAA6B,EACvC,CAAC,EAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CACvD,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO;YACL,0BAA0B,EAAE,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC;SAC3E,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;QACpE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACjC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,0BAA0B,EAAE;YACrC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SAC1G;aAAM;YACL,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;SAC1G;QACD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF;AA3BD,0BA2BC"}
@@ -1,51 +1,48 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isEmpty = exports.semanticallyCleanObject = exports.removeNullValues = exports.removeEmptyValues = void 0;
4
- function removeEmptyValues(obj) {
5
- if (!obj) {
6
- obj = {};
7
- }
8
- return Object.entries(obj).reduce((acc, [key, value]) => {
9
- if (Array.isArray(value)) {
10
- if (value.length) {
11
- acc[key] = value;
12
- }
13
- }
14
- else if (typeof value === 'object') {
15
- if (Object.keys(value).length) {
16
- acc[key] = value;
17
- }
18
- }
19
- else if (value !== undefined && value !== null) {
20
- acc[key] = value;
21
- }
22
- return acc;
23
- }, {});
24
- }
25
- exports.removeEmptyValues = removeEmptyValues;
26
- function removeNullValues(obj) {
27
- if (!obj) {
28
- obj = {};
29
- }
30
- Object.entries(obj).forEach(([key, val]) => (val && typeof val === 'object' && removeNullValues(val)) ||
31
- ((val === null || val === undefined) && delete obj[key]));
32
- return obj;
33
- }
34
- exports.removeNullValues = removeNullValues;
3
+ exports.deepDiff = exports.isEmptyObjectOrArray = exports.semanticallyCleanObject = void 0;
4
+ const util_1 = require("util");
35
5
  // an object only containing an id is semantically empty
36
6
  function semanticallyCleanObject(obj, id = 'id') {
37
- if (!obj) {
38
- obj = {};
39
- }
40
- if (Object.keys(obj).length === 1 && Object.keys(obj)[0] === id) {
41
- return null;
7
+ if (typeof obj === 'object' && obj !== null) {
8
+ if (Object.keys(obj).length === 1 && Object.keys(obj)[0] === id) {
9
+ return undefined;
10
+ }
42
11
  }
43
12
  return obj;
44
13
  }
45
14
  exports.semanticallyCleanObject = semanticallyCleanObject;
46
- function isEmpty(obj) {
47
- return !((obj !== undefined && obj !== null && obj !== Object(obj)) ||
48
- (obj === Object(obj) && Object.keys(obj).length > 0));
15
+ function isEmptyObjectOrArray(arg) {
16
+ if (typeof arg === 'object' && arg !== null) {
17
+ return Object.keys(arg).length === 0;
18
+ }
19
+ return false;
20
+ }
21
+ exports.isEmptyObjectOrArray = isEmptyObjectOrArray;
22
+ function deepDiff(source, target) {
23
+ if ((0, util_1.isDeepStrictEqual)(source, target)) {
24
+ return undefined;
25
+ }
26
+ if (typeof target === 'object' && target !== null && typeof source === 'object' && source !== null) {
27
+ let objectOrArray;
28
+ if (Array.isArray(target)) {
29
+ objectOrArray = target.map((item, i) => deepDiff(source?.[i], item)).filter((x) => x !== undefined);
30
+ }
31
+ else {
32
+ const targetKeys = Object.keys(target);
33
+ const minSource = Object.fromEntries(Object.entries(source).filter(([key, value]) => targetKeys.includes(key)));
34
+ if (!(0, util_1.isDeepStrictEqual)(minSource, source)) {
35
+ return deepDiff(minSource, target);
36
+ }
37
+ objectOrArray = target;
38
+ }
39
+ if (isEmptyObjectOrArray(objectOrArray)) {
40
+ return undefined;
41
+ }
42
+ return objectOrArray;
43
+ }
44
+ // simple value
45
+ return target;
49
46
  }
50
- exports.isEmpty = isEmpty;
47
+ exports.deepDiff = deepDiff;
51
48
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/plugins/utils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,iBAAiB,CAAC,GAAQ;IACxC,IAAI,CAAC,GAAG,EAAE;QACR,GAAG,GAAG,EAAE,CAAC;KACV;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACtD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,IAAI,KAAK,CAAC,MAAM,EAAE;gBAChB,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAClB;SACF;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACpC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE;gBAC7B,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAClB;SACF;aAAM,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;YAChD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SAClB;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAlBD,8CAkBC;AAED,SAAgB,gBAAgB,CAAC,GAAQ;IACvC,IAAI,CAAC,GAAG,EAAE;QACR,GAAG,GAAG,EAAE,CAAC;KACV;IACD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CACzB,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CACb,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACzD,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAC3D,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC;AAVD,4CAUC;AAED,wDAAwD;AACxD,SAAgB,uBAAuB,CAAC,GAAQ,EAAE,EAAE,GAAG,IAAI;IACzD,IAAI,CAAC,GAAG,EAAE;QACR,GAAG,GAAG,EAAE,CAAC;KACV;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/D,OAAO,IAAI,CAAC;KACb;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AARD,0DAQC;AAED,SAAgB,OAAO,CAAC,GAAY;IAClC,OAAO,CAAC,CACN,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1D,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CACrD,CAAC;AACJ,CAAC;AALD,0BAKC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/plugins/utils.ts"],"names":[],"mappings":";;;AAAA,+BAAyC;AAEzC,wDAAwD;AACxD,SAAgB,uBAAuB,CAAoB,GAAM,EAAE,EAAE,GAAG,IAAI;IAC1E,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE;QAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/D,OAAO,SAAS,CAAC;SAClB;KACF;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAPD,0DAOC;AAED,SAAgB,oBAAoB,CAAC,GAAY;IAC/C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE;QAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;KACtC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AALD,oDAKC;AAED,SAAgB,QAAQ,CAAoB,MAAqB,EAAE,MAAqB;IACtF,IAAI,IAAA,wBAAiB,EAAC,MAAM,EAAE,MAAM,CAAC,EAAE;QACrC,OAAO,SAAS,CAAC;KAClB;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE;QAClG,IAAI,aAA4B,CAAC;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACzB,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAErF,CAAC;SACf;aAAM;YACL,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAClC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAChE,CAAC;YACZ,IAAI,CAAC,IAAA,wBAAiB,EAAC,SAAS,EAAE,MAAM,CAAC,EAAE;gBACzC,OAAO,QAAQ,CAAC,SAAc,EAAE,MAAM,CAAC,CAAC;aACzC;YACD,aAAa,GAAG,MAAM,CAAC;SACxB;QACD,IAAI,oBAAoB,CAAC,aAAa,CAAC,EAAE;YACvC,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,aAAa,CAAC;KACtB;IACD,eAAe;IACf,OAAO,MAAM,CAAC;AAChB,CAAC;AA3BD,4BA2BC"}