@rockcarver/frodo-cli 0.10.4 → 0.11.1-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 (247) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/README.md +3 -3
  3. package/package.json +17 -15
  4. package/src/app.js +7 -6
  5. package/src/cli/_template/cmd-delete.js +9 -8
  6. package/src/cli/_template/cmd-describe.js +9 -8
  7. package/src/cli/_template/cmd-export.js +9 -8
  8. package/src/cli/_template/cmd-import.js +9 -8
  9. package/src/cli/_template/cmd-list.js +9 -8
  10. package/src/cli/_template/cmd-sub1-delete.js +9 -8
  11. package/src/cli/_template/cmd-sub1-describe.js +9 -8
  12. package/src/cli/_template/cmd-sub1-export.js +9 -8
  13. package/src/cli/_template/cmd-sub1-import.js +9 -8
  14. package/src/cli/_template/cmd-sub1-list.js +9 -8
  15. package/src/cli/_template/cmd-sub2-delete.js +9 -8
  16. package/src/cli/_template/cmd-sub2-describe.js +9 -8
  17. package/src/cli/_template/cmd-sub2-export.js +9 -8
  18. package/src/cli/_template/cmd-sub2-import.js +9 -8
  19. package/src/cli/_template/cmd-sub2-list.js +9 -8
  20. package/src/cli/admin/admin-add-autoid-static-user-mapping.js +12 -12
  21. package/src/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +15 -18
  22. package/src/cli/admin/admin-get-access-token.js +12 -12
  23. package/src/cli/admin/admin-grant-oauth2-client-admin-privileges.js +13 -13
  24. package/src/cli/admin/admin-hide-generic-extension-attributes.js +13 -13
  25. package/src/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +13 -13
  26. package/src/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +14 -13
  27. package/src/cli/admin/admin-list-static-user-mappings.js +12 -12
  28. package/src/cli/admin/admin-remove-static-user-mapping.js +12 -12
  29. package/src/cli/admin/admin-repair-org-model.js +13 -13
  30. package/src/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +13 -13
  31. package/src/cli/admin/admin-show-generic-extension-attributes.js +13 -13
  32. package/src/cli/app/app-delete.js +9 -8
  33. package/src/cli/app/app-describe.js +9 -8
  34. package/src/cli/app/app-export.js +15 -15
  35. package/src/cli/app/app-import.js +11 -11
  36. package/src/cli/app/app-list.js +11 -12
  37. package/src/cli/conn/conn-add.js +11 -11
  38. package/src/cli/conn/conn-delete.js +3 -1
  39. package/src/cli/conn/conn-describe.js +3 -1
  40. package/src/cli/conn/conn-list.js +3 -4
  41. package/src/cli/email/email-template-export.js +16 -16
  42. package/src/cli/email/email-template-import.js +16 -16
  43. package/src/cli/email/email-template-list.js +11 -11
  44. package/src/cli/esv/esv-apply.js +12 -12
  45. package/src/cli/esv/esv-secret-create.js +11 -11
  46. package/src/cli/esv/esv-secret-delete.js +13 -13
  47. package/src/cli/esv/esv-secret-describe.js +11 -11
  48. package/src/cli/esv/esv-secret-export.js +9 -8
  49. package/src/cli/esv/esv-secret-import.js +9 -8
  50. package/src/cli/esv/esv-secret-list.js +11 -11
  51. package/src/cli/esv/esv-secret-set.js +11 -11
  52. package/src/cli/esv/esv-secret-version-activate.js +12 -12
  53. package/src/cli/esv/esv-secret-version-create.js +11 -11
  54. package/src/cli/esv/esv-secret-version-deactivate.js +12 -12
  55. package/src/cli/esv/esv-secret-version-delete.js +13 -13
  56. package/src/cli/esv/esv-secret-version-list.js +11 -11
  57. package/src/cli/esv/esv-variable-create.js +11 -11
  58. package/src/cli/esv/esv-variable-delete.js +13 -16
  59. package/src/cli/esv/esv-variable-describe.js +11 -11
  60. package/src/cli/esv/esv-variable-export.js +9 -8
  61. package/src/cli/esv/esv-variable-import.js +9 -8
  62. package/src/cli/esv/esv-variable-list.js +11 -11
  63. package/src/cli/esv/esv-variable-set.js +13 -16
  64. package/src/cli/idm/idm-count.js +11 -11
  65. package/src/cli/idm/idm-export.js +16 -16
  66. package/src/cli/idm/idm-list.js +11 -11
  67. package/src/cli/idp/idp-export.js +15 -19
  68. package/src/cli/idp/idp-import.js +18 -18
  69. package/src/cli/idp/idp-list.js +12 -12
  70. package/src/cli/info/info.js +23 -19
  71. package/src/cli/journey/journey-delete.js +14 -14
  72. package/src/cli/journey/journey-describe.js +26 -35
  73. package/src/cli/journey/journey-export.js +18 -21
  74. package/src/cli/journey/journey-import.js +17 -17
  75. package/src/cli/journey/journey-list.js +12 -12
  76. package/src/cli/journey/journey-prune.js +12 -12
  77. package/src/cli/logging/logs-list.js +33 -28
  78. package/src/cli/logging/logs-tail.js +26 -22
  79. package/src/cli/realm/realm-add-custom-domain.js +13 -13
  80. package/src/cli/realm/realm-describe.js +14 -14
  81. package/src/cli/realm/realm-list.js +11 -11
  82. package/src/cli/realm/realm-remove-custom-domain.js +16 -13
  83. package/src/cli/saml/saml-cot-export.js +16 -16
  84. package/src/cli/saml/saml-cot-import.js +18 -18
  85. package/src/cli/saml/saml-cot-list.js +12 -12
  86. package/src/cli/saml/saml-describe.js +12 -12
  87. package/src/cli/saml/saml-export.js +16 -19
  88. package/src/cli/saml/saml-import.js +19 -18
  89. package/src/cli/saml/saml-list.js +12 -12
  90. package/src/cli/saml/saml-metadata-export.js +15 -19
  91. package/src/cli/script/script-delete.js +9 -8
  92. package/src/cli/script/script-describe.js +9 -8
  93. package/src/cli/script/script-export.js +18 -20
  94. package/src/cli/script/script-import.js +13 -12
  95. package/src/cli/script/script-list.js +12 -12
  96. package/src/cli/theme/theme-delete.js +17 -21
  97. package/src/cli/theme/theme-export.js +19 -18
  98. package/src/cli/theme/theme-import.js +21 -20
  99. package/src/cli/theme/theme-list.js +12 -12
  100. package/.eslintrc +0 -29
  101. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -30
  102. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  103. package/.github/README.md +0 -273
  104. package/.github/workflows/pipeline.yml +0 -487
  105. package/.prettierrc +0 -6
  106. package/CODE_OF_CONDUCT.md +0 -128
  107. package/docs/BINARIES.md +0 -22
  108. package/docs/CONTRIBUTE.md +0 -96
  109. package/docs/PIPELINE.md +0 -169
  110. package/docs/images/macos_warn1.png +0 -0
  111. package/docs/images/macos_warn2.png +0 -0
  112. package/docs/images/macos_warn3.png +0 -0
  113. package/docs/images/npm_versioning_guidelines.png +0 -0
  114. package/docs/images/release_pipeline.png +0 -0
  115. package/gulpfile.js +0 -49
  116. package/jsconfig.json +0 -6
  117. package/resources/sampleEntitiesFile.json +0 -8
  118. package/resources/sampleEnvFile.env +0 -2
  119. package/src/api/AuthenticateApi.js +0 -33
  120. package/src/api/BaseApi.js +0 -242
  121. package/src/api/CirclesOfTrustApi.js +0 -87
  122. package/src/api/EmailTemplateApi.js +0 -37
  123. package/src/api/IdmConfigApi.js +0 -88
  124. package/src/api/LogApi.js +0 -45
  125. package/src/api/ManagedObjectApi.js +0 -62
  126. package/src/api/OAuth2ClientApi.js +0 -69
  127. package/src/api/OAuth2OIDCApi.js +0 -73
  128. package/src/api/OAuth2ProviderApi.js +0 -32
  129. package/src/api/RealmApi.js +0 -99
  130. package/src/api/Saml2Api.js +0 -176
  131. package/src/api/ScriptApi.js +0 -84
  132. package/src/api/SecretsApi.js +0 -151
  133. package/src/api/ServerInfoApi.js +0 -41
  134. package/src/api/SocialIdentityProvidersApi.js +0 -114
  135. package/src/api/StartupApi.js +0 -45
  136. package/src/api/ThemeApi.js +0 -181
  137. package/src/api/TreeApi.js +0 -207
  138. package/src/api/VariablesApi.js +0 -104
  139. package/src/api/utils/ApiUtils.js +0 -77
  140. package/src/api/utils/Base64.js +0 -62
  141. package/src/cli/journey/journey-delete.e2e.test.js +0 -380
  142. package/src/cli/journey/journey-list.e2e.test.js +0 -141
  143. package/src/cli/theme/theme-delete.e2e.test.js +0 -178
  144. package/src/cli/theme/theme-list.e2e.test.js +0 -119
  145. package/src/ops/AdminOps.js +0 -901
  146. package/src/ops/AuthenticateOps.js +0 -342
  147. package/src/ops/CirclesOfTrustOps.js +0 -350
  148. package/src/ops/ConnectionProfileOps.js +0 -254
  149. package/src/ops/EmailTemplateOps.js +0 -326
  150. package/src/ops/IdmOps.js +0 -227
  151. package/src/ops/IdpOps.js +0 -342
  152. package/src/ops/JourneyOps.js +0 -2026
  153. package/src/ops/LogOps.js +0 -357
  154. package/src/ops/ManagedObjectOps.js +0 -34
  155. package/src/ops/OAuth2ClientOps.js +0 -151
  156. package/src/ops/OrganizationOps.js +0 -85
  157. package/src/ops/RealmOps.js +0 -139
  158. package/src/ops/SamlOps.js +0 -541
  159. package/src/ops/ScriptOps.js +0 -211
  160. package/src/ops/SecretsOps.js +0 -288
  161. package/src/ops/StartupOps.js +0 -114
  162. package/src/ops/ThemeOps.js +0 -379
  163. package/src/ops/VariablesOps.js +0 -185
  164. package/src/ops/templates/OAuth2ClientTemplate.json +0 -270
  165. package/src/ops/templates/OrgModelUserAttributesTemplate.json +0 -149
  166. package/src/ops/templates/cloud/GenericExtensionAttributesTemplate.json +0 -392
  167. package/src/ops/templates/cloud/managed.json +0 -4119
  168. package/src/ops/utils/Console.js +0 -434
  169. package/src/ops/utils/DataProtection.js +0 -92
  170. package/src/ops/utils/ExportImportUtils.js +0 -146
  171. package/src/ops/utils/OpsUtils.js +0 -76
  172. package/src/ops/utils/Wordwrap.js +0 -11
  173. package/src/storage/SessionStorage.js +0 -45
  174. package/test/client_cli/en/connections.test.js +0 -62
  175. package/test/client_cli/en/connections_add.test.js +0 -34
  176. package/test/client_cli/en/connections_delete.test.js +0 -34
  177. package/test/client_cli/en/connections_list.test.js +0 -34
  178. package/test/client_cli/en/email_templates.test.js +0 -77
  179. package/test/client_cli/en/email_templates_export.test.js +0 -196
  180. package/test/client_cli/en/email_templates_import.test.js +0 -145
  181. package/test/client_cli/en/email_templates_list.test.js +0 -130
  182. package/test/client_cli/en/idm.test.js +0 -111
  183. package/test/client_cli/en/idm_count.test.js +0 -121
  184. package/test/client_cli/en/idm_export.test.js +0 -136
  185. package/test/client_cli/en/idm_exportAll.test.js +0 -156
  186. package/test/client_cli/en/idm_exportAllRaw.test.js +0 -120
  187. package/test/client_cli/en/idm_import.test_.js +0 -103
  188. package/test/client_cli/en/idm_importAll.test_.js +0 -103
  189. package/test/client_cli/en/idm_list.test.js +0 -103
  190. package/test/client_cli/en/info.test.js +0 -125
  191. package/test/client_cli/en/journey.test.js +0 -127
  192. package/test/client_cli/en/journey_describe.test.js +0 -196
  193. package/test/client_cli/en/journey_export.test.js +0 -213
  194. package/test/client_cli/en/journey_import.test.js +0 -195
  195. package/test/client_cli/en/journey_importAll.test.js +0 -180
  196. package/test/client_cli/en/journey_list.test.js +0 -162
  197. package/test/client_cli/en/journey_prune.test.js +0 -148
  198. package/test/client_cli/en/logs.test.js +0 -79
  199. package/test/client_cli/en/logs_list.test.js +0 -83
  200. package/test/client_cli/en/logs_tail.test.js +0 -118
  201. package/test/client_cli/en/root.test.js +0 -91
  202. package/test/client_cli/en/script.test.js +0 -77
  203. package/test/client_cli/en/script_export.test.js +0 -213
  204. package/test/client_cli/en/script_import.test.js +0 -163
  205. package/test/client_cli/en/script_list.test.js +0 -148
  206. package/test/client_cli/utils/utils.js +0 -32
  207. package/test/e2e/journey/baseline/ForgottenUsername.journey.json +0 -216
  208. package/test/e2e/journey/baseline/Login.journey.json +0 -205
  209. package/test/e2e/journey/baseline/PasswordGrant.journey.json +0 -139
  210. package/test/e2e/journey/baseline/ProgressiveProfile.journey.json +0 -198
  211. package/test/e2e/journey/baseline/Registration.journey.json +0 -249
  212. package/test/e2e/journey/baseline/ResetPassword.journey.json +0 -268
  213. package/test/e2e/journey/baseline/UpdatePassword.journey.json +0 -323
  214. package/test/e2e/journey/baseline/allAlphaJourneys.journeys.json +0 -1520
  215. package/test/e2e/journey/delete/ForgottenUsername.journey.json +0 -216
  216. package/test/e2e/journey/delete/Login.journey.json +0 -205
  217. package/test/e2e/journey/delete/PasswordGrant.journey.json +0 -139
  218. package/test/e2e/journey/delete/ProgressiveProfile.journey.json +0 -198
  219. package/test/e2e/journey/delete/Registration.journey.json +0 -249
  220. package/test/e2e/journey/delete/ResetPassword.journey.json +0 -268
  221. package/test/e2e/journey/delete/UpdatePassword.journey.json +0 -323
  222. package/test/e2e/journey/delete/deleteMe.journey.json +0 -230
  223. package/test/e2e/journey/list/Disabled.journey.json +0 -43
  224. package/test/e2e/journey/list/ForgottenUsername.journey.json +0 -216
  225. package/test/e2e/journey/list/Login.journey.json +0 -205
  226. package/test/e2e/journey/list/PasswordGrant.journey.json +0 -139
  227. package/test/e2e/journey/list/ProgressiveProfile.journey.json +0 -198
  228. package/test/e2e/journey/list/Registration.journey.json +0 -249
  229. package/test/e2e/journey/list/ResetPassword.journey.json +0 -268
  230. package/test/e2e/journey/list/UpdatePassword.journey.json +0 -323
  231. package/test/e2e/setup.js +0 -98
  232. package/test/e2e/theme/baseline/Contrast.theme.json +0 -95
  233. package/test/e2e/theme/baseline/Highlander.theme.json +0 -95
  234. package/test/e2e/theme/baseline/Robroy.theme.json +0 -95
  235. package/test/e2e/theme/baseline/Starter-Theme.theme.json +0 -94
  236. package/test/e2e/theme/baseline/Zardoz.theme.json +0 -95
  237. package/test/e2e/theme/import/Contrast.theme.json +0 -95
  238. package/test/e2e/theme/import/Highlander.theme.json +0 -95
  239. package/test/e2e/theme/import/Robroy.theme.json +0 -95
  240. package/test/e2e/theme/import/Starter-Theme.theme.json +0 -94
  241. package/test/e2e/theme/import/Zardoz.default.theme.json +0 -95
  242. package/test/fs_tmp/.gitkeep +0 -2
  243. package/test/global/setup.js +0 -65
  244. package/test/lib_api/unit_tests/ApiUtils.test.js +0 -186
  245. package/test/lib_api/unit_tests/Base64URL.test.js +0 -22
  246. package/test/lib_api/unit_tests/DataProtection.test.js +0 -25
  247. package/test/lib_api/unit_tests/ExportImportUtils.test.js +0 -121
