fix: 修复配额说明重复和undefined问题
- 在editStorageForm中初始化oss_storage_quota_value和oss_quota_unit - 删除重复的旧配额说明块,保留新的当前配额设置显示 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
1
backend/node_modules/@aws-sdk/credential-provider-process/dist-es/ProcessCredentials.js
generated
vendored
Normal file
1
backend/node_modules/@aws-sdk/credential-provider-process/dist-es/ProcessCredentials.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
9
backend/node_modules/@aws-sdk/credential-provider-process/dist-es/fromProcess.js
generated
vendored
Normal file
9
backend/node_modules/@aws-sdk/credential-provider-process/dist-es/fromProcess.js
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
import { getProfileName, parseKnownFiles } from "@smithy/shared-ini-file-loader";
|
||||
import { resolveProcessCredentials } from "./resolveProcessCredentials";
|
||||
export const fromProcess = (init = {}) => async ({ callerClientConfig } = {}) => {
|
||||
init.logger?.debug("@aws-sdk/credential-provider-process - fromProcess");
|
||||
const profiles = await parseKnownFiles(init);
|
||||
return resolveProcessCredentials(getProfileName({
|
||||
profile: init.profile ?? callerClientConfig?.profile,
|
||||
}), profiles, init.logger);
|
||||
};
|
||||
30
backend/node_modules/@aws-sdk/credential-provider-process/dist-es/getValidatedProcessCredentials.js
generated
vendored
Normal file
30
backend/node_modules/@aws-sdk/credential-provider-process/dist-es/getValidatedProcessCredentials.js
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
import { setCredentialFeature } from "@aws-sdk/core/client";
|
||||
export const getValidatedProcessCredentials = (profileName, data, profiles) => {
|
||||
if (data.Version !== 1) {
|
||||
throw Error(`Profile ${profileName} credential_process did not return Version 1.`);
|
||||
}
|
||||
if (data.AccessKeyId === undefined || data.SecretAccessKey === undefined) {
|
||||
throw Error(`Profile ${profileName} credential_process returned invalid credentials.`);
|
||||
}
|
||||
if (data.Expiration) {
|
||||
const currentTime = new Date();
|
||||
const expireTime = new Date(data.Expiration);
|
||||
if (expireTime < currentTime) {
|
||||
throw Error(`Profile ${profileName} credential_process returned expired credentials.`);
|
||||
}
|
||||
}
|
||||
let accountId = data.AccountId;
|
||||
if (!accountId && profiles?.[profileName]?.aws_account_id) {
|
||||
accountId = profiles[profileName].aws_account_id;
|
||||
}
|
||||
const credentials = {
|
||||
accessKeyId: data.AccessKeyId,
|
||||
secretAccessKey: data.SecretAccessKey,
|
||||
...(data.SessionToken && { sessionToken: data.SessionToken }),
|
||||
...(data.Expiration && { expiration: new Date(data.Expiration) }),
|
||||
...(data.CredentialScope && { credentialScope: data.CredentialScope }),
|
||||
...(accountId && { accountId }),
|
||||
};
|
||||
setCredentialFeature(credentials, "CREDENTIALS_PROCESS", "w");
|
||||
return credentials;
|
||||
};
|
||||
1
backend/node_modules/@aws-sdk/credential-provider-process/dist-es/index.js
generated
vendored
Normal file
1
backend/node_modules/@aws-sdk/credential-provider-process/dist-es/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export * from "./fromProcess";
|
||||
36
backend/node_modules/@aws-sdk/credential-provider-process/dist-es/resolveProcessCredentials.js
generated
vendored
Normal file
36
backend/node_modules/@aws-sdk/credential-provider-process/dist-es/resolveProcessCredentials.js
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
import { CredentialsProviderError } from "@smithy/property-provider";
|
||||
import { externalDataInterceptor } from "@smithy/shared-ini-file-loader";
|
||||
import { exec } from "child_process";
|
||||
import { promisify } from "util";
|
||||
import { getValidatedProcessCredentials } from "./getValidatedProcessCredentials";
|
||||
export const resolveProcessCredentials = async (profileName, profiles, logger) => {
|
||||
const profile = profiles[profileName];
|
||||
if (profiles[profileName]) {
|
||||
const credentialProcess = profile["credential_process"];
|
||||
if (credentialProcess !== undefined) {
|
||||
const execPromise = promisify(externalDataInterceptor?.getTokenRecord?.().exec ?? exec);
|
||||
try {
|
||||
const { stdout } = await execPromise(credentialProcess);
|
||||
let data;
|
||||
try {
|
||||
data = JSON.parse(stdout.trim());
|
||||
}
|
||||
catch {
|
||||
throw Error(`Profile ${profileName} credential_process returned invalid JSON.`);
|
||||
}
|
||||
return getValidatedProcessCredentials(profileName, data, profiles);
|
||||
}
|
||||
catch (error) {
|
||||
throw new CredentialsProviderError(error.message, { logger });
|
||||
}
|
||||
}
|
||||
else {
|
||||
throw new CredentialsProviderError(`Profile ${profileName} did not contain credential_process.`, { logger });
|
||||
}
|
||||
}
|
||||
else {
|
||||
throw new CredentialsProviderError(`Profile ${profileName} could not be found in shared credentials file.`, {
|
||||
logger,
|
||||
});
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user