@scaleway/sdk-client
Version:
Scaleway SDK Client
24 lines (23 loc) • 1.14 kB
JavaScript
import { isAccessKey, isSecretKey } from "../internal/validations/string-validation.js";
const hasAuthenticationSecrets = (obj) => typeof obj.accessKey === "string" && obj.accessKey !== "" && typeof obj.secretKey === "string" && obj.secretKey !== "";
function assertValidAuthenticationSecrets(obj) {
if (!(obj.accessKey && obj.secretKey)) {
throw new Error(
`Invalid secrets, accessKey & secretKey must be defined. See https://www.scaleway.com/en/docs/identity-and-access-management/iam/how-to/create-api-keys/`
);
}
if (!isAccessKey(obj.accessKey)) {
throw new Error(
`Invalid access key format '${obj.accessKey}', expected SCWXXXXXXXXXXXXXXXXX format. See https://www.scaleway.com/en/docs/identity-and-access-management/iam/how-to/create-api-keys/`
);
}
if (!isSecretKey(obj.secretKey)) {
throw new Error(
`Invalid secret key format '${obj.secretKey}', expected a UUID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. See https://www.scaleway.com/en/docs/identity-and-access-management/iam/how-to/create-api-keys/`
);
}
}
export {
assertValidAuthenticationSecrets,
hasAuthenticationSecrets
};