@azure-rest/synapse-access-control 1.0.0-alpha.20241120.1 → 1.0.0-alpha.20241125.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/browser/accessControlRestClient.d.ts +5 -0
- package/dist/browser/accessControlRestClient.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/accessControlRestClient.js +2 -2
- package/dist/browser/accessControlRestClient.js.map +1 -0
- package/dist/browser/clientDefinitions.d.ts +49 -0
- package/dist/browser/clientDefinitions.d.ts.map +1 -0
- package/dist/browser/clientDefinitions.js.map +1 -0
- package/dist/browser/index.d.ts +11 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +14 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/isUnexpected.d.ts +10 -0
- package/dist/browser/isUnexpected.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/isUnexpected.js +3 -5
- package/dist/browser/isUnexpected.js.map +1 -0
- package/dist/browser/models.d.ts +43 -0
- package/dist/browser/models.d.ts.map +1 -0
- package/dist/browser/outputModels.d.ts +91 -0
- package/dist/browser/outputModels.d.ts.map +1 -0
- package/dist/browser/package.json +3 -0
- package/dist/browser/paginateHelper.d.ts +43 -0
- package/dist/browser/paginateHelper.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/paginateHelper.js +4 -17
- package/dist/browser/paginateHelper.js.map +1 -0
- package/dist/browser/parameters.d.ts +62 -0
- package/dist/browser/parameters.d.ts.map +1 -0
- package/dist/browser/parameters.js.map +1 -0
- package/dist/browser/responses.d.ts +94 -0
- package/dist/browser/responses.d.ts.map +1 -0
- package/dist/browser/responses.js.map +1 -0
- package/dist/commonjs/accessControlRestClient.d.ts +5 -0
- package/dist/commonjs/accessControlRestClient.d.ts.map +1 -0
- package/dist/commonjs/accessControlRestClient.js +24 -0
- package/dist/commonjs/accessControlRestClient.js.map +1 -0
- package/dist/commonjs/clientDefinitions.d.ts +49 -0
- package/dist/commonjs/clientDefinitions.d.ts.map +1 -0
- package/dist/commonjs/clientDefinitions.js +5 -0
- package/dist/commonjs/clientDefinitions.js.map +1 -0
- package/dist/commonjs/index.d.ts +11 -0
- package/dist/commonjs/index.d.ts.map +1 -0
- package/dist/commonjs/index.js +17 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/isUnexpected.d.ts +10 -0
- package/dist/commonjs/isUnexpected.d.ts.map +1 -0
- package/dist/commonjs/isUnexpected.js +73 -0
- package/dist/commonjs/isUnexpected.js.map +1 -0
- package/dist/commonjs/models.d.ts +43 -0
- package/dist/commonjs/models.d.ts.map +1 -0
- package/dist/commonjs/models.js +5 -0
- package/dist/commonjs/models.js.map +1 -0
- package/dist/commonjs/outputModels.d.ts +91 -0
- package/dist/commonjs/outputModels.d.ts.map +1 -0
- package/dist/commonjs/outputModels.js +5 -0
- package/dist/commonjs/outputModels.js.map +1 -0
- package/dist/commonjs/package.json +3 -0
- package/dist/commonjs/paginateHelper.d.ts +43 -0
- package/dist/commonjs/paginateHelper.d.ts.map +1 -0
- package/dist/commonjs/paginateHelper.js +73 -0
- package/dist/commonjs/paginateHelper.js.map +1 -0
- package/dist/commonjs/parameters.d.ts +62 -0
- package/dist/commonjs/parameters.d.ts.map +1 -0
- package/dist/commonjs/parameters.js +5 -0
- package/dist/commonjs/parameters.js.map +1 -0
- package/dist/commonjs/responses.d.ts +94 -0
- package/dist/commonjs/responses.d.ts.map +1 -0
- package/dist/commonjs/responses.js +5 -0
- package/dist/commonjs/responses.js.map +1 -0
- package/dist/commonjs/tsdoc-metadata.json +11 -0
- package/dist/esm/accessControlRestClient.d.ts +5 -0
- package/dist/esm/accessControlRestClient.d.ts.map +1 -0
- package/dist/esm/accessControlRestClient.js +21 -0
- package/dist/esm/accessControlRestClient.js.map +1 -0
- package/dist/esm/clientDefinitions.d.ts +49 -0
- package/dist/esm/clientDefinitions.d.ts.map +1 -0
- package/dist/esm/clientDefinitions.js +4 -0
- package/dist/esm/clientDefinitions.js.map +1 -0
- package/dist/esm/index.d.ts +11 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +14 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/isUnexpected.d.ts +10 -0
- package/dist/esm/isUnexpected.d.ts.map +1 -0
- package/dist/esm/isUnexpected.js +70 -0
- package/dist/esm/isUnexpected.js.map +1 -0
- package/dist/esm/models.d.ts +43 -0
- package/dist/esm/models.d.ts.map +1 -0
- package/dist/esm/models.js +4 -0
- package/dist/esm/models.js.map +1 -0
- package/dist/esm/outputModels.d.ts +91 -0
- package/dist/esm/outputModels.d.ts.map +1 -0
- package/dist/esm/outputModels.js +4 -0
- package/dist/esm/outputModels.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/paginateHelper.d.ts +43 -0
- package/dist/esm/paginateHelper.d.ts.map +1 -0
- package/dist/esm/paginateHelper.js +70 -0
- package/dist/esm/paginateHelper.js.map +1 -0
- package/dist/esm/parameters.d.ts +62 -0
- package/dist/esm/parameters.d.ts.map +1 -0
- package/dist/esm/parameters.js +4 -0
- package/dist/esm/parameters.js.map +1 -0
- package/dist/esm/responses.d.ts +94 -0
- package/dist/esm/responses.d.ts.map +1 -0
- package/dist/esm/responses.js +4 -0
- package/dist/esm/responses.js.map +1 -0
- package/dist/react-native/accessControlRestClient.d.ts +5 -0
- package/dist/react-native/accessControlRestClient.d.ts.map +1 -0
- package/dist/react-native/accessControlRestClient.js +21 -0
- package/dist/react-native/accessControlRestClient.js.map +1 -0
- package/dist/react-native/clientDefinitions.d.ts +49 -0
- package/dist/react-native/clientDefinitions.d.ts.map +1 -0
- package/dist/react-native/clientDefinitions.js +4 -0
- package/dist/react-native/clientDefinitions.js.map +1 -0
- package/dist/react-native/index.d.ts +11 -0
- package/dist/react-native/index.d.ts.map +1 -0
- package/dist/react-native/index.js +14 -0
- package/dist/react-native/index.js.map +1 -0
- package/dist/react-native/isUnexpected.d.ts +10 -0
- package/dist/react-native/isUnexpected.d.ts.map +1 -0
- package/dist/react-native/isUnexpected.js +70 -0
- package/dist/react-native/isUnexpected.js.map +1 -0
- package/dist/react-native/models.d.ts +43 -0
- package/dist/react-native/models.d.ts.map +1 -0
- package/dist/react-native/models.js +4 -0
- package/dist/react-native/models.js.map +1 -0
- package/dist/react-native/outputModels.d.ts +91 -0
- package/dist/react-native/outputModels.d.ts.map +1 -0
- package/dist/react-native/outputModels.js +4 -0
- package/dist/react-native/outputModels.js.map +1 -0
- package/dist/react-native/package.json +3 -0
- package/dist/react-native/paginateHelper.d.ts +43 -0
- package/dist/react-native/paginateHelper.d.ts.map +1 -0
- package/dist/react-native/paginateHelper.js +70 -0
- package/dist/react-native/paginateHelper.js.map +1 -0
- package/dist/react-native/parameters.d.ts +62 -0
- package/dist/react-native/parameters.d.ts.map +1 -0
- package/dist/react-native/parameters.js +4 -0
- package/dist/react-native/parameters.js.map +1 -0
- package/dist/react-native/responses.d.ts +94 -0
- package/dist/react-native/responses.d.ts.map +1 -0
- package/dist/react-native/responses.js +4 -0
- package/dist/react-native/responses.js.map +1 -0
- package/dist/synapse-access-control-rest.d.ts +460 -0
- package/package.json +67 -57
- package/dist/index.js +0 -187
- package/dist/index.js.map +0 -1
- package/dist/index.min.js +0 -2
- package/dist/index.min.js.map +0 -1
- package/dist-esm/samples-dev/createRoleAssignment.js +0 -33
- package/dist-esm/samples-dev/createRoleAssignment.js.map +0 -1
- package/dist-esm/samples-dev/listRoleAssignments.js +0 -40
- package/dist-esm/samples-dev/listRoleAssignments.js.map +0 -1
- package/dist-esm/src/accessControlRestClient.js.map +0 -1
- package/dist-esm/src/clientDefinitions.js.map +0 -1
- package/dist-esm/src/index.js +0 -13
- package/dist-esm/src/index.js.map +0 -1
- package/dist-esm/src/isUnexpected.js.map +0 -1
- package/dist-esm/src/paginateHelper.js.map +0 -1
- package/dist-esm/src/parameters.js.map +0 -1
- package/dist-esm/src/responses.js.map +0 -1
- package/dist-esm/test/public/test.spec.js +0 -97
- package/dist-esm/test/public/test.spec.js.map +0 -1
- package/dist-esm/test/public/utils/env.browser.js +0 -4
- package/dist-esm/test/public/utils/env.browser.js.map +0 -1
- package/dist-esm/test/public/utils/env.js +0 -5
- package/dist-esm/test/public/utils/env.js.map +0 -1
- package/dist-esm/test/public/utils/recordedClient.js +0 -35
- package/dist-esm/test/public/utils/recordedClient.js.map +0 -1
- package/tsconfig.json +0 -25
- /package/{dist-esm/src → dist/browser}/clientDefinitions.js +0 -0
- /package/{dist-esm/src → dist/browser}/models.js +0 -0
- /package/{dist-esm/src → dist/browser}/models.js.map +0 -0
- /package/{dist-esm/src → dist/browser}/outputModels.js +0 -0
- /package/{dist-esm/src → dist/browser}/outputModels.js.map +0 -0
- /package/{dist-esm/src → dist/browser}/parameters.js +0 -0
- /package/{dist-esm/src → dist/browser}/responses.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paginateHelper.d.ts","sourceRoot":"","sources":["../../src/paginateHelper.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,0BAA0B,EAAe,MAAM,oBAAoB,CAAC;AAElF,OAAO,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAG7E;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;AAE3E;;GAEG;AACH,MAAM,MAAM,OAAO,CAAC,KAAK,IAAI,CAC3B,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,KACjB,OAAO,CAAC;IACX,IAAI,EAAE,KAAK,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,SAAS;IACtC;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;CACtD;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,CAAC,OAAO,IAAI,OAAO,SAAS;IACpD,IAAI,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,KAAK,CAAA;KAAE,CAAC;CAC/B,GACG,YAAY,CAAC,KAAK,CAAC,GACnB,KAAK,CAAC,OAAO,CAAC,CAAC;AAEnB;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,SAAS,SAAS,qBAAqB,EAC9D,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,SAAS,EAC1B,OAAO,GAAE,aAAa,CAAC,SAAS,CAAM,GACrC,0BAA0B,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CA0BvD"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.paginate = paginate;
|
|
6
|
+
const core_paging_1 = require("@azure/core-paging");
|
|
7
|
+
const core_client_1 = require("@azure-rest/core-client");
|
|
8
|
+
/**
|
|
9
|
+
* Helper to paginate results from an initial response that follows the specification of Autorest `x-ms-pageable` extension
|
|
10
|
+
* @param client - Client to use for sending the next page requests
|
|
11
|
+
* @param initialResponse - Initial response containing the nextLink and current page of elements
|
|
12
|
+
* @param customGetPage - Optional - Function to define how to extract the page and next link to be used to paginate the results
|
|
13
|
+
* @returns - PagedAsyncIterableIterator to iterate the elements
|
|
14
|
+
*/
|
|
15
|
+
function paginate(client, initialResponse, options = {}) {
|
|
16
|
+
let firstRun = true;
|
|
17
|
+
const itemName = "value";
|
|
18
|
+
const nextLinkName = "nextLink";
|
|
19
|
+
const { customGetPage } = options;
|
|
20
|
+
const pagedResult = {
|
|
21
|
+
firstPageLink: "",
|
|
22
|
+
getPage: typeof customGetPage === "function"
|
|
23
|
+
? customGetPage
|
|
24
|
+
: async (pageLink) => {
|
|
25
|
+
const result = firstRun ? initialResponse : await client.pathUnchecked(pageLink).get();
|
|
26
|
+
firstRun = false;
|
|
27
|
+
checkPagingRequest(result);
|
|
28
|
+
const nextLink = getNextLink(result.body, nextLinkName);
|
|
29
|
+
const values = getElements(result.body, itemName);
|
|
30
|
+
return {
|
|
31
|
+
page: values,
|
|
32
|
+
nextPageLink: nextLink,
|
|
33
|
+
};
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
return (0, core_paging_1.getPagedAsyncIterator)(pagedResult);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Gets for the value of nextLink in the body
|
|
40
|
+
*/
|
|
41
|
+
function getNextLink(body, nextLinkName) {
|
|
42
|
+
if (!nextLinkName) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
const nextLink = body[nextLinkName];
|
|
46
|
+
if (typeof nextLink !== "string" && typeof nextLink !== "undefined") {
|
|
47
|
+
throw new Error(`Body Property ${nextLinkName} should be a string or undefined`);
|
|
48
|
+
}
|
|
49
|
+
return nextLink;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Gets the elements of the current request in the body.
|
|
53
|
+
*/
|
|
54
|
+
function getElements(body, itemName) {
|
|
55
|
+
const value = body[itemName];
|
|
56
|
+
// value has to be an array according to the x-ms-pageable extension.
|
|
57
|
+
// The fact that this must be an array is used above to calculate the
|
|
58
|
+
// type of elements in the page in PaginateReturn
|
|
59
|
+
if (!Array.isArray(value)) {
|
|
60
|
+
throw new Error(`Couldn't paginate response\n Body doesn't contain an array property with name: ${itemName}`);
|
|
61
|
+
}
|
|
62
|
+
return value !== null && value !== void 0 ? value : [];
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Checks if a request failed
|
|
66
|
+
*/
|
|
67
|
+
function checkPagingRequest(response) {
|
|
68
|
+
const Http2xxStatusCodes = ["200", "201", "202", "203", "204", "205", "206", "207", "208", "226"];
|
|
69
|
+
if (!Http2xxStatusCodes.includes(response.status)) {
|
|
70
|
+
throw (0, core_client_1.createRestError)(`Pagination failed with unexpected statusCode ${response.status}`, response);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=paginateHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paginateHelper.js","sourceRoot":"","sources":["../../src/paginateHelper.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;AAqDlC,4BA8BC;AAhFD,oDAA2D;AAE3D,yDAA0D;AAyC1D;;;;;;GAMG;AACH,SAAgB,QAAQ,CACtB,MAAc,EACd,eAA0B,EAC1B,UAAoC,EAAE;IAItC,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,MAAM,QAAQ,GAAG,OAAO,CAAC;IACzB,MAAM,YAAY,GAAG,UAAU,CAAC;IAChC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAClC,MAAM,WAAW,GAA4B;QAC3C,aAAa,EAAE,EAAE;QACjB,OAAO,EACL,OAAO,aAAa,KAAK,UAAU;YACjC,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,KAAK,EAAE,QAAgB,EAAE,EAAE;gBACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;gBACvF,QAAQ,GAAG,KAAK,CAAC;gBACjB,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAC3B,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBACxD,MAAM,MAAM,GAAG,WAAW,CAAW,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC5D,OAAO;oBACL,IAAI,EAAE,MAAM;oBACZ,YAAY,EAAE,QAAQ;iBACvB,CAAC;YACJ,CAAC;KACR,CAAC;IAEF,OAAO,IAAA,mCAAqB,EAAC,WAAW,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,IAAa,EAAE,YAAqB;IACvD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAI,IAAgC,CAAC,YAAY,CAAC,CAAC;IAEjE,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,iBAAiB,YAAY,kCAAkC,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAc,IAAa,EAAE,QAAgB;IAC/D,MAAM,KAAK,GAAI,IAAgC,CAAC,QAAQ,CAAQ,CAAC;IAEjE,qEAAqE;IACrE,qEAAqE;IACrE,iDAAiD;IACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,kFAAkF,QAAQ,EAAE,CAC7F,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,QAA+B;IACzD,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAClG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,IAAA,6BAAe,EACnB,gDAAgD,QAAQ,CAAC,MAAM,EAAE,EACjE,QAAQ,CACT,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PagedAsyncIterableIterator, PagedResult } from \"@azure/core-paging\";\nimport { getPagedAsyncIterator } from \"@azure/core-paging\";\nimport type { Client, PathUncheckedResponse } from \"@azure-rest/core-client\";\nimport { createRestError } from \"@azure-rest/core-client\";\n\n/**\n * Helper type to extract the type of an array\n */\nexport type GetArrayType<T> = T extends Array<infer TData> ? TData : never;\n\n/**\n * The type of a custom function that defines how to get a page and a link to the next one if any.\n */\nexport type GetPage<TPage> = (\n pageLink: string,\n maxPageSize?: number,\n) => Promise<{\n page: TPage;\n nextPageLink?: string;\n}>;\n\n/**\n * Options for the paging helper\n */\nexport interface PagingOptions<TResponse> {\n /**\n * Custom function to extract pagination details for crating the PagedAsyncIterableIterator\n */\n customGetPage?: GetPage<PaginateReturn<TResponse>[]>;\n}\n\n/**\n * Helper type to infer the Type of the paged elements from the response type\n * This type is generated based on the swagger information for x-ms-pageable\n * specifically on the itemName property which indicates the property of the response\n * where the page items are found. The default value is `value`.\n * This type will allow us to provide strongly typed Iterator based on the response we get as second parameter\n */\nexport type PaginateReturn<TResult> = TResult extends {\n body: { value?: infer TPage };\n}\n ? GetArrayType<TPage>\n : Array<unknown>;\n\n/**\n * Helper to paginate results from an initial response that follows the specification of Autorest `x-ms-pageable` extension\n * @param client - Client to use for sending the next page requests\n * @param initialResponse - Initial response containing the nextLink and current page of elements\n * @param customGetPage - Optional - Function to define how to extract the page and next link to be used to paginate the results\n * @returns - PagedAsyncIterableIterator to iterate the elements\n */\nexport function paginate<TResponse extends PathUncheckedResponse>(\n client: Client,\n initialResponse: TResponse,\n options: PagingOptions<TResponse> = {},\n): PagedAsyncIterableIterator<PaginateReturn<TResponse>> {\n // Extract element type from initial response\n type TElement = PaginateReturn<TResponse>;\n let firstRun = true;\n const itemName = \"value\";\n const nextLinkName = \"nextLink\";\n const { customGetPage } = options;\n const pagedResult: PagedResult<TElement[]> = {\n firstPageLink: \"\",\n getPage:\n typeof customGetPage === \"function\"\n ? customGetPage\n : async (pageLink: string) => {\n const result = firstRun ? initialResponse : await client.pathUnchecked(pageLink).get();\n firstRun = false;\n checkPagingRequest(result);\n const nextLink = getNextLink(result.body, nextLinkName);\n const values = getElements<TElement>(result.body, itemName);\n return {\n page: values,\n nextPageLink: nextLink,\n };\n },\n };\n\n return getPagedAsyncIterator(pagedResult);\n}\n\n/**\n * Gets for the value of nextLink in the body\n */\nfunction getNextLink(body: unknown, nextLinkName?: string): string | undefined {\n if (!nextLinkName) {\n return undefined;\n }\n\n const nextLink = (body as Record<string, unknown>)[nextLinkName];\n\n if (typeof nextLink !== \"string\" && typeof nextLink !== \"undefined\") {\n throw new Error(`Body Property ${nextLinkName} should be a string or undefined`);\n }\n\n return nextLink;\n}\n\n/**\n * Gets the elements of the current request in the body.\n */\nfunction getElements<T = unknown>(body: unknown, itemName: string): T[] {\n const value = (body as Record<string, unknown>)[itemName] as T[];\n\n // value has to be an array according to the x-ms-pageable extension.\n // The fact that this must be an array is used above to calculate the\n // type of elements in the page in PaginateReturn\n if (!Array.isArray(value)) {\n throw new Error(\n `Couldn't paginate response\\n Body doesn't contain an array property with name: ${itemName}`,\n );\n }\n\n return value ?? [];\n}\n\n/**\n * Checks if a request failed\n */\nfunction checkPagingRequest(response: PathUncheckedResponse): void {\n const Http2xxStatusCodes = [\"200\", \"201\", \"202\", \"203\", \"204\", \"205\", \"206\", \"207\", \"208\", \"226\"];\n if (!Http2xxStatusCodes.includes(response.status)) {\n throw createRestError(\n `Pagination failed with unexpected statusCode ${response.status}`,\n response,\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { RawHttpHeadersInput } from "@azure/core-rest-pipeline";
|
|
2
|
+
import type { RequestParameters } from "@azure-rest/core-client";
|
|
3
|
+
import type { CheckPrincipalAccessRequest, RoleAssignmentRequest } from "./models.js";
|
|
4
|
+
export interface RoleAssignmentsCheckPrincipalAccessBodyParam {
|
|
5
|
+
/** Details of scope, list of actions and principal. */
|
|
6
|
+
body: CheckPrincipalAccessRequest;
|
|
7
|
+
}
|
|
8
|
+
export interface RoleAssignmentsCheckPrincipalAccessMediaTypesParam {
|
|
9
|
+
/** Request content type */
|
|
10
|
+
contentType?: "application/json" | "text/json";
|
|
11
|
+
}
|
|
12
|
+
export type RoleAssignmentsCheckPrincipalAccessParameters = RoleAssignmentsCheckPrincipalAccessMediaTypesParam & RoleAssignmentsCheckPrincipalAccessBodyParam & RequestParameters;
|
|
13
|
+
export interface RoleAssignmentsListRoleAssignmentsHeaders {
|
|
14
|
+
/** Continuation token. */
|
|
15
|
+
"x-ms-continuation"?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface RoleAssignmentsListRoleAssignmentsQueryParamProperties {
|
|
18
|
+
/** Synapse Built-In Role Id. */
|
|
19
|
+
roleId?: string;
|
|
20
|
+
/** Object ID of the AAD principal or security-group. */
|
|
21
|
+
principalId?: string;
|
|
22
|
+
/** Scope of the Synapse Built-in Role. */
|
|
23
|
+
scope?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface RoleAssignmentsListRoleAssignmentsQueryParam {
|
|
26
|
+
queryParameters?: RoleAssignmentsListRoleAssignmentsQueryParamProperties;
|
|
27
|
+
}
|
|
28
|
+
export interface RoleAssignmentsListRoleAssignmentsHeaderParam {
|
|
29
|
+
headers: RawHttpHeadersInput & RoleAssignmentsListRoleAssignmentsHeaders;
|
|
30
|
+
}
|
|
31
|
+
export type RoleAssignmentsListRoleAssignmentsParameters = RoleAssignmentsListRoleAssignmentsQueryParam & RoleAssignmentsListRoleAssignmentsHeaderParam & RequestParameters;
|
|
32
|
+
export interface RoleAssignmentsCreateRoleAssignmentBodyParam {
|
|
33
|
+
/** Details of role id, scope and object id. */
|
|
34
|
+
body: RoleAssignmentRequest;
|
|
35
|
+
}
|
|
36
|
+
export interface RoleAssignmentsCreateRoleAssignmentMediaTypesParam {
|
|
37
|
+
/** Request content type */
|
|
38
|
+
contentType?: "application/json" | "text/json";
|
|
39
|
+
}
|
|
40
|
+
export type RoleAssignmentsCreateRoleAssignmentParameters = RoleAssignmentsCreateRoleAssignmentMediaTypesParam & RoleAssignmentsCreateRoleAssignmentBodyParam & RequestParameters;
|
|
41
|
+
export type RoleAssignmentsGetRoleAssignmentByIdParameters = RequestParameters;
|
|
42
|
+
export interface RoleAssignmentsDeleteRoleAssignmentByIdQueryParamProperties {
|
|
43
|
+
/** Scope of the Synapse Built-in Role. */
|
|
44
|
+
scope?: string;
|
|
45
|
+
}
|
|
46
|
+
export interface RoleAssignmentsDeleteRoleAssignmentByIdQueryParam {
|
|
47
|
+
queryParameters?: RoleAssignmentsDeleteRoleAssignmentByIdQueryParamProperties;
|
|
48
|
+
}
|
|
49
|
+
export type RoleAssignmentsDeleteRoleAssignmentByIdParameters = RoleAssignmentsDeleteRoleAssignmentByIdQueryParam & RequestParameters;
|
|
50
|
+
export interface RoleDefinitionsListRoleDefinitionsQueryParamProperties {
|
|
51
|
+
/** Is a Synapse Built-In Role or not. */
|
|
52
|
+
isBuiltIn?: boolean;
|
|
53
|
+
/** Scope of the Synapse Built-in Role. */
|
|
54
|
+
scope?: string;
|
|
55
|
+
}
|
|
56
|
+
export interface RoleDefinitionsListRoleDefinitionsQueryParam {
|
|
57
|
+
queryParameters?: RoleDefinitionsListRoleDefinitionsQueryParamProperties;
|
|
58
|
+
}
|
|
59
|
+
export type RoleDefinitionsListRoleDefinitionsParameters = RoleDefinitionsListRoleDefinitionsQueryParam & RequestParameters;
|
|
60
|
+
export type RoleDefinitionsGetRoleDefinitionByIdParameters = RequestParameters;
|
|
61
|
+
export type RoleDefinitionsListScopesParameters = RequestParameters;
|
|
62
|
+
//# sourceMappingURL=parameters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameters.d.ts","sourceRoot":"","sources":["../../src/parameters.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEtF,MAAM,WAAW,4CAA4C;IAC3D,uDAAuD;IACvD,IAAI,EAAE,2BAA2B,CAAC;CACnC;AAED,MAAM,WAAW,kDAAkD;IACjE,2BAA2B;IAC3B,WAAW,CAAC,EAAE,kBAAkB,GAAG,WAAW,CAAC;CAChD;AAED,MAAM,MAAM,6CAA6C,GACvD,kDAAkD,GAChD,4CAA4C,GAC5C,iBAAiB,CAAC;AAEtB,MAAM,WAAW,yCAAyC;IACxD,0BAA0B;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,sDAAsD;IACrE,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,4CAA4C;IAC3D,eAAe,CAAC,EAAE,sDAAsD,CAAC;CAC1E;AAED,MAAM,WAAW,6CAA6C;IAC5D,OAAO,EAAE,mBAAmB,GAAG,yCAAyC,CAAC;CAC1E;AAED,MAAM,MAAM,4CAA4C,GACtD,4CAA4C,GAC1C,6CAA6C,GAC7C,iBAAiB,CAAC;AAEtB,MAAM,WAAW,4CAA4C;IAC3D,+CAA+C;IAC/C,IAAI,EAAE,qBAAqB,CAAC;CAC7B;AAED,MAAM,WAAW,kDAAkD;IACjE,2BAA2B;IAC3B,WAAW,CAAC,EAAE,kBAAkB,GAAG,WAAW,CAAC;CAChD;AAED,MAAM,MAAM,6CAA6C,GACvD,kDAAkD,GAChD,4CAA4C,GAC5C,iBAAiB,CAAC;AACtB,MAAM,MAAM,8CAA8C,GAAG,iBAAiB,CAAC;AAE/E,MAAM,WAAW,2DAA2D;IAC1E,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iDAAiD;IAChE,eAAe,CAAC,EAAE,2DAA2D,CAAC;CAC/E;AAED,MAAM,MAAM,iDAAiD,GAC3D,iDAAiD,GAAG,iBAAiB,CAAC;AAExE,MAAM,WAAW,sDAAsD;IACrE,yCAAyC;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,4CAA4C;IAC3D,eAAe,CAAC,EAAE,sDAAsD,CAAC;CAC1E;AAED,MAAM,MAAM,4CAA4C,GACtD,4CAA4C,GAAG,iBAAiB,CAAC;AACnE,MAAM,MAAM,8CAA8C,GAAG,iBAAiB,CAAC;AAC/E,MAAM,MAAM,mCAAmC,GAAG,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/parameters.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { RawHttpHeadersInput } from \"@azure/core-rest-pipeline\";\nimport type { RequestParameters } from \"@azure-rest/core-client\";\nimport type { CheckPrincipalAccessRequest, RoleAssignmentRequest } from \"./models.js\";\n\nexport interface RoleAssignmentsCheckPrincipalAccessBodyParam {\n /** Details of scope, list of actions and principal. */\n body: CheckPrincipalAccessRequest;\n}\n\nexport interface RoleAssignmentsCheckPrincipalAccessMediaTypesParam {\n /** Request content type */\n contentType?: \"application/json\" | \"text/json\";\n}\n\nexport type RoleAssignmentsCheckPrincipalAccessParameters =\n RoleAssignmentsCheckPrincipalAccessMediaTypesParam &\n RoleAssignmentsCheckPrincipalAccessBodyParam &\n RequestParameters;\n\nexport interface RoleAssignmentsListRoleAssignmentsHeaders {\n /** Continuation token. */\n \"x-ms-continuation\"?: string;\n}\n\nexport interface RoleAssignmentsListRoleAssignmentsQueryParamProperties {\n /** Synapse Built-In Role Id. */\n roleId?: string;\n /** Object ID of the AAD principal or security-group. */\n principalId?: string;\n /** Scope of the Synapse Built-in Role. */\n scope?: string;\n}\n\nexport interface RoleAssignmentsListRoleAssignmentsQueryParam {\n queryParameters?: RoleAssignmentsListRoleAssignmentsQueryParamProperties;\n}\n\nexport interface RoleAssignmentsListRoleAssignmentsHeaderParam {\n headers: RawHttpHeadersInput & RoleAssignmentsListRoleAssignmentsHeaders;\n}\n\nexport type RoleAssignmentsListRoleAssignmentsParameters =\n RoleAssignmentsListRoleAssignmentsQueryParam &\n RoleAssignmentsListRoleAssignmentsHeaderParam &\n RequestParameters;\n\nexport interface RoleAssignmentsCreateRoleAssignmentBodyParam {\n /** Details of role id, scope and object id. */\n body: RoleAssignmentRequest;\n}\n\nexport interface RoleAssignmentsCreateRoleAssignmentMediaTypesParam {\n /** Request content type */\n contentType?: \"application/json\" | \"text/json\";\n}\n\nexport type RoleAssignmentsCreateRoleAssignmentParameters =\n RoleAssignmentsCreateRoleAssignmentMediaTypesParam &\n RoleAssignmentsCreateRoleAssignmentBodyParam &\n RequestParameters;\nexport type RoleAssignmentsGetRoleAssignmentByIdParameters = RequestParameters;\n\nexport interface RoleAssignmentsDeleteRoleAssignmentByIdQueryParamProperties {\n /** Scope of the Synapse Built-in Role. */\n scope?: string;\n}\n\nexport interface RoleAssignmentsDeleteRoleAssignmentByIdQueryParam {\n queryParameters?: RoleAssignmentsDeleteRoleAssignmentByIdQueryParamProperties;\n}\n\nexport type RoleAssignmentsDeleteRoleAssignmentByIdParameters =\n RoleAssignmentsDeleteRoleAssignmentByIdQueryParam & RequestParameters;\n\nexport interface RoleDefinitionsListRoleDefinitionsQueryParamProperties {\n /** Is a Synapse Built-In Role or not. */\n isBuiltIn?: boolean;\n /** Scope of the Synapse Built-in Role. */\n scope?: string;\n}\n\nexport interface RoleDefinitionsListRoleDefinitionsQueryParam {\n queryParameters?: RoleDefinitionsListRoleDefinitionsQueryParamProperties;\n}\n\nexport type RoleDefinitionsListRoleDefinitionsParameters =\n RoleDefinitionsListRoleDefinitionsQueryParam & RequestParameters;\nexport type RoleDefinitionsGetRoleDefinitionByIdParameters = RequestParameters;\nexport type RoleDefinitionsListScopesParameters = RequestParameters;\n"]}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import type { RawHttpHeaders } from "@azure/core-rest-pipeline";
|
|
2
|
+
import type { HttpResponse } from "@azure-rest/core-client";
|
|
3
|
+
import type { CheckPrincipalAccessResponseOutput, ErrorContractOutput, RoleAssignmentDetailsListOutput, RoleAssignmentDetailsOutput, SynapseRoleDefinitionOutput } from "./outputModels.js";
|
|
4
|
+
/** Check if the given principalId has access to perform list of actions at a given scope. */
|
|
5
|
+
export interface RoleAssignmentsCheckPrincipalAccess200Response extends HttpResponse {
|
|
6
|
+
status: "200";
|
|
7
|
+
body: CheckPrincipalAccessResponseOutput;
|
|
8
|
+
}
|
|
9
|
+
/** Check if the given principalId has access to perform list of actions at a given scope. */
|
|
10
|
+
export interface RoleAssignmentsCheckPrincipalAccessdefaultResponse extends HttpResponse {
|
|
11
|
+
status: string;
|
|
12
|
+
body: ErrorContractOutput;
|
|
13
|
+
}
|
|
14
|
+
export interface RoleAssignmentsListRoleAssignments200Headers {
|
|
15
|
+
/** If the number of role assignments to be listed exceeds the maxResults limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the list operation to continue listing the role assignments. */
|
|
16
|
+
"x-ms-continuation"?: string;
|
|
17
|
+
}
|
|
18
|
+
/** List role assignments. */
|
|
19
|
+
export interface RoleAssignmentsListRoleAssignments200Response extends HttpResponse {
|
|
20
|
+
status: "200";
|
|
21
|
+
body: RoleAssignmentDetailsListOutput;
|
|
22
|
+
headers: RawHttpHeaders & RoleAssignmentsListRoleAssignments200Headers;
|
|
23
|
+
}
|
|
24
|
+
/** List role assignments. */
|
|
25
|
+
export interface RoleAssignmentsListRoleAssignmentsdefaultResponse extends HttpResponse {
|
|
26
|
+
status: string;
|
|
27
|
+
body: ErrorContractOutput;
|
|
28
|
+
}
|
|
29
|
+
/** Create role assignment. */
|
|
30
|
+
export interface RoleAssignmentsCreateRoleAssignment200Response extends HttpResponse {
|
|
31
|
+
status: "200";
|
|
32
|
+
body: RoleAssignmentDetailsOutput;
|
|
33
|
+
}
|
|
34
|
+
/** Create role assignment. */
|
|
35
|
+
export interface RoleAssignmentsCreateRoleAssignmentdefaultResponse extends HttpResponse {
|
|
36
|
+
status: string;
|
|
37
|
+
body: ErrorContractOutput;
|
|
38
|
+
}
|
|
39
|
+
/** Get role assignment by role assignment Id. */
|
|
40
|
+
export interface RoleAssignmentsGetRoleAssignmentById200Response extends HttpResponse {
|
|
41
|
+
status: "200";
|
|
42
|
+
body: RoleAssignmentDetailsOutput;
|
|
43
|
+
}
|
|
44
|
+
/** Get role assignment by role assignment Id. */
|
|
45
|
+
export interface RoleAssignmentsGetRoleAssignmentByIddefaultResponse extends HttpResponse {
|
|
46
|
+
status: string;
|
|
47
|
+
body: ErrorContractOutput;
|
|
48
|
+
}
|
|
49
|
+
/** Delete role assignment by role assignment Id. */
|
|
50
|
+
export interface RoleAssignmentsDeleteRoleAssignmentById200Response extends HttpResponse {
|
|
51
|
+
status: "200";
|
|
52
|
+
body: Record<string, unknown>;
|
|
53
|
+
}
|
|
54
|
+
/** Delete role assignment by role assignment Id. */
|
|
55
|
+
export interface RoleAssignmentsDeleteRoleAssignmentById204Response extends HttpResponse {
|
|
56
|
+
status: "204";
|
|
57
|
+
body: Record<string, unknown>;
|
|
58
|
+
}
|
|
59
|
+
/** Delete role assignment by role assignment Id. */
|
|
60
|
+
export interface RoleAssignmentsDeleteRoleAssignmentByIddefaultResponse extends HttpResponse {
|
|
61
|
+
status: string;
|
|
62
|
+
body: ErrorContractOutput;
|
|
63
|
+
}
|
|
64
|
+
/** List role definitions. */
|
|
65
|
+
export interface RoleDefinitionsListRoleDefinitions200Response extends HttpResponse {
|
|
66
|
+
status: "200";
|
|
67
|
+
body: Array<SynapseRoleDefinitionOutput>;
|
|
68
|
+
}
|
|
69
|
+
/** List role definitions. */
|
|
70
|
+
export interface RoleDefinitionsListRoleDefinitionsdefaultResponse extends HttpResponse {
|
|
71
|
+
status: string;
|
|
72
|
+
body: ErrorContractOutput;
|
|
73
|
+
}
|
|
74
|
+
/** Get role definition by role definition Id. */
|
|
75
|
+
export interface RoleDefinitionsGetRoleDefinitionById200Response extends HttpResponse {
|
|
76
|
+
status: "200";
|
|
77
|
+
body: SynapseRoleDefinitionOutput;
|
|
78
|
+
}
|
|
79
|
+
/** Get role definition by role definition Id. */
|
|
80
|
+
export interface RoleDefinitionsGetRoleDefinitionByIddefaultResponse extends HttpResponse {
|
|
81
|
+
status: string;
|
|
82
|
+
body: ErrorContractOutput;
|
|
83
|
+
}
|
|
84
|
+
/** List rbac scopes. */
|
|
85
|
+
export interface RoleDefinitionsListScopes200Response extends HttpResponse {
|
|
86
|
+
status: "200";
|
|
87
|
+
body: Array<string>;
|
|
88
|
+
}
|
|
89
|
+
/** List rbac scopes. */
|
|
90
|
+
export interface RoleDefinitionsListScopesdefaultResponse extends HttpResponse {
|
|
91
|
+
status: string;
|
|
92
|
+
body: ErrorContractOutput;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=responses.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../src/responses.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EACV,kCAAkC,EAClC,mBAAmB,EACnB,+BAA+B,EAC/B,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,mBAAmB,CAAC;AAE3B,6FAA6F;AAC7F,MAAM,WAAW,8CAA+C,SAAQ,YAAY;IAClF,MAAM,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,kCAAkC,CAAC;CAC1C;AAED,6FAA6F;AAC7F,MAAM,WAAW,kDAAmD,SAAQ,YAAY;IACtF,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AAED,MAAM,WAAW,4CAA4C;IAC3D,qTAAqT;IACrT,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,6BAA6B;AAC7B,MAAM,WAAW,6CAA8C,SAAQ,YAAY;IACjF,MAAM,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,+BAA+B,CAAC;IACtC,OAAO,EAAE,cAAc,GAAG,4CAA4C,CAAC;CACxE;AAED,6BAA6B;AAC7B,MAAM,WAAW,iDAAkD,SAAQ,YAAY;IACrF,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AAED,8BAA8B;AAC9B,MAAM,WAAW,8CAA+C,SAAQ,YAAY;IAClF,MAAM,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,2BAA2B,CAAC;CACnC;AAED,8BAA8B;AAC9B,MAAM,WAAW,kDAAmD,SAAQ,YAAY;IACtF,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AAED,iDAAiD;AACjD,MAAM,WAAW,+CAAgD,SAAQ,YAAY;IACnF,MAAM,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,2BAA2B,CAAC;CACnC;AAED,iDAAiD;AACjD,MAAM,WAAW,mDAAoD,SAAQ,YAAY;IACvF,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AAED,oDAAoD;AACpD,MAAM,WAAW,kDAAmD,SAAQ,YAAY;IACtF,MAAM,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,oDAAoD;AACpD,MAAM,WAAW,kDAAmD,SAAQ,YAAY;IACtF,MAAM,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,oDAAoD;AACpD,MAAM,WAAW,sDAAuD,SAAQ,YAAY;IAC1F,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AAED,6BAA6B;AAC7B,MAAM,WAAW,6CAA8C,SAAQ,YAAY;IACjF,MAAM,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,KAAK,CAAC,2BAA2B,CAAC,CAAC;CAC1C;AAED,6BAA6B;AAC7B,MAAM,WAAW,iDAAkD,SAAQ,YAAY;IACrF,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AAED,iDAAiD;AACjD,MAAM,WAAW,+CAAgD,SAAQ,YAAY;IACnF,MAAM,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,2BAA2B,CAAC;CACnC;AAED,iDAAiD;AACjD,MAAM,WAAW,mDAAoD,SAAQ,YAAY;IACvF,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AAED,wBAAwB;AACxB,MAAM,WAAW,oCAAqC,SAAQ,YAAY;IACxE,MAAM,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACrB;AAED,wBAAwB;AACxB,MAAM,WAAW,wCAAyC,SAAQ,YAAY;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,mBAAmB,CAAC;CAC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responses.js","sourceRoot":"","sources":["../../src/responses.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { RawHttpHeaders } from \"@azure/core-rest-pipeline\";\nimport type { HttpResponse } from \"@azure-rest/core-client\";\nimport type {\n CheckPrincipalAccessResponseOutput,\n ErrorContractOutput,\n RoleAssignmentDetailsListOutput,\n RoleAssignmentDetailsOutput,\n SynapseRoleDefinitionOutput,\n} from \"./outputModels.js\";\n\n/** Check if the given principalId has access to perform list of actions at a given scope. */\nexport interface RoleAssignmentsCheckPrincipalAccess200Response extends HttpResponse {\n status: \"200\";\n body: CheckPrincipalAccessResponseOutput;\n}\n\n/** Check if the given principalId has access to perform list of actions at a given scope. */\nexport interface RoleAssignmentsCheckPrincipalAccessdefaultResponse extends HttpResponse {\n status: string;\n body: ErrorContractOutput;\n}\n\nexport interface RoleAssignmentsListRoleAssignments200Headers {\n /** If the number of role assignments to be listed exceeds the maxResults limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the list operation to continue listing the role assignments. */\n \"x-ms-continuation\"?: string;\n}\n\n/** List role assignments. */\nexport interface RoleAssignmentsListRoleAssignments200Response extends HttpResponse {\n status: \"200\";\n body: RoleAssignmentDetailsListOutput;\n headers: RawHttpHeaders & RoleAssignmentsListRoleAssignments200Headers;\n}\n\n/** List role assignments. */\nexport interface RoleAssignmentsListRoleAssignmentsdefaultResponse extends HttpResponse {\n status: string;\n body: ErrorContractOutput;\n}\n\n/** Create role assignment. */\nexport interface RoleAssignmentsCreateRoleAssignment200Response extends HttpResponse {\n status: \"200\";\n body: RoleAssignmentDetailsOutput;\n}\n\n/** Create role assignment. */\nexport interface RoleAssignmentsCreateRoleAssignmentdefaultResponse extends HttpResponse {\n status: string;\n body: ErrorContractOutput;\n}\n\n/** Get role assignment by role assignment Id. */\nexport interface RoleAssignmentsGetRoleAssignmentById200Response extends HttpResponse {\n status: \"200\";\n body: RoleAssignmentDetailsOutput;\n}\n\n/** Get role assignment by role assignment Id. */\nexport interface RoleAssignmentsGetRoleAssignmentByIddefaultResponse extends HttpResponse {\n status: string;\n body: ErrorContractOutput;\n}\n\n/** Delete role assignment by role assignment Id. */\nexport interface RoleAssignmentsDeleteRoleAssignmentById200Response extends HttpResponse {\n status: \"200\";\n body: Record<string, unknown>;\n}\n\n/** Delete role assignment by role assignment Id. */\nexport interface RoleAssignmentsDeleteRoleAssignmentById204Response extends HttpResponse {\n status: \"204\";\n body: Record<string, unknown>;\n}\n\n/** Delete role assignment by role assignment Id. */\nexport interface RoleAssignmentsDeleteRoleAssignmentByIddefaultResponse extends HttpResponse {\n status: string;\n body: ErrorContractOutput;\n}\n\n/** List role definitions. */\nexport interface RoleDefinitionsListRoleDefinitions200Response extends HttpResponse {\n status: \"200\";\n body: Array<SynapseRoleDefinitionOutput>;\n}\n\n/** List role definitions. */\nexport interface RoleDefinitionsListRoleDefinitionsdefaultResponse extends HttpResponse {\n status: string;\n body: ErrorContractOutput;\n}\n\n/** Get role definition by role definition Id. */\nexport interface RoleDefinitionsGetRoleDefinitionById200Response extends HttpResponse {\n status: \"200\";\n body: SynapseRoleDefinitionOutput;\n}\n\n/** Get role definition by role definition Id. */\nexport interface RoleDefinitionsGetRoleDefinitionByIddefaultResponse extends HttpResponse {\n status: string;\n body: ErrorContractOutput;\n}\n\n/** List rbac scopes. */\nexport interface RoleDefinitionsListScopes200Response extends HttpResponse {\n status: \"200\";\n body: Array<string>;\n}\n\n/** List rbac scopes. */\nexport interface RoleDefinitionsListScopesdefaultResponse extends HttpResponse {\n status: string;\n body: ErrorContractOutput;\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// This file is read by tools that parse documentation comments conforming to the TSDoc standard.
|
|
2
|
+
// It should be published with your NPM package. It should not be tracked by Git.
|
|
3
|
+
{
|
|
4
|
+
"tsdocVersion": "0.12",
|
|
5
|
+
"toolPackages": [
|
|
6
|
+
{
|
|
7
|
+
"packageName": "@microsoft/api-extractor",
|
|
8
|
+
"packageVersion": "7.48.0"
|
|
9
|
+
}
|
|
10
|
+
]
|
|
11
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ClientOptions } from "@azure-rest/core-client";
|
|
2
|
+
import type { TokenCredential } from "@azure/core-auth";
|
|
3
|
+
import type { AccessControlRestClient } from "./clientDefinitions.js";
|
|
4
|
+
export default function createClient(endpoint: string, credentials: TokenCredential, options?: ClientOptions): AccessControlRestClient;
|
|
5
|
+
//# sourceMappingURL=accessControlRestClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accessControlRestClient.d.ts","sourceRoot":"","sources":["../../src/accessControlRestClient.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEtE,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,eAAe,EAC5B,OAAO,GAAE,aAAkB,GAC1B,uBAAuB,CAyBzB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { getClient } from "@azure-rest/core-client";
|
|
4
|
+
export default function createClient(endpoint, credentials, options = {}) {
|
|
5
|
+
var _a, _b;
|
|
6
|
+
const baseUrl = (_a = options.baseUrl) !== null && _a !== void 0 ? _a : `${endpoint}`;
|
|
7
|
+
options.apiVersion = (_b = options.apiVersion) !== null && _b !== void 0 ? _b : "2020-12-01";
|
|
8
|
+
options = Object.assign(Object.assign({}, options), { credentials: {
|
|
9
|
+
scopes: ["https://dev.azuresynapse.net/.default"],
|
|
10
|
+
} });
|
|
11
|
+
const userAgentInfo = `azsdk-js-synapse-access-control-rest/1.0.0-beta.1`;
|
|
12
|
+
const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
|
|
13
|
+
? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}`
|
|
14
|
+
: `${userAgentInfo}`;
|
|
15
|
+
options = Object.assign(Object.assign({}, options), { userAgentOptions: {
|
|
16
|
+
userAgentPrefix,
|
|
17
|
+
} });
|
|
18
|
+
const client = getClient(baseUrl, credentials, options);
|
|
19
|
+
return client;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=accessControlRestClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accessControlRestClient.js","sourceRoot":"","sources":["../../src/accessControlRestClient.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAIpD,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,QAAgB,EAChB,WAA4B,EAC5B,UAAyB,EAAE;;IAE3B,MAAM,OAAO,GAAG,MAAA,OAAO,CAAC,OAAO,mCAAI,GAAG,QAAQ,EAAE,CAAC;IACjD,OAAO,CAAC,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,YAAY,CAAC;IACxD,OAAO,mCACF,OAAO,KACV,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,uCAAuC,CAAC;SAClD,GACF,CAAC;IAEF,MAAM,aAAa,GAAG,mDAAmD,CAAC;IAC1E,MAAM,eAAe,GACnB,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,eAAe;QAClE,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,IAAI,aAAa,EAAE;QAChE,CAAC,CAAC,GAAG,aAAa,EAAE,CAAC;IACzB,OAAO,mCACF,OAAO,KACV,gBAAgB,EAAE;YAChB,eAAe;SAChB,GACF,CAAC;IAEF,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAA4B,CAAC;IAEnF,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { ClientOptions } from \"@azure-rest/core-client\";\nimport { getClient } from \"@azure-rest/core-client\";\nimport type { TokenCredential } from \"@azure/core-auth\";\nimport type { AccessControlRestClient } from \"./clientDefinitions.js\";\n\nexport default function createClient(\n endpoint: string,\n credentials: TokenCredential,\n options: ClientOptions = {},\n): AccessControlRestClient {\n const baseUrl = options.baseUrl ?? `${endpoint}`;\n options.apiVersion = options.apiVersion ?? \"2020-12-01\";\n options = {\n ...options,\n credentials: {\n scopes: [\"https://dev.azuresynapse.net/.default\"],\n },\n };\n\n const userAgentInfo = `azsdk-js-synapse-access-control-rest/1.0.0-beta.1`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}`\n : `${userAgentInfo}`;\n options = {\n ...options,\n userAgentOptions: {\n userAgentPrefix,\n },\n };\n\n const client = getClient(baseUrl, credentials, options) as AccessControlRestClient;\n\n return client;\n}\n"]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { RoleAssignmentsCheckPrincipalAccessParameters, RoleAssignmentsListRoleAssignmentsParameters, RoleAssignmentsCreateRoleAssignmentParameters, RoleAssignmentsGetRoleAssignmentByIdParameters, RoleAssignmentsDeleteRoleAssignmentByIdParameters, RoleDefinitionsListRoleDefinitionsParameters, RoleDefinitionsGetRoleDefinitionByIdParameters, RoleDefinitionsListScopesParameters } from "./parameters.js";
|
|
2
|
+
import type { RoleAssignmentsCheckPrincipalAccess200Response, RoleAssignmentsCheckPrincipalAccessdefaultResponse, RoleAssignmentsListRoleAssignments200Response, RoleAssignmentsListRoleAssignmentsdefaultResponse, RoleAssignmentsCreateRoleAssignment200Response, RoleAssignmentsCreateRoleAssignmentdefaultResponse, RoleAssignmentsGetRoleAssignmentById200Response, RoleAssignmentsGetRoleAssignmentByIddefaultResponse, RoleAssignmentsDeleteRoleAssignmentById200Response, RoleAssignmentsDeleteRoleAssignmentById204Response, RoleAssignmentsDeleteRoleAssignmentByIddefaultResponse, RoleDefinitionsListRoleDefinitions200Response, RoleDefinitionsListRoleDefinitionsdefaultResponse, RoleDefinitionsGetRoleDefinitionById200Response, RoleDefinitionsGetRoleDefinitionByIddefaultResponse, RoleDefinitionsListScopes200Response, RoleDefinitionsListScopesdefaultResponse } from "./responses.js";
|
|
3
|
+
import type { Client, StreamableMethod } from "@azure-rest/core-client";
|
|
4
|
+
export interface RoleAssignmentsCheckPrincipalAccess {
|
|
5
|
+
/** Check if the given principalId has access to perform list of actions at a given scope. */
|
|
6
|
+
post(options: RoleAssignmentsCheckPrincipalAccessParameters): StreamableMethod<RoleAssignmentsCheckPrincipalAccess200Response | RoleAssignmentsCheckPrincipalAccessdefaultResponse>;
|
|
7
|
+
}
|
|
8
|
+
export interface RoleAssignmentsListRoleAssignments {
|
|
9
|
+
/** List role assignments. */
|
|
10
|
+
get(options?: RoleAssignmentsListRoleAssignmentsParameters): StreamableMethod<RoleAssignmentsListRoleAssignments200Response | RoleAssignmentsListRoleAssignmentsdefaultResponse>;
|
|
11
|
+
}
|
|
12
|
+
export interface RoleAssignmentsCreateRoleAssignment {
|
|
13
|
+
/** Create role assignment. */
|
|
14
|
+
put(options: RoleAssignmentsCreateRoleAssignmentParameters): StreamableMethod<RoleAssignmentsCreateRoleAssignment200Response | RoleAssignmentsCreateRoleAssignmentdefaultResponse>;
|
|
15
|
+
/** Get role assignment by role assignment Id. */
|
|
16
|
+
get(options?: RoleAssignmentsGetRoleAssignmentByIdParameters): StreamableMethod<RoleAssignmentsGetRoleAssignmentById200Response | RoleAssignmentsGetRoleAssignmentByIddefaultResponse>;
|
|
17
|
+
/** Delete role assignment by role assignment Id. */
|
|
18
|
+
delete(options?: RoleAssignmentsDeleteRoleAssignmentByIdParameters): StreamableMethod<RoleAssignmentsDeleteRoleAssignmentById200Response | RoleAssignmentsDeleteRoleAssignmentById204Response | RoleAssignmentsDeleteRoleAssignmentByIddefaultResponse>;
|
|
19
|
+
}
|
|
20
|
+
export interface RoleDefinitionsListRoleDefinitions {
|
|
21
|
+
/** List role definitions. */
|
|
22
|
+
get(options?: RoleDefinitionsListRoleDefinitionsParameters): StreamableMethod<RoleDefinitionsListRoleDefinitions200Response | RoleDefinitionsListRoleDefinitionsdefaultResponse>;
|
|
23
|
+
}
|
|
24
|
+
export interface RoleDefinitionsGetRoleDefinitionById {
|
|
25
|
+
/** Get role definition by role definition Id. */
|
|
26
|
+
get(options?: RoleDefinitionsGetRoleDefinitionByIdParameters): StreamableMethod<RoleDefinitionsGetRoleDefinitionById200Response | RoleDefinitionsGetRoleDefinitionByIddefaultResponse>;
|
|
27
|
+
}
|
|
28
|
+
export interface RoleDefinitionsListScopes {
|
|
29
|
+
/** List rbac scopes. */
|
|
30
|
+
get(options?: RoleDefinitionsListScopesParameters): StreamableMethod<RoleDefinitionsListScopes200Response | RoleDefinitionsListScopesdefaultResponse>;
|
|
31
|
+
}
|
|
32
|
+
export interface Routes {
|
|
33
|
+
/** Resource for '/checkAccessSynapseRbac' has methods for the following verbs: post */
|
|
34
|
+
(path: "/checkAccessSynapseRbac"): RoleAssignmentsCheckPrincipalAccess;
|
|
35
|
+
/** Resource for '/roleAssignments' has methods for the following verbs: get */
|
|
36
|
+
(path: "/roleAssignments"): RoleAssignmentsListRoleAssignments;
|
|
37
|
+
/** Resource for '/roleAssignments/\{roleAssignmentId\}' has methods for the following verbs: put, get, delete */
|
|
38
|
+
(path: "/roleAssignments/{roleAssignmentId}", roleAssignmentId: string): RoleAssignmentsCreateRoleAssignment;
|
|
39
|
+
/** Resource for '/roleDefinitions' has methods for the following verbs: get */
|
|
40
|
+
(path: "/roleDefinitions"): RoleDefinitionsListRoleDefinitions;
|
|
41
|
+
/** Resource for '/roleDefinitions/\{roleDefinitionId\}' has methods for the following verbs: get */
|
|
42
|
+
(path: "/roleDefinitions/{roleDefinitionId}", roleDefinitionId: string): RoleDefinitionsGetRoleDefinitionById;
|
|
43
|
+
/** Resource for '/rbacScopes' has methods for the following verbs: get */
|
|
44
|
+
(path: "/rbacScopes"): RoleDefinitionsListScopes;
|
|
45
|
+
}
|
|
46
|
+
export type AccessControlRestClient = Client & {
|
|
47
|
+
path: Routes;
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=clientDefinitions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientDefinitions.d.ts","sourceRoot":"","sources":["../../src/clientDefinitions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,6CAA6C,EAC7C,4CAA4C,EAC5C,6CAA6C,EAC7C,8CAA8C,EAC9C,iDAAiD,EACjD,4CAA4C,EAC5C,8CAA8C,EAC9C,mCAAmC,EACpC,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EACV,8CAA8C,EAC9C,kDAAkD,EAClD,6CAA6C,EAC7C,iDAAiD,EACjD,8CAA8C,EAC9C,kDAAkD,EAClD,+CAA+C,EAC/C,mDAAmD,EACnD,kDAAkD,EAClD,kDAAkD,EAClD,sDAAsD,EACtD,6CAA6C,EAC7C,iDAAiD,EACjD,+CAA+C,EAC/C,mDAAmD,EACnD,oCAAoC,EACpC,wCAAwC,EACzC,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAExE,MAAM,WAAW,mCAAmC;IAClD,6FAA6F;IAC7F,IAAI,CACF,OAAO,EAAE,6CAA6C,GACrD,gBAAgB,CACf,8CAA8C,GAC9C,kDAAkD,CACrD,CAAC;CACH;AAED,MAAM,WAAW,kCAAkC;IACjD,6BAA6B;IAC7B,GAAG,CACD,OAAO,CAAC,EAAE,4CAA4C,GACrD,gBAAgB,CACf,6CAA6C,GAC7C,iDAAiD,CACpD,CAAC;CACH;AAED,MAAM,WAAW,mCAAmC;IAClD,8BAA8B;IAC9B,GAAG,CACD,OAAO,EAAE,6CAA6C,GACrD,gBAAgB,CACf,8CAA8C,GAC9C,kDAAkD,CACrD,CAAC;IACF,iDAAiD;IACjD,GAAG,CACD,OAAO,CAAC,EAAE,8CAA8C,GACvD,gBAAgB,CACf,+CAA+C,GAC/C,mDAAmD,CACtD,CAAC;IACF,oDAAoD;IACpD,MAAM,CACJ,OAAO,CAAC,EAAE,iDAAiD,GAC1D,gBAAgB,CACf,kDAAkD,GAClD,kDAAkD,GAClD,sDAAsD,CACzD,CAAC;CACH;AAED,MAAM,WAAW,kCAAkC;IACjD,6BAA6B;IAC7B,GAAG,CACD,OAAO,CAAC,EAAE,4CAA4C,GACrD,gBAAgB,CACf,6CAA6C,GAC7C,iDAAiD,CACpD,CAAC;CACH;AAED,MAAM,WAAW,oCAAoC;IACnD,iDAAiD;IACjD,GAAG,CACD,OAAO,CAAC,EAAE,8CAA8C,GACvD,gBAAgB,CACf,+CAA+C,GAC/C,mDAAmD,CACtD,CAAC;CACH;AAED,MAAM,WAAW,yBAAyB;IACxC,wBAAwB;IACxB,GAAG,CACD,OAAO,CAAC,EAAE,mCAAmC,GAC5C,gBAAgB,CACjB,oCAAoC,GAAG,wCAAwC,CAChF,CAAC;CACH;AAED,MAAM,WAAW,MAAM;IACrB,uFAAuF;IACvF,CAAC,IAAI,EAAE,yBAAyB,GAAG,mCAAmC,CAAC;IACvE,+EAA+E;IAC/E,CAAC,IAAI,EAAE,kBAAkB,GAAG,kCAAkC,CAAC;IAC/D,iHAAiH;IACjH,CACE,IAAI,EAAE,qCAAqC,EAC3C,gBAAgB,EAAE,MAAM,GACvB,mCAAmC,CAAC;IACvC,+EAA+E;IAC/E,CAAC,IAAI,EAAE,kBAAkB,GAAG,kCAAkC,CAAC;IAC/D,oGAAoG;IACpG,CACE,IAAI,EAAE,qCAAqC,EAC3C,gBAAgB,EAAE,MAAM,GACvB,oCAAoC,CAAC;IACxC,0EAA0E;IAC1E,CAAC,IAAI,EAAE,aAAa,GAAG,yBAAyB,CAAC;CAClD;AAED,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG;IAC7C,IAAI,EAAE,MAAM,CAAC;CACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientDefinitions.js","sourceRoot":"","sources":["../../src/clientDefinitions.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n RoleAssignmentsCheckPrincipalAccessParameters,\n RoleAssignmentsListRoleAssignmentsParameters,\n RoleAssignmentsCreateRoleAssignmentParameters,\n RoleAssignmentsGetRoleAssignmentByIdParameters,\n RoleAssignmentsDeleteRoleAssignmentByIdParameters,\n RoleDefinitionsListRoleDefinitionsParameters,\n RoleDefinitionsGetRoleDefinitionByIdParameters,\n RoleDefinitionsListScopesParameters,\n} from \"./parameters.js\";\nimport type {\n RoleAssignmentsCheckPrincipalAccess200Response,\n RoleAssignmentsCheckPrincipalAccessdefaultResponse,\n RoleAssignmentsListRoleAssignments200Response,\n RoleAssignmentsListRoleAssignmentsdefaultResponse,\n RoleAssignmentsCreateRoleAssignment200Response,\n RoleAssignmentsCreateRoleAssignmentdefaultResponse,\n RoleAssignmentsGetRoleAssignmentById200Response,\n RoleAssignmentsGetRoleAssignmentByIddefaultResponse,\n RoleAssignmentsDeleteRoleAssignmentById200Response,\n RoleAssignmentsDeleteRoleAssignmentById204Response,\n RoleAssignmentsDeleteRoleAssignmentByIddefaultResponse,\n RoleDefinitionsListRoleDefinitions200Response,\n RoleDefinitionsListRoleDefinitionsdefaultResponse,\n RoleDefinitionsGetRoleDefinitionById200Response,\n RoleDefinitionsGetRoleDefinitionByIddefaultResponse,\n RoleDefinitionsListScopes200Response,\n RoleDefinitionsListScopesdefaultResponse,\n} from \"./responses.js\";\nimport type { Client, StreamableMethod } from \"@azure-rest/core-client\";\n\nexport interface RoleAssignmentsCheckPrincipalAccess {\n /** Check if the given principalId has access to perform list of actions at a given scope. */\n post(\n options: RoleAssignmentsCheckPrincipalAccessParameters,\n ): StreamableMethod<\n | RoleAssignmentsCheckPrincipalAccess200Response\n | RoleAssignmentsCheckPrincipalAccessdefaultResponse\n >;\n}\n\nexport interface RoleAssignmentsListRoleAssignments {\n /** List role assignments. */\n get(\n options?: RoleAssignmentsListRoleAssignmentsParameters,\n ): StreamableMethod<\n | RoleAssignmentsListRoleAssignments200Response\n | RoleAssignmentsListRoleAssignmentsdefaultResponse\n >;\n}\n\nexport interface RoleAssignmentsCreateRoleAssignment {\n /** Create role assignment. */\n put(\n options: RoleAssignmentsCreateRoleAssignmentParameters,\n ): StreamableMethod<\n | RoleAssignmentsCreateRoleAssignment200Response\n | RoleAssignmentsCreateRoleAssignmentdefaultResponse\n >;\n /** Get role assignment by role assignment Id. */\n get(\n options?: RoleAssignmentsGetRoleAssignmentByIdParameters,\n ): StreamableMethod<\n | RoleAssignmentsGetRoleAssignmentById200Response\n | RoleAssignmentsGetRoleAssignmentByIddefaultResponse\n >;\n /** Delete role assignment by role assignment Id. */\n delete(\n options?: RoleAssignmentsDeleteRoleAssignmentByIdParameters,\n ): StreamableMethod<\n | RoleAssignmentsDeleteRoleAssignmentById200Response\n | RoleAssignmentsDeleteRoleAssignmentById204Response\n | RoleAssignmentsDeleteRoleAssignmentByIddefaultResponse\n >;\n}\n\nexport interface RoleDefinitionsListRoleDefinitions {\n /** List role definitions. */\n get(\n options?: RoleDefinitionsListRoleDefinitionsParameters,\n ): StreamableMethod<\n | RoleDefinitionsListRoleDefinitions200Response\n | RoleDefinitionsListRoleDefinitionsdefaultResponse\n >;\n}\n\nexport interface RoleDefinitionsGetRoleDefinitionById {\n /** Get role definition by role definition Id. */\n get(\n options?: RoleDefinitionsGetRoleDefinitionByIdParameters,\n ): StreamableMethod<\n | RoleDefinitionsGetRoleDefinitionById200Response\n | RoleDefinitionsGetRoleDefinitionByIddefaultResponse\n >;\n}\n\nexport interface RoleDefinitionsListScopes {\n /** List rbac scopes. */\n get(\n options?: RoleDefinitionsListScopesParameters,\n ): StreamableMethod<\n RoleDefinitionsListScopes200Response | RoleDefinitionsListScopesdefaultResponse\n >;\n}\n\nexport interface Routes {\n /** Resource for '/checkAccessSynapseRbac' has methods for the following verbs: post */\n (path: \"/checkAccessSynapseRbac\"): RoleAssignmentsCheckPrincipalAccess;\n /** Resource for '/roleAssignments' has methods for the following verbs: get */\n (path: \"/roleAssignments\"): RoleAssignmentsListRoleAssignments;\n /** Resource for '/roleAssignments/\\{roleAssignmentId\\}' has methods for the following verbs: put, get, delete */\n (\n path: \"/roleAssignments/{roleAssignmentId}\",\n roleAssignmentId: string,\n ): RoleAssignmentsCreateRoleAssignment;\n /** Resource for '/roleDefinitions' has methods for the following verbs: get */\n (path: \"/roleDefinitions\"): RoleDefinitionsListRoleDefinitions;\n /** Resource for '/roleDefinitions/\\{roleDefinitionId\\}' has methods for the following verbs: get */\n (\n path: \"/roleDefinitions/{roleDefinitionId}\",\n roleDefinitionId: string,\n ): RoleDefinitionsGetRoleDefinitionById;\n /** Resource for '/rbacScopes' has methods for the following verbs: get */\n (path: \"/rbacScopes\"): RoleDefinitionsListScopes;\n}\n\nexport type AccessControlRestClient = Client & {\n path: Routes;\n};\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import AccessControlRestClient from "./accessControlRestClient.js";
|
|
2
|
+
export * from "./accessControlRestClient.js";
|
|
3
|
+
export * from "./parameters.js";
|
|
4
|
+
export * from "./responses.js";
|
|
5
|
+
export * from "./clientDefinitions.js";
|
|
6
|
+
export * from "./isUnexpected.js";
|
|
7
|
+
export * from "./models.js";
|
|
8
|
+
export * from "./outputModels.js";
|
|
9
|
+
export * from "./paginateHelper.js";
|
|
10
|
+
export default AccessControlRestClient;
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AAEnE,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAGpC,eAAe,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import AccessControlRestClient from "./accessControlRestClient.js";
|
|
4
|
+
export * from "./accessControlRestClient.js";
|
|
5
|
+
export * from "./parameters.js";
|
|
6
|
+
export * from "./responses.js";
|
|
7
|
+
export * from "./clientDefinitions.js";
|
|
8
|
+
export * from "./isUnexpected.js";
|
|
9
|
+
export * from "./models.js";
|
|
10
|
+
export * from "./outputModels.js";
|
|
11
|
+
export * from "./paginateHelper.js";
|
|
12
|
+
// eslint-disable-next-line @azure/azure-sdk/ts-modules-only-named
|
|
13
|
+
export default AccessControlRestClient;
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AAEnE,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAEpC,kEAAkE;AAClE,eAAe,uBAAuB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport AccessControlRestClient from \"./accessControlRestClient.js\";\n\nexport * from \"./accessControlRestClient.js\";\nexport * from \"./parameters.js\";\nexport * from \"./responses.js\";\nexport * from \"./clientDefinitions.js\";\nexport * from \"./isUnexpected.js\";\nexport * from \"./models.js\";\nexport * from \"./outputModels.js\";\nexport * from \"./paginateHelper.js\";\n\n// eslint-disable-next-line @azure/azure-sdk/ts-modules-only-named\nexport default AccessControlRestClient;\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { RoleAssignmentsCheckPrincipalAccess200Response, RoleAssignmentsCheckPrincipalAccessdefaultResponse, RoleAssignmentsListRoleAssignments200Response, RoleAssignmentsListRoleAssignmentsdefaultResponse, RoleAssignmentsCreateRoleAssignment200Response, RoleAssignmentsCreateRoleAssignmentdefaultResponse, RoleAssignmentsGetRoleAssignmentById200Response, RoleAssignmentsGetRoleAssignmentByIddefaultResponse, RoleAssignmentsDeleteRoleAssignmentById200Response, RoleAssignmentsDeleteRoleAssignmentById204Response, RoleAssignmentsDeleteRoleAssignmentByIddefaultResponse, RoleDefinitionsListRoleDefinitions200Response, RoleDefinitionsListRoleDefinitionsdefaultResponse, RoleDefinitionsGetRoleDefinitionById200Response, RoleDefinitionsGetRoleDefinitionByIddefaultResponse, RoleDefinitionsListScopes200Response, RoleDefinitionsListScopesdefaultResponse } from "./responses.js";
|
|
2
|
+
export declare function isUnexpected(response: RoleAssignmentsCheckPrincipalAccess200Response | RoleAssignmentsCheckPrincipalAccessdefaultResponse): response is RoleAssignmentsCheckPrincipalAccessdefaultResponse;
|
|
3
|
+
export declare function isUnexpected(response: RoleAssignmentsListRoleAssignments200Response | RoleAssignmentsListRoleAssignmentsdefaultResponse): response is RoleAssignmentsListRoleAssignmentsdefaultResponse;
|
|
4
|
+
export declare function isUnexpected(response: RoleAssignmentsCreateRoleAssignment200Response | RoleAssignmentsCreateRoleAssignmentdefaultResponse): response is RoleAssignmentsCreateRoleAssignmentdefaultResponse;
|
|
5
|
+
export declare function isUnexpected(response: RoleAssignmentsGetRoleAssignmentById200Response | RoleAssignmentsGetRoleAssignmentByIddefaultResponse): response is RoleAssignmentsGetRoleAssignmentByIddefaultResponse;
|
|
6
|
+
export declare function isUnexpected(response: RoleAssignmentsDeleteRoleAssignmentById200Response | RoleAssignmentsDeleteRoleAssignmentById204Response | RoleAssignmentsDeleteRoleAssignmentByIddefaultResponse): response is RoleAssignmentsDeleteRoleAssignmentByIddefaultResponse;
|
|
7
|
+
export declare function isUnexpected(response: RoleDefinitionsListRoleDefinitions200Response | RoleDefinitionsListRoleDefinitionsdefaultResponse): response is RoleDefinitionsListRoleDefinitionsdefaultResponse;
|
|
8
|
+
export declare function isUnexpected(response: RoleDefinitionsGetRoleDefinitionById200Response | RoleDefinitionsGetRoleDefinitionByIddefaultResponse): response is RoleDefinitionsGetRoleDefinitionByIddefaultResponse;
|
|
9
|
+
export declare function isUnexpected(response: RoleDefinitionsListScopes200Response | RoleDefinitionsListScopesdefaultResponse): response is RoleDefinitionsListScopesdefaultResponse;
|
|
10
|
+
//# sourceMappingURL=isUnexpected.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isUnexpected.d.ts","sourceRoot":"","sources":["../../src/isUnexpected.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,8CAA8C,EAC9C,kDAAkD,EAClD,6CAA6C,EAC7C,iDAAiD,EACjD,8CAA8C,EAC9C,kDAAkD,EAClD,+CAA+C,EAC/C,mDAAmD,EACnD,kDAAkD,EAClD,kDAAkD,EAClD,sDAAsD,EACtD,6CAA6C,EAC7C,iDAAiD,EACjD,+CAA+C,EAC/C,mDAAmD,EACnD,oCAAoC,EACpC,wCAAwC,EACzC,MAAM,gBAAgB,CAAC;AAaxB,wBAAgB,YAAY,CAC1B,QAAQ,EACJ,8CAA8C,GAC9C,kDAAkD,GACrD,QAAQ,IAAI,kDAAkD,CAAC;AAClE,wBAAgB,YAAY,CAC1B,QAAQ,EACJ,6CAA6C,GAC7C,iDAAiD,GACpD,QAAQ,IAAI,iDAAiD,CAAC;AACjE,wBAAgB,YAAY,CAC1B,QAAQ,EACJ,8CAA8C,GAC9C,kDAAkD,GACrD,QAAQ,IAAI,kDAAkD,CAAC;AAClE,wBAAgB,YAAY,CAC1B,QAAQ,EACJ,+CAA+C,GAC/C,mDAAmD,GACtD,QAAQ,IAAI,mDAAmD,CAAC;AACnE,wBAAgB,YAAY,CAC1B,QAAQ,EACJ,kDAAkD,GAClD,kDAAkD,GAClD,sDAAsD,GACzD,QAAQ,IAAI,sDAAsD,CAAC;AACtE,wBAAgB,YAAY,CAC1B,QAAQ,EACJ,6CAA6C,GAC7C,iDAAiD,GACpD,QAAQ,IAAI,iDAAiD,CAAC;AACjE,wBAAgB,YAAY,CAC1B,QAAQ,EACJ,+CAA+C,GAC/C,mDAAmD,GACtD,QAAQ,IAAI,mDAAmD,CAAC;AACnE,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,oCAAoC,GAAG,wCAAwC,GACxF,QAAQ,IAAI,wCAAwC,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
const responseMap = {
|
|
4
|
+
"POST /checkAccessSynapseRbac": ["200"],
|
|
5
|
+
"GET /roleAssignments": ["200"],
|
|
6
|
+
"PUT /roleAssignments/{roleAssignmentId}": ["200"],
|
|
7
|
+
"GET /roleAssignments/{roleAssignmentId}": ["200"],
|
|
8
|
+
"DELETE /roleAssignments/{roleAssignmentId}": ["200", "204"],
|
|
9
|
+
"GET /roleDefinitions": ["200"],
|
|
10
|
+
"GET /roleDefinitions/{roleDefinitionId}": ["200"],
|
|
11
|
+
"GET /rbacScopes": ["200"],
|
|
12
|
+
};
|
|
13
|
+
export function isUnexpected(response) {
|
|
14
|
+
const lroOriginal = response.headers["x-ms-original-url"];
|
|
15
|
+
const url = new URL(lroOriginal !== null && lroOriginal !== void 0 ? lroOriginal : response.request.url);
|
|
16
|
+
const method = response.request.method;
|
|
17
|
+
let pathDetails = responseMap[`${method} ${url.pathname}`];
|
|
18
|
+
if (!pathDetails) {
|
|
19
|
+
pathDetails = geParametrizedPathSuccess(url.pathname);
|
|
20
|
+
}
|
|
21
|
+
return !pathDetails.includes(response.status);
|
|
22
|
+
}
|
|
23
|
+
function geParametrizedPathSuccess(path) {
|
|
24
|
+
const pathParts = path.split("/");
|
|
25
|
+
// Iterate the responseMap to find a match
|
|
26
|
+
for (const [key, value] of Object.entries(responseMap)) {
|
|
27
|
+
// Extracting the path from the map key which is in format
|
|
28
|
+
// GET /path/foo
|
|
29
|
+
const candidatePath = getPathFromMapKey(key);
|
|
30
|
+
// Get each part of the url path
|
|
31
|
+
const candidateParts = candidatePath.split("/");
|
|
32
|
+
// If the candidate and actual paths don't match in size
|
|
33
|
+
// we move on to the next candidate path
|
|
34
|
+
if (candidateParts.length === pathParts.length && hasParametrizedPath(key)) {
|
|
35
|
+
// track if we have found a match to return the values found.
|
|
36
|
+
let found = true;
|
|
37
|
+
for (let i = 0; i < candidateParts.length; i++) {
|
|
38
|
+
if (candidateParts[i].startsWith("{") && candidateParts[i].endsWith("}")) {
|
|
39
|
+
// If the current part of the candidate is a "template" part
|
|
40
|
+
// it is a match with the actual path part on hand
|
|
41
|
+
// skip as the parameterized part can match anything
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
// If the candidate part is not a template and
|
|
45
|
+
// the parts don't match mark the candidate as not found
|
|
46
|
+
// to move on with the next candidate path.
|
|
47
|
+
if (candidateParts[i] !== pathParts[i]) {
|
|
48
|
+
found = false;
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// We finished evaluating the current candidate parts
|
|
53
|
+
// if all parts matched we return the success values form
|
|
54
|
+
// the path mapping.
|
|
55
|
+
if (found) {
|
|
56
|
+
return value;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// No match was found, return an empty array.
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
63
|
+
function hasParametrizedPath(path) {
|
|
64
|
+
return path.includes("/{");
|
|
65
|
+
}
|
|
66
|
+
function getPathFromMapKey(mapKey) {
|
|
67
|
+
const pathStart = mapKey.indexOf("/");
|
|
68
|
+
return mapKey.slice(pathStart);
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=isUnexpected.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isUnexpected.js","sourceRoot":"","sources":["../../src/isUnexpected.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n RoleAssignmentsCheckPrincipalAccess200Response,\n RoleAssignmentsCheckPrincipalAccessdefaultResponse,\n RoleAssignmentsListRoleAssignments200Response,\n RoleAssignmentsListRoleAssignmentsdefaultResponse,\n RoleAssignmentsCreateRoleAssignment200Response,\n RoleAssignmentsCreateRoleAssignmentdefaultResponse,\n RoleAssignmentsGetRoleAssignmentById200Response,\n RoleAssignmentsGetRoleAssignmentByIddefaultResponse,\n RoleAssignmentsDeleteRoleAssignmentById200Response,\n RoleAssignmentsDeleteRoleAssignmentById204Response,\n RoleAssignmentsDeleteRoleAssignmentByIddefaultResponse,\n RoleDefinitionsListRoleDefinitions200Response,\n RoleDefinitionsListRoleDefinitionsdefaultResponse,\n RoleDefinitionsGetRoleDefinitionById200Response,\n RoleDefinitionsGetRoleDefinitionByIddefaultResponse,\n RoleDefinitionsListScopes200Response,\n RoleDefinitionsListScopesdefaultResponse,\n} from \"./responses.js\";\n\nconst responseMap: Record<string, string[]> = {\n \"POST /checkAccessSynapseRbac\": [\"200\"],\n \"GET /roleAssignments\": [\"200\"],\n \"PUT /roleAssignments/{roleAssignmentId}\": [\"200\"],\n \"GET /roleAssignments/{roleAssignmentId}\": [\"200\"],\n \"DELETE /roleAssignments/{roleAssignmentId}\": [\"200\", \"204\"],\n \"GET /roleDefinitions\": [\"200\"],\n \"GET /roleDefinitions/{roleDefinitionId}\": [\"200\"],\n \"GET /rbacScopes\": [\"200\"],\n};\n\nexport function isUnexpected(\n response:\n | RoleAssignmentsCheckPrincipalAccess200Response\n | RoleAssignmentsCheckPrincipalAccessdefaultResponse,\n): response is RoleAssignmentsCheckPrincipalAccessdefaultResponse;\nexport function isUnexpected(\n response:\n | RoleAssignmentsListRoleAssignments200Response\n | RoleAssignmentsListRoleAssignmentsdefaultResponse,\n): response is RoleAssignmentsListRoleAssignmentsdefaultResponse;\nexport function isUnexpected(\n response:\n | RoleAssignmentsCreateRoleAssignment200Response\n | RoleAssignmentsCreateRoleAssignmentdefaultResponse,\n): response is RoleAssignmentsCreateRoleAssignmentdefaultResponse;\nexport function isUnexpected(\n response:\n | RoleAssignmentsGetRoleAssignmentById200Response\n | RoleAssignmentsGetRoleAssignmentByIddefaultResponse,\n): response is RoleAssignmentsGetRoleAssignmentByIddefaultResponse;\nexport function isUnexpected(\n response:\n | RoleAssignmentsDeleteRoleAssignmentById200Response\n | RoleAssignmentsDeleteRoleAssignmentById204Response\n | RoleAssignmentsDeleteRoleAssignmentByIddefaultResponse,\n): response is RoleAssignmentsDeleteRoleAssignmentByIddefaultResponse;\nexport function isUnexpected(\n response:\n | RoleDefinitionsListRoleDefinitions200Response\n | RoleDefinitionsListRoleDefinitionsdefaultResponse,\n): response is RoleDefinitionsListRoleDefinitionsdefaultResponse;\nexport function isUnexpected(\n response:\n | RoleDefinitionsGetRoleDefinitionById200Response\n | RoleDefinitionsGetRoleDefinitionByIddefaultResponse,\n): response is RoleDefinitionsGetRoleDefinitionByIddefaultResponse;\nexport function isUnexpected(\n response: RoleDefinitionsListScopes200Response | RoleDefinitionsListScopesdefaultResponse,\n): response is RoleDefinitionsListScopesdefaultResponse;\nexport function isUnexpected(\n response:\n | RoleAssignmentsCheckPrincipalAccess200Response\n | RoleAssignmentsCheckPrincipalAccessdefaultResponse\n | RoleAssignmentsListRoleAssignments200Response\n | RoleAssignmentsListRoleAssignmentsdefaultResponse\n | RoleAssignmentsCreateRoleAssignment200Response\n | RoleAssignmentsCreateRoleAssignmentdefaultResponse\n | RoleAssignmentsGetRoleAssignmentById200Response\n | RoleAssignmentsGetRoleAssignmentByIddefaultResponse\n | RoleAssignmentsDeleteRoleAssignmentById200Response\n | RoleAssignmentsDeleteRoleAssignmentById204Response\n | RoleAssignmentsDeleteRoleAssignmentByIddefaultResponse\n | RoleDefinitionsListRoleDefinitions200Response\n | RoleDefinitionsListRoleDefinitionsdefaultResponse\n | RoleDefinitionsGetRoleDefinitionById200Response\n | RoleDefinitionsGetRoleDefinitionByIddefaultResponse\n | RoleDefinitionsListScopes200Response\n | RoleDefinitionsListScopesdefaultResponse,\n): response is\n | RoleAssignmentsCheckPrincipalAccessdefaultResponse\n | RoleAssignmentsListRoleAssignmentsdefaultResponse\n | RoleAssignmentsCreateRoleAssignmentdefaultResponse\n | RoleAssignmentsGetRoleAssignmentByIddefaultResponse\n | RoleAssignmentsDeleteRoleAssignmentByIddefaultResponse\n | RoleDefinitionsListRoleDefinitionsdefaultResponse\n | RoleDefinitionsGetRoleDefinitionByIddefaultResponse\n | RoleDefinitionsListScopesdefaultResponse {\n const lroOriginal = response.headers[\"x-ms-original-url\"];\n const url = new URL(lroOriginal ?? response.request.url);\n const method = response.request.method;\n let pathDetails = responseMap[`${method} ${url.pathname}`];\n if (!pathDetails) {\n pathDetails = geParametrizedPathSuccess(url.pathname);\n }\n return !pathDetails.includes(response.status);\n}\n\nfunction geParametrizedPathSuccess(path: string): string[] {\n const pathParts = path.split(\"/\");\n\n // Iterate the responseMap to find a match\n for (const [key, value] of Object.entries(responseMap)) {\n // Extracting the path from the map key which is in format\n // GET /path/foo\n const candidatePath = getPathFromMapKey(key);\n // Get each part of the url path\n const candidateParts = candidatePath.split(\"/\");\n\n // If the candidate and actual paths don't match in size\n // we move on to the next candidate path\n if (candidateParts.length === pathParts.length && hasParametrizedPath(key)) {\n // track if we have found a match to return the values found.\n let found = true;\n for (let i = 0; i < candidateParts.length; i++) {\n if (candidateParts[i].startsWith(\"{\") && candidateParts[i].endsWith(\"}\")) {\n // If the current part of the candidate is a \"template\" part\n // it is a match with the actual path part on hand\n // skip as the parameterized part can match anything\n continue;\n }\n\n // If the candidate part is not a template and\n // the parts don't match mark the candidate as not found\n // to move on with the next candidate path.\n if (candidateParts[i] !== pathParts[i]) {\n found = false;\n break;\n }\n }\n\n // We finished evaluating the current candidate parts\n // if all parts matched we return the success values form\n // the path mapping.\n if (found) {\n return value;\n }\n }\n }\n\n // No match was found, return an empty array.\n return [];\n}\n\nfunction hasParametrizedPath(path: string): boolean {\n return path.includes(\"/{\");\n}\n\nfunction getPathFromMapKey(mapKey: string): string {\n const pathStart = mapKey.indexOf(\"/\");\n return mapKey.slice(pathStart);\n}\n"]}
|