From 879e151db879b8c2f08c2010587592d341b46cfa Mon Sep 17 00:00:00 2001 From: Emma Zhu Date: Thu, 20 Apr 2023 02:09:28 +0800 Subject: [PATCH 1/2] Add support for list handles access rights --- sdk/storage/storage-file-share/CHANGELOG.md | 3 + .../recording_listhandles_should_work.json | 80 +++++++------ .../recording_listhandles_should_work.json | 110 +++++++++--------- .../recording_listhandles_should_work.js | 80 +++++++------ .../recording_listhandles_should_work.js | 107 +++++++++-------- .../review/storage-file-share.api.md | 5 + .../src/generated/src/models/index.ts | 3 + .../src/generated/src/models/mappers.ts | 15 +++ .../src/generated/src/models/parameters.ts | 2 +- .../src/generated/src/storageClientContext.ts | 2 +- .../storage-file-share/src/generatedModels.ts | 4 + .../storage-file-share/swagger/README.md | 2 +- .../test/directoryclient.spec.ts | 2 +- 13 files changed, 233 insertions(+), 182 deletions(-) diff --git a/sdk/storage/storage-file-share/CHANGELOG.md b/sdk/storage/storage-file-share/CHANGELOG.md index b6021f8f319e..132e9723ab42 100644 --- a/sdk/storage/storage-file-share/CHANGELOG.md +++ b/sdk/storage/storage-file-share/CHANGELOG.md @@ -4,6 +4,9 @@ ### Features Added +- Added support for service version 2023-01-03. +- Added access rights in each handles returned by ShareDirectoryClient.listHandles()/ShareFileClient.listHandles(). + ### Breaking Changes ### Bugs Fixed diff --git a/sdk/storage/storage-file-share/recordings/browsers/directoryclient/recording_listhandles_should_work.json b/sdk/storage/storage-file-share/recordings/browsers/directoryclient/recording_listhandles_should_work.json index cec012ef9880..7f9fc60db586 100644 --- a/sdk/storage/storage-file-share/recordings/browsers/directoryclient/recording_listhandles_should_work.json +++ b/sdk/storage/storage-file-share/recordings/browsers/directoryclient/recording_listhandles_should_work.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156882667578404262", + "url": "https://fakestorageaccount.file.core.windows.net/share168222977653800406", "query": { "restype": "share" }, @@ -10,19 +10,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 18 Sep 2019 17:11:15 GMT", - "last-modified": "Wed, 18 Sep 2019 17:11:15 GMT", + "content-length": "0", + "date": "Sun, 23 Apr 2023 06:02:58 GMT", + "etag": "\"0x8DB43C0643D0ACC\"", + "last-modified": "Sun, 23 Apr 2023 06:02:59 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D73C5B36D337ED\"", - "x-ms-request-id": "819e95dd-401a-005c-3644-6ec18f000000", - "x-ms-version": "2019-02-02", - "x-ms-client-request-id": "6dc5f010-02a8-44f5-9bc9-665d793004b9", - "content-length": "0" + "x-ms-client-request-id": "858f052e-5acf-40c2-a1cb-7884c960c0a7", + "x-ms-request-id": "b43f3d53-701a-000a-34a9-7594c2000000", + "x-ms-version": "2023-01-03" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156882667578404262/dir156882667625403191", + "url": "https://fakestorageaccount.file.core.windows.net/share168222977653800406/dir168222977978608153", "query": { "restype": "directory" }, @@ -30,46 +30,46 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 18 Sep 2019 17:11:15 GMT", - "x-ms-file-change-time": "2019-09-18T17:11:15.8686755Z", + "content-length": "0", + "date": "Sun, 23 Apr 2023 06:02:59 GMT", + "etag": "\"0x8DB43C0645F7B06\"", + "last-modified": "Sun, 23 Apr 2023 06:02:59 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "c11edf75-3c06-4383-ad3d-3e60292a6139", "x-ms-file-attributes": "Directory", + "x-ms-file-change-time": "2023-04-23T06:02:59.9817990Z", + "x-ms-file-creation-time": "2023-04-23T06:02:59.9817990Z", "x-ms-file-id": "13835128424026341376", - "x-ms-request-server-encrypted": "true", - "x-ms-file-creation-time": "2019-09-18T17:11:15.8686755Z", + "x-ms-file-last-write-time": "2023-04-23T06:02:59.9817990Z", "x-ms-file-parent-id": "0", - "x-ms-file-permission-key": "15246684120248489204*13496228697838683005", - "x-ms-client-request-id": "1b50e6f7-df2e-436a-84be-feaaa5d83fd4", - "content-length": "0", - "last-modified": "Wed, 18 Sep 2019 17:11:15 GMT", - "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D73C5B37008823\"", - "x-ms-request-id": "819e95e0-401a-005c-3844-6ec18f000000", - "x-ms-file-last-write-time": "2019-09-18T17:11:15.8686755Z", - "x-ms-version": "2019-02-02" + "x-ms-file-permission-key": "9212185477508673717*1658283376881248060", + "x-ms-request-id": "b43f3d57-701a-000a-36a9-7594c2000000", + "x-ms-request-server-encrypted": "true", + "x-ms-version": "2023-01-03" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156882667578404262/dir156882667625403191", + "url": "https://fakestorageaccount.file.core.windows.net/share168222977653800406/dir168222977978608153", "query": { "comp": "listhandles" }, "requestBody": null, "status": 200, - "response": "", + "response": "50304516138dir1682229779786081531383512842402634137609913091334384648269ReadWriteDelete10.2.4.26:49849Sun, 23 Apr 2023 06:03:16 GMT", "responseHeaders": { - "date": "Wed, 18 Sep 2019 17:11:15 GMT", + "content-type": "application/xml", + "date": "Sun, 23 Apr 2023 06:04:00 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", - "content-type": "application/xml", - "x-ms-request-id": "819e95e2-401a-005c-3a44-6ec18f000000", - "x-ms-version": "2019-02-02", - "x-ms-client-request-id": "5a68f034-3017-46e3-b864-8424daf2844d" + "x-ms-client-request-id": "0be5e66b-d0af-42cd-86cd-cf65997a72a0", + "x-ms-request-id": "b43f3eaa-701a-000a-67a9-7594c2000000", + "x-ms-version": "2023-01-03" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156882667578404262", + "url": "https://fakestorageaccount.file.core.windows.net/share168222977653800406", "query": { "restype": "share" }, @@ -77,17 +77,21 @@ "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 18 Sep 2019 17:11:15 GMT", + "content-length": "0", + "date": "Sun, 23 Apr 2023 06:04:00 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "x-ms-request-id": "819e95e4-401a-005c-3c44-6ec18f000000", - "x-ms-version": "2019-02-02", - "x-ms-client-request-id": "90b3d464-3b2d-43c1-94ef-71314f1e62f1", - "content-length": "0" + "x-ms-client-request-id": "5c25462b-fe7f-4301-8d55-7b03500800dd", + "x-ms-request-id": "b43f3ead-701a-000a-69a9-7594c2000000", + "x-ms-version": "2023-01-03" } } ], "uniqueTestInfo": { - "share": "share156882667578404262", - "dir": "dir156882667625403191" - } + "uniqueName": { + "share": "share168222977653800406", + "dir": "dir168222977978608153" + }, + "newDate": {} + }, + "hash": "d25595b587c6b19e67a0319df7f35e56" } \ No newline at end of file diff --git a/sdk/storage/storage-file-share/recordings/browsers/fileclient/recording_listhandles_should_work.json b/sdk/storage/storage-file-share/recordings/browsers/fileclient/recording_listhandles_should_work.json index 31c861bf6e0f..ca08338c5b57 100644 --- a/sdk/storage/storage-file-share/recordings/browsers/fileclient/recording_listhandles_should_work.json +++ b/sdk/storage/storage-file-share/recordings/browsers/fileclient/recording_listhandles_should_work.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156816864289406482", + "url": "https://fakestorageaccount.file.core.windows.net/share168223120062803611", "query": { "restype": "share" }, @@ -10,19 +10,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 11 Sep 2019 02:24:02 GMT", - "last-modified": "Wed, 11 Sep 2019 02:24:03 GMT", + "content-length": "0", + "date": "Sun, 23 Apr 2023 06:26:44 GMT", + "etag": "\"0x8DB43C3B538D6A8\"", + "last-modified": "Sun, 23 Apr 2023 06:26:44 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7365F1CDE1DB8\"", - "x-ms-request-id": "252c6bc3-d01a-0019-3047-684a94000000", - "x-ms-version": "2019-02-02", - "x-ms-client-request-id": "2b100e7b-a73a-4e09-bbd2-737959ec561e", - "content-length": "0" + "x-ms-client-request-id": "c36072b7-bcdb-4410-8886-cf627fff855f", + "x-ms-request-id": "d9a6edb8-c01a-009b-22ac-750073000000", + "x-ms-version": "2023-01-03" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156816864289406482/dir156816864310504590", + "url": "https://fakestorageaccount.file.core.windows.net/share168223120062803611/dir168223120428604892", "query": { "restype": "directory" }, @@ -30,72 +30,72 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 11 Sep 2019 02:24:02 GMT", - "x-ms-file-change-time": "2019-09-11T02:24:03.2406900Z", + "content-length": "0", + "date": "Sun, 23 Apr 2023 06:26:44 GMT", + "etag": "\"0x8DB43C3B571FB33\"", + "last-modified": "Sun, 23 Apr 2023 06:26:44 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "1ddbca6e-8643-4cf7-89d6-5e182aabbbf4", "x-ms-file-attributes": "Directory", + "x-ms-file-change-time": "2023-04-23T06:26:44.4886835Z", + "x-ms-file-creation-time": "2023-04-23T06:26:44.4886835Z", "x-ms-file-id": "13835128424026341376", - "x-ms-request-server-encrypted": "true", - "x-ms-file-creation-time": "2019-09-11T02:24:03.2406900Z", + "x-ms-file-last-write-time": "2023-04-23T06:26:44.4886835Z", "x-ms-file-parent-id": "0", - "x-ms-file-permission-key": "15292852142319295125*13609941760923454748", - "x-ms-client-request-id": "c4b4b17d-f4b1-4449-abd6-331a8df5aa6e", - "content-length": "0", - "last-modified": "Wed, 11 Sep 2019 02:24:03 GMT", - "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7365F1CFDDD74\"", - "x-ms-request-id": "252c6bc6-d01a-0019-3247-684a94000000", - "x-ms-file-last-write-time": "2019-09-11T02:24:03.2406900Z", - "x-ms-version": "2019-02-02" + "x-ms-file-permission-key": "9212185477508673717*1658283376881248060", + "x-ms-request-id": "d9a6edbd-c01a-009b-26ac-750073000000", + "x-ms-request-server-encrypted": "true", + "x-ms-version": "2023-01-03" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156816864289406482/dir156816864310504590/file156816864331701850", + "url": "https://fakestorageaccount.file.core.windows.net/share168223120062803611/dir168223120428604892/file168223120450206134", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 11 Sep 2019 02:24:02 GMT", - "x-ms-file-change-time": "2019-09-11T02:24:03.4508394Z", + "content-length": "0", + "date": "Sun, 23 Apr 2023 06:26:44 GMT", + "etag": "\"0x8DB43C3B59228C1\"", + "last-modified": "Sun, 23 Apr 2023 06:26:44 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-client-request-id": "59b1c555-a98e-4dab-ad2c-d231d8e37551", "x-ms-file-attributes": "Archive", + "x-ms-file-change-time": "2023-04-23T06:26:44.6995649Z", + "x-ms-file-creation-time": "2023-04-23T06:26:44.6995649Z", "x-ms-file-id": "11529285414812647424", - "x-ms-request-server-encrypted": "true", - "x-ms-file-creation-time": "2019-09-11T02:24:03.4508394Z", + "x-ms-file-last-write-time": "2023-04-23T06:26:44.6995649Z", "x-ms-file-parent-id": "13835128424026341376", - "x-ms-file-permission-key": "1459396823544571282*13609941760923454748", - "x-ms-client-request-id": "50d969f4-792c-440c-8994-3884c5ab19b7", - "content-length": "0", - "last-modified": "Wed, 11 Sep 2019 02:24:03 GMT", - "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7365F1D1DEE6A\"", - "x-ms-request-id": "252c6bc8-d01a-0019-3447-684a94000000", - "x-ms-file-last-write-time": "2019-09-11T02:24:03.4508394Z", - "x-ms-version": "2019-02-02" + "x-ms-file-permission-key": "13809038870468939698*1658283376881248060", + "x-ms-request-id": "d9a6edc0-c01a-009b-28ac-750073000000", + "x-ms-request-server-encrypted": "true", + "x-ms-version": "2023-01-03" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156816864289406482/dir156816864310504590/file156816864331701850", + "url": "https://fakestorageaccount.file.core.windows.net/share168223120062803611/dir168223120428604892/file168223120450206134", "query": { "comp": "listhandles" }, "requestBody": null, "status": 200, - "response": "", + "response": "50304516140dir168223120428604892/file16822312045020613411529285414812647424138351284240263413769913091334384648269ReadWriteDelete10.2.4.26:49849Sun, 23 Apr 2023 06:27:15 GMT", "responseHeaders": { - "date": "Wed, 11 Sep 2019 02:24:03 GMT", + "content-type": "application/xml", + "date": "Sun, 23 Apr 2023 06:27:44 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", - "content-type": "application/xml", - "x-ms-request-id": "252c6bca-d01a-0019-3647-684a94000000", - "x-ms-version": "2019-02-02", - "x-ms-client-request-id": "2b77e076-e9e2-42c2-b758-beb635ade25e" + "x-ms-client-request-id": "5c3540e7-9937-4287-9f51-4b3411289af2", + "x-ms-request-id": "d9a6ee97-c01a-009b-78ac-750073000000", + "x-ms-version": "2023-01-03" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156816864289406482", + "url": "https://fakestorageaccount.file.core.windows.net/share168223120062803611", "query": { "restype": "share" }, @@ -103,18 +103,22 @@ "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 11 Sep 2019 02:24:03 GMT", + "content-length": "0", + "date": "Sun, 23 Apr 2023 06:27:45 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "x-ms-request-id": "252c6bcc-d01a-0019-3847-684a94000000", - "x-ms-version": "2019-02-02", - "x-ms-client-request-id": "30eebf76-e816-4e6b-9e50-f93f02e24df6", - "content-length": "0" + "x-ms-client-request-id": "5c4e9f83-6feb-4901-9f2f-ec8e8ae584e0", + "x-ms-request-id": "d9a6ee9b-c01a-009b-7bac-750073000000", + "x-ms-version": "2023-01-03" } } ], "uniqueTestInfo": { - "share": "share156816864289406482", - "dir": "dir156816864310504590", - "file": "file156816864331701850" - } + "uniqueName": { + "share": "share168223120062803611", + "dir": "dir168223120428604892", + "file": "file168223120450206134" + }, + "newDate": {} + }, + "hash": "b5996537f8058ec7250832233435446f" } \ No newline at end of file diff --git a/sdk/storage/storage-file-share/recordings/node/directoryclient/recording_listhandles_should_work.js b/sdk/storage/storage-file-share/recordings/node/directoryclient/recording_listhandles_should_work.js index fa74db11f0f2..dae64cf2d181 100644 --- a/sdk/storage/storage-file-share/recordings/node/directoryclient/recording_listhandles_should_work.js +++ b/sdk/storage/storage-file-share/recordings/node/directoryclient/recording_listhandles_should_work.js @@ -1,53 +1,57 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156882665146902984","dir":"dir156882665238308563"} +module.exports.hash = "8653580f598c5ba11346f8b8ff941de6"; + +module.exports.testInfo = {"uniqueName":{"share":"share168222949361104655","dir":"dir168222949541108029"},"newDate":{}} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156882665146902984') + .put('/share168222949361104655') .query(true) - .reply(201, "", [ 'Content-Length', + .reply(201, "", [ + 'Content-Length', '0', 'Last-Modified', - 'Wed, 18 Sep 2019 17:10:51 GMT', + 'Sun, 23 Apr 2023 05:58:15 GMT', 'ETag', - '"0x8D73C5B28A203C7"', + '"0x8DB43BFBABC61EC"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6c178dc0-901a-0055-1144-6edb01000000', + '2b162292-e01a-00a5-17a8-75b652000000', 'x-ms-client-request-id', - '8de82129-5ca4-44a1-bdc4-694407f86951', + '1d612298-48a4-494a-b6e9-c28bee5b08c8', 'x-ms-version', - '2019-02-02', + '2023-01-03', 'Date', - 'Wed, 18 Sep 2019 17:10:51 GMT' ]); - + 'Sun, 23 Apr 2023 05:58:14 GMT' +]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156882665146902984/dir156882665238308563') + .put('/share168222949361104655/dir168222949541108029') .query(true) - .reply(201, "", [ 'Content-Length', + .reply(201, "", [ + 'Content-Length', '0', 'Last-Modified', - 'Wed, 18 Sep 2019 17:10:52 GMT', + 'Sun, 23 Apr 2023 05:58:15 GMT', 'ETag', - '"0x8D73C5B28E7553F"', + '"0x8DB43BFBAD16576"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '29e203bc-f01a-012c-2844-6ef41e000000', + '2b162298-e01a-00a5-18a8-75b652000000', 'x-ms-client-request-id', - 'ed9a5b6c-75a4-4822-a87e-bf32016dc9a2', + '2876b26e-15cb-439b-b492-b755a8ff011f', 'x-ms-version', - '2019-02-02', + '2023-01-03', 'x-ms-file-change-time', - '2019-09-18T17:10:52.2154303Z', + '2023-04-23T05:58:15.5156854Z', 'x-ms-file-last-write-time', - '2019-09-18T17:10:52.2154303Z', + '2023-04-23T05:58:15.5156854Z', 'x-ms-file-creation-time', - '2019-09-18T17:10:52.2154303Z', + '2023-04-23T05:58:15.5156854Z', 'x-ms-file-permission-key', - '15246684120248489204*13496228697838683005', + '9212185477508673717*1658283376881248060', 'x-ms-file-attributes', 'Directory', 'x-ms-file-id', @@ -57,45 +61,47 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 18 Sep 2019 17:10:52 GMT' ]); - + 'Sun, 23 Apr 2023 05:58:14 GMT' +]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156882665146902984/dir156882665238308563') + .get('/share168222949361104655/dir168222949541108029') .query(true) - .reply(200, "", [ 'Transfer-Encoding', + .reply(200, "50304516137dir1682229495411080291383512842402634137609913091334384648269ReadWriteDelete10.2.4.26:49849Sun, 23 Apr 2023 05:59:52 GMT", [ + 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '28241b8d-e01a-001e-0144-6eea9b000000', + '2b16243d-e01a-00a5-36a8-75b652000000', 'x-ms-client-request-id', - 'e7ba34ef-19e9-4e04-971f-b429d77ff886', + '11a4d842-2000-4eb4-a758-062d3afadca1', 'x-ms-version', - '2019-02-02', + '2023-01-03', 'Access-Control-Expose-Headers', 'x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 18 Sep 2019 17:10:52 GMT' ]); - + 'Sun, 23 Apr 2023 05:59:57 GMT' +]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156882665146902984') + .delete('/share168222949361104655') .query(true) - .reply(202, "", [ 'Content-Length', + .reply(202, "", [ + 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'bb343cb4-001a-00fa-1344-6ef991000000', + '2b162440-e01a-00a5-37a8-75b652000000', 'x-ms-client-request-id', - 'b5ae3d98-15ff-42d7-9765-7615957ffc25', + 'a6a60ba4-53a3-484d-98bf-8df6f2f2c6ad', 'x-ms-version', - '2019-02-02', + '2023-01-03', 'Date', - 'Wed, 18 Sep 2019 17:10:52 GMT' ]); - + 'Sun, 23 Apr 2023 05:59:58 GMT' +]); diff --git a/sdk/storage/storage-file-share/recordings/node/fileclient/recording_listhandles_should_work.js b/sdk/storage/storage-file-share/recordings/node/fileclient/recording_listhandles_should_work.js index 085bffa1e832..577918023b15 100644 --- a/sdk/storage/storage-file-share/recordings/node/fileclient/recording_listhandles_should_work.js +++ b/sdk/storage/storage-file-share/recordings/node/fileclient/recording_listhandles_should_work.js @@ -1,53 +1,57 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156816841193907191","dir":"dir156816841236206249","file":"file156816841279300669"} +module.exports.hash = "15f5968c19805d35c8c586e9a01bc2fc"; + +module.exports.testInfo = {"uniqueName":{"share":"share168223109138903404","dir":"dir168223109208607815","file":"file168223109220904712"},"newDate":{}} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156816841193907191') + .put('/share168223109138903404') .query(true) - .reply(201, "", [ 'Content-Length', + .reply(201, "", [ + 'Content-Length', '0', 'Last-Modified', - 'Wed, 11 Sep 2019 02:20:12 GMT', + 'Sun, 23 Apr 2023 06:24:52 GMT', 'ETag', - '"0x8D7365E9355A9C7"', + '"0x8DB43C3726D9B95"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a53a297e-501a-004c-4c47-68a1e3000000', + 'e6aab758-601a-005a-3aac-758bca000000', 'x-ms-client-request-id', - 'ee4bdafe-5a62-4508-921d-5500742b16fd', + '86f6fdba-64f1-414f-908f-5d8be8d8a6d9', 'x-ms-version', - '2019-02-02', + '2023-01-03', 'Date', - 'Wed, 11 Sep 2019 02:20:12 GMT' ]); - + 'Sun, 23 Apr 2023 06:24:51 GMT' +]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156816841193907191/dir156816841236206249') + .put('/share168223109138903404/dir168223109208607815') .query(true) - .reply(201, "", [ 'Content-Length', + .reply(201, "", [ + 'Content-Length', '0', 'Last-Modified', - 'Wed, 11 Sep 2019 02:20:12 GMT', + 'Sun, 23 Apr 2023 06:24:52 GMT', 'ETag', - '"0x8D7365E93961D03"', + '"0x8DB43C37283BFE1"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ddf4b34e-701a-003d-3147-68d3da000000', + 'e6aab75c-601a-005a-3bac-758bca000000', 'x-ms-client-request-id', - '5060b917-ff7e-43b2-a12b-d8fdbccc6846', + '01b92ae3-312e-4347-8d7a-c68495d52a7a', 'x-ms-version', - '2019-02-02', + '2023-01-03', 'x-ms-file-change-time', - '2019-09-11T02:20:12.7128835Z', + '2023-04-23T06:24:52.1977825Z', 'x-ms-file-last-write-time', - '2019-09-11T02:20:12.7128835Z', + '2023-04-23T06:24:52.1977825Z', 'x-ms-file-creation-time', - '2019-09-11T02:20:12.7128835Z', + '2023-04-23T06:24:52.1977825Z', 'x-ms-file-permission-key', - '15292852142319295125*13609941760923454748', + '9212185477508673717*1658283376881248060', 'x-ms-file-attributes', 'Directory', 'x-ms-file-id', @@ -57,33 +61,34 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 11 Sep 2019 02:20:12 GMT' ]); - + 'Sun, 23 Apr 2023 06:24:51 GMT' +]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156816841193907191/dir156816841236206249/file156816841279300669') - .reply(201, "", [ 'Content-Length', + .put('/share168223109138903404/dir168223109208607815/file168223109220904712') + .reply(201, "", [ + 'Content-Length', '0', 'Last-Modified', - 'Wed, 11 Sep 2019 02:20:13 GMT', + 'Sun, 23 Apr 2023 06:24:52 GMT', 'ETag', - '"0x8D7365E93D79EC5"', + '"0x8DB43C372957092"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ddf4b350-701a-003d-3247-68d3da000000', + 'e6aab75e-601a-005a-3cac-758bca000000', 'x-ms-client-request-id', - 'eb20f073-6144-4759-9f92-4ec42b53d5b9', + '1d77c901-ff47-4f11-a367-03b6919841a0', 'x-ms-version', - '2019-02-02', + '2023-01-03', 'x-ms-file-change-time', - '2019-09-11T02:20:13.1421893Z', + '2023-04-23T06:24:52.3137170Z', 'x-ms-file-last-write-time', - '2019-09-11T02:20:13.1421893Z', + '2023-04-23T06:24:52.3137170Z', 'x-ms-file-creation-time', - '2019-09-11T02:20:13.1421893Z', + '2023-04-23T06:24:52.3137170Z', 'x-ms-file-permission-key', - '1459396823544571282*13609941760923454748', + '13809038870468939698*1658283376881248060', 'x-ms-file-attributes', 'Archive', 'x-ms-file-id', @@ -93,45 +98,47 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 11 Sep 2019 02:20:12 GMT' ]); - + 'Sun, 23 Apr 2023 06:24:51 GMT' +]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156816841193907191/dir156816841236206249/file156816841279300669') + .get('/share168223109138903404/dir168223109208607815/file168223109220904712') .query(true) - .reply(200, "", [ 'Transfer-Encoding', + .reply(200, "50304516139dir168223109208607815/file16822310922090471211529285414812647424138351284240263413769913091334384648269ReadWriteDelete10.2.4.26:49849Sun, 23 Apr 2023 06:25:29 GMT", [ + 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '81abde81-801a-0067-5947-68d55b000000', + 'e6aab88a-601a-005a-1bac-758bca000000', 'x-ms-client-request-id', - '5fad9809-d072-4eb5-9fce-0e378945d75d', + 'e3a63f2c-77b4-4ee3-a2dd-ba99fb45fdf2', 'x-ms-version', - '2019-02-02', + '2023-01-03', 'Access-Control-Expose-Headers', 'x-ms-request-id,x-ms-client-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 11 Sep 2019 02:20:13 GMT' ]); - + 'Sun, 23 Apr 2023 06:25:52 GMT' +]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156816841193907191') + .delete('/share168223109138903404') .query(true) - .reply(202, "", [ 'Content-Length', + .reply(202, "", [ + 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '700efd79-901a-001e-1d47-68bc11000000', + 'e6aab891-601a-005a-1cac-758bca000000', 'x-ms-client-request-id', - '36b6aa17-8dd9-4b1e-9de4-512dede93e8c', + 'a79e24eb-3880-4acc-9b8d-5423c1d3c670', 'x-ms-version', - '2019-02-02', + '2023-01-03', 'Date', - 'Wed, 11 Sep 2019 02:20:13 GMT' ]); - + 'Sun, 23 Apr 2023 06:25:52 GMT' +]); diff --git a/sdk/storage/storage-file-share/review/storage-file-share.api.md b/sdk/storage/storage-file-share/review/storage-file-share.api.md index 3d9c0cedbb68..057024eebdf9 100644 --- a/sdk/storage/storage-file-share/review/storage-file-share.api.md +++ b/sdk/storage/storage-file-share/review/storage-file-share.api.md @@ -1168,6 +1168,8 @@ export function generateFileSASQueryParameters(fileSASSignatureValues: FileSASSi // @public export interface HandleItem { + // (undocumented) + accessRightList?: ShareFileHandleAccessRights[]; clientIp: string; fileId: string; handleId: string; @@ -1735,6 +1737,9 @@ export class ShareFileClient extends StorageClient { withShareSnapshot(shareSnapshot: string): ShareFileClient; } +// @public +export type ShareFileHandleAccessRights = "Read" | "Write" | "Delete"; + // @public export interface ShareFileRangeList { // (undocumented) diff --git a/sdk/storage/storage-file-share/src/generated/src/models/index.ts b/sdk/storage/storage-file-share/src/generated/src/models/index.ts index 52172de7928c..8f7fcfa54708 100644 --- a/sdk/storage/storage-file-share/src/generated/src/models/index.ts +++ b/sdk/storage/storage-file-share/src/generated/src/models/index.ts @@ -236,6 +236,7 @@ export interface HandleItem { openTime: Date; /** Time handle was last connected to (UTC) */ lastReconnectTime?: Date; + accessRightList?: AccessRight[]; } /** The list of file ranges */ @@ -1728,6 +1729,8 @@ export type ListFilesIncludeType = | "Etag" | "Attributes" | "PermissionKey"; +/** Defines values for AccessRight. */ +export type AccessRight = "Read" | "Write" | "Delete"; /** Defines values for CopyStatusType. */ export type CopyStatusType = "pending" | "success" | "aborted" | "failed"; /** Defines values for FileRangeWriteType. */ diff --git a/sdk/storage/storage-file-share/src/generated/src/models/mappers.ts b/sdk/storage/storage-file-share/src/generated/src/models/mappers.ts index a812dd40b066..d3da10204f29 100644 --- a/sdk/storage/storage-file-share/src/generated/src/models/mappers.ts +++ b/sdk/storage/storage-file-share/src/generated/src/models/mappers.ts @@ -1047,6 +1047,21 @@ export const HandleItem: coreHttp.CompositeMapper = { type: { name: "DateTimeRfc1123" } + }, + accessRightList: { + serializedName: "AccessRightList", + xmlName: "AccessRightList", + xmlIsWrapped: true, + xmlElementName: "AccessRight", + type: { + name: "Sequence", + element: { + type: { + name: "Enum", + allowedValues: ["Read", "Write", "Delete"] + } + } + } } } } diff --git a/sdk/storage/storage-file-share/src/generated/src/models/parameters.ts b/sdk/storage/storage-file-share/src/generated/src/models/parameters.ts index ebccd6197dcf..dc5471efff2c 100644 --- a/sdk/storage/storage-file-share/src/generated/src/models/parameters.ts +++ b/sdk/storage/storage-file-share/src/generated/src/models/parameters.ts @@ -100,7 +100,7 @@ export const timeoutInSeconds: OperationQueryParameter = { export const version: OperationParameter = { parameterPath: "version", mapper: { - defaultValue: "2022-11-02", + defaultValue: "2023-01-03", isConstant: true, serializedName: "x-ms-version", type: { diff --git a/sdk/storage/storage-file-share/src/generated/src/storageClientContext.ts b/sdk/storage/storage-file-share/src/generated/src/storageClientContext.ts index da002c672957..d8523f9034c4 100644 --- a/sdk/storage/storage-file-share/src/generated/src/storageClientContext.ts +++ b/sdk/storage/storage-file-share/src/generated/src/storageClientContext.ts @@ -48,7 +48,7 @@ export class StorageClientContext extends coreHttp.ServiceClient { this.url = url; // Assigning values to Constant parameters - this.version = options.version || "2022-11-02"; + this.version = options.version || "2023-01-03"; this.fileRangeWriteFromUrl = options.fileRangeWriteFromUrl || "update"; } } diff --git a/sdk/storage/storage-file-share/src/generatedModels.ts b/sdk/storage/storage-file-share/src/generatedModels.ts index 703626c90d85..3f4f4cb4474b 100644 --- a/sdk/storage/storage-file-share/src/generatedModels.ts +++ b/sdk/storage/storage-file-share/src/generatedModels.ts @@ -189,6 +189,9 @@ export type DirectoryListFilesAndDirectoriesSegmentResponse = }; }; +/** Defines values for AccessRight. */ +export type ShareFileHandleAccessRights = "Read" | "Write" | "Delete"; + /** A listed Azure Storage handle item. */ export interface HandleItem { /** XSMB service handle ID */ @@ -207,6 +210,7 @@ export interface HandleItem { openTime: Date; /** Time handle was last connected to (UTC) */ lastReconnectTime?: Date; + accessRightList?: ShareFileHandleAccessRights[]; } /** An enumeration of handles. */ diff --git a/sdk/storage/storage-file-share/swagger/README.md b/sdk/storage/storage-file-share/swagger/README.md index a725c9aa454e..30c6d5e024f7 100644 --- a/sdk/storage/storage-file-share/swagger/README.md +++ b/sdk/storage/storage-file-share/swagger/README.md @@ -12,7 +12,7 @@ enable-xml: true generate-metadata: false license-header: MICROSOFT_MIT_NO_VERSION output-folder: ../src/generated -input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/7dcd41cd28d46eb256bac034760a7e2f0a036238/specification/storage/data-plane/Microsoft.FileStorage/preview/2022-11-02/file.json +input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/02ec353ce82c87447bc78e6f662adee089fff504/specification/storage/data-plane/Microsoft.FileStorage/preview/2023-01-03/file.json model-date-time-as-string: true optional-response-headers: true v3: true diff --git a/sdk/storage/storage-file-share/test/directoryclient.spec.ts b/sdk/storage/storage-file-share/test/directoryclient.spec.ts index 30d9e4dd73c6..c0307593f201 100644 --- a/sdk/storage/storage-file-share/test/directoryclient.spec.ts +++ b/sdk/storage/storage-file-share/test/directoryclient.spec.ts @@ -1037,7 +1037,6 @@ describe("DirectoryClient", () => { it("listHandles should work", async () => { // TODO: Open or create a handle; Currently can only be done manually; No REST APIs for creating handles - const result = (await dirClient.listHandles().byPage().next()).value; if (result.handleList !== undefined && result.handleList.length > 0) { @@ -1048,6 +1047,7 @@ describe("DirectoryClient", () => { assert.notDeepEqual(handle.sessionId, undefined); assert.notDeepEqual(handle.clientIp, undefined); assert.notDeepEqual(handle.openTime, undefined); + assert.notDeepEqual(handle.accessRightList, undefined); } }); From 027d50399bb20f37b6b10f1b3f73512397aca3fa Mon Sep 17 00:00:00 2001 From: Emma Zhu Date: Fri, 5 May 2023 14:59:04 +0800 Subject: [PATCH 2/2] Resolve comments --- sdk/storage/storage-file-share/test/directoryclient.spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/storage/storage-file-share/test/directoryclient.spec.ts b/sdk/storage/storage-file-share/test/directoryclient.spec.ts index c0307593f201..508ea50eb572 100644 --- a/sdk/storage/storage-file-share/test/directoryclient.spec.ts +++ b/sdk/storage/storage-file-share/test/directoryclient.spec.ts @@ -1036,7 +1036,7 @@ describe("DirectoryClient", () => { }); it("listHandles should work", async () => { - // TODO: Open or create a handle; Currently can only be done manually; No REST APIs for creating handles + // TODO: Open or create a handle manually with access rights of Read, Write and Delete; No REST APIs for creating handles const result = (await dirClient.listHandles().byPage().next()).value; if (result.handleList !== undefined && result.handleList.length > 0) { @@ -1047,7 +1047,7 @@ describe("DirectoryClient", () => { assert.notDeepEqual(handle.sessionId, undefined); assert.notDeepEqual(handle.clientIp, undefined); assert.notDeepEqual(handle.openTime, undefined); - assert.notDeepEqual(handle.accessRightList, undefined); + assert.deepEqual(handle.accessRightList, ["Read", "Write", "Delete"]); } });