@hubspot/local-dev-lib 0.0.1-experimental.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 (230) hide show
  1. package/LICENSE +12 -0
  2. package/README.md +17 -0
  3. package/api/appsDev.d.ts +6 -0
  4. package/api/appsDev.js +29 -0
  5. package/api/customObjects.d.ts +8 -0
  6. package/api/customObjects.js +45 -0
  7. package/api/designManager.d.ts +5 -0
  8. package/api/designManager.js +18 -0
  9. package/api/developerTestAccounts.d.ts +7 -0
  10. package/api/developerTestAccounts.js +48 -0
  11. package/api/fileManager.d.ts +6 -0
  12. package/api/fileManager.js +63 -0
  13. package/api/fileMapper.d.ts +12 -0
  14. package/api/fileMapper.js +106 -0
  15. package/api/fileTransport.d.ts +4 -0
  16. package/api/fileTransport.js +39 -0
  17. package/api/functions.d.ts +8 -0
  18. package/api/functions.js +43 -0
  19. package/api/github.d.ts +11 -0
  20. package/api/github.js +71 -0
  21. package/api/hubdb.d.ts +12 -0
  22. package/api/hubdb.js +67 -0
  23. package/api/lighthouseScore.d.ts +6 -0
  24. package/api/lighthouseScore.js +26 -0
  25. package/api/localDevAuth.d.ts +8 -0
  26. package/api/localDevAuth.js +53 -0
  27. package/api/marketplaceValidation.d.ts +6 -0
  28. package/api/marketplaceValidation.js +26 -0
  29. package/api/projects.d.ts +40 -0
  30. package/api/projects.js +216 -0
  31. package/api/sandboxHubs.d.ts +7 -0
  32. package/api/sandboxHubs.js +49 -0
  33. package/api/sandboxSync.d.ts +4 -0
  34. package/api/sandboxSync.js +26 -0
  35. package/api/secrets.d.ts +6 -0
  36. package/api/secrets.js +37 -0
  37. package/api/validateHubl.d.ts +3 -0
  38. package/api/validateHubl.js +15 -0
  39. package/config/CLIConfiguration.d.ts +62 -0
  40. package/config/CLIConfiguration.js +467 -0
  41. package/config/configFile.d.ts +21 -0
  42. package/config/configFile.js +102 -0
  43. package/config/configUtils.d.ts +5 -0
  44. package/config/configUtils.js +87 -0
  45. package/config/config_DEPRECATED.d.ts +75 -0
  46. package/config/config_DEPRECATED.js +678 -0
  47. package/config/environment.d.ts +2 -0
  48. package/config/environment.js +60 -0
  49. package/config/getAccountIdentifier.d.ts +2 -0
  50. package/config/getAccountIdentifier.js +15 -0
  51. package/config/index.d.ts +41 -0
  52. package/config/index.js +260 -0
  53. package/constants/api.d.ts +15 -0
  54. package/constants/api.js +18 -0
  55. package/constants/auth.d.ts +37 -0
  56. package/constants/auth.js +38 -0
  57. package/constants/config.d.ts +18 -0
  58. package/constants/config.js +22 -0
  59. package/constants/environments.d.ts +15 -0
  60. package/constants/environments.js +18 -0
  61. package/constants/extensions.d.ts +6 -0
  62. package/constants/extensions.js +28 -0
  63. package/constants/files.d.ts +21 -0
  64. package/constants/files.js +24 -0
  65. package/constants/ports.d.ts +3 -0
  66. package/constants/ports.js +6 -0
  67. package/enums/build.d.ts +36 -0
  68. package/enums/build.js +39 -0
  69. package/enums/deploy.d.ts +11 -0
  70. package/enums/deploy.js +14 -0
  71. package/enums/project.d.ts +6 -0
  72. package/enums/project.js +9 -0
  73. package/errors/errors_DEPRECATED.d.ts +3 -0
  74. package/errors/errors_DEPRECATED.js +60 -0
  75. package/errors/index.d.ts +18 -0
  76. package/errors/index.js +63 -0
  77. package/http/addQueryParams.d.ts +2 -0
  78. package/http/addQueryParams.js +14 -0
  79. package/http/getAxiosConfig.d.ts +9 -0
  80. package/http/getAxiosConfig.js +66 -0
  81. package/http/index.d.ts +17 -0
  82. package/http/index.js +173 -0
  83. package/http/unauthed.d.ts +15 -0
  84. package/http/unauthed.js +38 -0
  85. package/lang/en.json +389 -0
  86. package/lib/archive.d.ts +3 -0
  87. package/lib/archive.js +117 -0
  88. package/lib/cms/functions.d.ts +8 -0
  89. package/lib/cms/functions.js +181 -0
  90. package/lib/cms/handleFieldsJS.d.ts +33 -0
  91. package/lib/cms/handleFieldsJS.js +148 -0
  92. package/lib/cms/modules.d.ts +14 -0
  93. package/lib/cms/modules.js +186 -0
  94. package/lib/cms/processFieldsJs.d.ts +1 -0
  95. package/lib/cms/processFieldsJs.js +97 -0
  96. package/lib/cms/templates.d.ts +65 -0
  97. package/lib/cms/templates.js +107 -0
  98. package/lib/cms/themes.d.ts +2 -0
  99. package/lib/cms/themes.js +34 -0
  100. package/lib/cms/uploadFolder.d.ts +7 -0
  101. package/lib/cms/uploadFolder.js +202 -0
  102. package/lib/cms/validate.d.ts +2 -0
  103. package/lib/cms/validate.js +40 -0
  104. package/lib/cms/watch.d.ts +4 -0
  105. package/lib/cms/watch.js +201 -0
  106. package/lib/customObjects.d.ts +5 -0
  107. package/lib/customObjects.js +42 -0
  108. package/lib/environment.d.ts +2 -0
  109. package/lib/environment.js +16 -0
  110. package/lib/escapeRegExp.d.ts +1 -0
  111. package/lib/escapeRegExp.js +7 -0
  112. package/lib/fileManager.d.ts +2 -0
  113. package/lib/fileManager.js +184 -0
  114. package/lib/fileMapper.d.ts +18 -0
  115. package/lib/fileMapper.js +317 -0
  116. package/lib/fs.d.ts +4 -0
  117. package/lib/fs.js +71 -0
  118. package/lib/github.d.ts +8 -0
  119. package/lib/github.js +167 -0
  120. package/lib/gitignore.d.ts +3 -0
  121. package/lib/gitignore.js +49 -0
  122. package/lib/hubdb.d.ts +17 -0
  123. package/lib/hubdb.js +133 -0
  124. package/lib/ignoreRules.d.ts +3 -0
  125. package/lib/ignoreRules.js +69 -0
  126. package/lib/logger.d.ts +56 -0
  127. package/lib/logger.js +146 -0
  128. package/lib/notify.d.ts +1 -0
  129. package/lib/notify.js +43 -0
  130. package/lib/oauth.d.ts +4 -0
  131. package/lib/oauth.js +34 -0
  132. package/lib/path.d.ts +14 -0
  133. package/lib/path.js +134 -0
  134. package/lib/personalAccessKey.d.ts +10 -0
  135. package/lib/personalAccessKey.js +163 -0
  136. package/lib/portManager.d.ts +10 -0
  137. package/lib/portManager.js +46 -0
  138. package/lib/text.d.ts +2 -0
  139. package/lib/text.js +24 -0
  140. package/lib/trackUsage.d.ts +1 -0
  141. package/lib/trackUsage.js +63 -0
  142. package/lib/urls.d.ts +2 -0
  143. package/lib/urls.js +24 -0
  144. package/models/FileSystemError.d.ts +6 -0
  145. package/models/FileSystemError.js +47 -0
  146. package/models/HubSpotHttpError.d.ts +24 -0
  147. package/models/HubSpotHttpError.js +197 -0
  148. package/models/OAuth2Manager.d.ts +12 -0
  149. package/models/OAuth2Manager.js +105 -0
  150. package/package.json +81 -0
  151. package/types/Accounts.d.ts +178 -0
  152. package/types/Accounts.js +2 -0
  153. package/types/Activity.d.ts +20 -0
  154. package/types/Activity.js +2 -0
  155. package/types/Api.d.ts +2 -0
  156. package/types/Api.js +2 -0
  157. package/types/Apps.d.ts +77 -0
  158. package/types/Apps.js +2 -0
  159. package/types/Archive.d.ts +9 -0
  160. package/types/Archive.js +2 -0
  161. package/types/Build.d.ts +41 -0
  162. package/types/Build.js +2 -0
  163. package/types/CLIOptions.d.ts +8 -0
  164. package/types/CLIOptions.js +2 -0
  165. package/types/ComponentStructure.d.ts +40 -0
  166. package/types/ComponentStructure.js +2 -0
  167. package/types/Config.d.ts +37 -0
  168. package/types/Config.js +2 -0
  169. package/types/Deploy.d.ts +42 -0
  170. package/types/Deploy.js +2 -0
  171. package/types/DesignManager.d.ts +10 -0
  172. package/types/DesignManager.js +2 -0
  173. package/types/Error.d.ts +37 -0
  174. package/types/Error.js +2 -0
  175. package/types/FieldsJS.d.ts +1 -0
  176. package/types/FieldsJS.js +2 -0
  177. package/types/FileManager.d.ts +71 -0
  178. package/types/FileManager.js +2 -0
  179. package/types/Files.d.ts +79 -0
  180. package/types/Files.js +2 -0
  181. package/types/Functions.d.ts +66 -0
  182. package/types/Functions.js +2 -0
  183. package/types/Github.d.ts +76 -0
  184. package/types/Github.js +2 -0
  185. package/types/Http.d.ts +29 -0
  186. package/types/Http.js +2 -0
  187. package/types/Hubdb.d.ts +109 -0
  188. package/types/Hubdb.js +2 -0
  189. package/types/HublValidation.d.ts +59 -0
  190. package/types/HublValidation.js +2 -0
  191. package/types/Lang.d.ts +10 -0
  192. package/types/Lang.js +2 -0
  193. package/types/Lighthouse.d.ts +25 -0
  194. package/types/Lighthouse.js +2 -0
  195. package/types/MarketplaceValidation.d.ts +28 -0
  196. package/types/MarketplaceValidation.js +2 -0
  197. package/types/Migration.d.ts +28 -0
  198. package/types/Migration.js +10 -0
  199. package/types/Modules.d.ts +16 -0
  200. package/types/Modules.js +2 -0
  201. package/types/PortManager.d.ts +11 -0
  202. package/types/PortManager.js +2 -0
  203. package/types/Project.d.ts +42 -0
  204. package/types/Project.js +2 -0
  205. package/types/ProjectLog.d.ts +9 -0
  206. package/types/ProjectLog.js +2 -0
  207. package/types/Sandbox.d.ts +155 -0
  208. package/types/Sandbox.js +2 -0
  209. package/types/Schemas.d.ts +39 -0
  210. package/types/Schemas.js +2 -0
  211. package/types/Secrets.d.ts +3 -0
  212. package/types/Secrets.js +2 -0
  213. package/types/Utils.d.ts +6 -0
  214. package/types/Utils.js +2 -0
  215. package/types/developerTestAccounts.d.ts +12 -0
  216. package/types/developerTestAccounts.js +2 -0
  217. package/utils/PortManagerServer.d.ts +26 -0
  218. package/utils/PortManagerServer.js +158 -0
  219. package/utils/accounts.d.ts +4 -0
  220. package/utils/accounts.js +28 -0
  221. package/utils/cms/fieldsJS.d.ts +2 -0
  222. package/utils/cms/fieldsJS.js +18 -0
  223. package/utils/cms/modules.d.ts +4 -0
  224. package/utils/cms/modules.js +54 -0
  225. package/utils/detectPort.d.ts +1 -0
  226. package/utils/detectPort.js +102 -0
  227. package/utils/git.d.ts +3 -0
  228. package/utils/git.js +71 -0
  229. package/utils/lang.d.ts +6 -0
  230. package/utils/lang.js +88 -0
