@azure/storage-queue 12.30.0-alpha.20260310.1 → 12.31.0-beta.1
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.
- package/dist/browser/generated/src/storageClient.js +2 -2
- package/dist/browser/generated/src/storageClient.js.map +1 -1
- package/dist/browser/utils/constants.js +2 -2
- package/dist/browser/utils/constants.js.map +1 -1
- package/dist/browser/utils/utils.common.d.ts.map +1 -1
- package/dist/browser/utils/utils.common.js +14 -0
- package/dist/browser/utils/utils.common.js.map +1 -1
- package/dist/commonjs/AccountSASPermissions.js +1 -0
- package/dist/commonjs/AccountSASPermissions.js.map +1 -1
- package/dist/commonjs/AccountSASResourceTypes.js +1 -0
- package/dist/commonjs/AccountSASResourceTypes.js.map +1 -1
- package/dist/commonjs/AccountSASServices.js +1 -0
- package/dist/commonjs/AccountSASServices.js.map +1 -1
- package/dist/commonjs/AccountSASSignatureValues.js +1 -0
- package/dist/commonjs/AccountSASSignatureValues.js.map +1 -1
- package/dist/commonjs/Pipeline.js +1 -0
- package/dist/commonjs/Pipeline.js.map +1 -1
- package/dist/commonjs/QueueClient.js +1 -0
- package/dist/commonjs/QueueClient.js.map +1 -1
- package/dist/commonjs/QueueSASPermissions.js +1 -0
- package/dist/commonjs/QueueSASPermissions.js.map +1 -1
- package/dist/commonjs/QueueSASSignatureValues.js +1 -0
- package/dist/commonjs/QueueSASSignatureValues.js.map +1 -1
- package/dist/commonjs/QueueServiceClient.js +1 -0
- package/dist/commonjs/QueueServiceClient.js.map +1 -1
- package/dist/commonjs/SASQueryParameters.js +1 -0
- package/dist/commonjs/SASQueryParameters.js.map +1 -1
- package/dist/commonjs/SasIPRange.js +1 -0
- package/dist/commonjs/SasIPRange.js.map +1 -1
- package/dist/commonjs/StorageClient.js +1 -0
- package/dist/commonjs/StorageClient.js.map +1 -1
- package/dist/commonjs/StorageContextClient.js +1 -0
- package/dist/commonjs/StorageContextClient.js.map +1 -1
- package/dist/commonjs/generated/src/index.js +1 -0
- package/dist/commonjs/generated/src/index.js.map +1 -1
- package/dist/commonjs/generated/src/models/index.js +1 -0
- package/dist/commonjs/generated/src/models/index.js.map +1 -1
- package/dist/commonjs/generated/src/models/mappers.js +1 -0
- package/dist/commonjs/generated/src/models/mappers.js.map +1 -1
- package/dist/commonjs/generated/src/models/parameters.js +1 -0
- package/dist/commonjs/generated/src/models/parameters.js.map +1 -1
- package/dist/commonjs/generated/src/operations/index.js +1 -0
- package/dist/commonjs/generated/src/operations/index.js.map +1 -1
- package/dist/commonjs/generated/src/operations/messageId.js +1 -0
- package/dist/commonjs/generated/src/operations/messageId.js.map +1 -1
- package/dist/commonjs/generated/src/operations/messages.js +1 -0
- package/dist/commonjs/generated/src/operations/messages.js.map +1 -1
- package/dist/commonjs/generated/src/operations/queue.js +1 -0
- package/dist/commonjs/generated/src/operations/queue.js.map +1 -1
- package/dist/commonjs/generated/src/operations/service.js +1 -0
- package/dist/commonjs/generated/src/operations/service.js.map +1 -1
- package/dist/commonjs/generated/src/operationsInterfaces/index.js +1 -0
- package/dist/commonjs/generated/src/operationsInterfaces/index.js.map +1 -1
- package/dist/commonjs/generated/src/operationsInterfaces/messageId.js +1 -0
- package/dist/commonjs/generated/src/operationsInterfaces/messageId.js.map +1 -1
- package/dist/commonjs/generated/src/operationsInterfaces/messages.js +1 -0
- package/dist/commonjs/generated/src/operationsInterfaces/messages.js.map +1 -1
- package/dist/commonjs/generated/src/operationsInterfaces/queue.js +1 -0
- package/dist/commonjs/generated/src/operationsInterfaces/queue.js.map +1 -1
- package/dist/commonjs/generated/src/operationsInterfaces/service.js +1 -0
- package/dist/commonjs/generated/src/operationsInterfaces/service.js.map +1 -1
- package/dist/commonjs/generated/src/storageClient.js +3 -2
- package/dist/commonjs/generated/src/storageClient.js.map +2 -2
- package/dist/commonjs/generatedModels.js +1 -0
- package/dist/commonjs/generatedModels.js.map +1 -1
- package/dist/commonjs/index.js +1 -0
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/log.js +1 -0
- package/dist/commonjs/log.js.map +1 -1
- package/dist/commonjs/models.js +1 -0
- package/dist/commonjs/models.js.map +1 -1
- package/dist/commonjs/tsdoc-metadata.json +1 -1
- package/dist/commonjs/utils/constants.js +3 -2
- package/dist/commonjs/utils/constants.js.map +2 -2
- package/dist/commonjs/utils/tracing.js +1 -0
- package/dist/commonjs/utils/tracing.js.map +1 -1
- package/dist/commonjs/utils/utils.common.d.ts.map +1 -1
- package/dist/commonjs/utils/utils.common.js +14 -0
- package/dist/commonjs/utils/utils.common.js.map +3 -3
- package/dist/esm/AccountSASPermissions.js +123 -111
- package/dist/esm/AccountSASPermissions.js.map +1 -7
- package/dist/esm/AccountSASResourceTypes.js +67 -58
- package/dist/esm/AccountSASResourceTypes.js.map +1 -7
- package/dist/esm/AccountSASServices.js +75 -66
- package/dist/esm/AccountSASServices.js.map +1 -7
- package/dist/esm/AccountSASSignatureValues.js +63 -62
- package/dist/esm/AccountSASSignatureValues.js.map +1 -7
- package/dist/esm/Pipeline.js +239 -239
- package/dist/esm/Pipeline.js.map +1 -7
- package/dist/esm/QueueClient.js +671 -689
- package/dist/esm/QueueClient.js.map +1 -7
- package/dist/esm/QueueSASPermissions.js +77 -68
- package/dist/esm/QueueSASPermissions.js.map +1 -7
- package/dist/esm/QueueSASSignatureValues.js +103 -123
- package/dist/esm/QueueSASSignatureValues.js.map +1 -7
- package/dist/esm/QueueServiceClient.js +463 -505
- package/dist/esm/QueueServiceClient.js.map +1 -7
- package/dist/esm/SASQueryParameters.js +272 -283
- package/dist/esm/SASQueryParameters.js.map +1 -7
- package/dist/esm/SasIPRange.js +12 -5
- package/dist/esm/SasIPRange.js.map +1 -7
- package/dist/esm/StorageClient.js +59 -50
- package/dist/esm/StorageClient.js.map +1 -7
- package/dist/esm/StorageContextClient.js +15 -10
- package/dist/esm/StorageContextClient.js.map +1 -7
- package/dist/esm/generated/src/index.js +9 -4
- package/dist/esm/generated/src/index.js.map +1 -7
- package/dist/esm/generated/src/models/index.js +126 -63
- package/dist/esm/generated/src/models/index.js.map +1 -7
- package/dist/esm/generated/src/models/mappers.js +1827 -1873
- package/dist/esm/generated/src/models/mappers.js.map +1 -7
- package/dist/esm/generated/src/models/parameters.js +302 -330
- package/dist/esm/generated/src/models/parameters.js.map +1 -7
- package/dist/esm/generated/src/operations/index.js +8 -0
- package/dist/esm/generated/src/operations/index.js.map +1 -7
- package/dist/esm/generated/src/operations/messageId.js +92 -95
- package/dist/esm/generated/src/operations/messageId.js.map +1 -7
- package/dist/esm/generated/src/operations/messages.js +178 -178
- package/dist/esm/generated/src/operations/messages.js.map +1 -7
- package/dist/esm/generated/src/operations/queue.js +199 -208
- package/dist/esm/generated/src/operations/queue.js.map +1 -7
- package/dist/esm/generated/src/operations/service.js +192 -204
- package/dist/esm/generated/src/operations/service.js.map +1 -7
- package/dist/esm/generated/src/operationsInterfaces/index.js +8 -0
- package/dist/esm/generated/src/operationsInterfaces/index.js.map +1 -7
- package/dist/esm/generated/src/operationsInterfaces/messageId.js +9 -0
- package/dist/esm/generated/src/operationsInterfaces/messageId.js.map +1 -7
- package/dist/esm/generated/src/operationsInterfaces/messages.js +9 -0
- package/dist/esm/generated/src/operationsInterfaces/messages.js.map +1 -7
- package/dist/esm/generated/src/operationsInterfaces/queue.js +9 -0
- package/dist/esm/generated/src/operationsInterfaces/queue.js.map +1 -7
- package/dist/esm/generated/src/operationsInterfaces/service.js +9 -0
- package/dist/esm/generated/src/operationsInterfaces/service.js.map +1 -7
- package/dist/esm/generated/src/storageClient.js +54 -49
- package/dist/esm/generated/src/storageClient.js.map +1 -7
- package/dist/esm/generatedModels.js +4 -0
- package/dist/esm/generatedModels.js.map +1 -7
- package/dist/esm/index.js +10 -50
- package/dist/esm/index.js.map +1 -7
- package/dist/esm/log.js +7 -4
- package/dist/esm/log.js.map +1 -7
- package/dist/esm/models.js +18 -10
- package/dist/esm/models.js.map +1 -7
- package/dist/esm/utils/constants.js +111 -117
- package/dist/esm/utils/constants.js.map +1 -7
- package/dist/esm/utils/tracing.js +11 -7
- package/dist/esm/utils/tracing.js.map +1 -7
- package/dist/esm/utils/utils.common.d.ts.map +1 -1
- package/dist/esm/utils/utils.common.js +372 -247
- package/dist/esm/utils/utils.common.js.map +1 -7
- package/dist/react-native/generated/src/storageClient.js +2 -2
- package/dist/react-native/generated/src/storageClient.js.map +1 -1
- package/dist/react-native/utils/constants.js +2 -2
- package/dist/react-native/utils/constants.js.map +1 -1
- package/dist/react-native/utils/utils.common.d.ts.map +1 -1
- package/dist/react-native/utils/utils.common.js +14 -0
- package/dist/react-native/utils/utils.common.js.map +1 -1
- package/package.json +26 -22
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
1
3
|
import { AccountSASPermissions } from "./AccountSASPermissions.js";
|
|
2
4
|
import { AccountSASResourceTypes } from "./AccountSASResourceTypes.js";
|
|
3
5
|
import { AccountSASServices } from "./AccountSASServices.js";
|
|
@@ -5,67 +7,66 @@ import { ipRangeToString } from "./SasIPRange.js";
|
|
|
5
7
|
import { SASQueryParameters } from "./SASQueryParameters.js";
|
|
6
8
|
import { SERVICE_VERSION } from "./utils/constants.js";
|
|
7
9
|
import { truncatedISO8061Date } from "./utils/utils.common.js";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
/**
|
|
11
|
+
* ONLY AVAILABLE IN NODE.JS RUNTIME.
|
|
12
|
+
*
|
|
13
|
+
* Generates a {@link SASQueryParameters} object which contains all SAS query parameters needed to make an actual
|
|
14
|
+
* REST request.
|
|
15
|
+
*
|
|
16
|
+
* @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
|
|
17
|
+
*
|
|
18
|
+
* @param accountSASSignatureValues - SAS Signature values of the account
|
|
19
|
+
* @param sharedKeyCredential - Shared key credential.
|
|
20
|
+
*/
|
|
21
|
+
export function generateAccountSASQueryParameters(accountSASSignatureValues, sharedKeyCredential) {
|
|
22
|
+
return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential)
|
|
23
|
+
.sasQueryParameters;
|
|
10
24
|
}
|
|
11
|
-
function generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
parsedPermissions,
|
|
58
|
-
parsedServices,
|
|
59
|
-
parsedResourceTypes,
|
|
60
|
-
accountSASSignatureValues.protocol,
|
|
61
|
-
accountSASSignatureValues.startsOn,
|
|
62
|
-
accountSASSignatureValues.expiresOn,
|
|
63
|
-
accountSASSignatureValues.ipRange
|
|
64
|
-
),
|
|
65
|
-
stringToSign
|
|
66
|
-
};
|
|
25
|
+
export function generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential) {
|
|
26
|
+
const version = accountSASSignatureValues.version
|
|
27
|
+
? accountSASSignatureValues.version
|
|
28
|
+
: SERVICE_VERSION;
|
|
29
|
+
const parsedPermissions = AccountSASPermissions.parse(accountSASSignatureValues.permissions.toString()).toString();
|
|
30
|
+
const parsedServices = AccountSASServices.parse(accountSASSignatureValues.services).toString();
|
|
31
|
+
const parsedResourceTypes = AccountSASResourceTypes.parse(accountSASSignatureValues.resourceTypes).toString();
|
|
32
|
+
let stringToSign;
|
|
33
|
+
if (version >= "2020-12-06") {
|
|
34
|
+
stringToSign = [
|
|
35
|
+
sharedKeyCredential.accountName,
|
|
36
|
+
parsedPermissions,
|
|
37
|
+
parsedServices,
|
|
38
|
+
parsedResourceTypes,
|
|
39
|
+
accountSASSignatureValues.startsOn
|
|
40
|
+
? truncatedISO8061Date(accountSASSignatureValues.startsOn, false)
|
|
41
|
+
: "",
|
|
42
|
+
truncatedISO8061Date(accountSASSignatureValues.expiresOn, false),
|
|
43
|
+
accountSASSignatureValues.ipRange ? ipRangeToString(accountSASSignatureValues.ipRange) : "",
|
|
44
|
+
accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
|
|
45
|
+
version,
|
|
46
|
+
"", // Reserved for encryption scope
|
|
47
|
+
"", // Account SAS requires an additional newline character
|
|
48
|
+
].join("\n");
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
stringToSign = [
|
|
52
|
+
sharedKeyCredential.accountName,
|
|
53
|
+
parsedPermissions,
|
|
54
|
+
parsedServices,
|
|
55
|
+
parsedResourceTypes,
|
|
56
|
+
accountSASSignatureValues.startsOn
|
|
57
|
+
? truncatedISO8061Date(accountSASSignatureValues.startsOn, false)
|
|
58
|
+
: "",
|
|
59
|
+
truncatedISO8061Date(accountSASSignatureValues.expiresOn, false),
|
|
60
|
+
accountSASSignatureValues.ipRange ? ipRangeToString(accountSASSignatureValues.ipRange) : "",
|
|
61
|
+
accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
|
|
62
|
+
version,
|
|
63
|
+
"", // Account SAS requires an additional newline character
|
|
64
|
+
].join("\n");
|
|
65
|
+
}
|
|
66
|
+
const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
|
|
67
|
+
return {
|
|
68
|
+
sasQueryParameters: new SASQueryParameters(version, signature, parsedPermissions, parsedServices, parsedResourceTypes, accountSASSignatureValues.protocol, accountSASSignatureValues.startsOn, accountSASSignatureValues.expiresOn, accountSASSignatureValues.ipRange),
|
|
69
|
+
stringToSign: stringToSign,
|
|
70
|
+
};
|
|
67
71
|
}
|
|
68
|
-
|
|
69
|
-
generateAccountSASQueryParameters,
|
|
70
|
-
generateAccountSASQueryParametersInternal
|
|
71
|
-
};
|
|
72
|
+
//# sourceMappingURL=AccountSASSignatureValues.js.map
|
|
@@ -1,7 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["/mnt/vss/_work/1/s/sdk/storage/storage-queue/src/AccountSASSignatureValues.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AccountSASPermissions } from \"./AccountSASPermissions.js\";\nimport { AccountSASResourceTypes } from \"./AccountSASResourceTypes.js\";\nimport { AccountSASServices } from \"./AccountSASServices.js\";\nimport type { StorageSharedKeyCredential } from \"@azure/storage-common\";\nimport type { SasIPRange } from \"./SasIPRange.js\";\nimport { ipRangeToString } from \"./SasIPRange.js\";\nimport type { SASProtocol } from \"./SASQueryParameters.js\";\nimport { SASQueryParameters } from \"./SASQueryParameters.js\";\nimport { SERVICE_VERSION } from \"./utils/constants.js\";\nimport { truncatedISO8061Date } from \"./utils/utils.common.js\";\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * AccountSASSignatureValues is used to generate a Shared Access Signature (SAS) for an Azure Storage account. Once\n * all the values here are set appropriately, call generateSASQueryParameters() to obtain a representation of the SAS\n * which can actually be applied to queue urls. Note: that both this class and {@link SASQueryParameters} exist because\n * the former is mutable and a logical representation while the latter is immutable and used to generate actual REST\n * requests.\n *\n * @see https://learn.microsoft.com/azure/storage/common/storage-dotnet-shared-access-signature-part-1\n * for more conceptual information on SAS\n *\n * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas\n * for descriptions of the parameters, including which are required\n */\nexport interface AccountSASSignatureValues {\n /**\n * If not provided, this defaults to the service version targeted by this version of the library.\n */\n version?: string;\n\n /**\n * Optional. SAS protocols allowed.\n */\n protocol?: SASProtocol;\n\n /**\n * Optional. When the SAS will take effect.\n */\n startsOn?: Date;\n\n /**\n * The time after which the SAS will no longer work.\n */\n expiresOn: Date;\n\n /**\n * Specifies which operations the SAS user may perform. Please refer to {@link AccountSASPermissions} for help\n * constructing the permissions string.\n */\n permissions: AccountSASPermissions;\n\n /**\n * Optional. IP range allowed.\n */\n ipRange?: SasIPRange;\n\n /**\n * The values that indicate the services accessible with this SAS. Please refer to {@link AccountSASServices} to\n * construct this value.\n */\n services: string;\n\n /**\n * The values that indicate the resource types accessible with this SAS. Please refer\n * to {@link AccountSASResourceTypes} to construct this value.\n */\n resourceTypes: string;\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * Generates a {@link SASQueryParameters} object which contains all SAS query parameters needed to make an actual\n * REST request.\n *\n * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas\n *\n * @param accountSASSignatureValues - SAS Signature values of the account\n * @param sharedKeyCredential - Shared key credential.\n */\nexport function generateAccountSASQueryParameters(\n accountSASSignatureValues: AccountSASSignatureValues,\n sharedKeyCredential: StorageSharedKeyCredential,\n): SASQueryParameters {\n return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential)\n .sasQueryParameters;\n}\n\nexport function generateAccountSASQueryParametersInternal(\n accountSASSignatureValues: AccountSASSignatureValues,\n sharedKeyCredential: StorageSharedKeyCredential,\n): { sasQueryParameters: SASQueryParameters; stringToSign: string } {\n const version = accountSASSignatureValues.version\n ? accountSASSignatureValues.version\n : SERVICE_VERSION;\n\n const parsedPermissions = AccountSASPermissions.parse(\n accountSASSignatureValues.permissions.toString(),\n ).toString();\n const parsedServices = AccountSASServices.parse(accountSASSignatureValues.services).toString();\n const parsedResourceTypes = AccountSASResourceTypes.parse(\n accountSASSignatureValues.resourceTypes,\n ).toString();\n\n let stringToSign: string;\n\n if (version >= \"2020-12-06\") {\n stringToSign = [\n sharedKeyCredential.accountName,\n parsedPermissions,\n parsedServices,\n parsedResourceTypes,\n accountSASSignatureValues.startsOn\n ? truncatedISO8061Date(accountSASSignatureValues.startsOn, false)\n : \"\",\n truncatedISO8061Date(accountSASSignatureValues.expiresOn, false),\n accountSASSignatureValues.ipRange ? ipRangeToString(accountSASSignatureValues.ipRange) : \"\",\n accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : \"\",\n version,\n \"\", // Reserved for encryption scope\n \"\", // Account SAS requires an additional newline character\n ].join(\"\\n\");\n } else {\n stringToSign = [\n sharedKeyCredential.accountName,\n parsedPermissions,\n parsedServices,\n parsedResourceTypes,\n accountSASSignatureValues.startsOn\n ? truncatedISO8061Date(accountSASSignatureValues.startsOn, false)\n : \"\",\n truncatedISO8061Date(accountSASSignatureValues.expiresOn, false),\n accountSASSignatureValues.ipRange ? ipRangeToString(accountSASSignatureValues.ipRange) : \"\",\n accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : \"\",\n version,\n \"\", // Account SAS requires an additional newline character\n ].join(\"\\n\");\n }\n\n const signature: string = sharedKeyCredential.computeHMACSHA256(stringToSign);\n\n return {\n sasQueryParameters: new SASQueryParameters(\n version,\n signature,\n parsedPermissions,\n parsedServices,\n parsedResourceTypes,\n accountSASSignatureValues.protocol,\n accountSASSignatureValues.startsOn,\n accountSASSignatureValues.expiresOn,\n accountSASSignatureValues.ipRange,\n ),\n stringToSign: stringToSign,\n };\n}\n"],
|
|
5
|
-
"mappings": "AAGA,SAAS,6BAA6B;AACtC,SAAS,+BAA+B;AACxC,SAAS,0BAA0B;AAGnC,SAAS,uBAAuB;AAEhC,SAAS,0BAA0B;AACnC,SAAS,uBAAuB;AAChC,SAAS,4BAA4B;AAyE9B,SAAS,kCACd,2BACA,qBACoB;AACpB,SAAO,0CAA0C,2BAA2B,mBAAmB,EAC5F;AACL;AAEO,SAAS,0CACd,2BACA,qBACkE;AAClE,QAAM,UAAU,0BAA0B,UACtC,0BAA0B,UAC1B;AAEJ,QAAM,oBAAoB,sBAAsB;AAAA,IAC9C,0BAA0B,YAAY,SAAS;AAAA,EACjD,EAAE,SAAS;AACX,QAAM,iBAAiB,mBAAmB,MAAM,0BAA0B,QAAQ,EAAE,SAAS;AAC7F,QAAM,sBAAsB,wBAAwB;AAAA,IAClD,0BAA0B;AAAA,EAC5B,EAAE,SAAS;AAEX,MAAI;AAEJ,MAAI,WAAW,cAAc;AAC3B,mBAAe;AAAA,MACb,oBAAoB;AAAA,MACpB;AAAA,MACA;AAAA,MACA;AAAA,MACA,0BAA0B,WACtB,qBAAqB,0BAA0B,UAAU,KAAK,IAC9D;AAAA,MACJ,qBAAqB,0BAA0B,WAAW,KAAK;AAAA,MAC/D,0BAA0B,UAAU,gBAAgB,0BAA0B,OAAO,IAAI;AAAA,MACzF,0BAA0B,WAAW,0BAA0B,WAAW;AAAA,MAC1E;AAAA,MACA;AAAA;AAAA,MACA;AAAA;AAAA,IACF,EAAE,KAAK,IAAI;AAAA,EACb,OAAO;AACL,mBAAe;AAAA,MACb,oBAAoB;AAAA,MACpB;AAAA,MACA;AAAA,MACA;AAAA,MACA,0BAA0B,WACtB,qBAAqB,0BAA0B,UAAU,KAAK,IAC9D;AAAA,MACJ,qBAAqB,0BAA0B,WAAW,KAAK;AAAA,MAC/D,0BAA0B,UAAU,gBAAgB,0BAA0B,OAAO,IAAI;AAAA,MACzF,0BAA0B,WAAW,0BAA0B,WAAW;AAAA,MAC1E;AAAA,MACA;AAAA;AAAA,IACF,EAAE,KAAK,IAAI;AAAA,EACb;AAEA,QAAM,YAAoB,oBAAoB,kBAAkB,YAAY;AAE5E,SAAO;AAAA,IACL,oBAAoB,IAAI;AAAA,MACtB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,0BAA0B;AAAA,MAC1B,0BAA0B;AAAA,MAC1B,0BAA0B;AAAA,MAC1B,0BAA0B;AAAA,IAC5B;AAAA,IACA;AAAA,EACF;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
1
|
+
{"version":3,"file":"AccountSASSignatureValues.js","sourceRoot":"","sources":["../../src/AccountSASSignatureValues.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AccountSASPermissions } from \"./AccountSASPermissions.js\";\nimport { AccountSASResourceTypes } from \"./AccountSASResourceTypes.js\";\nimport { AccountSASServices } from \"./AccountSASServices.js\";\nimport type { StorageSharedKeyCredential } from \"@azure/storage-common\";\nimport type { SasIPRange } from \"./SasIPRange.js\";\nimport { ipRangeToString } from \"./SasIPRange.js\";\nimport type { SASProtocol } from \"./SASQueryParameters.js\";\nimport { SASQueryParameters } from \"./SASQueryParameters.js\";\nimport { SERVICE_VERSION } from \"./utils/constants.js\";\nimport { truncatedISO8061Date } from \"./utils/utils.common.js\";\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * AccountSASSignatureValues is used to generate a Shared Access Signature (SAS) for an Azure Storage account. Once\n * all the values here are set appropriately, call generateSASQueryParameters() to obtain a representation of the SAS\n * which can actually be applied to queue urls. Note: that both this class and {@link SASQueryParameters} exist because\n * the former is mutable and a logical representation while the latter is immutable and used to generate actual REST\n * requests.\n *\n * @see https://learn.microsoft.com/azure/storage/common/storage-dotnet-shared-access-signature-part-1\n * for more conceptual information on SAS\n *\n * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas\n * for descriptions of the parameters, including which are required\n */\nexport interface AccountSASSignatureValues {\n /**\n * If not provided, this defaults to the service version targeted by this version of the library.\n */\n version?: string;\n\n /**\n * Optional. SAS protocols allowed.\n */\n protocol?: SASProtocol;\n\n /**\n * Optional. When the SAS will take effect.\n */\n startsOn?: Date;\n\n /**\n * The time after which the SAS will no longer work.\n */\n expiresOn: Date;\n\n /**\n * Specifies which operations the SAS user may perform. Please refer to {@link AccountSASPermissions} for help\n * constructing the permissions string.\n */\n permissions: AccountSASPermissions;\n\n /**\n * Optional. IP range allowed.\n */\n ipRange?: SasIPRange;\n\n /**\n * The values that indicate the services accessible with this SAS. Please refer to {@link AccountSASServices} to\n * construct this value.\n */\n services: string;\n\n /**\n * The values that indicate the resource types accessible with this SAS. Please refer\n * to {@link AccountSASResourceTypes} to construct this value.\n */\n resourceTypes: string;\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * Generates a {@link SASQueryParameters} object which contains all SAS query parameters needed to make an actual\n * REST request.\n *\n * @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas\n *\n * @param accountSASSignatureValues - SAS Signature values of the account\n * @param sharedKeyCredential - Shared key credential.\n */\nexport function generateAccountSASQueryParameters(\n accountSASSignatureValues: AccountSASSignatureValues,\n sharedKeyCredential: StorageSharedKeyCredential,\n): SASQueryParameters {\n return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential)\n .sasQueryParameters;\n}\n\nexport function generateAccountSASQueryParametersInternal(\n accountSASSignatureValues: AccountSASSignatureValues,\n sharedKeyCredential: StorageSharedKeyCredential,\n): { sasQueryParameters: SASQueryParameters; stringToSign: string } {\n const version = accountSASSignatureValues.version\n ? accountSASSignatureValues.version\n : SERVICE_VERSION;\n\n const parsedPermissions = AccountSASPermissions.parse(\n accountSASSignatureValues.permissions.toString(),\n ).toString();\n const parsedServices = AccountSASServices.parse(accountSASSignatureValues.services).toString();\n const parsedResourceTypes = AccountSASResourceTypes.parse(\n accountSASSignatureValues.resourceTypes,\n ).toString();\n\n let stringToSign: string;\n\n if (version >= \"2020-12-06\") {\n stringToSign = [\n sharedKeyCredential.accountName,\n parsedPermissions,\n parsedServices,\n parsedResourceTypes,\n accountSASSignatureValues.startsOn\n ? truncatedISO8061Date(accountSASSignatureValues.startsOn, false)\n : \"\",\n truncatedISO8061Date(accountSASSignatureValues.expiresOn, false),\n accountSASSignatureValues.ipRange ? ipRangeToString(accountSASSignatureValues.ipRange) : \"\",\n accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : \"\",\n version,\n \"\", // Reserved for encryption scope\n \"\", // Account SAS requires an additional newline character\n ].join(\"\\n\");\n } else {\n stringToSign = [\n sharedKeyCredential.accountName,\n parsedPermissions,\n parsedServices,\n parsedResourceTypes,\n accountSASSignatureValues.startsOn\n ? truncatedISO8061Date(accountSASSignatureValues.startsOn, false)\n : \"\",\n truncatedISO8061Date(accountSASSignatureValues.expiresOn, false),\n accountSASSignatureValues.ipRange ? ipRangeToString(accountSASSignatureValues.ipRange) : \"\",\n accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : \"\",\n version,\n \"\", // Account SAS requires an additional newline character\n ].join(\"\\n\");\n }\n\n const signature: string = sharedKeyCredential.computeHMACSHA256(stringToSign);\n\n return {\n sasQueryParameters: new SASQueryParameters(\n version,\n signature,\n parsedPermissions,\n parsedServices,\n parsedResourceTypes,\n accountSASSignatureValues.protocol,\n accountSASSignatureValues.startsOn,\n accountSASSignatureValues.expiresOn,\n accountSASSignatureValues.ipRange,\n ),\n stringToSign: stringToSign,\n };\n}\n"]}
|