import { WebPartContext } from "@microsoft/sp-webpart-base"; import { MSGraphClientV3 } from "@microsoft/sp-http"; import IJitzContext from "../interfaces/IJitzContext"; import IJitzSPContext from "../interfaces/IJitzSPContext"; import JitzSPContext from "./JitzSPContext"; export default class JitzContext implements IJitzContext { spContext: IJitzSPContext; webpartContext: WebPartContext; graphClient: MSGraphClientV3; siteId: string; constructor(webpartContext: WebPartContext) { this.spContext = new JitzSPContext( webpartContext.pageContext.site.absoluteUrl ); this.webpartContext = webpartContext; this.siteId = this.webpartContext.pageContext.site.id.toString(); } public async init() { await this.spContext.init(); await this.initGraphClient(); } private async initGraphClient() { await this.webpartContext.msGraphClientFactory .getClient("3") // Init Microsoft Graph Client .then((client: MSGraphClientV3) => { this.graphClient = client; }); } }