@sasjs/cli 3.21.3 → 3.21.4

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.
@@ -66,6 +66,7 @@ export declare function getProjectRoot(): Promise<string>;
66
66
  * @returns {AuthConfig} - an object containing an access token, refresh token, client ID and secret.
67
67
  */
68
68
  export declare function getAuthConfig(target: Target): Promise<AuthConfig>;
69
+ export declare const saveTokens: (targetName: string, client: string, secret: string, access_token: string, refresh_token: string) => Promise<void>;
69
70
  /**
70
71
  * Gets the auth config for the specified SAS9 target.
71
72
  * @param {Target} target - the target to get an access token for.
@@ -75,7 +75,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
75
75
  return (mod && mod.__esModule) ? mod : { "default": mod };
76
76
  };
77
77
  Object.defineProperty(exports, "__esModule", { value: true });
78
- exports.getSASjsAndAuthConfig = exports.getSASjs = exports.getTestTearDown = exports.getTestSetUp = exports.overrideEnvVariables = exports.getAccessToken = exports.getAuthConfigSAS9 = exports.getAuthConfig = exports.getProjectRoot = exports.sanitizeAppLoc = exports.getStreamConfig = exports.getMacroFolders = exports.getBinaryFolders = exports.getProgramFolders = exports.getFolders = exports.saveToLocalConfig = exports.saveLocalConfigFile = exports.getSyncDirectories = exports.getLocalOrGlobalConfig = exports.getLocalConfig = exports.removeFromLocalConfig = exports.removeFromGlobalConfig = exports.saveToGlobalConfig = exports.saveGlobalRcFile = exports.getLocalRcFile = exports.getGlobalRcFile = exports.findTargetInConfiguration = exports.getConfiguration = void 0;
78
+ exports.getSASjsAndAuthConfig = exports.getSASjs = exports.getTestTearDown = exports.getTestSetUp = exports.overrideEnvVariables = exports.getAccessToken = exports.getAuthConfigSAS9 = exports.saveTokens = exports.getAuthConfig = exports.getProjectRoot = exports.sanitizeAppLoc = exports.getStreamConfig = exports.getMacroFolders = exports.getBinaryFolders = exports.getProgramFolders = exports.getFolders = exports.saveToLocalConfig = exports.saveLocalConfigFile = exports.getSyncDirectories = exports.getLocalOrGlobalConfig = exports.getLocalConfig = exports.removeFromLocalConfig = exports.removeFromGlobalConfig = exports.saveToGlobalConfig = exports.saveGlobalRcFile = exports.getLocalRcFile = exports.getGlobalRcFile = exports.findTargetInConfiguration = exports.getConfiguration = void 0;
79
79
  var node_1 = __importDefault(require("@sasjs/adapter/node"));
80
80
  var utils_1 = require("@sasjs/utils");
81
81
  var auth_1 = require("./auth");
@@ -863,7 +863,7 @@ function getAuthConfig(target) {
863
863
  else
864
864
  throw new Error("Client secret was not found.\n Please make sure that the 'secret' property is set in your local .env file or in the correct target authConfig in your global ~".concat(path_1.default.sep, ".sasjsrc file."));
865
865
  }
866
- if (!(0, auth_1.isAccessTokenExpiring)(access_token)) return [3 /*break*/, 7];
866
+ if (!(0, auth_1.isAccessTokenExpiring)(access_token)) return [3 /*break*/, 8];
867
867
  sasjs = new node_1.default({
868
868
  serverUrl: target.serverUrl,
869
869
  httpsAgentOptions: target.httpsAgentOptions,
@@ -882,8 +882,11 @@ function getAuthConfig(target) {
882
882
  case 6:
883
883
  access_token = (tokens === null || tokens === void 0 ? void 0 : tokens.access_token) || access_token;
884
884
  refresh_token = (tokens === null || tokens === void 0 ? void 0 : tokens.refresh_token) || refresh_token;
885
- _e.label = 7;
886
- case 7: return [2 /*return*/, {
885
+ return [4 /*yield*/, (0, exports.saveTokens)(target.name, client, secret, access_token, refresh_token || '')];
886
+ case 7:
887
+ _e.sent();
888
+ _e.label = 8;
889
+ case 8: return [2 /*return*/, {
887
890
  access_token: access_token,
888
891
  refresh_token: refresh_token,
889
892
  client: client,
@@ -894,6 +897,42 @@ function getAuthConfig(target) {
894
897
  });
895
898
  }
896
899
  exports.getAuthConfig = getAuthConfig;
900
+ var saveTokens = function (targetName, client, secret, access_token, refresh_token) { return __awaiter(void 0, void 0, void 0, function () {
901
+ var localConfig, isLocalTarget, envFileContent, envFilePath, globalConfig, target, targetJson;
902
+ var _a, _b, _c, _d;
903
+ return __generator(this, function (_e) {
904
+ switch (_e.label) {
905
+ case 0: return [4 /*yield*/, getLocalConfig()];
906
+ case 1:
907
+ localConfig = _e.sent();
908
+ isLocalTarget = (_a = localConfig.targets) === null || _a === void 0 ? void 0 : _a.some(function (t) { return t.name === targetName; });
909
+ if (!isLocalTarget) return [3 /*break*/, 3];
910
+ envFileContent = "CLIENT=".concat(client, "\nSECRET=").concat(secret, "\nACCESS_TOKEN=").concat(access_token, "\nREFRESH_TOKEN=").concat(refresh_token, "\n");
911
+ envFilePath = path_1.default.join(process.projectDir, ".env.".concat(targetName));
912
+ return [4 /*yield*/, (0, utils_1.createFile)(envFilePath, envFileContent)];
913
+ case 2:
914
+ _e.sent();
915
+ (_b = process.logger) === null || _b === void 0 ? void 0 : _b.success("Environment file saved at ".concat(envFilePath));
916
+ return [3 /*break*/, 6];
917
+ case 3: return [4 /*yield*/, getGlobalRcFile()];
918
+ case 4:
919
+ globalConfig = _e.sent();
920
+ target = (_c = globalConfig.targets) === null || _c === void 0 ? void 0 : _c.find(function (t) { return t.name === targetName; });
921
+ if (!target) {
922
+ throw new Error(ERROR_MESSAGE(targetName).NOT_FOUND_TARGET_NAME);
923
+ }
924
+ targetJson = target.toJson();
925
+ targetJson.authConfig = { client: client, secret: secret, access_token: access_token, refresh_token: refresh_token };
926
+ return [4 /*yield*/, saveToGlobalConfig(new utils_1.Target(targetJson), globalConfig.defaultTarget === targetName)];
927
+ case 5:
928
+ _e.sent();
929
+ (_d = process.logger) === null || _d === void 0 ? void 0 : _d.success("Target saved to global .sasjsrc file at ~/.sasjsrc.");
930
+ _e.label = 6;
931
+ case 6: return [2 /*return*/];
932
+ }
933
+ });
934
+ }); };
935
+ exports.saveTokens = saveTokens;
897
936
  /**
898
937
  * Gets the auth config for the specified SAS9 target.
899
938
  * @param {Target} target - the target to get an access token for.
package/package.json CHANGED
@@ -101,5 +101,5 @@
101
101
  "typescript": "4.5.4",
102
102
  "util": "0.12.4"
103
103
  },
104
- "version": "3.21.3"
104
+ "version": "3.21.4"
105
105
  }