@@ -1,176 +0,0 @@
1
- import util from 'util';
2
- import _ from 'lodash';
3
- import { generateAmApi } from './BaseApi.js';
4
- import { getCurrentRealmPath } from './utils/ApiUtils.js';
5
- import storage from '../storage/SessionStorage.js';
6
-
7
- const providerByLocationAndIdURLTemplate = '%s/json%s/realm-config/saml2/%s/%s';
8
- const createHostedProviderURLTemplate =
9
- '%s/json%s/realm-config/saml2/hosted/?_action=create';
10
- const createRemoteProviderURLTemplate =
11
- '%s/json%s/realm-config/saml2/remote/?_action=importEntity';
12
- const queryAllProvidersURLTemplate =
13
- '%s/json%s/realm-config/saml2?_queryFilter=true';
14
- const queryProvidersByEntityIdURLTemplate =
15
- '%s/json%s/realm-config/saml2?_queryFilter=%s&_fields=%s';
16
- const metadataByEntityIdURLTemplate =
17
- '%s/saml2/jsp/exportmetadata.jsp?entityid=%s&realm=%s';
18
- const apiVersion = 'protocol=2.1,resource=1.0';
19
- const getApiConfig = () => {
20
- const configPath = getCurrentRealmPath();
21
- return {
22
- path: `${configPath}/realm-config/saml2`,
23
- apiVersion,
24
- };
25
- };
26
-
27
- /**
28
- * Get all SAML2 entity providers
29
- * @returns {Promise} a promise that resolves to an array of saml2 entity stubs
30
- */
31
- export async function getProviders() {
32
- const urlString = util.format(
33
- queryAllProvidersURLTemplate,
34
- storage.session.getTenant(),
35
- getCurrentRealmPath()
36
- );
37
- return generateAmApi(getApiConfig()).get(urlString, {
38
- withCredentials: true,
39
- });
40
- }
41
-
42
- /**
43
- * Find all providers matching the filter and return the requested fields
44
- * @param {String} filter CREST filter string, eg "entityId+eq+'${entityId}'"
45
- * @param {String} fields Comma-delimited list of fields to include in the response
46
- * @returns {Promise} a promise that resolves to an array of saml2 entities
47
- */
48
- export async function findProviders(filter = 'true', fields = '*') {
49
- const urlString = util.format(
50
- queryProvidersByEntityIdURLTemplate,
51
- storage.session.getTenant(),
52
- getCurrentRealmPath(),
53
- encodeURIComponent(filter),
54
- fields
55
- );
56
- return generateAmApi(getApiConfig()).get(urlString, {
57
- withCredentials: true,
58
- });
59
- }
60
-
61
- /**
62
- * Geta SAML2 entity provider by location and id
63
- * @param {String} location Entity provider location (hosted or remote)
64
- * @param {String} entityId64 Base64-encoded provider entity id
65
- * @returns {Promise} a promise that resolves to a saml2 entity provider object
66
- */
67
- export async function getProviderByLocationAndId(location, entityId64) {
68
- const urlString = util.format(
69
- providerByLocationAndIdURLTemplate,
70
- storage.session.getTenant(),
71
- getCurrentRealmPath(),
72
- location,
73
- entityId64
74
- );
75
- return generateAmApi(getApiConfig()).get(urlString, {
76
- withCredentials: true,
77
- });
78
- }
79
-
80
- /**
81
- * Get SAML2 entity provider by entity id
82
- * @param {String} entityId Provider entity id
83
- * @returns {Promise} a promise that resolves to a saml2 entity provider object or null
84
- */
85
- export async function getProvider(entityId) {
86
- const response = await findProviders(`entityId eq '${entityId}'`, 'location');
87
- switch (response.data.resultCount) {
88
- case 0:
89
- throw new Error(`No provider with entity id '${entityId}' found`);
90
- case 1: {
91
- const { location } = response.data.result[0];
92
- const id = response.data.result[0]._id;
93
- return getProviderByLocationAndId(location, id);
94
- }
95
- default:
96
- throw new Error(`Multiple providers with entity id '${entityId}' found`);
97
- }
98
- }
99
-
100
- /**
101
- * Get a SAML2 entity provider's metadata URL by entity id
102
- * @param {String} entityId SAML2 entity id
103
- * @returns {String} the URL to get the metadata from
104
- */
105
- export function getProviderMetadataUrl(entityId) {
106
- return util.format(
107
- metadataByEntityIdURLTemplate,
108
- storage.session.getTenant(),
109
- encodeURIComponent(entityId),
110
- storage.session.getRealm()
111
- );
112
- }
113
-
114
- /**
115
- * Get a SAML2 entity provider's metadata by entity id
116
- * @param {String} entityId SAML2 entity id
117
- * @returns {Promise} a promise that resolves to an object containing a SAML2 metadata
118
- */
119
- export async function getProviderMetadata(entityId) {
120
- return generateAmApi(getApiConfig()).get(getProviderMetadataUrl(entityId), {
121
- withCredentials: true,
122
- });
123
- }
124
-
125
- /**
126
- * Create a SAML2 entity provider
127
- * @param {String} location 'hosted' or 'remote'
128
- * @param {Object} providerData Object representing a SAML entity provider
129
- * @param {String} metaData Base64-encoded metadata XML. Only required for remote providers
130
- * @returns {Promise} a promise that resolves to a saml2 entity provider object
131
- */
132
- export async function createProvider(location, providerData, metaData) {
133
- let postData = _.cloneDeep(providerData);
134
- let urlString = util.format(
135
- createHostedProviderURLTemplate,
136
- storage.session.getTenant(),
137
- getCurrentRealmPath(storage.session.getRealm())
138
- );
139
-
140
- if (location === 'remote') {
141
- /**
142
- * Remote entity providers must be created using XML metadata
143
- */
144
- urlString = util.format(
145
- createRemoteProviderURLTemplate,
146
- storage.session.getTenant(),
147
- getCurrentRealmPath(storage.session.getRealm())
148
- );
149
- postData = {
150
- standardMetadata: metaData,
151
- };
152
- }
153
-
154
- return generateAmApi(getApiConfig()).post(urlString, postData, {
155
- withCredentials: true,
156
- });
157
- }
158
-
159
- /**
160
- * Update SAML2 entity provider
161
- * @param {String} location Entity provider location (hosted or remote)
162
- * @param {Object} providerData Object representing a SAML entity provider
163
- * @returns {Promise} a promise that resolves to a saml2 entity provider object
164
- */
165
- export async function updateProvider(location, providerData) {
166
- const urlString = util.format(
167
- providerByLocationAndIdURLTemplate,
168
- storage.session.getTenant(),
169
- getCurrentRealmPath(),
170
- location,
171
- providerData._id
172
- );
173
- return generateAmApi(getApiConfig()).put(urlString, providerData, {
174
- withCredentials: true,
175
- });
176
- }
@@ -1,84 +0,0 @@
1
- import util from 'util';
2
- import { generateAmApi } from './BaseApi.js';
3
- import { getCurrentRealmPath } from './utils/ApiUtils.js';
4
- import storage from '../storage/SessionStorage.js';
5
-
6
- const scriptURLTemplate = '%s/json%s/scripts/%s';
7
- const scriptListURLTemplate = '%s/json%s/scripts?_queryFilter=true';
8
- const scriptQueryURLTemplate =
9
- '%s/json%s/scripts?_queryFilter=name+eq+%%22%s%%22';
10
- const apiVersion = 'protocol=2.0,resource=1.0';
11
- const getApiConfig = () => {
12
- const configPath = getCurrentRealmPath();
13
- return {
14
- path: `${configPath}/authentication/authenticationtrees`,
15
- apiVersion,
16
- };
17
- };
18
-
19
- /**
20
- * Get all scripts
21
- * @returns {Promise} a promise that resolves to an object containing an array of script objects
22
- */
23
- export async function getScripts() {
24
- const urlString = util.format(
25
- scriptListURLTemplate,
26
- storage.session.getTenant(),
27
- getCurrentRealmPath()
28
- );
29
- return generateAmApi(getApiConfig()).get(urlString, {
30
- withCredentials: true,
31
- });
32
- }
33
-
34
- /**
35
- * Get script by name
36
- * @param {String} name script name
37
- * @returns {Promise} a promise that resolves to an object containing a script object
38
- */
39
- export async function getScriptByName(name) {
40
- const urlString = util.format(
41
- scriptQueryURLTemplate,
42
- storage.session.getTenant(),
43
- getCurrentRealmPath(),
44
- name
45
- );
46
- return generateAmApi(getApiConfig()).get(urlString, {
47
- withCredentials: true,
48
- });
49
- }
50
-
51
- /**
52
- * Get script by id
53
- * @param {String} id script uuid/name
54
- * @returns {Promise} a promise that resolves to an object containing a script object
55
- */
56
- export async function getScript(id) {
57
- const urlString = util.format(
58
- scriptURLTemplate,
59
- storage.session.getTenant(),
60
- getCurrentRealmPath(),
61
- id
62
- );
63
- return generateAmApi(getApiConfig()).get(urlString, {
64
- withCredentials: true,
65
- });
66
- }
67
-
68
- /**
69
- * Put script
70
- * @param {String} id script uuid
71
- * @param {Object} data script object
72
- * @returns {Promise} a promise that resolves to an object containing a script object
73
- */
74
- export async function putScript(id, data) {
75
- const urlString = util.format(
76
- scriptURLTemplate,
77
- storage.session.getTenant(),
78
- getCurrentRealmPath(storage.session.getRealm()),
79
- id
80
- );
81
- return generateAmApi(getApiConfig()).put(urlString, data, {
82
- withCredentials: true,
83
- });
84
- }
@@ -1,151 +0,0 @@
1
- import util from 'util';
2
- import { encode } from './utils/Base64.js';
3
- import { getTenantURL } from './utils/ApiUtils.js';
4
- import { generateESVApi } from './BaseApi.js';
5
- import storage from '../storage/SessionStorage.js';
6
-
7
- const secretsListURLTemplate = '%s/environment/secrets';
8
- const secretListVersionsURLTemplate = '%s/environment/secrets/%s/versions';
9
- const secretCreateNewVersionURLTemplate = `${secretListVersionsURLTemplate}?_action=create`;
10
- const secretGetVersionURLTemplate = `${secretListVersionsURLTemplate}/%s`;
11
- const secretVersionStatusURLTemplate = `${secretGetVersionURLTemplate}?_action=changestatus`;
12
- const secretURLTemplate = '%s/environment/secrets/%s';
13
- const secretSetDescriptionURLTemplate = `${secretURLTemplate}?_action=setDescription`;
14
-
15
- const apiVersion = 'protocol=1.0,resource=1.0';
16
- const getApiConfig = () => ({
17
- path: `/environment/secrets`,
18
- apiVersion,
19
- });
20
-
21
- export async function getSecrets() {
22
- const urlString = util.format(
23
- secretsListURLTemplate,
24
- getTenantURL(storage.session.getTenant())
25
- );
26
- return generateESVApi(getApiConfig()).get(urlString, {
27
- withCredentials: true,
28
- });
29
- }
30
-
31
- export async function getSecret(id) {
32
- const urlString = util.format(
33
- secretURLTemplate,
34
- getTenantURL(storage.session.getTenant()),
35
- id
36
- );
37
- return generateESVApi(getApiConfig()).get(urlString, {
38
- withCredentials: true,
39
- });
40
- }
41
-
42
- export async function putSecret(
43
- id,
44
- value,
45
- description,
46
- encoding = 'generic',
47
- useInPlaceholders = true
48
- ) {
49
- if (encoding !== 'generic')
50
- throw new Error(`Unsupported encoding: ${encoding}`);
51
- const data = {
52
- valueBase64: encode(value),
53
- description,
54
- encoding,
55
- useInPlaceholders,
56
- };
57
- const urlString = util.format(
58
- secretURLTemplate,
59
- getTenantURL(storage.session.getTenant()),
60
- id
61
- );
62
- return generateESVApi(getApiConfig()).put(urlString, data, {
63
- withCredentials: true,
64
- });
65
- }
66
-
67
- export async function setSecretDescription(id, description) {
68
- const urlString = util.format(
69
- secretSetDescriptionURLTemplate,
70
- getTenantURL(storage.session.getTenant()),
71
- id
72
- );
73
- return generateESVApi(getApiConfig()).post(
74
- urlString,
75
- { description },
76
- { withCredentials: true }
77
- );
78
- }
79
-
80
- export async function deleteSecret(id) {
81
- const urlString = util.format(
82
- secretURLTemplate,
83
- getTenantURL(storage.session.getTenant()),
84
- id
85
- );
86
- return generateESVApi(getApiConfig()).delete(urlString, {
87
- withCredentials: true,
88
- });
89
- }
90
-
91
- export async function getSecretVersions(id) {
92
- const urlString = util.format(
93
- secretListVersionsURLTemplate,
94
- getTenantURL(storage.session.getTenant()),
95
- id
96
- );
97
- return generateESVApi(getApiConfig()).get(urlString, {
98
- withCredentials: true,
99
- });
100
- }
101
-
102
- export async function createNewVersionOfSecret(id, value) {
103
- const urlString = util.format(
104
- secretCreateNewVersionURLTemplate,
105
- getTenantURL(storage.session.getTenant()),
106
- id
107
- );
108
- return generateESVApi(getApiConfig()).post(
109
- urlString,
110
- { valueBase64: encode(value) },
111
- { withCredentials: true }
112
- );
113
- }
114
-
115
- export async function getVersionOfSecret(id, version) {
116
- const urlString = util.format(
117
- secretGetVersionURLTemplate,
118
- getTenantURL(storage.session.getTenant()),
119
- id,
120
- version
121
- );
122
- return generateESVApi(getApiConfig()).get(urlString, {
123
- withCredentials: true,
124
- });
125
- }
126
-
127
- export async function setStatusOfVersionOfSecret(id, version, status) {
128
- const urlString = util.format(
129
- secretVersionStatusURLTemplate,
130
- getTenantURL(storage.session.getTenant()),
131
- id,
132
- version
133
- );
134
- return generateESVApi(getApiConfig()).post(
135
- urlString,
136
- { status },
137
- { withCredentials: true }
138
- );
139
- }
140
-
141
- export async function deleteVersionOfSecret(id, version) {
142
- const urlString = util.format(
143
- secretGetVersionURLTemplate,
144
- getTenantURL(storage.session.getTenant()),
145
- id,
146
- version
147
- );
148
- return generateESVApi(getApiConfig()).delete(urlString, {
149
- withCredentials: true,
150
- });
151
- }
@@ -1,41 +0,0 @@
1
- import util from 'util';
2
- import { generateAmApi } from './BaseApi.js';
3
- import storage from '../storage/SessionStorage.js';
4
-
5
- const serverInfoUrlTemplate = '%s/json/serverinfo/%s';
6
-
7
- const serverInfoApiVersion = 'resource=1.1';
8
- const getServerInfoApiConfig = () => ({
9
- apiVersion: serverInfoApiVersion,
10
- });
11
-
12
- const serverVersionoApiVersion = 'resource=1.0';
13
- const getServerVersionApiConfig = () => ({
14
- apiVersion: serverVersionoApiVersion,
15
- });
16
-
17
- /**
18
- * Get server info
19
- * @returns {Promise} a promise that resolves to an object containing a server info object
20
- */
21
- export async function getServerInfo() {
22
- const urlString = util.format(
23
- serverInfoUrlTemplate,
24
- storage.session.getTenant(),
25
- '*'
26
- );
27
- return generateAmApi(getServerInfoApiConfig()).get(urlString, {});
28
- }
29
-
30
- /**
31
- * Get server version info
32
- * @returns {Promise} a promise that resolves to an object containing a server version info object
33
- */
34
- export async function getServerVersionInfo() {
35
- const urlString = util.format(
36
- serverInfoUrlTemplate,
37
- storage.session.getTenant(),
38
- 'version'
39
- );
40
- return generateAmApi(getServerVersionApiConfig()).get(urlString, {});
41
- }
@@ -1,114 +0,0 @@
1
- import util from 'util';
2
- import { generateAmApi } from './BaseApi.js';
3
- import { deleteDeepByKey, getCurrentRealmPath } from './utils/ApiUtils.js';
4
- import storage from '../storage/SessionStorage.js';
5
-
6
- const getAllProviderTypesURLTemplate =
7
- '%s/json%s/realm-config/services/SocialIdentityProviders?_action=getAllTypes';
8
- const providerByTypeAndIdURLTemplate =
9
- '%s/json%s/realm-config/services/SocialIdentityProviders/%s/%s';
10
- const getAllProvidersURLTemplate =
11
- '%s/json%s/realm-config/services/SocialIdentityProviders?_action=nextdescendents';
12
- const getProvidersByTypeURLTemplate =
13
- '%s/json%s/realm-config/services/SocialIdentityProviders/%s?_queryFilter=true';
14
- const apiVersion = 'protocol=2.1,resource=1.0';
15
- const getApiConfig = () => {
16
- const configPath = getCurrentRealmPath();
17
- return {
18
- path: `${configPath}/realm-config/services/SocialIdentityProviders`,
19
- apiVersion,
20
- };
21
- };
22
-
23
- /**
24
- * Get social identity provider types
25
- * @returns {Promise} a promise that resolves to an object containing an array of social identity provider types
26
- */
27
- export async function getSocialIdentityProviderTypes() {
28
- const urlString = util.format(
29
- getAllProviderTypesURLTemplate,
30
- storage.session.getTenant(),
31
- getCurrentRealmPath()
32
- );
33
- return generateAmApi(getApiConfig()).get(urlString, {
34
- withCredentials: true,
35
- });
36
- }
37
-
38
- /**
39
- * Get social identity providers by type
40
- * @param {String} type social identity provider type
41
- * @returns {Promise} a promise that resolves to an object containing an array of social identity providers of the requested type
42
- */
43
- export async function getSocialIdentityProvidersByType(type) {
44
- const urlString = util.format(
45
- getProvidersByTypeURLTemplate,
46
- storage.session.getTenant(),
47
- getCurrentRealmPath(),
48
- type
49
- );
50
- return generateAmApi(getApiConfig()).get(urlString, {
51
- withCredentials: true,
52
- });
53
- }
54
-
55
- /**
56
- * Get all social identity providers
57
- * @returns {Promise} a promise that resolves to an object containing an array of social identity providers
58
- */
59
- export async function getSocialIdentityProviders() {
60
- const urlString = util.format(
61
- getAllProvidersURLTemplate,
62
- storage.session.getTenant(),
63
- getCurrentRealmPath()
64
- );
65
- return generateAmApi(getApiConfig()).post(
66
- urlString,
67
- {},
68
- {
69
- withCredentials: true,
70
- }
71
- );
72
- }
73
-
74
- /**
75
- * Get social identity provider by type and id
76
- * @param {*} type social identity provider type
77
- * @param {*} id social identity provider id/name
78
- * @returns {Promise} a promise that resolves to an object containing a social identity provider
79
- */
80
- export async function getProviderByTypeAndId(type, id) {
81
- const urlString = util.format(
82
- providerByTypeAndIdURLTemplate,
83
- storage.session.getTenant(),
84
- getCurrentRealmPath(),
85
- type,
86
- id
87
- );
88
- return generateAmApi(getApiConfig()).get(urlString, {
89
- withCredentials: true,
90
- });
91
- }
92
-
93
- /**
94
- * Get social identity provider by type and id
95
- * @param {String} type social identity provider type
96
- * @param {String} id social identity provider id/name
97
- * @param {Object} data a social identity provider object
98
- * @returns {Promise} a promise that resolves to an object containing a social identity provider
99
- */
100
- export async function putProviderByTypeAndId(type, id, data) {
101
- // until we figure out a way to use transport keys in Frodo,
102
- // we'll have to drop those encrypted attributes.
103
- const providerData = deleteDeepByKey(data, '-encrypted');
104
- const urlString = util.format(
105
- providerByTypeAndIdURLTemplate,
106
- storage.session.getTenant(),
107
- getCurrentRealmPath(storage.session.getRealm()),
108
- type,
109
- id
110
- );
111
- return generateAmApi(getApiConfig()).put(urlString, providerData, {
112
- withCredentials: true,
113
- });
114
- }
@@ -1,45 +0,0 @@
1
- import util from 'util';
2
- import { getTenantURL } from './utils/ApiUtils.js';
3
- import { generateESVApi } from './BaseApi.js';
4
- import storage from '../storage/SessionStorage.js';
5
-
6
- const startupURLTemplate = '%s/environment/startup';
7
- const startupInitiateRestartURLTemplate = `${startupURLTemplate}?_action=restart`;
8
-
9
- const apiVersion = 'protocol=1.0,resource=1.0';
10
- const getApiConfig = () => ({
11
- path: `/environment/startup`,
12
- apiVersion,
13
- });
14
-
15
- /**
16
- * Get status
17
- * @returns {Promise} a promise that resolves to a status object
18
- */
19
- export async function getStatus() {
20
- const urlString = util.format(
21
- startupURLTemplate,
22
- getTenantURL(storage.session.getTenant())
23
- );
24
- return generateESVApi(getApiConfig()).get(urlString, {
25
- withCredentials: true,
26
- });
27
- }
28
-
29
- /**
30
- * Initiate restart
31
- * @returns {Promise} a promise that resolves to a status object
32
- */
33
- export async function initiateRestart() {
34
- const { restartStatus } = (await getStatus()).data;
35
- if (restartStatus === 'ready') {
36
- const urlString = util.format(
37
- startupInitiateRestartURLTemplate,
38
- getTenantURL(storage.session.getTenant())
39
- );
40
- return generateESVApi(getApiConfig()).post(urlString, null, {
41
- withCredentials: true,
42
- });
43
- }
44
- throw new Error(`Not ready! Current status: ${restartStatus}`);
45
- }