({
userId,
name,
email,
username,
refreshToken,
accessToken,
idToken,
expiresAt,
defaultOrgName,
accessKeyOrgName,
accessKeyOfOrg,
deleteUserInfo = false,
baseFilename = 'serverless',
})
| 462 | * Will optionally update provided values, while preserving existing values. |
| 463 | */ |
| 464 | const 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 |
no test coverage detected