microsoft-graph 1.0.7 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.vscode/settings.json +0 -5
- package/README.md +59 -37
- package/dist/errors/ContextNotRegisteredError.d.ts +4 -0
- package/dist/errors/ContextNotRegisteredError.d.ts.map +1 -0
- package/dist/errors/ContextNotRegisteredError.js +6 -0
- package/dist/errors/InconsistentContextError.d.ts +4 -0
- package/dist/errors/InconsistentContextError.d.ts.map +1 -0
- package/dist/errors/InconsistentContextError.js +6 -0
- package/dist/graphApi.d.ts.map +1 -1
- package/dist/graphApi.js +17 -5
- package/dist/models/ClientId.d.ts +4 -0
- package/dist/models/ClientId.d.ts.map +1 -0
- package/dist/models/ClientId.js +1 -0
- package/dist/models/ClientSecret.d.ts +4 -0
- package/dist/models/ClientSecret.d.ts.map +1 -0
- package/dist/models/ClientSecret.js +1 -0
- package/dist/models/Context.d.ts +11 -0
- package/dist/models/Context.d.ts.map +1 -0
- package/dist/models/Context.js +1 -0
- package/dist/models/ContextId.d.ts +4 -0
- package/dist/models/ContextId.d.ts.map +1 -0
- package/dist/models/ContextId.js +1 -0
- package/dist/models/ContextRef.d.ts +5 -0
- package/dist/models/ContextRef.d.ts.map +1 -0
- package/dist/models/ContextRef.js +1 -0
- package/dist/models/GraphOperation.d.ts +3 -0
- package/dist/models/GraphOperation.d.ts.map +1 -1
- package/dist/models/GraphOperationDefinition.d.ts.map +1 -1
- package/dist/models/HttpProxy.d.ts +4 -0
- package/dist/models/HttpProxy.d.ts.map +1 -0
- package/dist/models/HttpProxy.js +1 -0
- package/dist/models/SiteRef.d.ts +2 -1
- package/dist/models/SiteRef.d.ts.map +1 -1
- package/dist/models/TenantId.d.ts +4 -0
- package/dist/models/TenantId.d.ts.map +1 -0
- package/dist/models/TenantId.js +1 -0
- package/dist/operations/drive/createFolder.d.ts.map +1 -1
- package/dist/operations/drive/createFolder.js +3 -2
- package/dist/operations/drive/listDrives.d.ts.map +1 -1
- package/dist/operations/drive/listDrives.js +4 -3
- package/dist/operations/driveItem/deleteDriveItem.d.ts.map +1 -1
- package/dist/operations/driveItem/deleteDriveItem.js +1 -0
- package/dist/operations/driveItem/getDriveItem.d.ts.map +1 -1
- package/dist/operations/driveItem/getDriveItem.js +1 -0
- package/dist/operations/driveItem/getDriveItemByPath.d.ts.map +1 -1
- package/dist/operations/driveItem/getDriveItemByPath.js +3 -2
- package/dist/operations/driveItem/getDriveItemContent.d.ts.map +1 -1
- package/dist/operations/driveItem/getDriveItemContent.js +5 -3
- package/dist/operations/driveItem/getDriveItemContent.test.js +6 -6
- package/dist/operations/driveItem/initiateCopyDriveItem.d.ts.map +1 -1
- package/dist/operations/driveItem/initiateCopyDriveItem.js +1 -0
- package/dist/operations/driveItem/listDriveItems.d.ts.map +1 -1
- package/dist/operations/driveItem/listDriveItems.js +3 -2
- package/dist/operations/site/getSite.d.ts.map +1 -1
- package/dist/operations/site/getSite.js +1 -0
- package/dist/operations/site/getSite.test.js +1 -5
- package/dist/operations/site/getSiteByName.d.ts +2 -1
- package/dist/operations/site/getSiteByName.d.ts.map +1 -1
- package/dist/operations/site/getSiteByName.js +6 -4
- package/dist/operations/site/getSiteByName.test.js +1 -6
- package/dist/operations/site/listSites.d.ts +2 -1
- package/dist/operations/site/listSites.d.ts.map +1 -1
- package/dist/operations/site/listSites.js +6 -4
- package/dist/operations/site/listSites.test.js +3 -1
- package/dist/operations/site/searchSites.d.ts +2 -1
- package/dist/operations/site/searchSites.d.ts.map +1 -1
- package/dist/operations/site/searchSites.js +6 -4
- package/dist/operations/site/searchSites.test.js +5 -8
- package/dist/operations/user/userSendMail.d.ts +2 -1
- package/dist/operations/user/userSendMail.d.ts.map +1 -1
- package/dist/operations/user/userSendMail.js +2 -1
- package/dist/operations/workbook/calculateWorkbook.d.ts.map +1 -1
- package/dist/operations/workbook/calculateWorkbook.js +1 -0
- package/dist/operations/workbook/createWorkbook.d.ts +3 -2
- package/dist/operations/workbook/createWorkbook.d.ts.map +1 -1
- package/dist/operations/workbook/createWorkbook.js +7 -5
- package/dist/operations/workbookRange/clearWorkbookRange.d.ts.map +1 -1
- package/dist/operations/workbookRange/clearWorkbookRange.js +1 -0
- package/dist/operations/workbookRange/clearWorkbookRange.test.js +6 -6
- package/dist/operations/workbookRange/deleteWorkbookRange.d.ts.map +1 -1
- package/dist/operations/workbookRange/deleteWorkbookRange.js +1 -0
- package/dist/operations/workbookRange/deleteWorkbookRange.test.js +6 -6
- package/dist/operations/workbookRange/getWorkbookNamedRange.d.ts.map +1 -1
- package/dist/operations/workbookRange/getWorkbookNamedRange.js +1 -0
- package/dist/operations/workbookRange/getWorkbookUsedRange.d.ts.map +1 -1
- package/dist/operations/workbookRange/getWorkbookUsedRange.js +3 -2
- package/dist/operations/workbookRange/getWorkbookUsedRange.test.js +6 -6
- package/dist/operations/workbookRange/getWorkbookVisibleRange.d.ts.map +1 -1
- package/dist/operations/workbookRange/getWorkbookVisibleRange.js +1 -0
- package/dist/operations/workbookRange/getWorkbookVisibleRange.test.js +12 -12
- package/dist/operations/workbookRange/insertWorkbookCells.d.ts.map +1 -1
- package/dist/operations/workbookRange/insertWorkbookCells.js +3 -2
- package/dist/operations/workbookRange/insertWorkbookCells.test.js +4 -4
- package/dist/operations/workbookRange/updateWorkbookNamedRange.d.ts.map +1 -1
- package/dist/operations/workbookRange/updateWorkbookNamedRange.js +1 -0
- package/dist/operations/workbookRange/updateWorkbookRange.d.ts.map +1 -1
- package/dist/operations/workbookRange/updateWorkbookRange.js +1 -0
- package/dist/operations/workbookRange/updateWorkbookRange.test.js +6 -6
- package/dist/operations/workbookSession/closeWorkbookSession.d.ts.map +1 -1
- package/dist/operations/workbookSession/closeWorkbookSession.js +1 -0
- package/dist/operations/workbookSession/createWorkbookSession.d.ts.map +1 -1
- package/dist/operations/workbookSession/createWorkbookSession.js +1 -0
- package/dist/operations/workbookSession/refreshWorkbookSession.d.ts.map +1 -1
- package/dist/operations/workbookSession/refreshWorkbookSession.js +1 -0
- package/dist/operations/workbookTable/createWorkbookTable.d.ts.map +1 -1
- package/dist/operations/workbookTable/createWorkbookTable.js +3 -2
- package/dist/operations/workbookTable/createWorkbookTable.test.js +2 -2
- package/dist/operations/workbookTable/getWorkbookTable.d.ts.map +1 -1
- package/dist/operations/workbookTable/getWorkbookTable.js +1 -0
- package/dist/operations/workbookTable/getWorkbookTable.test.js +2 -2
- package/dist/operations/workbookTable/getWorkbookTableBodyRange.d.ts.map +1 -1
- package/dist/operations/workbookTable/getWorkbookTableBodyRange.js +3 -2
- package/dist/operations/workbookTable/getWorkbookTableBodyRange.test.js +2 -2
- package/dist/operations/workbookTable/getWorkbookTableHeaderRange.d.ts.map +1 -1
- package/dist/operations/workbookTable/getWorkbookTableHeaderRange.js +3 -2
- package/dist/operations/workbookTable/getWorkbookTableHeaderRange.test.js +2 -2
- package/dist/operations/workbookTable/listWorkbookTableColumns.d.ts.map +1 -1
- package/dist/operations/workbookTable/listWorkbookTableColumns.js +1 -0
- package/dist/operations/workbookTable/listWorkbookTableColumns.test.js +2 -2
- package/dist/operations/workbookTable/listWorkbookTableRows.d.ts.map +1 -1
- package/dist/operations/workbookTable/listWorkbookTableRows.js +1 -0
- package/dist/operations/workbookTable/listWorkbookTableRows.test.js +2 -2
- package/dist/operations/workbookTable/listWorkbookTables.d.ts.map +1 -1
- package/dist/operations/workbookTable/listWorkbookTables.js +3 -2
- package/dist/operations/workbookTable/listWorkbookTables.test.js +2 -2
- package/dist/operations/workbookWorksheet/createWorkbookWorksheet.d.ts.map +1 -1
- package/dist/operations/workbookWorksheet/createWorkbookWorksheet.js +3 -2
- package/dist/operations/workbookWorksheet/deleteWorkbookWorksheet.d.ts.map +1 -1
- package/dist/operations/workbookWorksheet/deleteWorkbookWorksheet.js +1 -0
- package/dist/operations/workbookWorksheet/getWorkbookWorksheetRange.d.ts.map +1 -1
- package/dist/operations/workbookWorksheet/getWorkbookWorksheetRange.js +1 -0
- package/dist/operations/workbookWorksheet/getWorkbookWorksheetRange.test.js +4 -4
- package/dist/operations/workbookWorksheet/listWorkbookWorksheets.d.ts.map +1 -1
- package/dist/operations/workbookWorksheet/listWorkbookWorksheets.js +3 -2
- package/dist/operations/workbookWorksheet/updateWorkbookWorksheet.d.ts.map +1 -1
- package/dist/operations/workbookWorksheet/updateWorkbookWorksheet.js +1 -0
- package/dist/operations/workbookWorksheet/updateWorkbookWorksheet.test.js +7 -3
- package/dist/services/accessToken.d.ts +5 -2
- package/dist/services/accessToken.d.ts.map +1 -1
- package/dist/services/accessToken.js +9 -9
- package/dist/services/context.d.ts +13 -0
- package/dist/services/context.d.ts.map +1 -0
- package/dist/services/context.js +41 -0
- package/dist/services/drive.d.ts +2 -1
- package/dist/services/drive.d.ts.map +1 -1
- package/dist/services/drive.js +16 -6
- package/dist/services/driveItem.d.ts +1 -1
- package/dist/services/driveItem.d.ts.map +1 -1
- package/dist/services/driveItem.js +2 -1
- package/dist/services/environmentVariable.d.ts +3 -0
- package/dist/services/environmentVariable.d.ts.map +1 -0
- package/dist/services/environmentVariable.js +14 -0
- package/dist/services/httpAgent.d.ts +3 -2
- package/dist/services/httpAgent.d.ts.map +1 -1
- package/dist/services/httpAgent.js +3 -5
- package/dist/services/random.d.ts +2 -0
- package/dist/services/random.d.ts.map +1 -0
- package/dist/services/random.js +9 -0
- package/dist/services/site.d.ts +3 -1
- package/dist/services/site.d.ts.map +1 -1
- package/dist/services/site.js +9 -5
- package/dist/services/temporaryFiles.d.ts.map +1 -1
- package/dist/services/temporaryFiles.js +3 -9
- package/dist/services/workbookRange.d.ts +1 -1
- package/dist/services/workbookRange.d.ts.map +1 -1
- package/dist/services/workbookRange.js +2 -1
- package/dist/services/workbookRangeAddress.d.ts +1 -1
- package/dist/services/workbookRangeAddress.d.ts.map +1 -1
- package/dist/services/workbookRangeAddress.js +1 -1
- package/dist/services/workbookTable.d.ts +1 -1
- package/dist/services/workbookTable.d.ts.map +1 -1
- package/dist/services/workbookTable.js +2 -1
- package/dist/services/workbookWorksheet.d.ts +1 -1
- package/dist/services/workbookWorksheet.d.ts.map +1 -1
- package/dist/services/workbookWorksheet.js +2 -1
- package/dist/tasks/getRangeLastUsedCell.test.js +8 -8
- package/dist/tasks/getWorkbookTableVisibleBody.test.js +6 -6
- package/dist/tasks/setColumnHidden.test.js +5 -5
- package/dist/tasks/setRowHidden.test.js +5 -5
- package/package.json +479 -431
- package/update-exports.ts +1 -1
- package/docs/envs.md +0 -11
package/.vscode/settings.json
CHANGED
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
{
|
|
2
|
-
"editor.codeActionsOnSave": {
|
|
3
|
-
"source.organizeImports": "explicit",
|
|
4
|
-
"source.addMissingImports":"explicit",
|
|
5
|
-
"source.fixAll": "explicit",
|
|
6
|
-
},
|
|
7
2
|
"editor.formatOnSave": true,
|
|
8
3
|
"[typescript]": {
|
|
9
4
|
"editor.defaultFormatter": "vscode.typescript-language-features"
|
package/README.md
CHANGED
|
@@ -4,44 +4,66 @@ This is an extensible library that allows access to Microsoft's GraphAPI, includ
|
|
|
4
4
|
|
|
5
5
|
Note that this is a THIRD PARTY library and not associated with Microsoft.
|
|
6
6
|
|
|
7
|
+
## Breaking changes
|
|
8
|
+
### v2.0.0
|
|
9
|
+
* Contextual authentication. Authentication details are no longer automatically loaded from envs. You need to call `const contextRef = register(tenantId, clientId, clientSecret, httpProxy);`
|
|
10
|
+
* References are created with new funcs. Like `createSiteRef`.
|
|
11
|
+
|
|
7
12
|
## Usage
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
13
|
+
Install the NPM package `npm i microsoft-graph`, then:
|
|
14
|
+
|
|
15
|
+
### Prepare configuration
|
|
16
|
+
Something like this, but whatever works in your context.
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
const tenantId = getEnvironmentVariable("AZURE_TENANT_ID") as TenantId;
|
|
20
|
+
const clientId = getEnvironmentVariable("AZURE_CLIENT_ID") as ClientId;
|
|
21
|
+
const clientSecret = getEnvironmentVariable("AZURE_CLIENT_SECRET") as ClientSecret;
|
|
22
|
+
const siteId = getEnvironmentVariable("SHAREPOINT_DEFAULT_SITE_ID") as SiteId;
|
|
23
|
+
const driveId = getEnvironmentVariable("SHAREPOINT_DEFAULT_DRIVE_ID") as DriveId;
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Get reference to drive
|
|
27
|
+
```typescript
|
|
28
|
+
const contextRef = register(tenantId, clientId, clientSecret);
|
|
29
|
+
const siteRef = createSiteRef(contextRef, siteId);
|
|
30
|
+
const driveRef = createDriveRef(siteRef, driveId);
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Create folder
|
|
34
|
+
```typescript
|
|
35
|
+
const folder = await createFolder(driveRef, "folder-name");
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Create workbook
|
|
39
|
+
```typescript
|
|
40
|
+
const workbook = await createWorkbookAndStartSession(folder, "workbook-name");
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Update range
|
|
44
|
+
```typescript
|
|
45
|
+
const worksheet = await getWorkbookWorksheetByName(workbook, "Sheet1");
|
|
46
|
+
const rangeRef = createWorkbookRangeRef(worksheet, "A1:B2");
|
|
47
|
+
await updateWorkbookRange(rangeRef, {
|
|
48
|
+
values: [
|
|
49
|
+
[1, 2],
|
|
50
|
+
[3, 4]
|
|
51
|
+
]
|
|
52
|
+
});
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### List files
|
|
56
|
+
```typescript
|
|
57
|
+
for (const item of await listDriveItems(folder)) {
|
|
58
|
+
console.debug(` - ${item.name}`);
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Cleanup
|
|
63
|
+
```typescript
|
|
64
|
+
await closeWorkbookSession(workbook);
|
|
65
|
+
await deleteDriveItemWithRetry(folder); // May take a moment to unlock the file
|
|
66
|
+
```
|
|
45
67
|
|
|
46
68
|
From here, have a look at:
|
|
47
69
|
* [`/docs`](https://github.com/ProspectSafe/microsoft-graph/tree/main/docs) for more general documentation and advice.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextNotRegisteredError.d.ts","sourceRoot":"","sources":["../../src/errors/ContextNotRegisteredError.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,KAAK;gBACxC,OAAO,EAAE,MAAM;CAIlC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InconsistentContextError.d.ts","sourceRoot":"","sources":["../../src/errors/InconsistentContextError.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,KAAK;gBACvC,OAAO,EAAE,MAAM;CAIlC"}
|
package/dist/graphApi.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphApi.d.ts","sourceRoot":"","sources":["../src/graphApi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graphApi.d.ts","sourceRoot":"","sources":["../src/graphApi.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAM/C,eAAO,MAAM,mBAAmB,EAA6C,KAAK,CAAC;AACnF,eAAO,MAAM,QAAQ,qCAAqC,CAAC;AAC3D,eAAO,MAAM,aAAa,4CAAuB,CAAC;AAiBlD,KAAK,gBAAgB,CAAC,CAAC,IAAI;KACtB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CACnE,CAAC;AAGF,wBAAgB,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAMvF;AA2BD,6LAA6L;AAC7L,wBAAsB,QAAQ,CAAC,CAAC,SAAS,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAG3G;AAED,2DAA2D;AAC3D,wBAAsB,UAAU,CAAC,CAAC,SAAS,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAQ7G"}
|
package/dist/graphApi.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import fetch from 'node-fetch';
|
|
2
|
+
import InconsistentContextError from "./errors/InconsistentContextError.js";
|
|
2
3
|
import InvalidArgumentError from "./errors/InvalidArgumentError.js";
|
|
3
4
|
import RequestFailedError from "./errors/RequestFailedError.js";
|
|
4
5
|
import { getCurrentAccessToken } from "./services/accessToken.js";
|
|
5
|
-
import {
|
|
6
|
+
import { getContext } from "./services/context.js";
|
|
7
|
+
import { tryGetHttpAgent } from "./services/httpAgent.js";
|
|
6
8
|
import { operationIdToIndex, operationIndexToId } from "./services/operationId.js";
|
|
7
9
|
export const authenticationScope = "https://graph.microsoft.com/.default";
|
|
8
10
|
export const endpoint = "https://graph.microsoft.com/v1.0";
|
|
@@ -15,8 +17,9 @@ export function operation(definition) {
|
|
|
15
17
|
return op;
|
|
16
18
|
}
|
|
17
19
|
async function single(definition) {
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
+
const context = getContext(definition.contextId);
|
|
21
|
+
const accessToken = await getCurrentAccessToken(context.tenantId, context.clientId, context.clientSecret, authenticationScope);
|
|
22
|
+
const agent = tryGetHttpAgent(context.httpProxy);
|
|
20
23
|
const requestHeaders = {
|
|
21
24
|
"authorization": `Bearer ${accessToken}`,
|
|
22
25
|
...Object.fromEntries(Object.entries(definition.headers ?? {}).filter(([_, v]) => v !== undefined)), // TODO: Tidy
|
|
@@ -59,8 +62,17 @@ async function execute(...ops) {
|
|
|
59
62
|
return responses;
|
|
60
63
|
}
|
|
61
64
|
async function composeRequestPayload(ops) {
|
|
62
|
-
const
|
|
63
|
-
|
|
65
|
+
const firstOp = ops[0];
|
|
66
|
+
if (!firstOp) {
|
|
67
|
+
throw new Error("First op not found. Should be impossible");
|
|
68
|
+
}
|
|
69
|
+
const contextId = firstOp.contextId;
|
|
70
|
+
if (ops.some(op => op.contextId !== contextId)) {
|
|
71
|
+
throw new InconsistentContextError("All operations in a batch must share the same contextId.");
|
|
72
|
+
}
|
|
73
|
+
const context = getContext(contextId);
|
|
74
|
+
const accessToken = await getCurrentAccessToken(context.tenantId, context.clientId, context.clientSecret, authenticationScope);
|
|
75
|
+
const agent = tryGetHttpAgent(context.httpProxy);
|
|
64
76
|
const requestBody = {
|
|
65
77
|
requests: ops.map((op, index) => ({
|
|
66
78
|
id: operationIndexToId(index),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClientId.d.ts","sourceRoot":"","sources":["../../src/models/ClientId.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG;IAC5B,OAAO,EAAE,UAAU,CAAC;CACvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClientSecret.d.ts","sourceRoot":"","sources":["../../src/models/ClientSecret.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IAChC,OAAO,EAAE,cAAc,CAAC;CAC3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ClientId } from "./ClientId.ts";
|
|
2
|
+
import type { ClientSecret } from "./ClientSecret.ts";
|
|
3
|
+
import type { HttpProxy } from "./HttpProxy.ts";
|
|
4
|
+
import type { TenantId } from "./TenantId.ts";
|
|
5
|
+
export type Context = {
|
|
6
|
+
tenantId: TenantId;
|
|
7
|
+
clientId: ClientId;
|
|
8
|
+
clientSecret: ClientSecret;
|
|
9
|
+
httpProxy: HttpProxy | undefined;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=Context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/models/Context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,MAAM,OAAO,GAAG;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;CACpC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextId.d.ts","sourceRoot":"","sources":["../../src/models/ContextId.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG;IAC7B,OAAO,EAAE,WAAW,CAAC;CACxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextRef.d.ts","sourceRoot":"","sources":["../../src/models/ContextRef.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,UAAU,GAAG;IACrB,SAAS,EAAE,SAAS,CAAA;CACvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ContextId } from "./ContextId.ts";
|
|
1
2
|
import type { WorkbookSessionId } from "./WorkbookSessionId.ts";
|
|
2
3
|
export type GraphMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
3
4
|
export type GraphPath = string & {
|
|
@@ -8,6 +9,8 @@ export type GraphHeaders = {
|
|
|
8
9
|
"content-type"?: "application/json" | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" | undefined;
|
|
9
10
|
};
|
|
10
11
|
export type GraphOperationDefinition<T> = {
|
|
12
|
+
/** Context to match the operation to. Used for authentication etc. */
|
|
13
|
+
contextId: ContextId;
|
|
11
14
|
/** HTTP method to be used. */
|
|
12
15
|
method: GraphMethod;
|
|
13
16
|
/** Relative resource URL for the individual request. Ie, if the absolute URL is `https://graph.microsoft.com/v1.0/users`, this path is `/users`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphOperation.d.ts","sourceRoot":"","sources":["../../src/models/GraphOperation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AACtE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;CAAE,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG;IACvB,qBAAqB,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACtD,cAAc,CAAC,EAAE,kBAAkB,GAAG,mEAAmE,GAAG,SAAS,CAAC;CACzH,CAAC;AAGF,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI;IACtC,8BAA8B;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,oJAAoJ;IACpJ,IAAI,EAAE,SAAS,CAAC;IAChB,kGAAkG;IAClG,OAAO,EAAE,YAAY,CAAC;IACtB,6LAA6L;IAC7L,IAAI,EAAE,OAAO,CAAC;IACd,wDAAwD;IACxD,iBAAiB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG;IACzC,UAAU,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAA;CAC1C,CAAC"}
|
|
1
|
+
{"version":3,"file":"GraphOperation.d.ts","sourceRoot":"","sources":["../../src/models/GraphOperation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AACtE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;CAAE,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG;IACvB,qBAAqB,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACtD,cAAc,CAAC,EAAE,kBAAkB,GAAG,mEAAmE,GAAG,SAAS,CAAC;CACzH,CAAC;AAGF,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI;IACtC,sEAAsE;IACtE,SAAS,EAAE,SAAS,CAAC;IACrB,8BAA8B;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,oJAAoJ;IACpJ,IAAI,EAAE,SAAS,CAAC;IAChB,kGAAkG;IAClG,OAAO,EAAE,YAAY,CAAC;IACtB,6LAA6L;IAC7L,IAAI,EAAE,OAAO,CAAC;IACd,wDAAwD;IACxD,iBAAiB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG;IACzC,UAAU,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAA;CAC1C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphOperationDefinition.d.ts","sourceRoot":"","sources":["../../src/models/GraphOperationDefinition.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GraphOperationDefinition.d.ts","sourceRoot":"","sources":["../../src/models/GraphOperationDefinition.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AACtE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;CAAE,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG;IACvB,qBAAqB,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACtD,cAAc,CAAC,EAAE,kBAAkB,GAAG,mEAAmE,GAAG,SAAS,CAAC;CACzH,CAAC;AAIF,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI;IACtC,8BAA8B;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,oJAAoJ;IACpJ,IAAI,EAAE,SAAS,CAAC;IAChB,kGAAkG;IAClG,OAAO,EAAE,YAAY,CAAC;IACtB,6LAA6L;IAC7L,IAAI,EAAE,OAAO,CAAC;CACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpProxy.d.ts","sourceRoot":"","sources":["../../src/models/HttpProxy.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG;IAC7B,OAAO,EAAE,WAAW,CAAC;CACxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/models/SiteRef.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SiteRef.d.ts","sourceRoot":"","sources":["../../src/models/SiteRef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,MAAM,OAAO,GAAG;
|
|
1
|
+
{"version":3,"file":"SiteRef.d.ts","sourceRoot":"","sources":["../../src/models/SiteRef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,MAAM,OAAO,GAAG,UAAU,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;CAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TenantId.d.ts","sourceRoot":"","sources":["../../src/models/TenantId.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG;IAC5B,OAAO,EAAE,UAAU,CAAC;CACvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createFolder.d.ts","sourceRoot":"","sources":["../../../src/operations/drive/createFolder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAGlE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIrE,wNAAwN;AACxN,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,SAAS,EAAE,QAAQ,GAAG,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"createFolder.d.ts","sourceRoot":"","sources":["../../../src/operations/drive/createFolder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAGlE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIrE,wNAAwN;AACxN,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,SAAS,EAAE,QAAQ,GAAG,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC,CAyBrI"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { operation } from "../../graphApi.js";
|
|
2
|
-
import {
|
|
2
|
+
import { createDriveItemRef } from "../../services/driveItem.js";
|
|
3
3
|
import { generatePath } from "../../services/templatedPaths.js";
|
|
4
4
|
/** Create folder if it doesn't exist, and return the folder. Use a `DriveRef` to create in root or `DriveItemRef` to create in a subfolder. @see https://learn.microsoft.com/en-us/graph/api/driveitem-post-children */
|
|
5
5
|
export default function createFolder(parentRef, folderName) {
|
|
6
6
|
const pathSegment = parentRef.itemId ? "items/{item-id}" : "root";
|
|
7
7
|
return operation({
|
|
8
|
+
contextId: parentRef.contextId,
|
|
8
9
|
method: "POST",
|
|
9
10
|
path: generatePath(`/sites/{site-id}/drives/{drive-id}/${pathSegment}/children`, parentRef),
|
|
10
11
|
headers: {
|
|
@@ -17,7 +18,7 @@ export default function createFolder(parentRef, folderName) {
|
|
|
17
18
|
},
|
|
18
19
|
responseTransform: response => {
|
|
19
20
|
const item = response;
|
|
20
|
-
const itemRef =
|
|
21
|
+
const itemRef = createDriveItemRef(parentRef, item.id);
|
|
21
22
|
return {
|
|
22
23
|
...item,
|
|
23
24
|
...itemRef
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listDrives.d.ts","sourceRoot":"","sources":["../../../src/operations/drive/listDrives.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAGlE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAKvD,6HAA6H;AAC7H,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,OAAO,GAAE,OAA6B,GAAG,cAAc,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"listDrives.d.ts","sourceRoot":"","sources":["../../../src/operations/drive/listDrives.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAGlE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAKvD,6HAA6H;AAC7H,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,OAAO,GAAE,OAA6B,GAAG,cAAc,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,EAAE,CAAC,CAkBnH"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { operation } from "../../graphApi.js";
|
|
2
|
-
import {
|
|
3
|
-
import { generatePath } from "../../services/templatedPaths.js";
|
|
2
|
+
import { createDriveRef } from "../../services/drive.js";
|
|
4
3
|
import { getDefaultSiteRef } from "../../services/site.js";
|
|
4
|
+
import { generatePath } from "../../services/templatedPaths.js";
|
|
5
5
|
/** Retrieve the list of Drive resources available for a Site. @see https://learn.microsoft.com/en-us/graph/api/drive-list */
|
|
6
6
|
export default function listDrives(siteRef = getDefaultSiteRef()) {
|
|
7
7
|
return operation({
|
|
8
|
+
contextId: siteRef.contextId,
|
|
8
9
|
method: "GET",
|
|
9
10
|
path: generatePath("/sites/{site-id}/drives", siteRef),
|
|
10
11
|
headers: {},
|
|
@@ -12,7 +13,7 @@ export default function listDrives(siteRef = getDefaultSiteRef()) {
|
|
|
12
13
|
responseTransform: response => {
|
|
13
14
|
const list = response;
|
|
14
15
|
return list.value.map(drive => {
|
|
15
|
-
const ref =
|
|
16
|
+
const ref = createDriveRef(siteRef, drive.id);
|
|
16
17
|
return {
|
|
17
18
|
...drive,
|
|
18
19
|
...ref
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deleteDriveItem.d.ts","sourceRoot":"","sources":["../../../src/operations/driveItem/deleteDriveItem.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGrE,wFAAwF;AACxF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"deleteDriveItem.d.ts","sourceRoot":"","sources":["../../../src/operations/driveItem/deleteDriveItem.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGrE,wFAAwF;AACxF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CASnF"}
|
|
@@ -3,6 +3,7 @@ import { generatePath } from "../../services/templatedPaths.js";
|
|
|
3
3
|
/** Delete an item. @see https://learn.microsoft.com/en-us/graph/api/driveitem-delete */
|
|
4
4
|
export default function deleteDriveItem(itemRef) {
|
|
5
5
|
return operation({
|
|
6
|
+
contextId: itemRef.contextId,
|
|
6
7
|
method: "DELETE",
|
|
7
8
|
path: generatePath("/sites/{site-id}/drives/{drive-id}/items/{item-id}", itemRef),
|
|
8
9
|
headers: {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDriveItem.d.ts","sourceRoot":"","sources":["../../../src/operations/driveItem/getDriveItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAElE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGrE,mHAAmH;AACnH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"getDriveItem.d.ts","sourceRoot":"","sources":["../../../src/operations/driveItem/getDriveItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAElE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGrE,mHAAmH;AACnH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC,CAgBpG"}
|
|
@@ -3,6 +3,7 @@ import { generatePath } from "../../services/templatedPaths.js";
|
|
|
3
3
|
/** Retrieve the metadata for an item in a drive. @see https://learn.microsoft.com/en-us/graph/api/driveitem-get */
|
|
4
4
|
export default function getDriveItem(itemRef) {
|
|
5
5
|
return operation({
|
|
6
|
+
contextId: itemRef.contextId,
|
|
6
7
|
method: "GET",
|
|
7
8
|
path: generatePath("/sites/{site-id}/drives/{drive-id}/items/{item-id}", itemRef),
|
|
8
9
|
headers: {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDriveItemByPath.d.ts","sourceRoot":"","sources":["../../../src/operations/driveItem/getDriveItemByPath.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAGlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIrE,qLAAqL;AACrL,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,GAAG,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"getDriveItemByPath.d.ts","sourceRoot":"","sources":["../../../src/operations/driveItem/getDriveItemByPath.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAGlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIrE,qLAAqL;AACrL,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,GAAG,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC,CAiBhI"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { operation } from "../../graphApi.js";
|
|
2
|
-
import {
|
|
2
|
+
import { createDriveItemRef } from "../../services/driveItem.js";
|
|
3
3
|
import { generatePath } from "../../services/templatedPaths.js";
|
|
4
4
|
/** Retrieve the metadata for an item in a drive by file path. If the target file is moved this will cease working. @see https://learn.microsoft.com/en-us/graph/api/driveitem-get */
|
|
5
5
|
export default function getDriveItemByPath(driveRef, itemPath) {
|
|
6
6
|
return operation({
|
|
7
|
+
contextId: driveRef.contextId,
|
|
7
8
|
method: "GET",
|
|
8
9
|
path: generatePath(`/sites/{site-id}/drives/{drive-id}/root:${itemPath}`, driveRef),
|
|
9
10
|
headers: {},
|
|
10
11
|
body: null,
|
|
11
12
|
responseTransform: response => {
|
|
12
13
|
const item = response;
|
|
13
|
-
const itemRef =
|
|
14
|
+
const itemRef = createDriveItemRef(driveRef, item.id);
|
|
14
15
|
return {
|
|
15
16
|
...item,
|
|
16
17
|
...itemRef
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDriveItemContent.d.ts","sourceRoot":"","sources":["../../../src/operations/driveItem/getDriveItemContent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"getDriveItemContent.d.ts","sourceRoot":"","sources":["../../../src/operations/driveItem/getDriveItemContent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAMjE,kGAAkG;AAClG,wBAA8B,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAmB7F"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import fetch from 'node-fetch';
|
|
2
2
|
import { authenticationScope, endpoint } from "../../graphApi.js";
|
|
3
3
|
import { getCurrentAccessToken } from "../../services/accessToken.js";
|
|
4
|
-
import {
|
|
4
|
+
import { getContext } from "../../services/context.js";
|
|
5
|
+
import { tryGetHttpAgent } from "../../services/httpAgent.js";
|
|
5
6
|
import { generatePath } from "../../services/templatedPaths.js";
|
|
6
7
|
/** Download drive item. @see https://learn.microsoft.com/en-us/graph/api/driveitem-get-content */
|
|
7
8
|
export default async function getDriveItemContent(itemRef) {
|
|
8
9
|
// Note this method doesn't match the standard pattern since the batching library doesn't support non-JSON return types, and there appears to be no value in adding support.
|
|
9
10
|
const url = `${endpoint}${generatePath("/sites/{site-id}/drives/{drive-id}/items/{item-id}/content", itemRef)}`;
|
|
10
|
-
const
|
|
11
|
-
const
|
|
11
|
+
const context = getContext(itemRef.contextId);
|
|
12
|
+
const accessToken = await getCurrentAccessToken(context.tenantId, context.clientId, context.clientSecret, authenticationScope);
|
|
13
|
+
const agent = tryGetHttpAgent(context.httpProxy);
|
|
12
14
|
const response = await fetch(url, {
|
|
13
15
|
headers: {
|
|
14
16
|
"authorization": `Bearer ${accessToken}`
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { describe, expect, it } from "vitest";
|
|
2
2
|
import { getDefaultDriveRef } from "../../services/drive.js";
|
|
3
|
-
import {
|
|
3
|
+
import { createDriveItemRef, driveItemPath } from "../../services/driveItem.js";
|
|
4
4
|
import { generateTempFileName } from "../../services/temporaryFiles.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { createWorkbookRangeRef } from "../../services/workbookRange.js";
|
|
6
|
+
import { createWorkbookWorksheetRef, defaultWorkbookWorksheetId } from "../../services/workbookWorksheet.js";
|
|
7
7
|
import deleteDriveItemWithRetry from "../../tasks/deleteDriveItemWithRetry.js";
|
|
8
8
|
import calculateWorkbook from "../workbook/calculateWorkbook.js";
|
|
9
9
|
import createWorkbook from "../workbook/createWorkbook.js";
|
|
@@ -14,8 +14,8 @@ describe("getDriveItemContent", () => {
|
|
|
14
14
|
const workbookPath = driveItemPath(generateTempFileName("xlsx"));
|
|
15
15
|
const workbook = await createWorkbook(getDefaultDriveRef(), workbookPath);
|
|
16
16
|
try {
|
|
17
|
-
const worksheetRef =
|
|
18
|
-
const rangeRef =
|
|
17
|
+
const worksheetRef = createWorkbookWorksheetRef(workbook, defaultWorkbookWorksheetId);
|
|
18
|
+
const rangeRef = createWorkbookRangeRef(worksheetRef, "A1:B1");
|
|
19
19
|
await updateWorkbookRange(rangeRef, {
|
|
20
20
|
values: [
|
|
21
21
|
["Hello", "World"]
|
|
@@ -31,7 +31,7 @@ describe("getDriveItemContent", () => {
|
|
|
31
31
|
}
|
|
32
32
|
});
|
|
33
33
|
it("throws an error when trying to download a non-existent item", async () => {
|
|
34
|
-
const nonExistentItemRef =
|
|
34
|
+
const nonExistentItemRef = createDriveItemRef(getDefaultDriveRef(), "non-existent-item-id");
|
|
35
35
|
await expect(getDriveItemContent(nonExistentItemRef)).rejects.toThrow();
|
|
36
36
|
});
|
|
37
37
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initiateCopyDriveItem.d.ts","sourceRoot":"","sources":["../../../src/operations/driveItem/initiateCopyDriveItem.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGrE,gMAAgM;AAChM,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"initiateCopyDriveItem.d.ts","sourceRoot":"","sources":["../../../src/operations/driveItem/initiateCopyDriveItem.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGrE,gMAAgM;AAChM,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAkB7I"}
|
|
@@ -3,6 +3,7 @@ import { generatePath } from "../../services/templatedPaths.js";
|
|
|
3
3
|
/** Initiate an asynchronous copy of an item. NOTE: The copied file may not be immediately available and polling is required. @see https://learn.microsoft.com/en-us/graph/api/driveitem-copy */
|
|
4
4
|
export default function initiateCopyDriveItem(srcFileRef, dstFolderRef, dstFileName) {
|
|
5
5
|
return operation({
|
|
6
|
+
contextId: srcFileRef.contextId,
|
|
6
7
|
method: "POST",
|
|
7
8
|
path: generatePath("/sites/{site-id}/drives/{drive-id}/items/{item-id}/copy", srcFileRef),
|
|
8
9
|
headers: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listDriveItems.d.ts","sourceRoot":"","sources":["../../../src/operations/driveItem/listDriveItems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAGlE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAKrE,MAAM,MAAM,qBAAqB,GAAG;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,sNAAsN;AACtN,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,SAAS,GAAE,QAAQ,GAAG,YAAmC,GAAG,cAAc,CAAC,CAAC,SAAS,GAAG,YAAY,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"listDriveItems.d.ts","sourceRoot":"","sources":["../../../src/operations/driveItem/listDriveItems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAGlE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAKrE,MAAM,MAAM,qBAAqB,GAAG;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,sNAAsN;AACtN,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,SAAS,GAAE,QAAQ,GAAG,YAAmC,GAAG,cAAc,CAAC,CAAC,SAAS,GAAG,YAAY,CAAC,EAAE,CAAC,CAwB9I"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { operation } from "../../graphApi.js";
|
|
2
2
|
import { getDefaultDriveRef } from "../../services/drive.js";
|
|
3
|
-
import {
|
|
3
|
+
import { createDriveItemRef } from "../../services/driveItem.js";
|
|
4
4
|
import { generatePath } from "../../services/templatedPaths.js";
|
|
5
5
|
/** Retrieve the metadata for items in a drive by file path. Use a `DriveRef` to reference a drive root or `DriveItemRef` for a subfolder. @see https://learn.microsoft.com/en-us/graph/api/driveitem-list-children */
|
|
6
6
|
export default function listDriveItems(parentRef = getDefaultDriveRef()) {
|
|
7
7
|
const pathSegment = parentRef.itemId ? "items/{item-id}" : "root";
|
|
8
8
|
return operation({
|
|
9
|
+
contextId: parentRef.contextId,
|
|
9
10
|
method: "GET",
|
|
10
11
|
path: generatePath(`/sites/{site-id}/drives/{drive-id}/${pathSegment}/children`, parentRef),
|
|
11
12
|
headers: {},
|
|
@@ -13,7 +14,7 @@ export default function listDriveItems(parentRef = getDefaultDriveRef()) {
|
|
|
13
14
|
responseTransform: response => {
|
|
14
15
|
const list = response;
|
|
15
16
|
const items = list.value.map(item => {
|
|
16
|
-
const itemRef =
|
|
17
|
+
const itemRef = createDriveItemRef(parentRef, item.id);
|
|
17
18
|
return {
|
|
18
19
|
...item,
|
|
19
20
|
...itemRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSite.d.ts","sourceRoot":"","sources":["../../../src/operations/site/getSite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGvD,yGAAyG;AACzG,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,CAAC,IAAI,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"getSite.d.ts","sourceRoot":"","sources":["../../../src/operations/site/getSite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGvD,yGAAyG;AACzG,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,CAAC,IAAI,GAAG,OAAO,CAAC,CAehF"}
|
|
@@ -3,6 +3,7 @@ import { generatePath } from "../../services/templatedPaths.js";
|
|
|
3
3
|
/** Retrieve properties for a site resource. @see https://learn.microsoft.com/en-us/graph/api/site-get */
|
|
4
4
|
export default function getSite(siteRef) {
|
|
5
5
|
return operation({
|
|
6
|
+
contextId: siteRef.contextId,
|
|
6
7
|
method: "GET",
|
|
7
8
|
path: generatePath("/sites/{site-id}", siteRef),
|
|
8
9
|
headers: {},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, it } from "vitest";
|
|
2
|
-
import { getDefaultSiteRef
|
|
2
|
+
import { getDefaultSiteRef } from "../../services/site.js";
|
|
3
3
|
import getSite from "./getSite.js";
|
|
4
4
|
describe("getSite", () => {
|
|
5
5
|
it("can retrieve an existing site", async () => {
|
|
@@ -8,8 +8,4 @@ describe("getSite", () => {
|
|
|
8
8
|
expect(site.id).toBeDefined();
|
|
9
9
|
expect(site.name).toBeDefined();
|
|
10
10
|
});
|
|
11
|
-
it("throws an error when trying to retrieve a non-existent site", async () => {
|
|
12
|
-
const nonExistentSiteRef = siteRef("non-existent-site-id");
|
|
13
|
-
await expect(getSite(nonExistentSiteRef)).rejects.toThrow();
|
|
14
|
-
});
|
|
15
11
|
});
|