MCPcopy Create free account
hub / github.com/serverless/serverless / saveRcAuthenticatedUser

Function saveRcAuthenticatedUser

packages/sf-core/src/utils/fs/index.js:464–534  ·  view source on GitHub ↗
({
  userId,
  name,
  email,
  username,
  refreshToken,
  accessToken,
  idToken,
  expiresAt,
  defaultOrgName,
  accessKeyOrgName,
  accessKeyOfOrg,
  deleteUserInfo = false,
  baseFilename = 'serverless',
})

Source from the content-addressed store, hash-verified

462 * Will optionally update provided values, while preserving existing values.
463 */
464const saveRcAuthenticatedUser = async ({
465 userId,
466 name,
467 email,
468 username,
469 refreshToken,
470 accessToken,
471 idToken,
472 expiresAt,
473 defaultOrgName,
474 accessKeyOrgName,
475 accessKeyOfOrg,
476 deleteUserInfo = false,
477 baseFilename = 'serverless',
478}) => {
479 // Ensure userId is provided
480 if (!userId) {
481 throw new Error(`"userId" is required to update .${baseFilename}rc file`)
482 }
483
484 // Gets the .{baseFilename}rc file, or a default configuration if it doesn't exist
485 const config = await getRcConfig(baseFilename)
486
487 // Update config with user information
488 config.userId = userId
489 // Ensure these objects always exist
490 config.users = config.users || {}
491 config.users[userId] = config.users[userId] || {}
492 config.users[userId].userId = userId
493 config.users[userId].dashboard = config.users[userId].dashboard || {}
494 config.users[userId].dashboard.accessKeys =
495 config.users[userId].dashboard.accessKeys || {}
496 // Optionally update information, if provided
497 if (name) {
498 config.users[userId].name = name
499 }
500 if (email) {
501 config.users[userId].email = email
502 }
503 if (username) {
504 config.users[userId].username = username
505 }
506 if (idToken) {
507 config.users[userId].dashboard.idToken = idToken
508 }
509 if (refreshToken) {
510 config.users[userId].dashboard.refreshToken = refreshToken
511 }
512 if (expiresAt) {
513 config.users[userId].dashboard.expiresAt = expiresAt
514 }
515 if (accessToken) {
516 config.users[userId].dashboard.accessToken = accessToken
517 }
518 if (defaultOrgName) {
519 config.users[userId].defaultOrgName = defaultOrgName
520 }
521 // If both accessKeyOrgName and accessKeyOfOrg are provided, add them to the config

Callers 4

getAuthenticatedDataMethod · 0.90

Calls 3

getRcConfigFunction · 0.90
saveRcFileFunction · 0.90
getRcGlobalPathFunction · 0.90

Tested by

no test coverage detected