@hubspot/local-dev-lib 3.21.2-beta.0 → 4.0.0-beta.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.
- package/config/defaultAccountOverride.d.ts +2 -0
- package/config/defaultAccountOverride.js +57 -0
- package/config/index.d.ts +30 -44
- package/config/index.js +332 -267
- package/config/migrate.d.ts +12 -16
- package/config/migrate.js +86 -160
- package/config/utils.d.ts +30 -0
- package/config/utils.js +373 -0
- package/constants/config.d.ts +40 -0
- package/constants/config.js +41 -1
- package/constants/environments.d.ts +0 -11
- package/constants/environments.js +1 -12
- package/errors/index.d.ts +2 -0
- package/errors/index.js +6 -1
- package/http/getAxiosConfig.js +7 -1
- package/http/index.js +23 -19
- package/lang/en.json +89 -61
- package/lib/cms/themes.js +3 -1
- package/lib/environment.d.ts +1 -1
- package/lib/oauth.d.ts +2 -2
- package/lib/oauth.js +8 -16
- package/lib/personalAccessKey.d.ts +2 -2
- package/lib/personalAccessKey.js +43 -30
- package/lib/trackUsage.js +6 -3
- package/models/HubSpotConfigError.d.ts +6 -0
- package/models/HubSpotConfigError.js +34 -0
- package/models/OAuth2Manager.d.ts +3 -4
- package/models/OAuth2Manager.js +20 -29
- package/package.json +5 -5
- package/types/Accounts.d.ts +20 -109
- package/types/Config.d.ts +17 -26
- package/config/CLIConfiguration.d.ts +0 -72
- package/config/CLIConfiguration.js +0 -551
- package/config/configFile.d.ts +0 -21
- package/config/configFile.js +0 -100
- package/config/configUtils.d.ts +0 -5
- package/config/configUtils.js +0 -87
- package/config/config_DEPRECATED.d.ts +0 -87
- package/config/config_DEPRECATED.js +0 -738
- package/config/environment.d.ts +0 -2
- package/config/environment.js +0 -60
- package/config/getAccountIdentifier.d.ts +0 -2
- package/config/getAccountIdentifier.js +0 -15
- package/utils/accounts.d.ts +0 -4
- package/utils/accounts.js +0 -28
package/config/utils.js
ADDED
|
@@ -0,0 +1,373 @@
|
|
|
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.handleConfigFileSystemError = exports.validateConfigAccount = exports.getConfigAccountIndexById = exports.getConfigAccountByInferredIdentifier = exports.getConfigAccountByIdentifier = exports.getAccountIdentifierAndType = exports.buildConfigFromEnvironment = exports.parseConfig = exports.convertToDeprecatedConfig = exports.normalizeParsedConfig = exports.writeConfigFile = exports.formatConfigForWrite = exports.removeUndefinedFieldsFromConfigAccount = exports.readConfigFile = exports.doesConfigFileExistAtPath = exports.getConfigPathEnvironmentVariables = exports.getLocalConfigDefaultFilePath = void 0;
|
|
7
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
8
|
+
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
9
|
+
const config_1 = require("../constants/config");
|
|
10
|
+
const auth_1 = require("../constants/auth");
|
|
11
|
+
const FileSystemError_1 = require("../models/FileSystemError");
|
|
12
|
+
const environment_1 = require("../lib/environment");
|
|
13
|
+
const path_1 = require("../lib/path");
|
|
14
|
+
const files_1 = require("../constants/files");
|
|
15
|
+
const lang_1 = require("../utils/lang");
|
|
16
|
+
const HubSpotConfigError_1 = require("../models/HubSpotConfigError");
|
|
17
|
+
function getLocalConfigDefaultFilePath() {
|
|
18
|
+
return `${(0, path_1.getCwd)()}/${config_1.DEFAULT_HUBSPOT_CONFIG_YAML_FILE_NAME}`;
|
|
19
|
+
}
|
|
20
|
+
exports.getLocalConfigDefaultFilePath = getLocalConfigDefaultFilePath;
|
|
21
|
+
function getConfigPathEnvironmentVariables() {
|
|
22
|
+
const configFilePathFromEnvironment = process.env[config_1.ENVIRONMENT_VARIABLES.HUBSPOT_CONFIG_PATH];
|
|
23
|
+
const useEnvironmentConfig = process.env[config_1.ENVIRONMENT_VARIABLES.USE_ENVIRONMENT_HUBSPOT_CONFIG] ===
|
|
24
|
+
'true';
|
|
25
|
+
if (configFilePathFromEnvironment && useEnvironmentConfig) {
|
|
26
|
+
throw new HubSpotConfigError_1.HubSpotConfigError((0, lang_1.i18n)('config.utils.getConfigPathEnvironmentVariables.invalidEnvironmentVariables'), config_1.HUBSPOT_CONFIG_ERROR_TYPES.INVALID_ENVIRONMENT_VARIABLES, config_1.HUBSPOT_CONFIG_OPERATIONS.READ);
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
configFilePathFromEnvironment,
|
|
30
|
+
useEnvironmentConfig,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
exports.getConfigPathEnvironmentVariables = getConfigPathEnvironmentVariables;
|
|
34
|
+
function doesConfigFileExistAtPath(path) {
|
|
35
|
+
try {
|
|
36
|
+
return fs_extra_1.default.existsSync(path);
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
const { message, type } = handleConfigFileSystemError(error, path);
|
|
40
|
+
throw new HubSpotConfigError_1.HubSpotConfigError(message, type, config_1.HUBSPOT_CONFIG_OPERATIONS.READ, { cause: error });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.doesConfigFileExistAtPath = doesConfigFileExistAtPath;
|
|
44
|
+
function readConfigFile(configPath) {
|
|
45
|
+
try {
|
|
46
|
+
return fs_extra_1.default.readFileSync(configPath).toString();
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
const { message, type } = handleConfigFileSystemError(err, configPath);
|
|
50
|
+
throw new HubSpotConfigError_1.HubSpotConfigError(message, type, config_1.HUBSPOT_CONFIG_OPERATIONS.READ, { cause: err });
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.readConfigFile = readConfigFile;
|
|
54
|
+
function removeUndefinedFieldsFromConfigAccount(account) {
|
|
55
|
+
Object.keys(account).forEach(k => {
|
|
56
|
+
const key = k;
|
|
57
|
+
if (account[key] === undefined) {
|
|
58
|
+
delete account[key];
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
if ('auth' in account && account.auth) {
|
|
62
|
+
if (account.authType === auth_1.OAUTH_AUTH_METHOD.value) {
|
|
63
|
+
Object.keys(account.auth).forEach(k => {
|
|
64
|
+
const key = k;
|
|
65
|
+
if (account.auth?.[key] === undefined) {
|
|
66
|
+
delete account.auth?.[key];
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
if ('tokenInfo' in account.auth &&
|
|
71
|
+
typeof account.auth.tokenInfo === 'object') {
|
|
72
|
+
Object.keys(account.auth.tokenInfo).forEach(k => {
|
|
73
|
+
const key = k;
|
|
74
|
+
if (account.auth?.tokenInfo[key] === undefined) {
|
|
75
|
+
delete account.auth?.tokenInfo[key];
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return account;
|
|
81
|
+
}
|
|
82
|
+
exports.removeUndefinedFieldsFromConfigAccount = removeUndefinedFieldsFromConfigAccount;
|
|
83
|
+
// Ensure written config files have fields in a consistent order
|
|
84
|
+
function formatConfigForWrite(config) {
|
|
85
|
+
const { defaultAccount, defaultCmsPublishMode, httpTimeout, allowUsageTracking, accounts, ...rest } = config;
|
|
86
|
+
const orderedConfig = {
|
|
87
|
+
...(defaultAccount && { defaultAccount }),
|
|
88
|
+
defaultCmsPublishMode,
|
|
89
|
+
httpTimeout,
|
|
90
|
+
allowUsageTracking,
|
|
91
|
+
...rest,
|
|
92
|
+
accounts: accounts.map(account => {
|
|
93
|
+
const { name, accountId, env, authType, ...rest } = account;
|
|
94
|
+
const orderedAccount = {
|
|
95
|
+
name,
|
|
96
|
+
accountId,
|
|
97
|
+
env,
|
|
98
|
+
authType,
|
|
99
|
+
...rest,
|
|
100
|
+
// using ...rest messes with the typing
|
|
101
|
+
};
|
|
102
|
+
return removeUndefinedFieldsFromConfigAccount(orderedAccount);
|
|
103
|
+
}),
|
|
104
|
+
};
|
|
105
|
+
return orderedConfig;
|
|
106
|
+
}
|
|
107
|
+
exports.formatConfigForWrite = formatConfigForWrite;
|
|
108
|
+
function writeConfigFile(config, configPath) {
|
|
109
|
+
const formattedConfig = formatConfigForWrite(config);
|
|
110
|
+
const configToWrite = configPath == config_1.GLOBAL_CONFIG_PATH
|
|
111
|
+
? formattedConfig
|
|
112
|
+
: convertToDeprecatedConfig(formattedConfig);
|
|
113
|
+
const source = js_yaml_1.default.dump(configToWrite);
|
|
114
|
+
try {
|
|
115
|
+
fs_extra_1.default.ensureFileSync(configPath);
|
|
116
|
+
fs_extra_1.default.writeFileSync(configPath, source);
|
|
117
|
+
}
|
|
118
|
+
catch (err) {
|
|
119
|
+
throw new FileSystemError_1.FileSystemError({ cause: err }, {
|
|
120
|
+
filepath: configPath,
|
|
121
|
+
operation: 'write',
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
exports.writeConfigFile = writeConfigFile;
|
|
126
|
+
function getAccountType(sandboxAccountType) {
|
|
127
|
+
if (sandboxAccountType) {
|
|
128
|
+
if (sandboxAccountType.toUpperCase() === 'DEVELOPER') {
|
|
129
|
+
return config_1.HUBSPOT_ACCOUNT_TYPES.DEVELOPMENT_SANDBOX;
|
|
130
|
+
}
|
|
131
|
+
if (sandboxAccountType.toUpperCase() === 'STANDARD') {
|
|
132
|
+
return config_1.HUBSPOT_ACCOUNT_TYPES.STANDARD_SANDBOX;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return config_1.HUBSPOT_ACCOUNT_TYPES.STANDARD;
|
|
136
|
+
}
|
|
137
|
+
function normalizeParsedConfig(parsedConfig) {
|
|
138
|
+
if (!parsedConfig.portals && !parsedConfig.accounts) {
|
|
139
|
+
parsedConfig.accounts = [];
|
|
140
|
+
}
|
|
141
|
+
if (parsedConfig.portals) {
|
|
142
|
+
parsedConfig.accounts = parsedConfig.portals.map(account => {
|
|
143
|
+
if (account.portalId) {
|
|
144
|
+
account.accountId = account.portalId;
|
|
145
|
+
delete account.portalId;
|
|
146
|
+
}
|
|
147
|
+
if (!account.accountType) {
|
|
148
|
+
account.accountType = getAccountType(account.sandboxAccountType);
|
|
149
|
+
delete account.sandboxAccountType;
|
|
150
|
+
}
|
|
151
|
+
return account;
|
|
152
|
+
});
|
|
153
|
+
delete parsedConfig.portals;
|
|
154
|
+
}
|
|
155
|
+
if (parsedConfig.defaultPortal) {
|
|
156
|
+
const defaultAccount = getConfigAccountByInferredIdentifier(parsedConfig.accounts, parsedConfig.defaultPortal);
|
|
157
|
+
if (defaultAccount) {
|
|
158
|
+
parsedConfig.defaultAccount = defaultAccount.accountId;
|
|
159
|
+
}
|
|
160
|
+
delete parsedConfig.defaultPortal;
|
|
161
|
+
}
|
|
162
|
+
if (parsedConfig.defaultMode) {
|
|
163
|
+
parsedConfig.defaultCmsPublishMode = parsedConfig.defaultMode;
|
|
164
|
+
delete parsedConfig.defaultMode;
|
|
165
|
+
}
|
|
166
|
+
return parsedConfig;
|
|
167
|
+
}
|
|
168
|
+
exports.normalizeParsedConfig = normalizeParsedConfig;
|
|
169
|
+
function convertToDeprecatedConfig(config) {
|
|
170
|
+
const deprecatedConfig = structuredClone(config);
|
|
171
|
+
if (config.defaultAccount) {
|
|
172
|
+
const defaultAccount = getConfigAccountByIdentifier(config.accounts, config_1.ACCOUNT_IDENTIFIERS.ACCOUNT_ID, config.defaultAccount);
|
|
173
|
+
if (defaultAccount) {
|
|
174
|
+
deprecatedConfig.defaultPortal = defaultAccount.name;
|
|
175
|
+
delete deprecatedConfig.defaultAccount;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
const portals = config.accounts.map(account => {
|
|
179
|
+
if (account.accountId) {
|
|
180
|
+
const deprecatedAccount = structuredClone(account);
|
|
181
|
+
deprecatedAccount.portalId = account.accountId;
|
|
182
|
+
// @ts-expect-error deleting accountId is intential since using deprecated config format
|
|
183
|
+
delete deprecatedAccount.accountId;
|
|
184
|
+
return deprecatedAccount;
|
|
185
|
+
}
|
|
186
|
+
return account;
|
|
187
|
+
});
|
|
188
|
+
deprecatedConfig.portals = portals;
|
|
189
|
+
delete deprecatedConfig.accounts;
|
|
190
|
+
return deprecatedConfig;
|
|
191
|
+
}
|
|
192
|
+
exports.convertToDeprecatedConfig = convertToDeprecatedConfig;
|
|
193
|
+
function parseConfig(configSource, configPath) {
|
|
194
|
+
let parsedYaml;
|
|
195
|
+
try {
|
|
196
|
+
parsedYaml = js_yaml_1.default.load(configSource);
|
|
197
|
+
}
|
|
198
|
+
catch (err) {
|
|
199
|
+
throw new HubSpotConfigError_1.HubSpotConfigError((0, lang_1.i18n)('config.utils.parseConfig.error', { configPath: configPath }), config_1.HUBSPOT_CONFIG_ERROR_TYPES.YAML_PARSING, config_1.HUBSPOT_CONFIG_OPERATIONS.READ, { cause: err });
|
|
200
|
+
}
|
|
201
|
+
return normalizeParsedConfig(parsedYaml);
|
|
202
|
+
}
|
|
203
|
+
exports.parseConfig = parseConfig;
|
|
204
|
+
function buildConfigFromEnvironment() {
|
|
205
|
+
const apiKey = process.env[config_1.ENVIRONMENT_VARIABLES.HUBSPOT_API_KEY];
|
|
206
|
+
const clientId = process.env[config_1.ENVIRONMENT_VARIABLES.HUBSPOT_CLIENT_ID];
|
|
207
|
+
const clientSecret = process.env[config_1.ENVIRONMENT_VARIABLES.HUBSPOT_CLIENT_SECRET];
|
|
208
|
+
const personalAccessKey = process.env[config_1.ENVIRONMENT_VARIABLES.HUBSPOT_PERSONAL_ACCESS_KEY];
|
|
209
|
+
const accountIdVar = process.env[config_1.ENVIRONMENT_VARIABLES.HUBSPOT_ACCOUNT_ID] ||
|
|
210
|
+
process.env[config_1.ENVIRONMENT_VARIABLES.HUBSPOT_PORTAL_ID];
|
|
211
|
+
const refreshToken = process.env[config_1.ENVIRONMENT_VARIABLES.HUBSPOT_REFRESH_TOKEN];
|
|
212
|
+
const hubspotEnvironment = process.env[config_1.ENVIRONMENT_VARIABLES.HUBSPOT_ENVIRONMENT];
|
|
213
|
+
const httpTimeoutVar = process.env[config_1.ENVIRONMENT_VARIABLES.HTTP_TIMEOUT];
|
|
214
|
+
const httpUseLocalhostVar = process.env[config_1.ENVIRONMENT_VARIABLES.HTTP_USE_LOCALHOST];
|
|
215
|
+
const allowUsageTrackingVar = process.env[config_1.ENVIRONMENT_VARIABLES.ALLOW_USAGE_TRACKING];
|
|
216
|
+
const defaultCmsPublishModeVar = process.env[config_1.ENVIRONMENT_VARIABLES.DEFAULT_CMS_PUBLISH_MODE];
|
|
217
|
+
if (!accountIdVar) {
|
|
218
|
+
throw new HubSpotConfigError_1.HubSpotConfigError((0, lang_1.i18n)('config.utils.buildConfigFromEnvironment.missingAccountId'), config_1.HUBSPOT_CONFIG_ERROR_TYPES.INVALID_ENVIRONMENT_VARIABLES, config_1.HUBSPOT_CONFIG_OPERATIONS.READ);
|
|
219
|
+
}
|
|
220
|
+
const accountId = parseInt(accountIdVar);
|
|
221
|
+
const httpTimeout = httpTimeoutVar ? parseInt(httpTimeoutVar) : undefined;
|
|
222
|
+
const httpUseLocalhost = httpUseLocalhostVar
|
|
223
|
+
? httpUseLocalhostVar === 'true'
|
|
224
|
+
: undefined;
|
|
225
|
+
const allowUsageTracking = allowUsageTrackingVar
|
|
226
|
+
? allowUsageTrackingVar === 'true'
|
|
227
|
+
: undefined;
|
|
228
|
+
const defaultCmsPublishMode = defaultCmsPublishModeVar === files_1.CMS_PUBLISH_MODE.draft ||
|
|
229
|
+
defaultCmsPublishModeVar === files_1.CMS_PUBLISH_MODE.publish
|
|
230
|
+
? defaultCmsPublishModeVar
|
|
231
|
+
: undefined;
|
|
232
|
+
const env = (0, environment_1.getValidEnv)(hubspotEnvironment);
|
|
233
|
+
let account;
|
|
234
|
+
if (personalAccessKey) {
|
|
235
|
+
account = {
|
|
236
|
+
authType: auth_1.PERSONAL_ACCESS_KEY_AUTH_METHOD.value,
|
|
237
|
+
accountId,
|
|
238
|
+
personalAccessKey,
|
|
239
|
+
env,
|
|
240
|
+
name: accountIdVar,
|
|
241
|
+
auth: {
|
|
242
|
+
tokenInfo: {},
|
|
243
|
+
},
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
else if (clientId && clientSecret && refreshToken) {
|
|
247
|
+
account = {
|
|
248
|
+
authType: auth_1.OAUTH_AUTH_METHOD.value,
|
|
249
|
+
accountId,
|
|
250
|
+
auth: {
|
|
251
|
+
clientId,
|
|
252
|
+
clientSecret,
|
|
253
|
+
scopes: auth_1.OAUTH_SCOPES.map((scope) => scope.value),
|
|
254
|
+
tokenInfo: {
|
|
255
|
+
refreshToken,
|
|
256
|
+
},
|
|
257
|
+
},
|
|
258
|
+
env,
|
|
259
|
+
name: accountIdVar,
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
else if (apiKey) {
|
|
263
|
+
account = {
|
|
264
|
+
authType: auth_1.API_KEY_AUTH_METHOD.value,
|
|
265
|
+
accountId,
|
|
266
|
+
apiKey,
|
|
267
|
+
env,
|
|
268
|
+
name: accountIdVar,
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
else {
|
|
272
|
+
throw new HubSpotConfigError_1.HubSpotConfigError((0, lang_1.i18n)('config.utils.buildConfigFromEnvironment.invalidAuthType'), config_1.HUBSPOT_CONFIG_ERROR_TYPES.INVALID_ENVIRONMENT_VARIABLES, config_1.HUBSPOT_CONFIG_OPERATIONS.READ);
|
|
273
|
+
}
|
|
274
|
+
return {
|
|
275
|
+
accounts: [account],
|
|
276
|
+
defaultAccount: accountId,
|
|
277
|
+
httpTimeout,
|
|
278
|
+
httpUseLocalhost,
|
|
279
|
+
allowUsageTracking,
|
|
280
|
+
defaultCmsPublishMode,
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
exports.buildConfigFromEnvironment = buildConfigFromEnvironment;
|
|
284
|
+
function getAccountIdentifierAndType(accountIdentifier) {
|
|
285
|
+
const identifierAsNumber = typeof accountIdentifier === 'number'
|
|
286
|
+
? accountIdentifier
|
|
287
|
+
: parseInt(accountIdentifier);
|
|
288
|
+
const isId = !isNaN(identifierAsNumber);
|
|
289
|
+
return {
|
|
290
|
+
identifier: isId ? identifierAsNumber : accountIdentifier,
|
|
291
|
+
identifierType: isId
|
|
292
|
+
? config_1.ACCOUNT_IDENTIFIERS.ACCOUNT_ID
|
|
293
|
+
: config_1.ACCOUNT_IDENTIFIERS.NAME,
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
exports.getAccountIdentifierAndType = getAccountIdentifierAndType;
|
|
297
|
+
function getConfigAccountByIdentifier(accounts, identifierFieldName, identifier) {
|
|
298
|
+
return accounts.find(account => account[identifierFieldName] === identifier);
|
|
299
|
+
}
|
|
300
|
+
exports.getConfigAccountByIdentifier = getConfigAccountByIdentifier;
|
|
301
|
+
function getConfigAccountByInferredIdentifier(accounts, accountIdentifier) {
|
|
302
|
+
const { identifier, identifierType } = getAccountIdentifierAndType(accountIdentifier);
|
|
303
|
+
const account = getConfigAccountByIdentifier(accounts, identifierType, identifier);
|
|
304
|
+
if (account) {
|
|
305
|
+
return account;
|
|
306
|
+
}
|
|
307
|
+
// Fallback to handle accounts with numbers as names
|
|
308
|
+
return getConfigAccountByIdentifier(accounts, config_1.ACCOUNT_IDENTIFIERS.NAME, String(accountIdentifier));
|
|
309
|
+
}
|
|
310
|
+
exports.getConfigAccountByInferredIdentifier = getConfigAccountByInferredIdentifier;
|
|
311
|
+
function getConfigAccountIndexById(accounts, id) {
|
|
312
|
+
return accounts.findIndex(account => account.accountId === id);
|
|
313
|
+
}
|
|
314
|
+
exports.getConfigAccountIndexById = getConfigAccountIndexById;
|
|
315
|
+
function validateConfigAccount(account) {
|
|
316
|
+
const validationErrors = [];
|
|
317
|
+
if (!account || typeof account !== 'object') {
|
|
318
|
+
validationErrors.push((0, lang_1.i18n)('config.utils.validateConfigAccount.missingAccount'));
|
|
319
|
+
return { isValid: false, errors: validationErrors };
|
|
320
|
+
}
|
|
321
|
+
if (!account.accountId) {
|
|
322
|
+
validationErrors.push((0, lang_1.i18n)('config.utils.validateConfigAccount.missingAccountId'));
|
|
323
|
+
return { isValid: false, errors: validationErrors };
|
|
324
|
+
}
|
|
325
|
+
if (!account.authType) {
|
|
326
|
+
validationErrors.push((0, lang_1.i18n)('config.utils.validateConfigAccount.missingAuthType', {
|
|
327
|
+
accountId: account.accountId,
|
|
328
|
+
}));
|
|
329
|
+
return { isValid: false, errors: validationErrors };
|
|
330
|
+
}
|
|
331
|
+
if (account.authType === auth_1.PERSONAL_ACCESS_KEY_AUTH_METHOD.value) {
|
|
332
|
+
const isValidPersonalAccessKeyAccount = 'personalAccessKey' in account && Boolean(account.personalAccessKey);
|
|
333
|
+
if (!isValidPersonalAccessKeyAccount) {
|
|
334
|
+
validationErrors.push((0, lang_1.i18n)('config.utils.validateConfigAccount.missingPersonalAccessKey', {
|
|
335
|
+
accountId: account.accountId,
|
|
336
|
+
}));
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
if (account.authType === auth_1.OAUTH_AUTH_METHOD.value) {
|
|
340
|
+
const isValidOAuthAccount = 'auth' in account && Boolean(account.auth);
|
|
341
|
+
if (!isValidOAuthAccount) {
|
|
342
|
+
validationErrors.push((0, lang_1.i18n)('config.utils.validateConfigAccount.missingAuth', {
|
|
343
|
+
accountId: account.accountId,
|
|
344
|
+
}));
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
if (account.authType === auth_1.API_KEY_AUTH_METHOD.value) {
|
|
348
|
+
const isValidAPIKeyAccount = 'apiKey' in account && Boolean(account.apiKey);
|
|
349
|
+
if (!isValidAPIKeyAccount) {
|
|
350
|
+
validationErrors.push((0, lang_1.i18n)('config.utils.validateConfigAccount.missingApiKey', {
|
|
351
|
+
accountId: account.accountId,
|
|
352
|
+
}));
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
return { isValid: validationErrors.length === 0, errors: validationErrors };
|
|
356
|
+
}
|
|
357
|
+
exports.validateConfigAccount = validateConfigAccount;
|
|
358
|
+
function handleConfigFileSystemError(error, path) {
|
|
359
|
+
let message;
|
|
360
|
+
let type = config_1.HUBSPOT_CONFIG_ERROR_TYPES.UNKNOWN;
|
|
361
|
+
if (error instanceof Error && 'code' in error) {
|
|
362
|
+
if (error.code === 'ENOENT') {
|
|
363
|
+
message = (0, lang_1.i18n)('config.utils.handleConfigFileSystemError.configNotFoundError', { path });
|
|
364
|
+
type = config_1.HUBSPOT_CONFIG_ERROR_TYPES.CONFIG_NOT_FOUND;
|
|
365
|
+
}
|
|
366
|
+
else if (error.code === 'EACCES') {
|
|
367
|
+
message = (0, lang_1.i18n)('config.utils.handleConfigFileSystemError.insufficientPermissionsError', { path });
|
|
368
|
+
type = config_1.HUBSPOT_CONFIG_ERROR_TYPES.INSUFFICIENT_PERMISSIONS;
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
return { message, type };
|
|
372
|
+
}
|
|
373
|
+
exports.handleConfigFileSystemError = handleConfigFileSystemError;
|
package/constants/config.d.ts
CHANGED
|
@@ -33,3 +33,43 @@ export declare const HUBSPOT_ACCOUNT_TYPE_STRINGS: {
|
|
|
33
33
|
readonly APP_DEVELOPER: string;
|
|
34
34
|
readonly STANDARD: string;
|
|
35
35
|
};
|
|
36
|
+
export declare const CONFIG_FLAGS: {
|
|
37
|
+
readonly USE_CUSTOM_OBJECT_HUBFILE: "useCustomObjectHubfile";
|
|
38
|
+
readonly HTTP_USE_LOCALHOST: "httpUseLocalhost";
|
|
39
|
+
};
|
|
40
|
+
export declare const ENVIRONMENT_VARIABLES: {
|
|
41
|
+
readonly HUBSPOT_API_KEY: "HUBSPOT_API_KEY";
|
|
42
|
+
readonly HUBSPOT_CLIENT_ID: "HUBSPOT_CLIENT_ID";
|
|
43
|
+
readonly HUBSPOT_CLIENT_SECRET: "HUBSPOT_CLIENT_SECRET";
|
|
44
|
+
readonly HUBSPOT_PERSONAL_ACCESS_KEY: "HUBSPOT_PERSONAL_ACCESS_KEY";
|
|
45
|
+
readonly HUBSPOT_ACCOUNT_ID: "HUBSPOT_ACCOUNT_ID";
|
|
46
|
+
readonly HUBSPOT_PORTAL_ID: "HUBSPOT_PORTAL_ID";
|
|
47
|
+
readonly HUBSPOT_REFRESH_TOKEN: "HUBSPOT_REFRESH_TOKEN";
|
|
48
|
+
readonly HUBSPOT_ENVIRONMENT: "HUBSPOT_ENVIRONMENT";
|
|
49
|
+
readonly HTTP_TIMEOUT: "HTTP_TIMEOUT";
|
|
50
|
+
readonly HTTP_USE_LOCALHOST: "HTTP_USE_LOCALHOST";
|
|
51
|
+
readonly ALLOW_USAGE_TRACKING: "ALLOW_USAGE_TRACKING";
|
|
52
|
+
readonly DEFAULT_CMS_PUBLISH_MODE: "DEFUALT_CMS_PUBLISH_MODE";
|
|
53
|
+
readonly USE_ENVIRONMENT_HUBSPOT_CONFIG: "USE_ENVIRONMENT_HUBSPOT_CONFIG";
|
|
54
|
+
readonly HUBSPOT_CONFIG_PATH: "HUBSPOT_CONFIG_PATH";
|
|
55
|
+
};
|
|
56
|
+
export declare const ACCOUNT_IDENTIFIERS: {
|
|
57
|
+
readonly ACCOUNT_ID: "accountId";
|
|
58
|
+
readonly NAME: "name";
|
|
59
|
+
};
|
|
60
|
+
export declare const HUBSPOT_CONFIG_ERROR_TYPES: {
|
|
61
|
+
readonly CONFIG_NOT_FOUND: "CONFIG_NOT_FOUND";
|
|
62
|
+
readonly INSUFFICIENT_PERMISSIONS: "INSUFFICIENT_PERMISSIONS";
|
|
63
|
+
readonly ACCOUNT_NOT_FOUND: "ACCOUNT_NOT_FOUND";
|
|
64
|
+
readonly NO_DEFAULT_ACCOUNT: "NO_DEFAULT_ACCOUNT";
|
|
65
|
+
readonly INVALID_ENVIRONMENT_VARIABLES: "ENVIRONMENT_VARIABLES";
|
|
66
|
+
readonly YAML_PARSING: "YAML_PARSING";
|
|
67
|
+
readonly INVALID_ACCOUNT: "INVALID_ACCOUNT";
|
|
68
|
+
readonly INVALID_FIELD: "INVALID_FIELD";
|
|
69
|
+
readonly UNKNOWN: "UNKNOWN";
|
|
70
|
+
};
|
|
71
|
+
export declare const HUBSPOT_CONFIG_OPERATIONS: {
|
|
72
|
+
readonly READ: "READ";
|
|
73
|
+
readonly WRITE: "WRITE";
|
|
74
|
+
readonly DELETE: "DELETE";
|
|
75
|
+
};
|
package/constants/config.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.HUBSPOT_ACCOUNT_TYPE_STRINGS = exports.HUBSPOT_ACCOUNT_TYPES = exports.MCP_TOTAL_TOOL_CALLS_STATE = exports.MIN_HTTP_TIMEOUT = exports.DEFAULT_PORTAL = exports.DEFAULT_ACCOUNT = exports.ALLOW_AUTO_UPDATES = exports.AUTO_OPEN_BROWSER = exports.ALLOW_USAGE_TRACKING = exports.HTTP_USE_LOCALHOST = exports.ENV = exports.HTTP_TIMEOUT = exports.DEFAULT_CMS_PUBLISH_MODE = exports.DEFAULT_ACCOUNT_OVERRIDE_ERROR_ACCOUNT_NOT_FOUND = exports.DEFAULT_ACCOUNT_OVERRIDE_ERROR_INVALID_ID = exports.DEFAULT_ACCOUNT_OVERRIDE_FILE_NAME = exports.STATE_FILE_PATH = exports.GLOBAL_CONFIG_PATH = exports.HUBSPOT_STATE_FILE = exports.HUBSPOT_CONFIGURATION_FILE = exports.HUBSPOT_CONFIGURATION_FOLDER = exports.ARCHIVED_HUBSPOT_CONFIG_YAML_FILE_NAME = exports.DEFAULT_HUBSPOT_CONFIG_YAML_FILE_NAME = void 0;
|
|
6
|
+
exports.HUBSPOT_CONFIG_OPERATIONS = exports.HUBSPOT_CONFIG_ERROR_TYPES = exports.ACCOUNT_IDENTIFIERS = exports.ENVIRONMENT_VARIABLES = exports.CONFIG_FLAGS = exports.HUBSPOT_ACCOUNT_TYPE_STRINGS = exports.HUBSPOT_ACCOUNT_TYPES = exports.MCP_TOTAL_TOOL_CALLS_STATE = exports.MIN_HTTP_TIMEOUT = exports.DEFAULT_PORTAL = exports.DEFAULT_ACCOUNT = exports.ALLOW_AUTO_UPDATES = exports.AUTO_OPEN_BROWSER = exports.ALLOW_USAGE_TRACKING = exports.HTTP_USE_LOCALHOST = exports.ENV = exports.HTTP_TIMEOUT = exports.DEFAULT_CMS_PUBLISH_MODE = exports.DEFAULT_ACCOUNT_OVERRIDE_ERROR_ACCOUNT_NOT_FOUND = exports.DEFAULT_ACCOUNT_OVERRIDE_ERROR_INVALID_ID = exports.DEFAULT_ACCOUNT_OVERRIDE_FILE_NAME = exports.STATE_FILE_PATH = exports.GLOBAL_CONFIG_PATH = exports.HUBSPOT_STATE_FILE = exports.HUBSPOT_CONFIGURATION_FILE = exports.HUBSPOT_CONFIGURATION_FOLDER = exports.ARCHIVED_HUBSPOT_CONFIG_YAML_FILE_NAME = exports.DEFAULT_HUBSPOT_CONFIG_YAML_FILE_NAME = void 0;
|
|
7
7
|
const lang_1 = require("../utils/lang");
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
9
|
const os_1 = __importDefault(require("os"));
|
|
@@ -42,3 +42,43 @@ exports.HUBSPOT_ACCOUNT_TYPE_STRINGS = {
|
|
|
42
42
|
APP_DEVELOPER: (0, lang_1.i18n)('lib.accountTypes.appDeveloper'),
|
|
43
43
|
STANDARD: (0, lang_1.i18n)('lib.accountTypes.standard'),
|
|
44
44
|
};
|
|
45
|
+
exports.CONFIG_FLAGS = {
|
|
46
|
+
USE_CUSTOM_OBJECT_HUBFILE: 'useCustomObjectHubfile',
|
|
47
|
+
HTTP_USE_LOCALHOST: 'httpUseLocalhost',
|
|
48
|
+
};
|
|
49
|
+
exports.ENVIRONMENT_VARIABLES = {
|
|
50
|
+
HUBSPOT_API_KEY: 'HUBSPOT_API_KEY',
|
|
51
|
+
HUBSPOT_CLIENT_ID: 'HUBSPOT_CLIENT_ID',
|
|
52
|
+
HUBSPOT_CLIENT_SECRET: 'HUBSPOT_CLIENT_SECRET',
|
|
53
|
+
HUBSPOT_PERSONAL_ACCESS_KEY: 'HUBSPOT_PERSONAL_ACCESS_KEY',
|
|
54
|
+
HUBSPOT_ACCOUNT_ID: 'HUBSPOT_ACCOUNT_ID',
|
|
55
|
+
HUBSPOT_PORTAL_ID: 'HUBSPOT_PORTAL_ID',
|
|
56
|
+
HUBSPOT_REFRESH_TOKEN: 'HUBSPOT_REFRESH_TOKEN',
|
|
57
|
+
HUBSPOT_ENVIRONMENT: 'HUBSPOT_ENVIRONMENT',
|
|
58
|
+
HTTP_TIMEOUT: 'HTTP_TIMEOUT',
|
|
59
|
+
HTTP_USE_LOCALHOST: 'HTTP_USE_LOCALHOST',
|
|
60
|
+
ALLOW_USAGE_TRACKING: 'ALLOW_USAGE_TRACKING',
|
|
61
|
+
DEFAULT_CMS_PUBLISH_MODE: 'DEFUALT_CMS_PUBLISH_MODE',
|
|
62
|
+
USE_ENVIRONMENT_HUBSPOT_CONFIG: 'USE_ENVIRONMENT_HUBSPOT_CONFIG',
|
|
63
|
+
HUBSPOT_CONFIG_PATH: 'HUBSPOT_CONFIG_PATH',
|
|
64
|
+
};
|
|
65
|
+
exports.ACCOUNT_IDENTIFIERS = {
|
|
66
|
+
ACCOUNT_ID: 'accountId',
|
|
67
|
+
NAME: 'name',
|
|
68
|
+
};
|
|
69
|
+
exports.HUBSPOT_CONFIG_ERROR_TYPES = {
|
|
70
|
+
CONFIG_NOT_FOUND: 'CONFIG_NOT_FOUND',
|
|
71
|
+
INSUFFICIENT_PERMISSIONS: 'INSUFFICIENT_PERMISSIONS',
|
|
72
|
+
ACCOUNT_NOT_FOUND: 'ACCOUNT_NOT_FOUND',
|
|
73
|
+
NO_DEFAULT_ACCOUNT: 'NO_DEFAULT_ACCOUNT',
|
|
74
|
+
INVALID_ENVIRONMENT_VARIABLES: 'ENVIRONMENT_VARIABLES',
|
|
75
|
+
YAML_PARSING: 'YAML_PARSING',
|
|
76
|
+
INVALID_ACCOUNT: 'INVALID_ACCOUNT',
|
|
77
|
+
INVALID_FIELD: 'INVALID_FIELD',
|
|
78
|
+
UNKNOWN: 'UNKNOWN',
|
|
79
|
+
};
|
|
80
|
+
exports.HUBSPOT_CONFIG_OPERATIONS = {
|
|
81
|
+
READ: 'READ',
|
|
82
|
+
WRITE: 'WRITE',
|
|
83
|
+
DELETE: 'DELETE',
|
|
84
|
+
};
|
|
@@ -2,14 +2,3 @@ export declare const ENVIRONMENTS: {
|
|
|
2
2
|
readonly PROD: "prod";
|
|
3
3
|
readonly QA: "qa";
|
|
4
4
|
};
|
|
5
|
-
export declare const ENVIRONMENT_VARIABLES: {
|
|
6
|
-
readonly HUBSPOT_API_KEY: "HUBSPOT_API_KEY";
|
|
7
|
-
readonly HUBSPOT_CLIENT_ID: "HUBSPOT_CLIENT_ID";
|
|
8
|
-
readonly HUBSPOT_CLIENT_SECRET: "HUBSPOT_CLIENT_SECRET";
|
|
9
|
-
readonly HUBSPOT_PERSONAL_ACCESS_KEY: "HUBSPOT_PERSONAL_ACCESS_KEY";
|
|
10
|
-
readonly HUBSPOT_ACCOUNT_ID: "HUBSPOT_ACCOUNT_ID";
|
|
11
|
-
readonly HUBSPOT_PORTAL_ID: "HUBSPOT_PORTAL_ID";
|
|
12
|
-
readonly HUBSPOT_REFRESH_TOKEN: "HUBSPOT_REFRESH_TOKEN";
|
|
13
|
-
readonly HUBSPOT_ENVIRONMENT: "HUBSPOT_ENVIRONMENT";
|
|
14
|
-
readonly HTTP_TIMEOUT: "HTTP_TIMEOUT";
|
|
15
|
-
};
|
|
@@ -1,18 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.ENVIRONMENTS = void 0;
|
|
4
4
|
exports.ENVIRONMENTS = {
|
|
5
5
|
PROD: 'prod',
|
|
6
6
|
QA: 'qa',
|
|
7
7
|
};
|
|
8
|
-
exports.ENVIRONMENT_VARIABLES = {
|
|
9
|
-
HUBSPOT_API_KEY: 'HUBSPOT_API_KEY',
|
|
10
|
-
HUBSPOT_CLIENT_ID: 'HUBSPOT_CLIENT_ID',
|
|
11
|
-
HUBSPOT_CLIENT_SECRET: 'HUBSPOT_CLIENT_SECRET',
|
|
12
|
-
HUBSPOT_PERSONAL_ACCESS_KEY: 'HUBSPOT_PERSONAL_ACCESS_KEY',
|
|
13
|
-
HUBSPOT_ACCOUNT_ID: 'HUBSPOT_ACCOUNT_ID',
|
|
14
|
-
HUBSPOT_PORTAL_ID: 'HUBSPOT_PORTAL_ID',
|
|
15
|
-
HUBSPOT_REFRESH_TOKEN: 'HUBSPOT_REFRESH_TOKEN',
|
|
16
|
-
HUBSPOT_ENVIRONMENT: 'HUBSPOT_ENVIRONMENT',
|
|
17
|
-
HTTP_TIMEOUT: 'HTTP_TIMEOUT',
|
|
18
|
-
};
|
package/errors/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { HubSpotHttpError } from '../models/HubSpotHttpError';
|
|
2
2
|
import { BaseError } from '../types/Error';
|
|
3
3
|
import { FileSystemError } from '../models/FileSystemError';
|
|
4
|
+
import { HubSpotConfigError } from '../models/HubSpotConfigError';
|
|
4
5
|
export declare function isSpecifiedError(err: unknown, { statusCode, category, subCategory, errorType, code, }: {
|
|
5
6
|
statusCode?: number;
|
|
6
7
|
category?: string;
|
|
@@ -17,3 +18,4 @@ export declare function isHubSpotHttpError(error?: unknown): error is HubSpotHtt
|
|
|
17
18
|
export declare function isGithubRateLimitError(err: unknown): boolean;
|
|
18
19
|
export declare function isSystemError(err: unknown): err is BaseError;
|
|
19
20
|
export declare function isFileSystemError(err: unknown): err is FileSystemError;
|
|
21
|
+
export declare function isHubSpotConfigError(err: unknown): err is HubSpotConfigError;
|
package/errors/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isFileSystemError = exports.isSystemError = exports.isGithubRateLimitError = exports.isHubSpotHttpError = exports.isValidationError = exports.isAuthError = exports.isTimeoutError = exports.isGatingError = exports.isMissingScopeError = exports.isSpecifiedError = void 0;
|
|
3
|
+
exports.isHubSpotConfigError = exports.isFileSystemError = exports.isSystemError = exports.isGithubRateLimitError = exports.isHubSpotHttpError = exports.isValidationError = exports.isAuthError = exports.isTimeoutError = exports.isGatingError = exports.isMissingScopeError = exports.isSpecifiedError = void 0;
|
|
4
4
|
const HubSpotHttpError_1 = require("../models/HubSpotHttpError");
|
|
5
5
|
const FileSystemError_1 = require("../models/FileSystemError");
|
|
6
|
+
const HubSpotConfigError_1 = require("../models/HubSpotConfigError");
|
|
6
7
|
function isSpecifiedError(err, { statusCode, category, subCategory, errorType, code, }) {
|
|
7
8
|
if (!isHubSpotHttpError(err)) {
|
|
8
9
|
return false;
|
|
@@ -70,3 +71,7 @@ function isFileSystemError(err) {
|
|
|
70
71
|
return err instanceof FileSystemError_1.FileSystemError;
|
|
71
72
|
}
|
|
72
73
|
exports.isFileSystemError = isFileSystemError;
|
|
74
|
+
function isHubSpotConfigError(err) {
|
|
75
|
+
return err instanceof HubSpotConfigError_1.HubSpotConfigError;
|
|
76
|
+
}
|
|
77
|
+
exports.isHubSpotConfigError = isHubSpotConfigError;
|
package/http/getAxiosConfig.js
CHANGED
|
@@ -41,7 +41,13 @@ const DEFAULT_TRANSITIONAL = {
|
|
|
41
41
|
};
|
|
42
42
|
function getAxiosConfig(options) {
|
|
43
43
|
const { env, localHostOverride, headers, ...rest } = options;
|
|
44
|
-
|
|
44
|
+
let config;
|
|
45
|
+
try {
|
|
46
|
+
config = (0, config_1.getConfig)();
|
|
47
|
+
}
|
|
48
|
+
catch (e) {
|
|
49
|
+
config = null;
|
|
50
|
+
}
|
|
45
51
|
let httpTimeout = 15000;
|
|
46
52
|
let httpUseLocalhost = false;
|
|
47
53
|
if (config && config.httpTimeout) {
|
package/http/index.js
CHANGED
|
@@ -39,6 +39,7 @@ const oauth_1 = require("../lib/oauth");
|
|
|
39
39
|
const logger_1 = require("../lib/logger");
|
|
40
40
|
const lang_1 = require("../utils/lang");
|
|
41
41
|
const HubSpotHttpError_1 = require("../models/HubSpotHttpError");
|
|
42
|
+
const auth_1 = require("../constants/auth");
|
|
42
43
|
const localDevAuth_1 = require("../api/localDevAuth");
|
|
43
44
|
const util = __importStar(require("util"));
|
|
44
45
|
const trackUsage_1 = require("../lib/trackUsage");
|
|
@@ -89,11 +90,11 @@ function addUserAgentHeader(key, value) {
|
|
|
89
90
|
getAxiosConfig_1.USER_AGENTS[key] = value;
|
|
90
91
|
}
|
|
91
92
|
exports.addUserAgentHeader = addUserAgentHeader;
|
|
92
|
-
async function withOauth(
|
|
93
|
+
async function withOauth(account, axiosConfig) {
|
|
93
94
|
const { headers } = axiosConfig;
|
|
94
|
-
const oauth = (0, oauth_1.getOauthManager)(
|
|
95
|
+
const oauth = (0, oauth_1.getOauthManager)(account);
|
|
95
96
|
if (!oauth) {
|
|
96
|
-
throw new Error((0, lang_1.i18n)(`${i18nKey}.errors.withOauth`, { accountId }));
|
|
97
|
+
throw new Error((0, lang_1.i18n)(`${i18nKey}.errors.withOauth`, { accountId: account.accountId }));
|
|
97
98
|
}
|
|
98
99
|
const accessToken = await oauth.accessToken();
|
|
99
100
|
return {
|
|
@@ -126,26 +127,29 @@ function withPortalId(portalId, axiosConfig) {
|
|
|
126
127
|
};
|
|
127
128
|
}
|
|
128
129
|
async function withAuth(accountId, options) {
|
|
129
|
-
const
|
|
130
|
-
|
|
131
|
-
throw new Error((0, lang_1.i18n)(`${i18nKey}.errors.withAuth`, { accountId }));
|
|
132
|
-
}
|
|
133
|
-
const { env, authType, apiKey } = accountConfig;
|
|
130
|
+
const account = (0, config_1.getConfigAccountById)(accountId);
|
|
131
|
+
const { env, authType } = account;
|
|
134
132
|
const axiosConfig = withPortalId(accountId, (0, getAxiosConfig_1.getAxiosConfig)({ env, ...options }));
|
|
135
|
-
if (authType ===
|
|
133
|
+
if (authType === auth_1.PERSONAL_ACCESS_KEY_AUTH_METHOD.value) {
|
|
136
134
|
return withPersonalAccessKey(accountId, axiosConfig);
|
|
137
135
|
}
|
|
138
|
-
if (authType ===
|
|
139
|
-
return withOauth(
|
|
136
|
+
if (authType === auth_1.OAUTH_AUTH_METHOD.value) {
|
|
137
|
+
return withOauth(account, axiosConfig);
|
|
140
138
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
139
|
+
if (authType === auth_1.API_KEY_AUTH_METHOD.value) {
|
|
140
|
+
const { params } = axiosConfig;
|
|
141
|
+
return {
|
|
142
|
+
...axiosConfig,
|
|
143
|
+
params: {
|
|
144
|
+
...params,
|
|
145
|
+
hapikey: account.apiKey,
|
|
146
|
+
},
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
throw new Error((0, lang_1.i18n)(`${i18nKey}.errors.invalidAuthType`, {
|
|
150
|
+
accountId,
|
|
151
|
+
authType,
|
|
152
|
+
}));
|
|
149
153
|
}
|
|
150
154
|
async function getRequest(accountId, options) {
|
|
151
155
|
const { params, ...rest } = options;
|