@azure/storage-file-datalake 12.28.0-beta.1 → 12.28.0

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.
Files changed (236) hide show
  1. package/dist/browser/DataLakeFileSystemClient.js +123 -80
  2. package/dist/browser/DataLakeFileSystemClient.js.map +1 -1
  3. package/dist/browser/DataLakeLeaseClient.js +1 -0
  4. package/dist/browser/DataLakeLeaseClient.js.map +1 -1
  5. package/dist/browser/DataLakeServiceClient.js +22 -5
  6. package/dist/browser/DataLakeServiceClient.js.map +1 -1
  7. package/dist/browser/Pipeline.js +24 -15
  8. package/dist/browser/Pipeline.js.map +1 -1
  9. package/dist/browser/StorageClient.js +43 -3
  10. package/dist/browser/StorageClient.js.map +1 -1
  11. package/dist/browser/StorageContextClient.js +2 -3
  12. package/dist/browser/StorageContextClient.js.map +1 -1
  13. package/dist/browser/clients.js +246 -66
  14. package/dist/browser/clients.js.map +1 -1
  15. package/dist/browser/generated/src/operations/fileSystemOperations.js +1 -0
  16. package/dist/browser/generated/src/operations/fileSystemOperations.js.map +1 -1
  17. package/dist/browser/generated/src/operations/pathOperations.js +1 -0
  18. package/dist/browser/generated/src/operations/pathOperations.js.map +1 -1
  19. package/dist/browser/generated/src/operations/service.js +1 -0
  20. package/dist/browser/generated/src/operations/service.js.map +1 -1
  21. package/dist/browser/generated/src/storageClient.js +15 -4
  22. package/dist/browser/generated/src/storageClient.js.map +1 -1
  23. package/dist/browser/index-browser.d.mts.map +1 -1
  24. package/dist/browser/index-browser.mjs.map +1 -1
  25. package/dist/browser/index.d.ts +1 -1
  26. package/dist/browser/index.js +1 -1
  27. package/dist/browser/sas/AccountSASPermissions.js +32 -34
  28. package/dist/browser/sas/AccountSASPermissions.js.map +1 -1
  29. package/dist/browser/sas/AccountSASResourceTypes.js +12 -14
  30. package/dist/browser/sas/AccountSASResourceTypes.js.map +1 -1
  31. package/dist/browser/sas/AccountSASServices.js +16 -18
  32. package/dist/browser/sas/AccountSASServices.js.map +1 -1
  33. package/dist/browser/sas/DataLakeSASPermissions.js +39 -41
  34. package/dist/browser/sas/DataLakeSASPermissions.js.map +1 -1
  35. package/dist/browser/sas/DataLakeSASSignatureValues.js +3 -2
  36. package/dist/browser/sas/DataLakeSASSignatureValues.js.map +1 -1
  37. package/dist/browser/sas/DirectorySASPermissions.js +43 -45
  38. package/dist/browser/sas/DirectorySASPermissions.js.map +1 -1
  39. package/dist/browser/sas/FileSystemSASPermissions.js +43 -45
  40. package/dist/browser/sas/FileSystemSASPermissions.js.map +1 -1
  41. package/dist/browser/sas/SASQueryParameters.js +131 -2
  42. package/dist/browser/sas/SASQueryParameters.js.map +1 -1
  43. package/dist/browser/transforms.js +8 -1
  44. package/dist/browser/transforms.js.map +1 -1
  45. package/dist/browser/utils/Batch.js +29 -21
  46. package/dist/browser/utils/Batch.js.map +1 -1
  47. package/dist/browser/utils/BufferScheduler.js +70 -44
  48. package/dist/browser/utils/BufferScheduler.js.map +1 -1
  49. package/dist/browser/utils/DataLakeAclChangeFailedError.js +8 -0
  50. package/dist/browser/utils/DataLakeAclChangeFailedError.js.map +1 -1
  51. package/dist/browser/utils/PathClientInternal.js +4 -0
  52. package/dist/browser/utils/PathClientInternal.js.map +1 -1
  53. package/dist/browser/utils/constants.d.ts.map +1 -1
  54. package/dist/browser/utils/constants.js +1 -1
  55. package/dist/browser/utils/constants.js.map +1 -1
  56. package/dist/browser/utils/utils.common.js +2 -4
  57. package/dist/browser/utils/utils.common.js.map +1 -1
  58. package/dist/commonjs/DataLakeFileSystemClient.js +123 -80
  59. package/dist/commonjs/DataLakeFileSystemClient.js.map +1 -1
  60. package/dist/commonjs/DataLakeLeaseClient.js +1 -0
  61. package/dist/commonjs/DataLakeLeaseClient.js.map +1 -1
  62. package/dist/commonjs/DataLakeServiceClient.js +22 -5
  63. package/dist/commonjs/DataLakeServiceClient.js.map +1 -1
  64. package/dist/commonjs/Pipeline.js +32 -23
  65. package/dist/commonjs/Pipeline.js.map +1 -1
  66. package/dist/commonjs/StorageClient.js +43 -3
  67. package/dist/commonjs/StorageClient.js.map +1 -1
  68. package/dist/commonjs/StorageContextClient.js +2 -3
  69. package/dist/commonjs/StorageContextClient.js.map +1 -1
  70. package/dist/commonjs/clients.js +246 -66
  71. package/dist/commonjs/clients.js.map +1 -1
  72. package/dist/commonjs/credentials/UserDelegationKeyCredential.js +12 -0
  73. package/dist/commonjs/credentials/UserDelegationKeyCredential.js.map +1 -1
  74. package/dist/commonjs/generated/src/operations/fileSystemOperations.js +1 -0
  75. package/dist/commonjs/generated/src/operations/fileSystemOperations.js.map +1 -1
  76. package/dist/commonjs/generated/src/operations/pathOperations.js +1 -0
  77. package/dist/commonjs/generated/src/operations/pathOperations.js.map +1 -1
  78. package/dist/commonjs/generated/src/operations/service.js +1 -0
  79. package/dist/commonjs/generated/src/operations/service.js.map +1 -1
  80. package/dist/commonjs/generated/src/storageClient.js +15 -4
  81. package/dist/commonjs/generated/src/storageClient.js.map +1 -1
  82. package/dist/commonjs/sas/AccountSASPermissions.js +32 -34
  83. package/dist/commonjs/sas/AccountSASPermissions.js.map +1 -1
  84. package/dist/commonjs/sas/AccountSASResourceTypes.js +12 -14
  85. package/dist/commonjs/sas/AccountSASResourceTypes.js.map +1 -1
  86. package/dist/commonjs/sas/AccountSASServices.js +16 -18
  87. package/dist/commonjs/sas/AccountSASServices.js.map +1 -1
  88. package/dist/commonjs/sas/DataLakeSASPermissions.js +39 -41
  89. package/dist/commonjs/sas/DataLakeSASPermissions.js.map +1 -1
  90. package/dist/commonjs/sas/DataLakeSASSignatureValues.js +3 -2
  91. package/dist/commonjs/sas/DataLakeSASSignatureValues.js.map +1 -1
  92. package/dist/commonjs/sas/DirectorySASPermissions.js +43 -45
  93. package/dist/commonjs/sas/DirectorySASPermissions.js.map +1 -1
  94. package/dist/commonjs/sas/FileSystemSASPermissions.js +43 -45
  95. package/dist/commonjs/sas/FileSystemSASPermissions.js.map +1 -1
  96. package/dist/commonjs/sas/SASQueryParameters.js +131 -2
  97. package/dist/commonjs/sas/SASQueryParameters.js.map +1 -1
  98. package/dist/commonjs/transforms.js +8 -1
  99. package/dist/commonjs/transforms.js.map +1 -1
  100. package/dist/commonjs/tsdoc-metadata.json +11 -11
  101. package/dist/commonjs/utils/Batch.js +29 -21
  102. package/dist/commonjs/utils/Batch.js.map +1 -1
  103. package/dist/commonjs/utils/BufferScheduler.js +70 -44
  104. package/dist/commonjs/utils/BufferScheduler.js.map +1 -1
  105. package/dist/commonjs/utils/DataLakeAclChangeFailedError.js +8 -0
  106. package/dist/commonjs/utils/DataLakeAclChangeFailedError.js.map +1 -1
  107. package/dist/commonjs/utils/PathClientInternal.js +4 -0
  108. package/dist/commonjs/utils/PathClientInternal.js.map +1 -1
  109. package/dist/commonjs/utils/constants.d.ts.map +1 -1
  110. package/dist/commonjs/utils/constants.js +1 -1
  111. package/dist/commonjs/utils/constants.js.map +1 -1
  112. package/dist/commonjs/utils/utils.common.js +2 -4
  113. package/dist/commonjs/utils/utils.common.js.map +1 -1
  114. package/dist/commonjs/utils/utils.d.ts +1 -1
  115. package/dist/commonjs/utils/utils.d.ts.map +1 -1
  116. package/dist/commonjs/utils/utils.js +4 -4
  117. package/dist/commonjs/utils/utils.js.map +1 -1
  118. package/dist/esm/DataLakeFileSystemClient.js +123 -80
  119. package/dist/esm/DataLakeFileSystemClient.js.map +1 -1
  120. package/dist/esm/DataLakeLeaseClient.js +1 -0
  121. package/dist/esm/DataLakeLeaseClient.js.map +1 -1
  122. package/dist/esm/DataLakeServiceClient.js +22 -5
  123. package/dist/esm/DataLakeServiceClient.js.map +1 -1
  124. package/dist/esm/Pipeline.js +24 -15
  125. package/dist/esm/Pipeline.js.map +1 -1
  126. package/dist/esm/StorageClient.js +43 -3
  127. package/dist/esm/StorageClient.js.map +1 -1
  128. package/dist/esm/StorageContextClient.js +2 -3
  129. package/dist/esm/StorageContextClient.js.map +1 -1
  130. package/dist/esm/clients.js +246 -66
  131. package/dist/esm/clients.js.map +1 -1
  132. package/dist/esm/credentials/UserDelegationKeyCredential.js +12 -0
  133. package/dist/esm/credentials/UserDelegationKeyCredential.js.map +1 -1
  134. package/dist/esm/generated/src/operations/fileSystemOperations.js +1 -0
  135. package/dist/esm/generated/src/operations/fileSystemOperations.js.map +1 -1
  136. package/dist/esm/generated/src/operations/pathOperations.js +1 -0
  137. package/dist/esm/generated/src/operations/pathOperations.js.map +1 -1
  138. package/dist/esm/generated/src/operations/service.js +1 -0
  139. package/dist/esm/generated/src/operations/service.js.map +1 -1
  140. package/dist/esm/generated/src/storageClient.js +15 -4
  141. package/dist/esm/generated/src/storageClient.js.map +1 -1
  142. package/dist/esm/sas/AccountSASPermissions.js +32 -34
  143. package/dist/esm/sas/AccountSASPermissions.js.map +1 -1
  144. package/dist/esm/sas/AccountSASResourceTypes.js +12 -14
  145. package/dist/esm/sas/AccountSASResourceTypes.js.map +1 -1
  146. package/dist/esm/sas/AccountSASServices.js +16 -18
  147. package/dist/esm/sas/AccountSASServices.js.map +1 -1
  148. package/dist/esm/sas/DataLakeSASPermissions.js +39 -41
  149. package/dist/esm/sas/DataLakeSASPermissions.js.map +1 -1
  150. package/dist/esm/sas/DataLakeSASSignatureValues.js +3 -2
  151. package/dist/esm/sas/DataLakeSASSignatureValues.js.map +1 -1
  152. package/dist/esm/sas/DirectorySASPermissions.js +43 -45
  153. package/dist/esm/sas/DirectorySASPermissions.js.map +1 -1
  154. package/dist/esm/sas/FileSystemSASPermissions.js +43 -45
  155. package/dist/esm/sas/FileSystemSASPermissions.js.map +1 -1
  156. package/dist/esm/sas/SASQueryParameters.js +131 -2
  157. package/dist/esm/sas/SASQueryParameters.js.map +1 -1
  158. package/dist/esm/transforms.js +8 -1
  159. package/dist/esm/transforms.js.map +1 -1
  160. package/dist/esm/utils/Batch.js +29 -21
  161. package/dist/esm/utils/Batch.js.map +1 -1
  162. package/dist/esm/utils/BufferScheduler.js +70 -44
  163. package/dist/esm/utils/BufferScheduler.js.map +1 -1
  164. package/dist/esm/utils/DataLakeAclChangeFailedError.js +8 -0
  165. package/dist/esm/utils/DataLakeAclChangeFailedError.js.map +1 -1
  166. package/dist/esm/utils/PathClientInternal.js +4 -0
  167. package/dist/esm/utils/PathClientInternal.js.map +1 -1
  168. package/dist/esm/utils/constants.d.ts.map +1 -1
  169. package/dist/esm/utils/constants.js +1 -1
  170. package/dist/esm/utils/constants.js.map +1 -1
  171. package/dist/esm/utils/utils.common.js +2 -4
  172. package/dist/esm/utils/utils.common.js.map +1 -1
  173. package/dist/esm/utils/utils.d.ts +1 -1
  174. package/dist/esm/utils/utils.d.ts.map +1 -1
  175. package/dist/esm/utils/utils.js +2 -2
  176. package/dist/esm/utils/utils.js.map +1 -1
  177. package/dist/react-native/DataLakeFileSystemClient.js +123 -80
  178. package/dist/react-native/DataLakeFileSystemClient.js.map +1 -1
  179. package/dist/react-native/DataLakeLeaseClient.js +1 -0
  180. package/dist/react-native/DataLakeLeaseClient.js.map +1 -1
  181. package/dist/react-native/DataLakeServiceClient.js +22 -5
  182. package/dist/react-native/DataLakeServiceClient.js.map +1 -1
  183. package/dist/react-native/Pipeline.js +24 -15
  184. package/dist/react-native/Pipeline.js.map +1 -1
  185. package/dist/react-native/StorageClient.js +43 -3
  186. package/dist/react-native/StorageClient.js.map +1 -1
  187. package/dist/react-native/StorageContextClient.js +2 -3
  188. package/dist/react-native/StorageContextClient.js.map +1 -1
  189. package/dist/react-native/clients.js +246 -66
  190. package/dist/react-native/clients.js.map +1 -1
  191. package/dist/react-native/credentials/UserDelegationKeyCredential.js +12 -0
  192. package/dist/react-native/credentials/UserDelegationKeyCredential.js.map +1 -1
  193. package/dist/react-native/generated/src/operations/fileSystemOperations.js +1 -0
  194. package/dist/react-native/generated/src/operations/fileSystemOperations.js.map +1 -1
  195. package/dist/react-native/generated/src/operations/pathOperations.js +1 -0
  196. package/dist/react-native/generated/src/operations/pathOperations.js.map +1 -1
  197. package/dist/react-native/generated/src/operations/service.js +1 -0
  198. package/dist/react-native/generated/src/operations/service.js.map +1 -1
  199. package/dist/react-native/generated/src/storageClient.js +15 -4
  200. package/dist/react-native/generated/src/storageClient.js.map +1 -1
  201. package/dist/react-native/sas/AccountSASPermissions.js +32 -34
  202. package/dist/react-native/sas/AccountSASPermissions.js.map +1 -1
  203. package/dist/react-native/sas/AccountSASResourceTypes.js +12 -14
  204. package/dist/react-native/sas/AccountSASResourceTypes.js.map +1 -1
  205. package/dist/react-native/sas/AccountSASServices.js +16 -18
  206. package/dist/react-native/sas/AccountSASServices.js.map +1 -1
  207. package/dist/react-native/sas/DataLakeSASPermissions.js +39 -41
  208. package/dist/react-native/sas/DataLakeSASPermissions.js.map +1 -1
  209. package/dist/react-native/sas/DataLakeSASSignatureValues.js +3 -2
  210. package/dist/react-native/sas/DataLakeSASSignatureValues.js.map +1 -1
  211. package/dist/react-native/sas/DirectorySASPermissions.js +43 -45
  212. package/dist/react-native/sas/DirectorySASPermissions.js.map +1 -1
  213. package/dist/react-native/sas/FileSystemSASPermissions.js +43 -45
  214. package/dist/react-native/sas/FileSystemSASPermissions.js.map +1 -1
  215. package/dist/react-native/sas/SASQueryParameters.js +131 -2
  216. package/dist/react-native/sas/SASQueryParameters.js.map +1 -1
  217. package/dist/react-native/transforms.js +8 -1
  218. package/dist/react-native/transforms.js.map +1 -1
  219. package/dist/react-native/utils/Batch.js +29 -21
  220. package/dist/react-native/utils/Batch.js.map +1 -1
  221. package/dist/react-native/utils/BufferScheduler.js +70 -44
  222. package/dist/react-native/utils/BufferScheduler.js.map +1 -1
  223. package/dist/react-native/utils/DataLakeAclChangeFailedError.js +8 -0
  224. package/dist/react-native/utils/DataLakeAclChangeFailedError.js.map +1 -1
  225. package/dist/react-native/utils/PathClientInternal.js +4 -0
  226. package/dist/react-native/utils/PathClientInternal.js.map +1 -1
  227. package/dist/react-native/utils/constants.d.ts.map +1 -1
  228. package/dist/react-native/utils/constants.js +1 -1
  229. package/dist/react-native/utils/constants.js.map +1 -1
  230. package/dist/react-native/utils/utils.common.js +2 -4
  231. package/dist/react-native/utils/utils.common.js.map +1 -1
  232. package/dist/react-native/utils/utils.d.ts +1 -1
  233. package/dist/react-native/utils/utils.d.ts.map +1 -1
  234. package/dist/react-native/utils/utils.js +2 -2
  235. package/dist/react-native/utils/utils.js.map +1 -1
  236. package/package.json +36 -36