package/api/hubdb.js ADDED
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteRows = exports.fetchRows = exports.createRows = exports.deleteTable = exports.publishTable = exports.updateTable = exports.createTable = exports.fetchTable = exports.fetchTables = void 0;
4
+ const http_1 = require("../http");
5
+ const HUBDB_API_PATH = 'cms/v3/hubdb';
6
+ function fetchTables(accountId) {
7
+ return http_1.http.get(accountId, {
8
+ url: `${HUBDB_API_PATH}/tables`,
9
+ });
10
+ }
11
+ exports.fetchTables = fetchTables;
12
+ function fetchTable(accountId, tableId) {
13
+ return http_1.http.get(accountId, {
14
+ url: `${HUBDB_API_PATH}/tables/${tableId}`,
15
+ });
16
+ }
17
+ exports.fetchTable = fetchTable;
18
+ function createTable(accountId, schema) {
19
+ return http_1.http.post(accountId, {
20
+ url: `${HUBDB_API_PATH}/tables`,
21
+ data: schema,
22
+ });
23
+ }
24
+ exports.createTable = createTable;
25
+ function updateTable(accountId, tableId, schema) {
26
+ return http_1.http.patch(accountId, {
27
+ url: `${HUBDB_API_PATH}/tables/${tableId}/draft`,
28
+ data: schema,
29
+ });
30
+ }
31
+ exports.updateTable = updateTable;
32
+ function publishTable(accountId, tableId) {
33
+ return http_1.http.post(accountId, {
34
+ url: `${HUBDB_API_PATH}/tables/${tableId}/draft/publish`,
35
+ headers: {
36
+ 'Content-Type': 'application/json',
37
+ },
38
+ });
39
+ }
40
+ exports.publishTable = publishTable;
41
+ function deleteTable(accountId, tableId) {
42
+ return http_1.http.delete(accountId, {
43
+ url: `${HUBDB_API_PATH}/tables/${tableId}`,
44
+ });
45
+ }
46
+ exports.deleteTable = deleteTable;
47
+ function createRows(accountId, tableId, rows) {
48
+ return http_1.http.post(accountId, {
49
+ url: `${HUBDB_API_PATH}/tables/${tableId}/rows/draft/batch/create`,
50
+ data: { inputs: rows },
51
+ });
52
+ }
53
+ exports.createRows = createRows;
54
+ function fetchRows(accountId, tableId, params = {}) {
55
+ return http_1.http.get(accountId, {
56
+ url: `${HUBDB_API_PATH}/tables/${tableId}/rows/draft`,
57
+ params,
58
+ });
59
+ }
60
+ exports.fetchRows = fetchRows;
61
+ function deleteRows(accountId, tableId, rowIds) {
62
+ return http_1.http.post(accountId, {
63
+ url: `${HUBDB_API_PATH}/tables/${tableId}/rows/draft/batch/purge`,
64
+ data: { inputs: rowIds },
65
+ });
66
+ }
67
+ exports.deleteRows = deleteRows;
@@ -0,0 +1,6 @@
1
+ import { AxiosPromise } from 'axios';
2
+ import { Data, QueryParams } from '../types/Http';
3
+ import { GetLighthouseScoreResponse, RequestLighthouseScoreResponse } from '../types/Lighthouse';
4
+ export declare function requestLighthouseScore(accountId: number, data?: Data): AxiosPromise<RequestLighthouseScoreResponse>;
5
+ export declare function getLighthouseScoreStatus(accountId: number, params?: QueryParams): AxiosPromise<string>;
6
+ export declare function getLighthouseScore(accountId: number, params?: QueryParams): AxiosPromise<GetLighthouseScoreResponse>;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLighthouseScore = exports.getLighthouseScoreStatus = exports.requestLighthouseScore = void 0;
4
+ const http_1 = require("../http");
5
+ const LIGHTHOUSE_SCORE_API_BASE = 'quality-engine/v1/lighthouse';
6
+ function requestLighthouseScore(accountId, data = {}) {
7
+ return http_1.http.post(accountId, {
8
+ url: `${LIGHTHOUSE_SCORE_API_BASE}/request`,
9
+ data,
10
+ });
11
+ }
12
+ exports.requestLighthouseScore = requestLighthouseScore;
13
+ function getLighthouseScoreStatus(accountId, params = {}) {
14
+ return http_1.http.get(accountId, {
15
+ url: `${LIGHTHOUSE_SCORE_API_BASE}/status`,
16
+ params,
17
+ });
18
+ }
19
+ exports.getLighthouseScoreStatus = getLighthouseScoreStatus;
20
+ function getLighthouseScore(accountId, params = {}) {
21
+ return http_1.http.get(accountId, {
22
+ url: `${LIGHTHOUSE_SCORE_API_BASE}/scores`,
23
+ params,
24
+ });
25
+ }
26
+ exports.getLighthouseScore = getLighthouseScore;
@@ -0,0 +1,8 @@
1
+ import { AxiosPromise } from 'axios';
2
+ import { Environment } from '../types/Config';
3
+ import { ScopeData, AccessTokenResponse, EnabledFeaturesResponse } from '../types/Accounts';
4
+ import { PublicAppInstallationData } from '../types/Apps';
5
+ export declare function fetchAccessToken(personalAccessKey: string, env?: Environment, portalId?: number): AxiosPromise<AccessTokenResponse>;
6
+ export declare function fetchScopeData(accountId: number, scopeGroup: string): AxiosPromise<ScopeData>;
7
+ export declare function fetchAppInstallationData(portalId: number, projectId: number, appUid: string, requiredScopeGroups: Array<string>, optionalScopeGroups?: Array<string>): AxiosPromise<PublicAppInstallationData>;
8
+ export declare function fetchEnabledFeatures(accountId: number): Promise<import("axios").AxiosResponse<EnabledFeaturesResponse, any>>;
@@ -0,0 +1,53 @@
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
+ exports.fetchEnabledFeatures = exports.fetchAppInstallationData = exports.fetchScopeData = exports.fetchAccessToken = void 0;
7
+ const getAxiosConfig_1 = require("../http/getAxiosConfig");
8
+ const http_1 = require("../http");
9
+ const environments_1 = require("../constants/environments");
10
+ const axios_1 = __importDefault(require("axios"));
11
+ const LOCALDEVAUTH_API_AUTH_PATH = 'localdevauth/v1/auth';
12
+ function fetchAccessToken(personalAccessKey, env = environments_1.ENVIRONMENTS.PROD, portalId) {
13
+ const axiosConfig = (0, getAxiosConfig_1.getAxiosConfig)({
14
+ env,
15
+ localHostOverride: true,
16
+ url: `${LOCALDEVAUTH_API_AUTH_PATH}/refresh`,
17
+ data: {
18
+ encodedOAuthRefreshToken: personalAccessKey,
19
+ },
20
+ params: portalId ? { portalId } : {},
21
+ });
22
+ return (0, axios_1.default)({
23
+ ...axiosConfig,
24
+ method: 'post',
25
+ });
26
+ }
27
+ exports.fetchAccessToken = fetchAccessToken;
28
+ function fetchScopeData(accountId, scopeGroup) {
29
+ return http_1.http.get(accountId, {
30
+ url: `${LOCALDEVAUTH_API_AUTH_PATH}/check-scopes`,
31
+ params: { scopeGroup },
32
+ });
33
+ }
34
+ exports.fetchScopeData = fetchScopeData;
35
+ function fetchAppInstallationData(portalId, projectId, appUid, requiredScopeGroups, optionalScopeGroups = []) {
36
+ return http_1.http.post(portalId, {
37
+ url: `${LOCALDEVAUTH_API_AUTH_PATH}/install-info`,
38
+ data: {
39
+ portalId,
40
+ projectId,
41
+ sourceId: appUid,
42
+ requiredScopeGroups,
43
+ optionalScopeGroups,
44
+ },
45
+ });
46
+ }
47
+ exports.fetchAppInstallationData = fetchAppInstallationData;
48
+ async function fetchEnabledFeatures(accountId) {
49
+ return http_1.http.get(accountId, {
50
+ url: `${LOCALDEVAUTH_API_AUTH_PATH}/enabled-features`,
51
+ });
52
+ }
53
+ exports.fetchEnabledFeatures = fetchEnabledFeatures;
@@ -0,0 +1,6 @@
1
+ import { AxiosPromise } from 'axios';
2
+ import { Data, QueryParams } from '../types/Http';
3
+ import { GetValidationResultsResponse } from '../types/MarketplaceValidation';
4
+ export declare function requestValidation(accountId: number, data?: Data): AxiosPromise<number>;
5
+ export declare function getValidationStatus(accountId: number, params?: QueryParams): AxiosPromise<string>;
6
+ export declare function getValidationResults(accountId: number, params?: QueryParams): AxiosPromise<GetValidationResultsResponse>;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getValidationResults = exports.getValidationStatus = exports.requestValidation = void 0;
4
+ const http_1 = require("../http");
5
+ const VALIDATION_API_BASE = 'quality-engine/v1/validation';
6
+ function requestValidation(accountId, data = {}) {
7
+ return http_1.http.post(accountId, {
8
+ url: `${VALIDATION_API_BASE}/request`,
9
+ data,
10
+ });
11
+ }
12
+ exports.requestValidation = requestValidation;
13
+ function getValidationStatus(accountId, params = {}) {
14
+ return http_1.http.get(accountId, {
15
+ url: `${VALIDATION_API_BASE}/status`,
16
+ params,
17
+ });
18
+ }
19
+ exports.getValidationStatus = getValidationStatus;
20
+ function getValidationResults(accountId, params = {}) {
21
+ return http_1.http.get(accountId, {
22
+ url: `${VALIDATION_API_BASE}/results`,
23
+ params,
24
+ });
25
+ }
26
+ exports.getValidationResults = getValidationResults;
@@ -0,0 +1,40 @@
1
+ /// <reference types="node" />
2
+ import { AxiosPromise } from 'axios';
3
+ import { QueryParams } from '../types/Http';
4
+ import { Project, FetchProjectResponse, UploadProjectResponse, ProjectSettings, FetchPlatformVersionResponse } from '../types/Project';
5
+ import { Build, FetchProjectBuildsResponse } from '../types/Build';
6
+ import { ComponentStructureResponse, ProjectComponentsMetadata } from '../types/ComponentStructure';
7
+ import { Deploy, ProjectDeployResponse } from '../types/Deploy';
8
+ import { ProjectLog } from '../types/ProjectLog';
9
+ import { MigrateAppResponse, CloneAppResponse, PollAppResponse } from '../types/Migration';
10
+ export declare function fetchProjects(accountId: number): AxiosPromise<FetchProjectResponse>;
11
+ export declare function createProject(accountId: number, name: string): AxiosPromise<Project>;
12
+ export declare function uploadProject(accountId: number, projectName: string, projectFile: string, uploadMessage: string, platformVersion?: string): AxiosPromise<UploadProjectResponse>;
13
+ export declare function fetchProject(accountId: number, projectName: string): AxiosPromise<Project>;
14
+ export declare function fetchProjectComponentsMetadata(accountId: number, projectId: number): AxiosPromise<ProjectComponentsMetadata>;
15
+ export declare function downloadProject(accountId: number, projectName: string, buildId: number): AxiosPromise<Buffer>;
16
+ export declare function deleteProject(accountId: number, projectName: string): AxiosPromise<void>;
17
+ export declare function fetchPlatformVersions(accountId: number): AxiosPromise<FetchPlatformVersionResponse>;
18
+ export declare function fetchProjectBuilds(accountId: number, projectName: string, params?: QueryParams): AxiosPromise<FetchProjectBuildsResponse>;
19
+ export declare function getBuildStatus(accountId: number, projectName: string, buildId: number): AxiosPromise<Build>;
20
+ export declare function getBuildStructure(accountId: number, projectName: string, buildId: number): AxiosPromise<ComponentStructureResponse>;
21
+ export declare function deployProject(accountId: number, projectName: string, buildId: number): AxiosPromise<ProjectDeployResponse>;
22
+ export declare function getDeployStatus(accountId: number, projectName: string, deployId: number): AxiosPromise<Deploy>;
23
+ export declare function getDeployStructure(accountId: number, projectName: string, deployId: number): AxiosPromise<ComponentStructureResponse>;
24
+ export declare function fetchProjectSettings(accountId: number, projectName: string): AxiosPromise<ProjectSettings>;
25
+ export declare function provisionBuild(accountId: number, projectName: string, platformVersion?: string): AxiosPromise<Build>;
26
+ export declare function queueBuild(accountId: number, projectName: string, platformVersion?: string): AxiosPromise<void>;
27
+ export declare function uploadFileToBuild(accountId: number, projectName: string, filePath: string, path: string): AxiosPromise<void>;
28
+ export declare function deleteFileFromBuild(accountId: number, projectName: string, path: string): AxiosPromise<void>;
29
+ export declare function cancelStagedBuild(accountId: number, projectName: string): AxiosPromise<void>;
30
+ type WarnLogsResponse = {
31
+ logs: Array<ProjectLog>;
32
+ };
33
+ export declare function fetchBuildWarnLogs(accountId: number, projectName: string, buildId: number): AxiosPromise<WarnLogsResponse>;
34
+ export declare function fetchDeployWarnLogs(accountId: number, projectName: string, deployId: number): AxiosPromise<WarnLogsResponse>;
35
+ export declare function migrateApp(accountId: number, appId: number, projectName: string): AxiosPromise<MigrateAppResponse>;
36
+ export declare function checkMigrationStatus(accountId: number, id: number): AxiosPromise<PollAppResponse>;
37
+ export declare function cloneApp(accountId: number, appId: number): AxiosPromise<CloneAppResponse>;
38
+ export declare function checkCloneStatus(accountId: number, exportId: number): AxiosPromise<CloneAppResponse>;
39
+ export declare function downloadClonedProject(accountId: number, exportId: number): AxiosPromise<Buffer>;
40
+ export {};
@@ -0,0 +1,216 @@
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
+ exports.downloadClonedProject = exports.checkCloneStatus = exports.cloneApp = exports.checkMigrationStatus = exports.migrateApp = exports.fetchDeployWarnLogs = exports.fetchBuildWarnLogs = exports.cancelStagedBuild = exports.deleteFileFromBuild = exports.uploadFileToBuild = exports.queueBuild = exports.provisionBuild = exports.fetchProjectSettings = exports.getDeployStructure = exports.getDeployStatus = exports.deployProject = exports.getBuildStructure = exports.getBuildStatus = exports.fetchProjectBuilds = exports.fetchPlatformVersions = exports.deleteProject = exports.downloadProject = exports.fetchProjectComponentsMetadata = exports.fetchProject = exports.uploadProject = exports.createProject = exports.fetchProjects = void 0;
7
+ const http_1 = require("../http");
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const PROJECTS_API_PATH = 'dfs/v1/projects';
10
+ const DEVELOPER_FILE_SYSTEM_PATH = 'dfs/v1';
11
+ const PROJECTS_DEPLOY_API_PATH = 'dfs/deploy/v1';
12
+ const PROJECTS_LOGS_API_PATH = 'dfs/logging/v1';
13
+ const DEVELOPER_PROJECTS_API_PATH = 'developer/projects/v1';
14
+ const MIGRATIONS_API_PATH = 'dfs/migrations/v1';
15
+ function fetchProjects(accountId) {
16
+ return http_1.http.get(accountId, {
17
+ url: DEVELOPER_PROJECTS_API_PATH,
18
+ });
19
+ }
20
+ exports.fetchProjects = fetchProjects;
21
+ function createProject(accountId, name) {
22
+ return http_1.http.post(accountId, {
23
+ url: DEVELOPER_PROJECTS_API_PATH,
24
+ data: {
25
+ name,
26
+ },
27
+ });
28
+ }
29
+ exports.createProject = createProject;
30
+ function uploadProject(accountId, projectName, projectFile, uploadMessage, platformVersion) {
31
+ const formData = {
32
+ file: fs_1.default.createReadStream(projectFile),
33
+ uploadMessage,
34
+ };
35
+ if (platformVersion) {
36
+ formData.platformVersion = platformVersion;
37
+ }
38
+ return http_1.http.post(accountId, {
39
+ url: `${PROJECTS_API_PATH}/upload/${encodeURIComponent(projectName)}`,
40
+ timeout: 60_000,
41
+ data: formData,
42
+ headers: { 'Content-Type': 'multipart/form-data' },
43
+ });
44
+ }
45
+ exports.uploadProject = uploadProject;
46
+ function fetchProject(accountId, projectName) {
47
+ return http_1.http.get(accountId, {
48
+ url: `${DEVELOPER_PROJECTS_API_PATH}/by-name/${encodeURIComponent(projectName)}`,
49
+ });
50
+ }
51
+ exports.fetchProject = fetchProject;
52
+ async function fetchProjectComponentsMetadata(accountId, projectId) {
53
+ return http_1.http.get(accountId, {
54
+ url: `${DEVELOPER_FILE_SYSTEM_PATH}/projects-deployed-build/${projectId}`,
55
+ });
56
+ }
57
+ exports.fetchProjectComponentsMetadata = fetchProjectComponentsMetadata;
58
+ async function downloadProject(accountId, projectName, buildId) {
59
+ return http_1.http.get(accountId, {
60
+ url: `${PROJECTS_API_PATH}/${encodeURIComponent(projectName)}/builds/${buildId}/archive-full`,
61
+ responseType: 'arraybuffer',
62
+ headers: { accept: 'application/zip', 'Content-Type': 'application/json' },
63
+ });
64
+ }
65
+ exports.downloadProject = downloadProject;
66
+ function deleteProject(accountId, projectName) {
67
+ return http_1.http.delete(accountId, {
68
+ url: `${DEVELOPER_PROJECTS_API_PATH}/${encodeURIComponent(projectName)}`,
69
+ });
70
+ }
71
+ exports.deleteProject = deleteProject;
72
+ function fetchPlatformVersions(accountId) {
73
+ return http_1.http.get(accountId, {
74
+ url: `${DEVELOPER_PROJECTS_API_PATH}/platformVersion`,
75
+ });
76
+ }
77
+ exports.fetchPlatformVersions = fetchPlatformVersions;
78
+ function fetchProjectBuilds(accountId, projectName, params = {}) {
79
+ return http_1.http.get(accountId, {
80
+ url: `${PROJECTS_API_PATH}/${encodeURIComponent(projectName)}/builds`,
81
+ params,
82
+ });
83
+ }
84
+ exports.fetchProjectBuilds = fetchProjectBuilds;
85
+ function getBuildStatus(accountId, projectName, buildId) {
86
+ return http_1.http.get(accountId, {
87
+ url: `${PROJECTS_API_PATH}/${encodeURIComponent(projectName)}/builds/${buildId}/status`,
88
+ });
89
+ }
90
+ exports.getBuildStatus = getBuildStatus;
91
+ function getBuildStructure(accountId, projectName, buildId) {
92
+ return http_1.http.get(accountId, {
93
+ url: `dfs/v1/builds/by-project-name/${encodeURIComponent(projectName)}/builds/${buildId}/structure`,
94
+ });
95
+ }
96
+ exports.getBuildStructure = getBuildStructure;
97
+ function deployProject(accountId, projectName, buildId) {
98
+ return http_1.http.post(accountId, {
99
+ url: `${PROJECTS_DEPLOY_API_PATH}/deploys/queue/async`,
100
+ data: {
101
+ projectName,
102
+ buildId,
103
+ },
104
+ });
105
+ }
106
+ exports.deployProject = deployProject;
107
+ function getDeployStatus(accountId, projectName, deployId) {
108
+ return http_1.http.get(accountId, {
109
+ url: `${PROJECTS_DEPLOY_API_PATH}/deploy-status/projects/${encodeURIComponent(projectName)}/deploys/${deployId}`,
110
+ });
111
+ }
112
+ exports.getDeployStatus = getDeployStatus;
113
+ function getDeployStructure(accountId, projectName, deployId) {
114
+ return http_1.http.get(accountId, {
115
+ url: `${PROJECTS_DEPLOY_API_PATH}/deploys/by-project-name/${encodeURIComponent(projectName)}/deploys/${deployId}/structure`,
116
+ });
117
+ }
118
+ exports.getDeployStructure = getDeployStructure;
119
+ function fetchProjectSettings(accountId, projectName) {
120
+ return http_1.http.get(accountId, {
121
+ url: `${DEVELOPER_PROJECTS_API_PATH}/${encodeURIComponent(projectName)}/settings`,
122
+ });
123
+ }
124
+ exports.fetchProjectSettings = fetchProjectSettings;
125
+ async function provisionBuild(accountId, projectName, platformVersion) {
126
+ return http_1.http.post(accountId, {
127
+ url: `${PROJECTS_API_PATH}/${encodeURIComponent(projectName)}/builds/staged/provision`,
128
+ params: { platformVersion },
129
+ headers: { 'Content-Type': 'application/json' },
130
+ timeout: 50_000,
131
+ });
132
+ }
133
+ exports.provisionBuild = provisionBuild;
134
+ function queueBuild(accountId, projectName, platformVersion) {
135
+ return http_1.http.post(accountId, {
136
+ url: `${PROJECTS_API_PATH}/${encodeURIComponent(projectName)}/builds/staged/queue`,
137
+ params: { platformVersion },
138
+ headers: { 'Content-Type': 'application/json' },
139
+ });
140
+ }
141
+ exports.queueBuild = queueBuild;
142
+ function uploadFileToBuild(accountId, projectName, filePath, path) {
143
+ return http_1.http.put(accountId, {
144
+ url: `${PROJECTS_API_PATH}/${encodeURIComponent(projectName)}/builds/staged/files/${encodeURIComponent(path)}`,
145
+ data: {
146
+ file: fs_1.default.createReadStream(filePath),
147
+ },
148
+ headers: { 'Content-Type': 'multipart/form-data' },
149
+ });
150
+ }
151
+ exports.uploadFileToBuild = uploadFileToBuild;
152
+ function deleteFileFromBuild(accountId, projectName, path) {
153
+ return http_1.http.delete(accountId, {
154
+ url: `${PROJECTS_API_PATH}/${encodeURIComponent(projectName)}/builds/staged/files/${encodeURIComponent(path)}`,
155
+ });
156
+ }
157
+ exports.deleteFileFromBuild = deleteFileFromBuild;
158
+ function cancelStagedBuild(accountId, projectName) {
159
+ return http_1.http.post(accountId, {
160
+ url: `${PROJECTS_API_PATH}/${encodeURIComponent(projectName)}/builds/staged/cancel`,
161
+ headers: { 'Content-Type': 'application/json' },
162
+ });
163
+ }
164
+ exports.cancelStagedBuild = cancelStagedBuild;
165
+ function fetchBuildWarnLogs(accountId, projectName, buildId) {
166
+ return http_1.http.get(accountId, {
167
+ url: `${PROJECTS_LOGS_API_PATH}/logs/projects/${encodeURIComponent(projectName)}/builds/${buildId}/combined/warn`,
168
+ });
169
+ }
170
+ exports.fetchBuildWarnLogs = fetchBuildWarnLogs;
171
+ function fetchDeployWarnLogs(accountId, projectName, deployId) {
172
+ return http_1.http.get(accountId, {
173
+ url: `${PROJECTS_LOGS_API_PATH}/logs/projects/${encodeURIComponent(projectName)}/deploys/${deployId}/combined/warn`,
174
+ });
175
+ }
176
+ exports.fetchDeployWarnLogs = fetchDeployWarnLogs;
177
+ function migrateApp(accountId, appId, projectName) {
178
+ return http_1.http.post(accountId, {
179
+ url: `${MIGRATIONS_API_PATH}/migrations`,
180
+ data: {
181
+ componentId: appId,
182
+ componentType: 'PUBLIC_APP_ID',
183
+ projectName,
184
+ },
185
+ });
186
+ }
187
+ exports.migrateApp = migrateApp;
188
+ function checkMigrationStatus(accountId, id) {
189
+ return http_1.http.get(accountId, {
190
+ url: `${MIGRATIONS_API_PATH}/migrations/${id}`,
191
+ });
192
+ }
193
+ exports.checkMigrationStatus = checkMigrationStatus;
194
+ function cloneApp(accountId, appId) {
195
+ return http_1.http.post(accountId, {
196
+ url: `${MIGRATIONS_API_PATH}/exports`,
197
+ data: {
198
+ componentId: appId,
199
+ componentType: 'PUBLIC_APP_ID',
200
+ },
201
+ });
202
+ }
203
+ exports.cloneApp = cloneApp;
204
+ function checkCloneStatus(accountId, exportId) {
205
+ return http_1.http.get(accountId, {
206
+ url: `${MIGRATIONS_API_PATH}/exports/${exportId}/status`,
207
+ });
208
+ }
209
+ exports.checkCloneStatus = checkCloneStatus;
210
+ function downloadClonedProject(accountId, exportId) {
211
+ return http_1.http.get(accountId, {
212
+ url: `${MIGRATIONS_API_PATH}/exports/${exportId}/download-as-clone`,
213
+ responseType: 'arraybuffer',
214
+ });
215
+ }
216
+ exports.downloadClonedProject = downloadClonedProject;
@@ -0,0 +1,7 @@
1
+ import { AxiosPromise } from 'axios';
2
+ import { Environment } from '../types/Config';
3
+ import { SandboxHubData, SandboxResponse, SandboxUsageLimitsResponse } from '../types/Sandbox';
4
+ export declare function createSandbox(accountId: number, name: string, type: 1 | 2): AxiosPromise<SandboxResponse>;
5
+ export declare function deleteSandbox(parentAccountId: number, sandboxAccountId: number): AxiosPromise<void>;
6
+ export declare function getSandboxUsageLimits(parentAccountId: number): AxiosPromise<SandboxUsageLimitsResponse>;
7
+ export declare function fetchSandboxHubData(accessToken: string, accountId: number, env?: Environment): AxiosPromise<SandboxHubData>;
@@ -0,0 +1,49 @@
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
+ exports.fetchSandboxHubData = exports.getSandboxUsageLimits = exports.deleteSandbox = exports.createSandbox = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const http_1 = require("../http");
9
+ const getAxiosConfig_1 = require("../http/getAxiosConfig");
10
+ const environments_1 = require("../constants/environments");
11
+ const api_1 = require("../constants/api");
12
+ const SANDBOX_API_PATH = 'sandbox-hubs/v1';
13
+ const SANDBOX_API_PATH_V2 = 'sandbox-hubs/v2';
14
+ function createSandbox(accountId, name, type) {
15
+ return http_1.http.post(accountId, {
16
+ data: { name, type, generatePersonalAccessKey: true },
17
+ timeout: api_1.SANDBOX_TIMEOUT,
18
+ url: SANDBOX_API_PATH_V2, // Create uses v2 for sandbox type and PAK generation support
19
+ });
20
+ }
21
+ exports.createSandbox = createSandbox;
22
+ function deleteSandbox(parentAccountId, sandboxAccountId) {
23
+ return http_1.http.delete(parentAccountId, {
24
+ url: `${SANDBOX_API_PATH}/${sandboxAccountId}`,
25
+ });
26
+ }
27
+ exports.deleteSandbox = deleteSandbox;
28
+ function getSandboxUsageLimits(parentAccountId) {
29
+ return http_1.http.get(parentAccountId, {
30
+ url: `${SANDBOX_API_PATH}/parent/${parentAccountId}/usage`,
31
+ });
32
+ }
33
+ exports.getSandboxUsageLimits = getSandboxUsageLimits;
34
+ function fetchSandboxHubData(accessToken, accountId, env = environments_1.ENVIRONMENTS.PROD) {
35
+ const axiosConfig = (0, getAxiosConfig_1.getAxiosConfig)({
36
+ env,
37
+ url: `${SANDBOX_API_PATH}/self`,
38
+ params: { portalId: accountId },
39
+ });
40
+ const reqWithToken = {
41
+ ...axiosConfig,
42
+ headers: {
43
+ ...axiosConfig.headers,
44
+ Authorization: `Bearer ${accessToken}`,
45
+ },
46
+ };
47
+ return (0, axios_1.default)(reqWithToken);
48
+ }
49
+ exports.fetchSandboxHubData = fetchSandboxHubData;
@@ -0,0 +1,4 @@
1
+ import { AxiosPromise } from 'axios';
2
+ import { InitiateSyncResponse, FetchTypesResponse, TaskRequestData } from '../types/Sandbox';
3
+ export declare function initiateSync(fromHubId: number, toHubId: number, tasks: Array<TaskRequestData>, sandboxHubId: number): AxiosPromise<InitiateSyncResponse>;
4
+ export declare function fetchTypes(accountId: number, toHubId: number): AxiosPromise<FetchTypesResponse>;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchTypes = exports.initiateSync = void 0;
4
+ const http_1 = require("../http");
5
+ const api_1 = require("../constants/api");
6
+ const SANDBOXES_SYNC_API_PATH = 'sandboxes-sync/v1';
7
+ function initiateSync(fromHubId, toHubId, tasks, sandboxHubId) {
8
+ return http_1.http.post(fromHubId, {
9
+ data: {
10
+ command: 'SYNC',
11
+ fromHubId,
12
+ toHubId,
13
+ sandboxHubId,
14
+ tasks,
15
+ },
16
+ timeout: api_1.SANDBOX_TIMEOUT,
17
+ url: `${SANDBOXES_SYNC_API_PATH}/tasks/initiate/async`,
18
+ });
19
+ }
20
+ exports.initiateSync = initiateSync;
21
+ async function fetchTypes(accountId, toHubId) {
22
+ return http_1.http.get(accountId, {
23
+ url: `${SANDBOXES_SYNC_API_PATH}/types${toHubId ? `?toHubId=${toHubId}` : ''}`,
24
+ });
25
+ }
26
+ exports.fetchTypes = fetchTypes;
@@ -0,0 +1,6 @@
1
+ import { AxiosPromise } from 'axios';
2
+ import { FetchSecretsResponse } from '../types/Secrets';
3
+ export declare function addSecret(accountId: number, key: string, value: string): AxiosPromise<void>;
4
+ export declare function updateSecret(accountId: number, key: string, value: string): AxiosPromise<void>;
5
+ export declare function deleteSecret(accountId: number, key: string): AxiosPromise<void>;
6
+ export declare function fetchSecrets(accountId: number): AxiosPromise<FetchSecretsResponse>;
package/api/secrets.js ADDED
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchSecrets = exports.deleteSecret = exports.updateSecret = exports.addSecret = void 0;
4
+ const http_1 = require("../http");
5
+ const SECRETS_API_PATH = 'cms/v3/functions/secrets';
6
+ function addSecret(accountId, key, value) {
7
+ return http_1.http.post(accountId, {
8
+ url: SECRETS_API_PATH,
9
+ data: {
10
+ key,
11
+ secret: value,
12
+ },
13
+ });
14
+ }
15
+ exports.addSecret = addSecret;
16
+ function updateSecret(accountId, key, value) {
17
+ return http_1.http.put(accountId, {
18
+ url: SECRETS_API_PATH,
19
+ data: {
20
+ key,
21
+ secret: value,
22
+ },
23
+ });
24
+ }
25
+ exports.updateSecret = updateSecret;
26
+ function deleteSecret(accountId, key) {
27
+ return http_1.http.delete(accountId, {
28
+ url: `${SECRETS_API_PATH}/${key}`,
29
+ });
30
+ }
31
+ exports.deleteSecret = deleteSecret;
32
+ function fetchSecrets(accountId) {
33
+ return http_1.http.get(accountId, {
34
+ url: `${SECRETS_API_PATH}`,
35
+ });
36
+ }
37
+ exports.fetchSecrets = fetchSecrets;
@@ -0,0 +1,3 @@
1
+ import { AxiosPromise } from 'axios';
2
+ import { Validation, HublValidationOptions } from '../types/HublValidation';
3
+ export declare function validateHubl(accountId: number, sourceCode: string, hublValidationOptions?: HublValidationOptions): AxiosPromise<Validation>;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateHubl = void 0;
4
+ const http_1 = require("../http");
5
+ const HUBL_VALIDATE_API_PATH = 'cos-rendering/v1/internal/validate';
6
+ function validateHubl(accountId, sourceCode, hublValidationOptions) {
7
+ return http_1.http.post(accountId, {
8
+ url: HUBL_VALIDATE_API_PATH,
9
+ data: {
10
+ template_source: sourceCode,
11
+ ...hublValidationOptions,
12
+ },
13
+ });
14
+ }
15
+ exports.validateHubl = validateHubl;