Skip to content

Commit

Permalink
improvements to graph.sites, updates to docs, addresses pnp#2083
Browse files Browse the repository at this point in the history
  • Loading branch information
patrick-rodgers committed Mar 23, 2022
1 parent 5ce8b78 commit 730feb0
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 0 deletions.
71 changes: 71 additions & 0 deletions docs/graph/sites.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# @pnp/graph/sites

The search module allows you to access the Microsoft Graph Sites API.

[![Selective Imports Banner](https://img.shields.io/badge/Selective%20Imports-informational.svg)](../concepts/selective-imports.md)

## Call graph.sites

```TypeScript
import { graphfi, SPFx } from "@pnp/graph";
import "@pnp/graph/sites";

const graph = graphfi().using(SPFx(this.context));

const sitesInfo = await graph.sites();
```

## Call graph.sites.getById

```TypeScript
import { graphfi, SPFx } from "@pnp/graph";
import "@pnp/graph/sites";

const graph = graphfi().using(SPFx(this.context));

const siteInfo = await graph.sites.getById("{site identifier}")();
```

## Make additional calls

We don't currently implement all of the available options in graph for sites, rather focusing on the sp library. While we do accept PRs to add functionality, you can also make calls by path:

### Get lists

```TypeScript
import { Site } from "@pnp/graph/sites";

const sites = graph.sites.getById("{site id}");

const listsInfo = await Site(sites, "lists")();
```

### Get list

```TypeScript
import { Site } from "@pnp/graph/sites";

const sites = graph.sites.getById("{site id}");

const listInfo = await Site(sites, "lists/{listid}")();
```

### Get list items

```TypeScript
import { Site } from "@pnp/graph/sites";

const sites = graph.sites.getById("{site id}");

const users = await Site(sites, "lists/{listid}/items")();
```

### Get File/Item version information

```TypeScript
import { Site } from "@pnp/graph/sites";

const sites = graph.sites.getById("{site id}");

const users = await Site(sites, "lists/{listid}/items/{item id}/versions")();
```
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ nav:
- photos: 'graph/photos.md'
- planner: 'graph/planner.md'
- search: 'graph/search.md'
- sites: 'graph/sites.md'
- subscriptions: 'graph/subscriptions.md'
- teams: 'graph/teams.md'
- users: 'graph/users.md'
Expand Down
4 changes: 4 additions & 0 deletions packages/graph/sites/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ export class _Sites extends _GraphQueryableCollection<ISiteType[]> {
public get root(): ISite {
return Site(this, "root");
}

public getById(id: string): ISite {
return Site(this, id);
}
}
export interface ISites extends _Sites { }
export const Sites = graphInvokableFactory<ISites>(_Sites);
Expand Down

0 comments on commit 730feb0

Please sign in to comment.