@@ -8,51 +8,6 @@
8
8
  * the order of the permissions is particular and this class guarantees correctness.
9
9
  */
10
10
  export class DirectorySASPermissions {
11
- constructor() {
12
- /**
13
- * Specifies Read access granted.
14
- */
15
- this.read = false;
16
- /**
17
- * Specifies Add access granted.
18
- */
19
- this.add = false;
20
- /**
21
- * Specifies Create access granted.
22
- */
23
- this.create = false;
24
- /**
25
- * Specifies Write access granted.
26
- */
27
- this.write = false;
28
- /**
29
- * Specifies Delete access granted.
30
- */
31
- this.delete = false;
32
- /**
33
- * Specifies List access granted.
34
- */
35
- this.list = false;
36
- /**
37
- * Specifies Move access granted.
38
- */
39
- this.move = false;
40
- /**
41
- * Specifies Execute access granted.
42
- */
43
- this.execute = false;
44
- /**
45
- * Specifies Ownership access granted, which allows the caller to set owner, owning group,
46
- * or act as the owner when renaming or deleting a blob (file or directory) within a folder
47
- * that has the sticky bit set.
48
- */
49
- this.manageOwnership = false;
50
- /**
51
- * Specifies Permission access granted, which allows the caller to set permissions and
52
- * POSIX ACLs on blobs (files and directories).
53
- */
54
- this.manageAccessControl = false;
55
- }
56
11
  /**
57
12
  * Creates an {@link DirectorySASPermissions} from the specified permissions string. This method will throw an
58
13
  * Error if it encounters a character that does not correspond to a valid permission.
@@ -99,6 +54,49 @@ export class DirectorySASPermissions {
99
54
  }
100
55
  return directorySASPermissions;
101
56
  }
57
+ /**
58
+ * Specifies Read access granted.
59
+ */
60
+ read = false;
61
+ /**
62
+ * Specifies Add access granted.
63
+ */
64
+ add = false;
65
+ /**
66
+ * Specifies Create access granted.
67
+ */
68
+ create = false;
69
+ /**
70
+ * Specifies Write access granted.
71
+ */
72
+ write = false;
73
+ /**
74
+ * Specifies Delete access granted.
75
+ */
76
+ delete = false;
77
+ /**
78
+ * Specifies List access granted.
79
+ */
80
+ list = false;
81
+ /**
82
+ * Specifies Move access granted.
83
+ */
84
+ move = false;
85
+ /**
86
+ * Specifies Execute access granted.
87
+ */
88
+ execute = false;
89
+ /**
90
+ * Specifies Ownership access granted, which allows the caller to set owner, owning group,
91
+ * or act as the owner when renaming or deleting a blob (file or directory) within a folder
92
+ * that has the sticky bit set.
93
+ */
94
+ manageOwnership = false;
95
+ /**
96
+ * Specifies Permission access granted, which allows the caller to set permissions and
97
+ * POSIX ACLs on blobs (files and directories).
98
+ */
99
+ manageAccessControl = false;
102
100
  /**
103
101
  * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
104
102
  * order accepted by the service.
@@ -1 +1 @@
1
- {"version":3,"file":"DirectorySASPermissions.js","sourceRoot":"","sources":["../../../src/sas/DirectorySASPermissions.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * This is a helper class to construct a string representing the permissions granted by a ServiceSAS to a directory.\n * Setting a value to true means that any SAS which uses these permissions will grant permissions for that operation.\n * Once all the values are set, this should be serialized with toString and set as the permissions field on a\n * {@link DataLakeSASSignatureValues} object. It is possible to construct the permissions string without this class, but\n * the order of the permissions is particular and this class guarantees correctness.\n */\nexport class DirectorySASPermissions {\n /**\n * Creates an {@link DirectorySASPermissions} from the specified permissions string. This method will throw an\n * Error if it encounters a character that does not correspond to a valid permission.\n *\n * @param permissions -\n */\n public static parse(permissions: string): DirectorySASPermissions {\n const directorySASPermissions = new DirectorySASPermissions();\n\n for (const char of permissions) {\n switch (char) {\n case \"r\":\n directorySASPermissions.read = true;\n break;\n case \"a\":\n directorySASPermissions.add = true;\n break;\n case \"c\":\n directorySASPermissions.create = true;\n break;\n case \"w\":\n directorySASPermissions.write = true;\n break;\n case \"d\":\n directorySASPermissions.delete = true;\n break;\n case \"l\":\n directorySASPermissions.list = true;\n break;\n case \"m\":\n directorySASPermissions.move = true;\n break;\n case \"e\":\n directorySASPermissions.execute = true;\n break;\n case \"o\":\n directorySASPermissions.manageOwnership = true;\n break;\n case \"p\":\n directorySASPermissions.manageAccessControl = true;\n break;\n default:\n throw new RangeError(`Invalid permission ${char}`);\n }\n }\n\n return directorySASPermissions;\n }\n\n /**\n * Specifies Read access granted.\n */\n public read: boolean = false;\n\n /**\n * Specifies Add access granted.\n */\n public add: boolean = false;\n\n /**\n * Specifies Create access granted.\n */\n public create: boolean = false;\n\n /**\n * Specifies Write access granted.\n */\n public write: boolean = false;\n\n /**\n * Specifies Delete access granted.\n */\n public delete: boolean = false;\n\n /**\n * Specifies List access granted.\n */\n public list: boolean = false;\n\n /**\n * Specifies Move access granted.\n */\n public move: boolean = false;\n\n /**\n * Specifies Execute access granted.\n */\n public execute: boolean = false;\n\n /**\n * Specifies Ownership access granted, which allows the caller to set owner, owning group,\n * or act as the owner when renaming or deleting a blob (file or directory) within a folder\n * that has the sticky bit set.\n */\n public manageOwnership: boolean = false;\n\n /**\n * Specifies Permission access granted, which allows the caller to set permissions and\n * POSIX ACLs on blobs (files and directories).\n */\n public manageAccessControl: boolean = false;\n\n /**\n * Converts the given permissions to a string. Using this method will guarantee the permissions are in an\n * order accepted by the service.\n *\n * The order of the characters should be as specified here to ensure correctness.\n * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas\n *\n */\n public toString(): string {\n const permissions: string[] = [];\n if (this.read) {\n permissions.push(\"r\");\n }\n if (this.add) {\n permissions.push(\"a\");\n }\n if (this.create) {\n permissions.push(\"c\");\n }\n if (this.write) {\n permissions.push(\"w\");\n }\n if (this.delete) {\n permissions.push(\"d\");\n }\n if (this.list) {\n permissions.push(\"l\");\n }\n if (this.move) {\n permissions.push(\"m\");\n }\n if (this.execute) {\n permissions.push(\"e\");\n }\n if (this.manageOwnership) {\n permissions.push(\"o\");\n }\n if (this.manageAccessControl) {\n permissions.push(\"p\");\n }\n return permissions.join(\"\");\n }\n}\n"]}
1
+ {"version":3,"file":"DirectorySASPermissions.js","sourceRoot":"","sources":["../../../src/sas/DirectorySASPermissions.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * This is a helper class to construct a string representing the permissions granted by a ServiceSAS to a directory.\n * Setting a value to true means that any SAS which uses these permissions will grant permissions for that operation.\n * Once all the values are set, this should be serialized with toString and set as the permissions field on a\n * {@link DataLakeSASSignatureValues} object. It is possible to construct the permissions string without this class, but\n * the order of the permissions is particular and this class guarantees correctness.\n */\nexport class DirectorySASPermissions {\n /**\n * Creates an {@link DirectorySASPermissions} from the specified permissions string. This method will throw an\n * Error if it encounters a character that does not correspond to a valid permission.\n *\n * @param permissions -\n */\n public static parse(permissions: string): DirectorySASPermissions {\n const directorySASPermissions = new DirectorySASPermissions();\n\n for (const char of permissions) {\n switch (char) {\n case \"r\":\n directorySASPermissions.read = true;\n break;\n case \"a\":\n directorySASPermissions.add = true;\n break;\n case \"c\":\n directorySASPermissions.create = true;\n break;\n case \"w\":\n directorySASPermissions.write = true;\n break;\n case \"d\":\n directorySASPermissions.delete = true;\n break;\n case \"l\":\n directorySASPermissions.list = true;\n break;\n case \"m\":\n directorySASPermissions.move = true;\n break;\n case \"e\":\n directorySASPermissions.execute = true;\n break;\n case \"o\":\n directorySASPermissions.manageOwnership = true;\n break;\n case \"p\":\n directorySASPermissions.manageAccessControl = true;\n break;\n default:\n throw new RangeError(`Invalid permission ${char}`);\n }\n }\n\n return directorySASPermissions;\n }\n\n /**\n * Specifies Read access granted.\n */\n public read: boolean = false;\n\n /**\n * Specifies Add access granted.\n */\n public add: boolean = false;\n\n /**\n * Specifies Create access granted.\n */\n public create: boolean = false;\n\n /**\n * Specifies Write access granted.\n */\n public write: boolean = false;\n\n /**\n * Specifies Delete access granted.\n */\n public delete: boolean = false;\n\n /**\n * Specifies List access granted.\n */\n public list: boolean = false;\n\n /**\n * Specifies Move access granted.\n */\n public move: boolean = false;\n\n /**\n * Specifies Execute access granted.\n */\n public execute: boolean = false;\n\n /**\n * Specifies Ownership access granted, which allows the caller to set owner, owning group,\n * or act as the owner when renaming or deleting a blob (file or directory) within a folder\n * that has the sticky bit set.\n */\n public manageOwnership: boolean = false;\n\n /**\n * Specifies Permission access granted, which allows the caller to set permissions and\n * POSIX ACLs on blobs (files and directories).\n */\n public manageAccessControl: boolean = false;\n\n /**\n * Converts the given permissions to a string. Using this method will guarantee the permissions are in an\n * order accepted by the service.\n *\n * The order of the characters should be as specified here to ensure correctness.\n * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas\n *\n */\n public toString(): string {\n const permissions: string[] = [];\n if (this.read) {\n permissions.push(\"r\");\n }\n if (this.add) {\n permissions.push(\"a\");\n }\n if (this.create) {\n permissions.push(\"c\");\n }\n if (this.write) {\n permissions.push(\"w\");\n }\n if (this.delete) {\n permissions.push(\"d\");\n }\n if (this.list) {\n permissions.push(\"l\");\n }\n if (this.move) {\n permissions.push(\"m\");\n }\n if (this.execute) {\n permissions.push(\"e\");\n }\n if (this.manageOwnership) {\n permissions.push(\"o\");\n }\n if (this.manageAccessControl) {\n permissions.push(\"p\");\n }\n return permissions.join(\"\");\n }\n}\n"]}
@@ -8,51 +8,6 @@
8
8
  * the order of the permissions is particular and this class guarantees correctness.
9
9
  */
10
10
  export class FileSystemSASPermissions {
11
- constructor() {
12
- /**
13
- * Specifies Read access granted.
14
- */
15
- this.read = false;
16
- /**
17
- * Specifies Add access granted.
18
- */
19
- this.add = false;
20
- /**
21
- * Specifies Create access granted.
22
- */
23
- this.create = false;
24
- /**
25
- * Specifies Write access granted.
26
- */
27
- this.write = false;
28
- /**
29
- * Specifies Delete access granted.
30
- */
31
- this.delete = false;
32
- /**
33
- * Specifies List access granted.
34
- */
35
- this.list = false;
36
- /**
37
- * Specifies Move access granted.
38
- */
39
- this.move = false;
40
- /**
41
- * Specifies Execute access granted.
42
- */
43
- this.execute = false;
44
- /**
45
- * Specifies Ownership access granted, which allows the caller to set owner, owning group,
46
- * or act as the owner when renaming or deleting a blob (file or directory) within a folder
47
- * that has the sticky bit set.
48
- */
49
- this.manageOwnership = false;
50
- /**
51
- * Specifies Permission access granted, which allows the caller to set permissions and
52
- * POSIX ACLs on blobs (files and directories).
53
- */
54
- this.manageAccessControl = false;
55
- }
56
11
  /**
57
12
  * Creates an {@link FileSystemSASPermissions} from the specified permissions string. This method will throw an
58
13
  * Error if it encounters a character that does not correspond to a valid permission.
@@ -99,6 +54,49 @@ export class FileSystemSASPermissions {
99
54
  }
100
55
  return containerSASPermissions;
101
56
  }
57
+ /**
58
+ * Specifies Read access granted.
59
+ */
60
+ read = false;
61
+ /**
62
+ * Specifies Add access granted.
63
+ */
64
+ add = false;
65
+ /**
66
+ * Specifies Create access granted.
67
+ */
68
+ create = false;
69
+ /**
70
+ * Specifies Write access granted.
71
+ */
72
+ write = false;
73
+ /**
74
+ * Specifies Delete access granted.
75
+ */
76
+ delete = false;
77
+ /**
78
+ * Specifies List access granted.
79
+ */
80
+ list = false;
81
+ /**
82
+ * Specifies Move access granted.
83
+ */
84
+ move = false;
85
+ /**
86
+ * Specifies Execute access granted.
87
+ */
88
+ execute = false;
89
+ /**
90
+ * Specifies Ownership access granted, which allows the caller to set owner, owning group,
91
+ * or act as the owner when renaming or deleting a blob (file or directory) within a folder
92
+ * that has the sticky bit set.
93
+ */
94
+ manageOwnership = false;
95
+ /**
96
+ * Specifies Permission access granted, which allows the caller to set permissions and
97
+ * POSIX ACLs on blobs (files and directories).
98
+ */
99
+ manageAccessControl = false;
102
100
  /**
103
101
  * Converts the given permissions to a string. Using this method will guarantee the permissions are in an
104
102
  * order accepted by the service.
@@ -1 +1 @@
1
- {"version":3,"file":"FileSystemSASPermissions.js","sourceRoot":"","sources":["../../../src/sas/FileSystemSASPermissions.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * This is a helper class to construct a string representing the permissions granted by a ServiceSAS to a container.\n * Setting a value to true means that any SAS which uses these permissions will grant permissions for that operation.\n * Once all the values are set, this should be serialized with toString and set as the permissions field on a\n * {@link DataLakeSASSignatureValues} object. It is possible to construct the permissions string without this class, but\n * the order of the permissions is particular and this class guarantees correctness.\n */\nexport class FileSystemSASPermissions {\n /**\n * Creates an {@link FileSystemSASPermissions} from the specified permissions string. This method will throw an\n * Error if it encounters a character that does not correspond to a valid permission.\n *\n * @param permissions -\n */\n public static parse(permissions: string): FileSystemSASPermissions {\n const containerSASPermissions = new FileSystemSASPermissions();\n\n for (const char of permissions) {\n switch (char) {\n case \"r\":\n containerSASPermissions.read = true;\n break;\n case \"a\":\n containerSASPermissions.add = true;\n break;\n case \"c\":\n containerSASPermissions.create = true;\n break;\n case \"w\":\n containerSASPermissions.write = true;\n break;\n case \"d\":\n containerSASPermissions.delete = true;\n break;\n case \"l\":\n containerSASPermissions.list = true;\n break;\n case \"m\":\n containerSASPermissions.move = true;\n break;\n case \"e\":\n containerSASPermissions.execute = true;\n break;\n case \"o\":\n containerSASPermissions.manageOwnership = true;\n break;\n case \"p\":\n containerSASPermissions.manageAccessControl = true;\n break;\n default:\n throw new RangeError(`Invalid permission ${char}`);\n }\n }\n\n return containerSASPermissions;\n }\n\n /**\n * Specifies Read access granted.\n */\n public read: boolean = false;\n\n /**\n * Specifies Add access granted.\n */\n public add: boolean = false;\n\n /**\n * Specifies Create access granted.\n */\n public create: boolean = false;\n\n /**\n * Specifies Write access granted.\n */\n public write: boolean = false;\n\n /**\n * Specifies Delete access granted.\n */\n public delete: boolean = false;\n\n /**\n * Specifies List access granted.\n */\n public list: boolean = false;\n\n /**\n * Specifies Move access granted.\n */\n public move: boolean = false;\n\n /**\n * Specifies Execute access granted.\n */\n public execute: boolean = false;\n\n /**\n * Specifies Ownership access granted, which allows the caller to set owner, owning group,\n * or act as the owner when renaming or deleting a blob (file or directory) within a folder\n * that has the sticky bit set.\n */\n public manageOwnership: boolean = false;\n\n /**\n * Specifies Permission access granted, which allows the caller to set permissions and\n * POSIX ACLs on blobs (files and directories).\n */\n public manageAccessControl: boolean = false;\n\n /**\n * Converts the given permissions to a string. Using this method will guarantee the permissions are in an\n * order accepted by the service.\n *\n * The order of the characters should be as specified here to ensure correctness.\n * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas\n *\n */\n public toString(): string {\n const permissions: string[] = [];\n if (this.read) {\n permissions.push(\"r\");\n }\n if (this.add) {\n permissions.push(\"a\");\n }\n if (this.create) {\n permissions.push(\"c\");\n }\n if (this.write) {\n permissions.push(\"w\");\n }\n if (this.delete) {\n permissions.push(\"d\");\n }\n if (this.list) {\n permissions.push(\"l\");\n }\n if (this.move) {\n permissions.push(\"m\");\n }\n if (this.execute) {\n permissions.push(\"e\");\n }\n if (this.manageOwnership) {\n permissions.push(\"o\");\n }\n if (this.manageAccessControl) {\n permissions.push(\"p\");\n }\n return permissions.join(\"\");\n }\n}\n"]}
1
+ {"version":3,"file":"FileSystemSASPermissions.js","sourceRoot":"","sources":["../../../src/sas/FileSystemSASPermissions.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;;;GAMG;AACH,MAAM,OAAO,wBAAwB;IACnC;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,WAAmB;QACrC,MAAM,uBAAuB,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAE/D,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,GAAG;oBACN,uBAAuB,CAAC,IAAI,GAAG,IAAI,CAAC;oBACpC,MAAM;gBACR,KAAK,GAAG;oBACN,uBAAuB,CAAC,GAAG,GAAG,IAAI,CAAC;oBACnC,MAAM;gBACR,KAAK,GAAG;oBACN,uBAAuB,CAAC,MAAM,GAAG,IAAI,CAAC;oBACtC,MAAM;gBACR,KAAK,GAAG;oBACN,uBAAuB,CAAC,KAAK,GAAG,IAAI,CAAC;oBACrC,MAAM;gBACR,KAAK,GAAG;oBACN,uBAAuB,CAAC,MAAM,GAAG,IAAI,CAAC;oBACtC,MAAM;gBACR,KAAK,GAAG;oBACN,uBAAuB,CAAC,IAAI,GAAG,IAAI,CAAC;oBACpC,MAAM;gBACR,KAAK,GAAG;oBACN,uBAAuB,CAAC,IAAI,GAAG,IAAI,CAAC;oBACpC,MAAM;gBACR,KAAK,GAAG;oBACN,uBAAuB,CAAC,OAAO,GAAG,IAAI,CAAC;oBACvC,MAAM;gBACR,KAAK,GAAG;oBACN,uBAAuB,CAAC,eAAe,GAAG,IAAI,CAAC;oBAC/C,MAAM;gBACR,KAAK,GAAG;oBACN,uBAAuB,CAAC,mBAAmB,GAAG,IAAI,CAAC;oBACnD,MAAM;gBACR;oBACE,MAAM,IAAI,UAAU,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,IAAI,GAAY,KAAK,CAAC;IAE7B;;OAEG;IACI,GAAG,GAAY,KAAK,CAAC;IAE5B;;OAEG;IACI,MAAM,GAAY,KAAK,CAAC;IAE/B;;OAEG;IACI,KAAK,GAAY,KAAK,CAAC;IAE9B;;OAEG;IACI,MAAM,GAAY,KAAK,CAAC;IAE/B;;OAEG;IACI,IAAI,GAAY,KAAK,CAAC;IAE7B;;OAEG;IACI,IAAI,GAAY,KAAK,CAAC;IAE7B;;OAEG;IACI,OAAO,GAAY,KAAK,CAAC;IAEhC;;;;OAIG;IACI,eAAe,GAAY,KAAK,CAAC;IAExC;;;OAGG;IACI,mBAAmB,GAAY,KAAK,CAAC;IAE5C;;;;;;;OAOG;IACI,QAAQ;QACb,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,OAAO,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * This is a helper class to construct a string representing the permissions granted by a ServiceSAS to a container.\n * Setting a value to true means that any SAS which uses these permissions will grant permissions for that operation.\n * Once all the values are set, this should be serialized with toString and set as the permissions field on a\n * {@link DataLakeSASSignatureValues} object. It is possible to construct the permissions string without this class, but\n * the order of the permissions is particular and this class guarantees correctness.\n */\nexport class FileSystemSASPermissions {\n /**\n * Creates an {@link FileSystemSASPermissions} from the specified permissions string. This method will throw an\n * Error if it encounters a character that does not correspond to a valid permission.\n *\n * @param permissions -\n */\n public static parse(permissions: string): FileSystemSASPermissions {\n const containerSASPermissions = new FileSystemSASPermissions();\n\n for (const char of permissions) {\n switch (char) {\n case \"r\":\n containerSASPermissions.read = true;\n break;\n case \"a\":\n containerSASPermissions.add = true;\n break;\n case \"c\":\n containerSASPermissions.create = true;\n break;\n case \"w\":\n containerSASPermissions.write = true;\n break;\n case \"d\":\n containerSASPermissions.delete = true;\n break;\n case \"l\":\n containerSASPermissions.list = true;\n break;\n case \"m\":\n containerSASPermissions.move = true;\n break;\n case \"e\":\n containerSASPermissions.execute = true;\n break;\n case \"o\":\n containerSASPermissions.manageOwnership = true;\n break;\n case \"p\":\n containerSASPermissions.manageAccessControl = true;\n break;\n default:\n throw new RangeError(`Invalid permission ${char}`);\n }\n }\n\n return containerSASPermissions;\n }\n\n /**\n * Specifies Read access granted.\n */\n public read: boolean = false;\n\n /**\n * Specifies Add access granted.\n */\n public add: boolean = false;\n\n /**\n * Specifies Create access granted.\n */\n public create: boolean = false;\n\n /**\n * Specifies Write access granted.\n */\n public write: boolean = false;\n\n /**\n * Specifies Delete access granted.\n */\n public delete: boolean = false;\n\n /**\n * Specifies List access granted.\n */\n public list: boolean = false;\n\n /**\n * Specifies Move access granted.\n */\n public move: boolean = false;\n\n /**\n * Specifies Execute access granted.\n */\n public execute: boolean = false;\n\n /**\n * Specifies Ownership access granted, which allows the caller to set owner, owning group,\n * or act as the owner when renaming or deleting a blob (file or directory) within a folder\n * that has the sticky bit set.\n */\n public manageOwnership: boolean = false;\n\n /**\n * Specifies Permission access granted, which allows the caller to set permissions and\n * POSIX ACLs on blobs (files and directories).\n */\n public manageAccessControl: boolean = false;\n\n /**\n * Converts the given permissions to a string. Using this method will guarantee the permissions are in an\n * order accepted by the service.\n *\n * The order of the characters should be as specified here to ensure correctness.\n * @see https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas\n *\n */\n public toString(): string {\n const permissions: string[] = [];\n if (this.read) {\n permissions.push(\"r\");\n }\n if (this.add) {\n permissions.push(\"a\");\n }\n if (this.create) {\n permissions.push(\"c\");\n }\n if (this.write) {\n permissions.push(\"w\");\n }\n if (this.delete) {\n permissions.push(\"d\");\n }\n if (this.list) {\n permissions.push(\"l\");\n }\n if (this.move) {\n permissions.push(\"m\");\n }\n if (this.execute) {\n permissions.push(\"e\");\n }\n if (this.manageOwnership) {\n permissions.push(\"o\");\n }\n if (this.manageAccessControl) {\n permissions.push(\"p\");\n }\n return permissions.join(\"\");\n }\n}\n"]}
@@ -26,6 +26,136 @@ export var SASProtocol;
26
26
  * NOTE: Instances of this class are immutable.
27
27
  */
28
28
  export class SASQueryParameters {
29
+ /**
30
+ * The storage API version.
31
+ */
32
+ version;
33
+ /**
34
+ * Optional. The allowed HTTP protocol(s).
35
+ */
36
+ protocol;
37
+ /**
38
+ * Optional. The start time for this SAS token.
39
+ */
40
+ startsOn;
41
+ /**
42
+ * Optional only when identifier is provided. The expiry time for this SAS token.
43
+ */
44
+ expiresOn;
45
+ /**
46
+ * Optional only when identifier is provided.
47
+ * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for
48
+ * more details.
49
+ */
50
+ permissions;
51
+ /**
52
+ * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices}
53
+ * for more details.
54
+ */
55
+ services;
56
+ /**
57
+ * Optional. The storage resource types being accessed (only for Account SAS). Please refer to
58
+ * {@link AccountSASResourceTypes} for more details.
59
+ */
60
+ resourceTypes;
61
+ /**
62
+ * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).
63
+ *
64
+ * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy
65
+ */
66
+ identifier;
67
+ /**
68
+ * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).
69
+ * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only
70
+ */
71
+ resource;
72
+ /**
73
+ * The signature for the SAS token.
74
+ */
75
+ signature;
76
+ /**
77
+ * Value for cache-control header in Blob/File Service SAS.
78
+ */
79
+ cacheControl;
80
+ /**
81
+ * Value for content-disposition header in Blob/File Service SAS.
82
+ */
83
+ contentDisposition;
84
+ /**
85
+ * Value for content-encoding header in Blob/File Service SAS.
86
+ */
87
+ contentEncoding;
88
+ /**
89
+ * Value for content-length header in Blob/File Service SAS.
90
+ */
91
+ contentLanguage;
92
+ /**
93
+ * Value for content-type header in Blob/File Service SAS.
94
+ */
95
+ contentType;
96
+ /**
97
+ * Inner value of getter ipRange.
98
+ */
99
+ ipRangeInner;
100
+ /**
101
+ * The Azure Active Directory object ID in GUID format.
102
+ * Property of user delegation key.
103
+ */
104
+ signedOid;
105
+ /**
106
+ * The Azure Active Directory tenant ID in GUID format.
107
+ * Property of user delegation key.
108
+ */
109
+ signedTenantId;
110
+ /**
111
+ * The date-time the key is active.
112
+ * Property of user delegation key.
113
+ */
114
+ signedStartsOn;
115
+ /**
116
+ * The date-time the key expires.
117
+ * Property of user delegation key.
118
+ */
119
+ signedExpiresOn;
120
+ /**
121
+ * Abbreviation of the Azure Storage service that accepts the user delegation key.
122
+ * Property of user delegation key.
123
+ */
124
+ signedService;
125
+ /**
126
+ * The service version that created the user delegation key.
127
+ * Property of user delegation key.
128
+ */
129
+ signedVersion;
130
+ /**
131
+ * Indicate the depth of the directory specified in the canonicalizedresource field of the string-to-sign.
132
+ * The depth of the directory is the number of directories beneath the root folder.
133
+ */
134
+ directoryDepth;
135
+ /**
136
+ * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key
137
+ * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key
138
+ * has the required permissions before granting access but no additional permission check for the user specified in
139
+ * this value will be performed. This cannot be used in conjuction with {@link signedUnauthorizedUserObjectId}.
140
+ * This is only used for User Delegation SAS.
141
+ */
142
+ preauthorizedAgentObjectId;
143
+ /**
144
+ * Unauthorized AAD Object ID in GUID format. The AAD Object ID of a user that is assumed to be unauthorized by the owner of the User Delegation Key.
145
+ * The Azure Storage Service will perform an additional POSIX ACL check to determine if the user is authorized to perform the requested operation.
146
+ * This cannot be used in conjuction with {@link signedAuthorizedUserObjectId}.
147
+ * This is only used for User Delegation SAS.
148
+ */
149
+ agentObjectId;
150
+ /**
151
+ * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access.
152
+ * This is only used for User Delegation SAS.
153
+ */
154
+ correlationId;
155
+ /**
156
+ * Optional. Encryption scope to use when sending requests authorized with this SAS URI.
157
+ */
158
+ encryptionScope;
29
159
  /**
30
160
  * Optional. IP range allowed for this SAS.
31
161
  *
@@ -109,7 +239,6 @@ export class SASQueryParameters {
109
239
  *
110
240
  */
111
241
  toString() {
112
- var _a;
113
242
  const params = [
114
243
  "sv",
115
244
  "ss",
@@ -212,7 +341,7 @@ export class SASQueryParameters {
212
341
  this.tryAppendQueryParameter(queries, param, this.contentType);
213
342
  break;
214
343
  case "sdd":
215
- this.tryAppendQueryParameter(queries, param, (_a = this.directoryDepth) === null || _a === void 0 ? void 0 : _a.toString());
344
+ this.tryAppendQueryParameter(queries, param, this.directoryDepth?.toString());
216
345
  break;
217
346
  case "saoid":
218
347
  this.tryAppendQueryParameter(queries, param, this.preauthorizedAgentObjectId);
@@ -1 +1 @@
1
- {"version":3,"file":"SASQueryParameters.js","sourceRoot":"","sources":["../../../src/sas/SASQueryParameters.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { UserDelegationKey } from \"../models.js\";\nimport type { SasIPRange } from \"./SasIPRange.js\";\nimport { ipRangeToString } from \"./SasIPRange.js\";\nimport { truncatedISO8061Date } from \"../utils/utils.common.js\";\n\n/**\n * Protocols for generated SAS.\n */\nexport enum SASProtocol {\n /**\n * Protocol that allows HTTPS only\n */\n Https = \"https\",\n\n /**\n * Protocol that allows both HTTPS and HTTP\n */\n HttpsAndHttp = \"https,http\",\n}\n\n/**\n * Options to construct {@link SASQueryParameters}.\n */\nexport interface SASQueryParametersOptions {\n /**\n * Optional only when identifier is provided.\n * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for\n * more details.\n */\n permissions?: string;\n /**\n * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices}\n * for more details.\n */\n services?: string;\n /**\n * Optional. The storage resource types being accessed (only for Account SAS). Please refer to\n * {@link AccountSASResourceTypes} for more details.\n */\n resourceTypes?: string;\n /**\n * Optional. The allowed HTTP protocol(s).\n */\n protocol?: SASProtocol;\n /**\n * Optional. The start time for this SAS token.\n */\n startsOn?: Date;\n /**\n * Optional only when identifier is provided. The expiry time for this SAS token.\n */\n expiresOn?: Date;\n /**\n * Optional. IP ranges allowed in this SAS.\n */\n ipRange?: SasIPRange;\n /**\n * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).\n *\n * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy\n */\n identifier?: string;\n /**\n * Optional. Encryption scope to use when sending requests authorized with this SAS URI.\n */\n encryptionScope?: string;\n /**\n * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).\n * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only\n */\n resource?: string;\n /**\n * Value for cache-control header in Blob/File Service SAS.\n */\n cacheControl?: string;\n /**\n * Value for content-disposition header in Blob/File Service SAS.\n */\n contentDisposition?: string;\n /**\n * Value for content-encoding header in Blob/File Service SAS.\n */\n contentEncoding?: string;\n /**\n * Value for content-length header in Blob/File Service SAS.\n */\n contentLanguage?: string;\n /**\n * Value for content-type header in Blob/File Service SAS.\n */\n contentType?: string;\n /**\n * User delegation key properties.\n */\n userDelegationKey?: UserDelegationKey;\n /**\n * Indicate the depth of the directory specified in the canonicalizedresource field of the string-to-sign.\n * The depth of the directory is the number of directories beneath the root folder.\n */\n directoryDepth?: number;\n /**\n * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key\n * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key\n * has the required permissions before granting access but no additional permission check for the user specified in\n * this value will be performed. This cannot be used in conjuction with {@link signedUnauthorizedUserObjectId}.\n * This is only used for User Delegation SAS.\n */\n preauthorizedAgentObjectId?: string;\n /**\n * Unauthorized AAD Object ID in GUID format. The AAD Object ID of a user that is assumed to be unauthorized by the owner of the User Delegation Key.\n * The Azure Storage Service will perform an additional POSIX ACL check to determine if the user is authorized to perform the requested operation.\n * This cannot be used in conjuction with {@link signedAuthorizedUserObjectId}. This is only used for User Delegation SAS.\n */\n agentObjectId?: string;\n /**\n * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access.\n * This is only used for User Delegation SAS.\n */\n correlationId?: string;\n}\n\n/**\n * Represents the components that make up an Azure Storage SAS' query parameters. This type is not constructed directly\n * by the user; it is only generated by the {@link AccountSASSignatureValues} and {@link BlobSASSignatureValues}\n * types. Once generated, it can be encoded into a {@link String} and appended to a URL directly (though caution should\n * be taken here in case there are existing query parameters, which might affect the appropriate means of appending\n * these query parameters).\n *\n * NOTE: Instances of this class are immutable.\n */\nexport class SASQueryParameters {\n /**\n * The storage API version.\n */\n public readonly version: string;\n\n /**\n * Optional. The allowed HTTP protocol(s).\n */\n public readonly protocol?: SASProtocol;\n\n /**\n * Optional. The start time for this SAS token.\n */\n public readonly startsOn?: Date;\n\n /**\n * Optional only when identifier is provided. The expiry time for this SAS token.\n */\n public readonly expiresOn?: Date;\n\n /**\n * Optional only when identifier is provided.\n * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for\n * more details.\n */\n public readonly permissions?: string;\n\n /**\n * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices}\n * for more details.\n */\n public readonly services?: string;\n\n /**\n * Optional. The storage resource types being accessed (only for Account SAS). Please refer to\n * {@link AccountSASResourceTypes} for more details.\n */\n public readonly resourceTypes?: string;\n\n /**\n * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).\n *\n * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy\n */\n public readonly identifier?: string;\n\n /**\n * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).\n * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only\n */\n public readonly resource?: string;\n\n /**\n * The signature for the SAS token.\n */\n public readonly signature: string;\n\n /**\n * Value for cache-control header in Blob/File Service SAS.\n */\n public readonly cacheControl?: string;\n\n /**\n * Value for content-disposition header in Blob/File Service SAS.\n */\n public readonly contentDisposition?: string;\n\n /**\n * Value for content-encoding header in Blob/File Service SAS.\n */\n public readonly contentEncoding?: string;\n\n /**\n * Value for content-length header in Blob/File Service SAS.\n */\n public readonly contentLanguage?: string;\n\n /**\n * Value for content-type header in Blob/File Service SAS.\n */\n public readonly contentType?: string;\n\n /**\n * Inner value of getter ipRange.\n */\n private readonly ipRangeInner?: SasIPRange;\n\n /**\n * The Azure Active Directory object ID in GUID format.\n * Property of user delegation key.\n */\n private readonly signedOid?: string;\n\n /**\n * The Azure Active Directory tenant ID in GUID format.\n * Property of user delegation key.\n */\n private readonly signedTenantId?: string;\n\n /**\n * The date-time the key is active.\n * Property of user delegation key.\n */\n private readonly signedStartsOn?: Date;\n\n /**\n * The date-time the key expires.\n * Property of user delegation key.\n */\n private readonly signedExpiresOn?: Date;\n\n /**\n * Abbreviation of the Azure Storage service that accepts the user delegation key.\n * Property of user delegation key.\n */\n private readonly signedService?: string;\n\n /**\n * The service version that created the user delegation key.\n * Property of user delegation key.\n */\n private readonly signedVersion?: string;\n\n /**\n * Indicate the depth of the directory specified in the canonicalizedresource field of the string-to-sign.\n * The depth of the directory is the number of directories beneath the root folder.\n */\n public readonly directoryDepth?: number;\n\n /**\n * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key\n * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key\n * has the required permissions before granting access but no additional permission check for the user specified in\n * this value will be performed. This cannot be used in conjuction with {@link signedUnauthorizedUserObjectId}.\n * This is only used for User Delegation SAS.\n */\n public readonly preauthorizedAgentObjectId?: string;\n\n /**\n * Unauthorized AAD Object ID in GUID format. The AAD Object ID of a user that is assumed to be unauthorized by the owner of the User Delegation Key.\n * The Azure Storage Service will perform an additional POSIX ACL check to determine if the user is authorized to perform the requested operation.\n * This cannot be used in conjuction with {@link signedAuthorizedUserObjectId}.\n * This is only used for User Delegation SAS.\n */\n public readonly agentObjectId?: string;\n\n /**\n * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access.\n * This is only used for User Delegation SAS.\n */\n public readonly correlationId?: string;\n\n /**\n * Optional. Encryption scope to use when sending requests authorized with this SAS URI.\n */\n public readonly encryptionScope?: string;\n\n /**\n * Optional. IP range allowed for this SAS.\n *\n * @readonly\n */\n public get ipRange(): SasIPRange | undefined {\n if (this.ipRangeInner) {\n return {\n end: this.ipRangeInner.end,\n start: this.ipRangeInner.start,\n };\n }\n return undefined;\n }\n\n /**\n * Creates an instance of SASQueryParameters.\n *\n * @param version - Representing the storage version\n * @param signature - Representing the signature for the SAS token\n * @param permissions - Representing the storage permissions\n * @param services - Representing the storage services being accessed (only for Account SAS)\n * @param resourceTypes - Representing the storage resource types being accessed (only for Account SAS)\n * @param protocol - Representing the allowed HTTP protocol(s)\n * @param startsOn - Representing the start time for this SAS token\n * @param expiresOn - Representing the expiry time for this SAS token\n * @param ipRange - Representing the range of valid IP addresses for this SAS token\n * @param identifier - Representing the signed identifier (only for Service SAS)\n * @param resource - Representing the storage container or blob (only for Service SAS)\n * @param cacheControl - Representing the cache-control header (only for Blob/File Service SAS)\n * @param contentDisposition - Representing the content-disposition header (only for Blob/File Service SAS)\n * @param contentEncoding - Representing the content-encoding header (only for Blob/File Service SAS)\n * @param contentLanguage - Representing the content-language header (only for Blob/File Service SAS)\n * @param contentType - Representing the content-type header (only for Blob/File Service SAS)\n * @param userDelegationKey - Representing the user delegation key properties\n * @param preauthorizedAgentObjectId - Representing the authorized AAD Object ID (only for User Delegation SAS)\n * @param agentObjectId - Representing the unauthorized AAD Object ID (only for User Delegation SAS)\n * @param correlationId - Representing the correlation ID (only for User Delegation SAS)\n */\n constructor(\n version: string,\n signature: string,\n permissions?: string,\n services?: string,\n resourceTypes?: string,\n protocol?: SASProtocol,\n startsOn?: Date,\n expiresOn?: Date,\n ipRange?: SasIPRange,\n identifier?: string,\n resource?: string,\n cacheControl?: string,\n contentDisposition?: string,\n contentEncoding?: string,\n contentLanguage?: string,\n contentType?: string,\n userDelegationKey?: UserDelegationKey,\n directoryDepth?: number,\n preauthorizedAgentObjectId?: string,\n agentObjectId?: string,\n correlationId?: string,\n encryptionScope?: string,\n );\n\n /**\n * Creates an instance of SASQueryParameters.\n *\n * @param version - Representing the storage version\n * @param signature - Representing the signature for the SAS token\n * @param options - Optional. Options to construct the SASQueryParameters.\n */\n constructor(version: string, signature: string, options?: SASQueryParametersOptions);\n\n constructor(\n version: string,\n signature: string,\n permissionsOrOptions?: string | SASQueryParametersOptions,\n services?: string,\n resourceTypes?: string,\n protocol?: SASProtocol,\n startsOn?: Date,\n expiresOn?: Date,\n ipRange?: SasIPRange,\n identifier?: string,\n resource?: string,\n cacheControl?: string,\n contentDisposition?: string,\n contentEncoding?: string,\n contentLanguage?: string,\n contentType?: string,\n userDelegationKey?: UserDelegationKey,\n directoryDepth?: number,\n preauthorizedAgentObjectId?: string,\n agentObjectId?: string,\n correlationId?: string,\n encryptionScope?: string,\n ) {\n this.version = version;\n this.signature = signature;\n\n if (permissionsOrOptions !== undefined && typeof permissionsOrOptions !== \"string\") {\n // SASQueryParametersOptions\n const options = permissionsOrOptions;\n this.services = options.services;\n this.resourceTypes = options.resourceTypes;\n this.expiresOn = options.expiresOn;\n this.permissions = options.permissions;\n this.protocol = options.protocol;\n this.startsOn = options.startsOn;\n this.ipRangeInner = options.ipRange;\n this.identifier = options.identifier;\n this.resource = options.resource;\n this.cacheControl = options.cacheControl;\n this.contentDisposition = options.contentDisposition;\n this.contentEncoding = options.contentEncoding;\n this.contentLanguage = options.contentLanguage;\n this.contentType = options.contentType;\n this.directoryDepth = options.directoryDepth;\n this.preauthorizedAgentObjectId = options.preauthorizedAgentObjectId;\n this.agentObjectId = options.agentObjectId;\n this.correlationId = options.correlationId;\n this.encryptionScope = options.encryptionScope;\n\n if (options.userDelegationKey) {\n this.signedOid = options.userDelegationKey.signedObjectId;\n this.signedTenantId = options.userDelegationKey.signedTenantId;\n this.signedStartsOn = options.userDelegationKey.signedStartsOn;\n this.signedExpiresOn = options.userDelegationKey.signedExpiresOn;\n this.signedService = options.userDelegationKey.signedService;\n this.signedVersion = options.userDelegationKey.signedVersion;\n }\n } else {\n this.services = services;\n this.resourceTypes = resourceTypes;\n this.expiresOn = expiresOn;\n this.permissions = permissionsOrOptions;\n this.protocol = protocol;\n this.startsOn = startsOn;\n this.ipRangeInner = ipRange;\n this.identifier = identifier;\n this.resource = resource;\n this.cacheControl = cacheControl;\n this.contentDisposition = contentDisposition;\n this.contentEncoding = contentEncoding;\n this.contentLanguage = contentLanguage;\n this.contentType = contentType;\n this.directoryDepth = directoryDepth;\n this.preauthorizedAgentObjectId = preauthorizedAgentObjectId;\n this.agentObjectId = agentObjectId;\n this.correlationId = correlationId;\n this.encryptionScope = encryptionScope;\n\n if (userDelegationKey) {\n this.signedOid = userDelegationKey.signedObjectId;\n this.signedTenantId = userDelegationKey.signedTenantId;\n this.signedStartsOn = userDelegationKey.signedStartsOn;\n this.signedExpiresOn = userDelegationKey.signedExpiresOn;\n this.signedService = userDelegationKey.signedService;\n this.signedVersion = userDelegationKey.signedVersion;\n }\n }\n }\n\n /**\n * Encodes all SAS query parameters into a string that can be appended to a URL.\n *\n */\n public toString(): string {\n const params: string[] = [\n \"sv\",\n \"ss\",\n \"srt\",\n \"spr\",\n \"st\",\n \"se\",\n \"sip\",\n \"si\",\n \"ses\",\n \"skoid\", // Signed object ID\n \"sktid\", // Signed tenant ID\n \"skt\", // Signed key start time\n \"ske\", // Signed key expiry time\n \"sks\", // Signed key service\n \"skv\", // Signed key version\n \"sr\",\n \"sp\",\n \"sig\",\n \"rscc\",\n \"rscd\",\n \"rsce\",\n \"rscl\",\n \"rsct\",\n \"sdd\",\n \"saoid\",\n \"suoid\",\n \"scid\",\n ];\n const queries: string[] = [];\n\n for (const param of params) {\n switch (param) {\n case \"sv\":\n this.tryAppendQueryParameter(queries, param, this.version);\n break;\n case \"ss\":\n this.tryAppendQueryParameter(queries, param, this.services);\n break;\n case \"srt\":\n this.tryAppendQueryParameter(queries, param, this.resourceTypes);\n break;\n case \"spr\":\n this.tryAppendQueryParameter(queries, param, this.protocol);\n break;\n case \"st\":\n this.tryAppendQueryParameter(\n queries,\n param,\n this.startsOn ? truncatedISO8061Date(this.startsOn, false) : undefined,\n );\n break;\n case \"se\":\n this.tryAppendQueryParameter(\n queries,\n param,\n this.expiresOn ? truncatedISO8061Date(this.expiresOn, false) : undefined,\n );\n break;\n case \"sip\":\n this.tryAppendQueryParameter(\n queries,\n param,\n this.ipRange ? ipRangeToString(this.ipRange) : undefined,\n );\n break;\n case \"si\":\n this.tryAppendQueryParameter(queries, param, this.identifier);\n break;\n case \"ses\":\n this.tryAppendQueryParameter(queries, param, this.encryptionScope);\n break;\n case \"skoid\": // Signed object ID\n this.tryAppendQueryParameter(queries, param, this.signedOid);\n break;\n case \"sktid\": // Signed tenant ID\n this.tryAppendQueryParameter(queries, param, this.signedTenantId);\n break;\n case \"skt\": // Signed key start time\n this.tryAppendQueryParameter(\n queries,\n param,\n this.signedStartsOn ? truncatedISO8061Date(this.signedStartsOn, false) : undefined,\n );\n break;\n case \"ske\": // Signed key expiry time\n this.tryAppendQueryParameter(\n queries,\n param,\n this.signedExpiresOn ? truncatedISO8061Date(this.signedExpiresOn, false) : undefined,\n );\n break;\n case \"sks\": // Signed key service\n this.tryAppendQueryParameter(queries, param, this.signedService);\n break;\n case \"skv\": // Signed key version\n this.tryAppendQueryParameter(queries, param, this.signedVersion);\n break;\n case \"sr\":\n this.tryAppendQueryParameter(queries, param, this.resource);\n break;\n case \"sp\":\n this.tryAppendQueryParameter(queries, param, this.permissions);\n break;\n case \"sig\":\n this.tryAppendQueryParameter(queries, param, this.signature);\n break;\n case \"rscc\":\n this.tryAppendQueryParameter(queries, param, this.cacheControl);\n break;\n case \"rscd\":\n this.tryAppendQueryParameter(queries, param, this.contentDisposition);\n break;\n case \"rsce\":\n this.tryAppendQueryParameter(queries, param, this.contentEncoding);\n break;\n case \"rscl\":\n this.tryAppendQueryParameter(queries, param, this.contentLanguage);\n break;\n case \"rsct\":\n this.tryAppendQueryParameter(queries, param, this.contentType);\n break;\n case \"sdd\":\n this.tryAppendQueryParameter(queries, param, this.directoryDepth?.toString());\n break;\n case \"saoid\":\n this.tryAppendQueryParameter(queries, param, this.preauthorizedAgentObjectId);\n break;\n case \"suoid\":\n this.tryAppendQueryParameter(queries, param, this.agentObjectId);\n break;\n case \"scid\":\n this.tryAppendQueryParameter(queries, param, this.correlationId);\n break;\n }\n }\n return queries.join(\"&\");\n }\n\n /**\n * A private helper method used to filter and append query key/value pairs into an array.\n *\n * @param queries -\n * @param key -\n * @param value -\n */\n private tryAppendQueryParameter(queries: string[], key: string, value?: string): void {\n if (!value) {\n return;\n }\n\n key = encodeURIComponent(key);\n value = encodeURIComponent(value);\n if (key.length > 0 && value.length > 0) {\n queries.push(`${key}=${value}`);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"SASQueryParameters.js","sourceRoot":"","sources":["../../../src/sas/SASQueryParameters.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { UserDelegationKey } from \"../models.js\";\nimport type { SasIPRange } from \"./SasIPRange.js\";\nimport { ipRangeToString } from \"./SasIPRange.js\";\nimport { truncatedISO8061Date } from \"../utils/utils.common.js\";\n\n/**\n * Protocols for generated SAS.\n */\nexport enum SASProtocol {\n /**\n * Protocol that allows HTTPS only\n */\n Https = \"https\",\n\n /**\n * Protocol that allows both HTTPS and HTTP\n */\n HttpsAndHttp = \"https,http\",\n}\n\n/**\n * Options to construct {@link SASQueryParameters}.\n */\nexport interface SASQueryParametersOptions {\n /**\n * Optional only when identifier is provided.\n * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for\n * more details.\n */\n permissions?: string;\n /**\n * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices}\n * for more details.\n */\n services?: string;\n /**\n * Optional. The storage resource types being accessed (only for Account SAS). Please refer to\n * {@link AccountSASResourceTypes} for more details.\n */\n resourceTypes?: string;\n /**\n * Optional. The allowed HTTP protocol(s).\n */\n protocol?: SASProtocol;\n /**\n * Optional. The start time for this SAS token.\n */\n startsOn?: Date;\n /**\n * Optional only when identifier is provided. The expiry time for this SAS token.\n */\n expiresOn?: Date;\n /**\n * Optional. IP ranges allowed in this SAS.\n */\n ipRange?: SasIPRange;\n /**\n * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).\n *\n * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy\n */\n identifier?: string;\n /**\n * Optional. Encryption scope to use when sending requests authorized with this SAS URI.\n */\n encryptionScope?: string;\n /**\n * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).\n * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only\n */\n resource?: string;\n /**\n * Value for cache-control header in Blob/File Service SAS.\n */\n cacheControl?: string;\n /**\n * Value for content-disposition header in Blob/File Service SAS.\n */\n contentDisposition?: string;\n /**\n * Value for content-encoding header in Blob/File Service SAS.\n */\n contentEncoding?: string;\n /**\n * Value for content-length header in Blob/File Service SAS.\n */\n contentLanguage?: string;\n /**\n * Value for content-type header in Blob/File Service SAS.\n */\n contentType?: string;\n /**\n * User delegation key properties.\n */\n userDelegationKey?: UserDelegationKey;\n /**\n * Indicate the depth of the directory specified in the canonicalizedresource field of the string-to-sign.\n * The depth of the directory is the number of directories beneath the root folder.\n */\n directoryDepth?: number;\n /**\n * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key\n * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key\n * has the required permissions before granting access but no additional permission check for the user specified in\n * this value will be performed. This cannot be used in conjuction with {@link signedUnauthorizedUserObjectId}.\n * This is only used for User Delegation SAS.\n */\n preauthorizedAgentObjectId?: string;\n /**\n * Unauthorized AAD Object ID in GUID format. The AAD Object ID of a user that is assumed to be unauthorized by the owner of the User Delegation Key.\n * The Azure Storage Service will perform an additional POSIX ACL check to determine if the user is authorized to perform the requested operation.\n * This cannot be used in conjuction with {@link signedAuthorizedUserObjectId}. This is only used for User Delegation SAS.\n */\n agentObjectId?: string;\n /**\n * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access.\n * This is only used for User Delegation SAS.\n */\n correlationId?: string;\n}\n\n/**\n * Represents the components that make up an Azure Storage SAS' query parameters. This type is not constructed directly\n * by the user; it is only generated by the {@link AccountSASSignatureValues} and {@link BlobSASSignatureValues}\n * types. Once generated, it can be encoded into a {@link String} and appended to a URL directly (though caution should\n * be taken here in case there are existing query parameters, which might affect the appropriate means of appending\n * these query parameters).\n *\n * NOTE: Instances of this class are immutable.\n */\nexport class SASQueryParameters {\n /**\n * The storage API version.\n */\n public readonly version: string;\n\n /**\n * Optional. The allowed HTTP protocol(s).\n */\n public readonly protocol?: SASProtocol;\n\n /**\n * Optional. The start time for this SAS token.\n */\n public readonly startsOn?: Date;\n\n /**\n * Optional only when identifier is provided. The expiry time for this SAS token.\n */\n public readonly expiresOn?: Date;\n\n /**\n * Optional only when identifier is provided.\n * Please refer to {@link AccountSASPermissions}, {@link BlobSASPermissions}, or {@link ContainerSASPermissions} for\n * more details.\n */\n public readonly permissions?: string;\n\n /**\n * Optional. The storage services being accessed (only for Account SAS). Please refer to {@link AccountSASServices}\n * for more details.\n */\n public readonly services?: string;\n\n /**\n * Optional. The storage resource types being accessed (only for Account SAS). Please refer to\n * {@link AccountSASResourceTypes} for more details.\n */\n public readonly resourceTypes?: string;\n\n /**\n * Optional. The signed identifier (only for {@link BlobSASSignatureValues}).\n *\n * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy\n */\n public readonly identifier?: string;\n\n /**\n * Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).\n * @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only\n */\n public readonly resource?: string;\n\n /**\n * The signature for the SAS token.\n */\n public readonly signature: string;\n\n /**\n * Value for cache-control header in Blob/File Service SAS.\n */\n public readonly cacheControl?: string;\n\n /**\n * Value for content-disposition header in Blob/File Service SAS.\n */\n public readonly contentDisposition?: string;\n\n /**\n * Value for content-encoding header in Blob/File Service SAS.\n */\n public readonly contentEncoding?: string;\n\n /**\n * Value for content-length header in Blob/File Service SAS.\n */\n public readonly contentLanguage?: string;\n\n /**\n * Value for content-type header in Blob/File Service SAS.\n */\n public readonly contentType?: string;\n\n /**\n * Inner value of getter ipRange.\n */\n private readonly ipRangeInner?: SasIPRange;\n\n /**\n * The Azure Active Directory object ID in GUID format.\n * Property of user delegation key.\n */\n private readonly signedOid?: string;\n\n /**\n * The Azure Active Directory tenant ID in GUID format.\n * Property of user delegation key.\n */\n private readonly signedTenantId?: string;\n\n /**\n * The date-time the key is active.\n * Property of user delegation key.\n */\n private readonly signedStartsOn?: Date;\n\n /**\n * The date-time the key expires.\n * Property of user delegation key.\n */\n private readonly signedExpiresOn?: Date;\n\n /**\n * Abbreviation of the Azure Storage service that accepts the user delegation key.\n * Property of user delegation key.\n */\n private readonly signedService?: string;\n\n /**\n * The service version that created the user delegation key.\n * Property of user delegation key.\n */\n private readonly signedVersion?: string;\n\n /**\n * Indicate the depth of the directory specified in the canonicalizedresource field of the string-to-sign.\n * The depth of the directory is the number of directories beneath the root folder.\n */\n public readonly directoryDepth?: number;\n\n /**\n * Authorized AAD Object ID in GUID format. The AAD Object ID of a user authorized by the owner of the User Delegation Key\n * to perform the action granted by the SAS. The Azure Storage service will ensure that the owner of the user delegation key\n * has the required permissions before granting access but no additional permission check for the user specified in\n * this value will be performed. This cannot be used in conjuction with {@link signedUnauthorizedUserObjectId}.\n * This is only used for User Delegation SAS.\n */\n public readonly preauthorizedAgentObjectId?: string;\n\n /**\n * Unauthorized AAD Object ID in GUID format. The AAD Object ID of a user that is assumed to be unauthorized by the owner of the User Delegation Key.\n * The Azure Storage Service will perform an additional POSIX ACL check to determine if the user is authorized to perform the requested operation.\n * This cannot be used in conjuction with {@link signedAuthorizedUserObjectId}.\n * This is only used for User Delegation SAS.\n */\n public readonly agentObjectId?: string;\n\n /**\n * A GUID value that will be logged in the storage diagnostic logs and can be used to correlate SAS generation with storage resource access.\n * This is only used for User Delegation SAS.\n */\n public readonly correlationId?: string;\n\n /**\n * Optional. Encryption scope to use when sending requests authorized with this SAS URI.\n */\n public readonly encryptionScope?: string;\n\n /**\n * Optional. IP range allowed for this SAS.\n *\n * @readonly\n */\n public get ipRange(): SasIPRange | undefined {\n if (this.ipRangeInner) {\n return {\n end: this.ipRangeInner.end,\n start: this.ipRangeInner.start,\n };\n }\n return undefined;\n }\n\n /**\n * Creates an instance of SASQueryParameters.\n *\n * @param version - Representing the storage version\n * @param signature - Representing the signature for the SAS token\n * @param permissions - Representing the storage permissions\n * @param services - Representing the storage services being accessed (only for Account SAS)\n * @param resourceTypes - Representing the storage resource types being accessed (only for Account SAS)\n * @param protocol - Representing the allowed HTTP protocol(s)\n * @param startsOn - Representing the start time for this SAS token\n * @param expiresOn - Representing the expiry time for this SAS token\n * @param ipRange - Representing the range of valid IP addresses for this SAS token\n * @param identifier - Representing the signed identifier (only for Service SAS)\n * @param resource - Representing the storage container or blob (only for Service SAS)\n * @param cacheControl - Representing the cache-control header (only for Blob/File Service SAS)\n * @param contentDisposition - Representing the content-disposition header (only for Blob/File Service SAS)\n * @param contentEncoding - Representing the content-encoding header (only for Blob/File Service SAS)\n * @param contentLanguage - Representing the content-language header (only for Blob/File Service SAS)\n * @param contentType - Representing the content-type header (only for Blob/File Service SAS)\n * @param userDelegationKey - Representing the user delegation key properties\n * @param preauthorizedAgentObjectId - Representing the authorized AAD Object ID (only for User Delegation SAS)\n * @param agentObjectId - Representing the unauthorized AAD Object ID (only for User Delegation SAS)\n * @param correlationId - Representing the correlation ID (only for User Delegation SAS)\n */\n constructor(\n version: string,\n signature: string,\n permissions?: string,\n services?: string,\n resourceTypes?: string,\n protocol?: SASProtocol,\n startsOn?: Date,\n expiresOn?: Date,\n ipRange?: SasIPRange,\n identifier?: string,\n resource?: string,\n cacheControl?: string,\n contentDisposition?: string,\n contentEncoding?: string,\n contentLanguage?: string,\n contentType?: string,\n userDelegationKey?: UserDelegationKey,\n directoryDepth?: number,\n preauthorizedAgentObjectId?: string,\n agentObjectId?: string,\n correlationId?: string,\n encryptionScope?: string,\n );\n\n /**\n * Creates an instance of SASQueryParameters.\n *\n * @param version - Representing the storage version\n * @param signature - Representing the signature for the SAS token\n * @param options - Optional. Options to construct the SASQueryParameters.\n */\n constructor(version: string, signature: string, options?: SASQueryParametersOptions);\n\n constructor(\n version: string,\n signature: string,\n permissionsOrOptions?: string | SASQueryParametersOptions,\n services?: string,\n resourceTypes?: string,\n protocol?: SASProtocol,\n startsOn?: Date,\n expiresOn?: Date,\n ipRange?: SasIPRange,\n identifier?: string,\n resource?: string,\n cacheControl?: string,\n contentDisposition?: string,\n contentEncoding?: string,\n contentLanguage?: string,\n contentType?: string,\n userDelegationKey?: UserDelegationKey,\n directoryDepth?: number,\n preauthorizedAgentObjectId?: string,\n agentObjectId?: string,\n correlationId?: string,\n encryptionScope?: string,\n ) {\n this.version = version;\n this.signature = signature;\n\n if (permissionsOrOptions !== undefined && typeof permissionsOrOptions !== \"string\") {\n // SASQueryParametersOptions\n const options = permissionsOrOptions;\n this.services = options.services;\n this.resourceTypes = options.resourceTypes;\n this.expiresOn = options.expiresOn;\n this.permissions = options.permissions;\n this.protocol = options.protocol;\n this.startsOn = options.startsOn;\n this.ipRangeInner = options.ipRange;\n this.identifier = options.identifier;\n this.resource = options.resource;\n this.cacheControl = options.cacheControl;\n this.contentDisposition = options.contentDisposition;\n this.contentEncoding = options.contentEncoding;\n this.contentLanguage = options.contentLanguage;\n this.contentType = options.contentType;\n this.directoryDepth = options.directoryDepth;\n this.preauthorizedAgentObjectId = options.preauthorizedAgentObjectId;\n this.agentObjectId = options.agentObjectId;\n this.correlationId = options.correlationId;\n this.encryptionScope = options.encryptionScope;\n\n if (options.userDelegationKey) {\n this.signedOid = options.userDelegationKey.signedObjectId;\n this.signedTenantId = options.userDelegationKey.signedTenantId;\n this.signedStartsOn = options.userDelegationKey.signedStartsOn;\n this.signedExpiresOn = options.userDelegationKey.signedExpiresOn;\n this.signedService = options.userDelegationKey.signedService;\n this.signedVersion = options.userDelegationKey.signedVersion;\n }\n } else {\n this.services = services;\n this.resourceTypes = resourceTypes;\n this.expiresOn = expiresOn;\n this.permissions = permissionsOrOptions;\n this.protocol = protocol;\n this.startsOn = startsOn;\n this.ipRangeInner = ipRange;\n this.identifier = identifier;\n this.resource = resource;\n this.cacheControl = cacheControl;\n this.contentDisposition = contentDisposition;\n this.contentEncoding = contentEncoding;\n this.contentLanguage = contentLanguage;\n this.contentType = contentType;\n this.directoryDepth = directoryDepth;\n this.preauthorizedAgentObjectId = preauthorizedAgentObjectId;\n this.agentObjectId = agentObjectId;\n this.correlationId = correlationId;\n this.encryptionScope = encryptionScope;\n\n if (userDelegationKey) {\n this.signedOid = userDelegationKey.signedObjectId;\n this.signedTenantId = userDelegationKey.signedTenantId;\n this.signedStartsOn = userDelegationKey.signedStartsOn;\n this.signedExpiresOn = userDelegationKey.signedExpiresOn;\n this.signedService = userDelegationKey.signedService;\n this.signedVersion = userDelegationKey.signedVersion;\n }\n }\n }\n\n /**\n * Encodes all SAS query parameters into a string that can be appended to a URL.\n *\n */\n public toString(): string {\n const params: string[] = [\n \"sv\",\n \"ss\",\n \"srt\",\n \"spr\",\n \"st\",\n \"se\",\n \"sip\",\n \"si\",\n \"ses\",\n \"skoid\", // Signed object ID\n \"sktid\", // Signed tenant ID\n \"skt\", // Signed key start time\n \"ske\", // Signed key expiry time\n \"sks\", // Signed key service\n \"skv\", // Signed key version\n \"sr\",\n \"sp\",\n \"sig\",\n \"rscc\",\n \"rscd\",\n \"rsce\",\n \"rscl\",\n \"rsct\",\n \"sdd\",\n \"saoid\",\n \"suoid\",\n \"scid\",\n ];\n const queries: string[] = [];\n\n for (const param of params) {\n switch (param) {\n case \"sv\":\n this.tryAppendQueryParameter(queries, param, this.version);\n break;\n case \"ss\":\n this.tryAppendQueryParameter(queries, param, this.services);\n break;\n case \"srt\":\n this.tryAppendQueryParameter(queries, param, this.resourceTypes);\n break;\n case \"spr\":\n this.tryAppendQueryParameter(queries, param, this.protocol);\n break;\n case \"st\":\n this.tryAppendQueryParameter(\n queries,\n param,\n this.startsOn ? truncatedISO8061Date(this.startsOn, false) : undefined,\n );\n break;\n case \"se\":\n this.tryAppendQueryParameter(\n queries,\n param,\n this.expiresOn ? truncatedISO8061Date(this.expiresOn, false) : undefined,\n );\n break;\n case \"sip\":\n this.tryAppendQueryParameter(\n queries,\n param,\n this.ipRange ? ipRangeToString(this.ipRange) : undefined,\n );\n break;\n case \"si\":\n this.tryAppendQueryParameter(queries, param, this.identifier);\n break;\n case \"ses\":\n this.tryAppendQueryParameter(queries, param, this.encryptionScope);\n break;\n case \"skoid\": // Signed object ID\n this.tryAppendQueryParameter(queries, param, this.signedOid);\n break;\n case \"sktid\": // Signed tenant ID\n this.tryAppendQueryParameter(queries, param, this.signedTenantId);\n break;\n case \"skt\": // Signed key start time\n this.tryAppendQueryParameter(\n queries,\n param,\n this.signedStartsOn ? truncatedISO8061Date(this.signedStartsOn, false) : undefined,\n );\n break;\n case \"ske\": // Signed key expiry time\n this.tryAppendQueryParameter(\n queries,\n param,\n this.signedExpiresOn ? truncatedISO8061Date(this.signedExpiresOn, false) : undefined,\n );\n break;\n case \"sks\": // Signed key service\n this.tryAppendQueryParameter(queries, param, this.signedService);\n break;\n case \"skv\": // Signed key version\n this.tryAppendQueryParameter(queries, param, this.signedVersion);\n break;\n case \"sr\":\n this.tryAppendQueryParameter(queries, param, this.resource);\n break;\n case \"sp\":\n this.tryAppendQueryParameter(queries, param, this.permissions);\n break;\n case \"sig\":\n this.tryAppendQueryParameter(queries, param, this.signature);\n break;\n case \"rscc\":\n this.tryAppendQueryParameter(queries, param, this.cacheControl);\n break;\n case \"rscd\":\n this.tryAppendQueryParameter(queries, param, this.contentDisposition);\n break;\n case \"rsce\":\n this.tryAppendQueryParameter(queries, param, this.contentEncoding);\n break;\n case \"rscl\":\n this.tryAppendQueryParameter(queries, param, this.contentLanguage);\n break;\n case \"rsct\":\n this.tryAppendQueryParameter(queries, param, this.contentType);\n break;\n case \"sdd\":\n this.tryAppendQueryParameter(queries, param, this.directoryDepth?.toString());\n break;\n case \"saoid\":\n this.tryAppendQueryParameter(queries, param, this.preauthorizedAgentObjectId);\n break;\n case \"suoid\":\n this.tryAppendQueryParameter(queries, param, this.agentObjectId);\n break;\n case \"scid\":\n this.tryAppendQueryParameter(queries, param, this.correlationId);\n break;\n }\n }\n return queries.join(\"&\");\n }\n\n /**\n * A private helper method used to filter and append query key/value pairs into an array.\n *\n * @param queries -\n * @param key -\n * @param value -\n */\n private tryAppendQueryParameter(queries: string[], key: string, value?: string): void {\n if (!value) {\n return;\n }\n\n key = encodeURIComponent(key);\n value = encodeURIComponent(value);\n if (key.length > 0 && value.length > 0) {\n queries.push(`${key}=${value}`);\n }\n }\n}\n"]}
@@ -71,7 +71,14 @@ function toFileSystemAsyncIterableIterator(iter) {
71
71
  const rawResult = await iter.next();
72
72
  if (rawResult.value) {
73
73
  rawResult.value.fileSystemItems = rawResult.value.containerItems.map((val) => {
74
- return Object.assign(Object.assign({}, val), { versionId: val.version, properties: Object.assign(Object.assign({}, val.properties), { publicAccess: toPublicAccessType(val.properties.publicAccess) }) });
74
+ return {
75
+ ...val,
76
+ versionId: val.version,
77
+ properties: {
78
+ ...val.properties,
79
+ publicAccess: toPublicAccessType(val.properties.publicAccess),
80
+ },
81
+ };
75
82
  });
76
83
  }
77
84
  return rawResult;