@ustaxcourt/sharepoint-integration
v0.2.0
Published
## Features
Downloads
5
Readme
Sharepoint Integration
Features
- Human friendly function names to perform various actions with Sharepoint
- Create your own Microsoft Graph Client and perform more involved queries
Install
npm
npm i @ustaxcourt/sharepoint-integration
pnpm
pnpm add @ustaxcourt/sharepoint-integration
Usage
In order to use the client and the helper functions, you will need to ascertain secrets that are unique for your Azure AD tenancy.
Environment Variables
These environment are required to create a Graph Client. They are used to ensure the graph client can securely connect to the correct Azure AD Tenancy.
| Variable | Description |
| ------------------------ | ------------------------------------------------------- |
| MS_GRAPH_TENANT_ID
| The unique identifier of the Microsoft Azure AD Tenancy |
| MS_GRAPH_CLIENT_ID
| The unique identifier of the Enterprise Application |
| MS_GRAPH_CLIENT_SECRET
| A secret created in Enterprise Applications |
Your system administrator can supply you with these variables. If you are the system administrator, here is how to determine them.
Create an Application Secret
Log into Azure AD
Navigate to Enterprise Applications
Create a new application or work with an existing one.
Navigate to the App Registration Overview for the Application. At the top you should see:
- "Directory (tenant) ID". This is the
MS_GRAPH_TENANT_ID
, and - "Application (client) ID". This is the
MS_GRAPH_CLIENT_ID
- "Directory (tenant) ID". This is the
Click "Certificates & Secrets"
Click "New client secret"
Give the secret a name and specify the expiration and copy the Secret value you have just created. This is the
MS_GRAPH_CLIENT_SECRET
.
Example
Here we are using dotenv
to specify the environment variables in a typescript project. These are automatically picked up when we create a new graphClient.
import {
createFolder,
createGraphClient,
} from "@ustaxcourt/sharepoint-integration";
import "dotenv/config";
const doSomething = async () => {
const myClient = createGraphClient({
debugLogging: true,
});
const result = await createFolder({
client: myClient,
folderName: "Jim is my friend",
siteId: "a-unique-identifier-of-a-sharepoint-site",
});
};
doSomething().then(() => {
console.log("we created a folder");
});
Testing
Populate your .env
file with the required Environment Variables and also be sure to include the following:
| Name | Value | | ------------ | ------------------------------------------------------------------------ | | TEST_SITE_ID | Unique identifier of a Sharepoint Site to use for testing | | TEST_LIST_ID | Unique identifier of a Sharepoint List to use for testing List Functions |
Run npm run test
Publishing
This package is published on npm
so that we can use it in other libraries. To help manage this, we are using changesets cli to specify changes that are locked into semantic versions.
To begin a new changeset, commit your work into your feature branch. Then type in the following command:
npx changeset add
Follow the guided prompts to begin a new changeset version.
Then push the changes to Github for review. Once they are merged into the main
branch, a subsequent PR will be made in order to begin the process of releasing.