@microsoft/mgt
Version:
The Microsoft Graph Toolkit
94 lines • 3.4 kB
JavaScript
/**
* -------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License.
* See License in the project root for license information.
* -------------------------------------------------------------------------------------------
*/
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import { customElement, property } from 'lit-element';
import { Providers } from '../../Providers';
import { TeamsProvider } from '../../providers/TeamsProvider';
import { MgtBaseProvider } from './baseProvider';
/**
* Authentication Library Provider for Microsoft Teams accounts
*
* @export
* @class MgtTeamsProvider
* @extends {MgtBaseProvider}
*/
let MgtTeamsProvider = class MgtTeamsProvider extends MgtBaseProvider {
constructor() {
super(...arguments);
/**
* String alphanumerical value relation to a specific user
*
* @memberof MgtTeamsProvider
*/
this.clientId = '';
/**
* The relative or absolute path of the html page that will handle the authentication
*
* @memberof MgtTeamsProvider
*/
this.authPopupUrl = '';
}
/**
* Gets whether this provider can be used in this environment
*
* @readonly
* @memberof MgtTeamsProvider
*/
get isAvailable() {
return TeamsProvider.isAvailable;
}
/**
* method called to initialize the provider. Each derived class should provide their own implementation
*
* @protected
* @memberof MgtTeamsProvider
*/
initializeProvider() {
if (this.clientId && this.authPopupUrl) {
const config = {
authPopupUrl: this.authPopupUrl,
clientId: this.clientId
};
if (this.scopes) {
const scope = this.scopes.split(',');
if (scope && scope.length > 0) {
config.scopes = scope;
}
}
this.provider = new TeamsProvider(config);
Providers.globalProvider = this.provider;
}
}
};
__decorate([
property({
attribute: 'client-id',
type: String
})
], MgtTeamsProvider.prototype, "clientId", void 0);
__decorate([
property({
attribute: 'auth-popup-url',
type: String
})
], MgtTeamsProvider.prototype, "authPopupUrl", void 0);
__decorate([
property({
attribute: 'scopes',
type: String
})
], MgtTeamsProvider.prototype, "scopes", void 0);
MgtTeamsProvider = __decorate([
customElement('mgt-teams-provider')
], MgtTeamsProvider);
export { MgtTeamsProvider };
//# sourceMappingURL=mgt-teams-provider.js.map