@magicbutton.cloud/sharepoint

v1.0.0

Published

SharePoint integration utilities for fetching data from Microsoft Graph API

Readme

@magicbutton.cloud/sharepoint

A TypeScript library for interacting with SharePoint lists via Microsoft Graph API.

Installation

npm install @magicbutton.cloud/sharepoint

Usage

import { 
  getCountries, 
  getUnits, 
  getNewsCategories, 
  getNewsChannels,
  getValidGuestDomains 
} from '@magicbutton.cloud/sharepoint';

// Fetch countries from SharePoint
const countries = await getCountries(accessToken);

// Fetch units from SharePoint
const units = await getUnits(accessToken);

// Fetch news categories
const categories = await getNewsCategories(accessToken);

// Fetch news channels
const channels = await getNewsChannels(accessToken);

// Fetch valid guest domains
const domains = await getValidGuestDomains(accessToken);

API Reference

Functions

getCountries(accessToken: string)

Fetches country data from SharePoint Countries list.

Returns: Promise<Country[] | undefined>

getUnits(accessToken: string)

Fetches unit data from SharePoint Units list.

Returns: Promise<Unit[] | undefined>

getNewsCategories(accessToken: string)

Fetches news category data from SharePoint News Categories list.

Returns: Promise<NewsCategory[] | undefined>

getNewsChannels(accessToken: string)

Fetches news channel data from SharePoint News Channels list.

Returns: Promise<NewsChannel[] | undefined>

getValidGuestDomains(accessToken: string)

Fetches valid guest domain data from SharePoint Valid Guest Domains list.

Returns: Promise<ValidGuestDomain[] | undefined>

Types

Country

interface Country {
  countryName: string;
  countryCode: string;
}

Unit

interface Unit {
  unitName: string;
  unitCode: string;
  unitType: string;
  sortOrder: number;
}

NewsCategory

interface NewsCategory {
  categoryName: string;
  categoryId: number;
  sortOrder: number;
}

NewsChannel

interface NewsChannel {
  id: string;
  channelName: string;
  channelType: string;
  channelCode: string;
  sortOrder: string;
  RelevantUnits: LookupValue[];
  Mandatory: boolean;
  RelevantCountires: LookupValue[];
  RegionId: number;
  NewsCategoryId: number;
  GroupId: string;
}

ValidGuestDomain

interface ValidGuestDomain {
  domainName: string;
  redirectURL: string;
}

LookupValue

interface LookupValue {
  LookupId: number;
  LookupValue: string;
}

Authentication

All functions require a valid Microsoft Graph API access token with appropriate permissions to read SharePoint lists.

Error Handling

Functions return undefined if there's an error fetching data. The library includes retry logic for transient failures.

License

MIT