UNPKG

ngx-social-button

Version:

Social login/share buttons for Angular 6, 7, 8

134 lines (133 loc) 11 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { BaseLoginProviderImpl } from '../entities/baseLoginProviderImpl'; import { LoginProviderClass, SocialUser } from '../entities/user'; var GoogleLoginProvider = /** @class */ (function (_super) { tslib_1.__extends(GoogleLoginProvider, _super); function GoogleLoginProvider(clientId) { var _this = _super.call(this) || this; _this.clientId = clientId; _this.loginProviderObj = new LoginProviderClass(); _this.TYPE = 'google'; _this.loginProviderObj.id = clientId; _this.loginProviderObj.name = 'google'; _this.loginProviderObj.url = 'https://apis.google.com/js/platform.js'; return _this; } /** * @return {?} */ GoogleLoginProvider.prototype.initialize = /** * @return {?} */ function () { var _this = this; return new Promise(function (resolve, reject) { _this.loadScript(_this.loginProviderObj, function () { gapi.load('auth2', function () { _this.auth2 = gapi.auth2.init({ client_id: _this.clientId, scope: 'email' }); _this.auth2.then(function () { if (_this.auth2.isSignedIn.get()) { resolve(_this.drawUser()); } }); }); }); }); }; /** * @return {?} */ GoogleLoginProvider.prototype.drawUser = /** * @return {?} */ function () { /** @type {?} */ var user = new SocialUser(); /** @type {?} */ var profile = this.auth2.currentUser.get().getBasicProfile(); /** @type {?} */ var authResponseObj = this.auth2.currentUser.get().getAuthResponse(true); user.id = profile.getId(); user.name = profile.getName(); user.email = profile.getEmail(); user.image = profile.getImageUrl(); user.accessToken = authResponseObj.access_token; user.idToken = authResponseObj.id_token; return user; }; /** * @param {?=} scopes * @return {?} */ GoogleLoginProvider.prototype.signIn = /** * @param {?=} scopes * @return {?} */ function (scopes) { var _this = this; return new Promise(function (resolve, reject) { /** @type {?} */ var promise = _this.auth2.signIn(); promise.then(function () { resolve(_this.drawUser()); }).catch(function (err) { reject(err); }); }); }; /** * @return {?} */ GoogleLoginProvider.prototype.signOut = /** * @return {?} */ function () { var _this = this; return new Promise(function (resolve, reject) { _this.auth2.signOut().then(function (err) { if (err) { reject(err); } else { resolve(); } }); }); }; /** * @param {?=} share * @return {?} */ GoogleLoginProvider.prototype.sharing = /** * @param {?=} share * @return {?} */ function (share) { return new Promise(function (resolve, reject) { resolve(); }); }; GoogleLoginProvider.PROVIDER_TYPE = 'google'; return GoogleLoginProvider; }(BaseLoginProviderImpl)); export { GoogleLoginProvider }; if (false) { /** @type {?} */ GoogleLoginProvider.PROVIDER_TYPE; /** @type {?} */ GoogleLoginProvider.prototype.loginProviderObj; /** @type {?} */ GoogleLoginProvider.prototype.auth2; /** @type {?} */ GoogleLoginProvider.prototype.TYPE; /** @type {?} */ GoogleLoginProvider.prototype.clientId; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlUHJvdmlkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtc29jaWFsLWJ1dHRvbi8iLCJzb3VyY2VzIjpbImxpYi9wcm92aWRlcnMvZ29vZ2xlUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsVUFBVSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7O0lBSXZCLCtDQUFxQjtJQU8xRCw2QkFBb0IsUUFBZ0I7UUFBcEMsWUFDSSxpQkFBTyxTQUlWO1FBTG1CLGNBQVEsR0FBUixRQUFRLENBQVE7aUNBSlUsSUFBSSxrQkFBa0IsRUFBRTtxQkFFeEQsUUFBUTtRQUlsQixLQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQztRQUNwQyxLQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUN0QyxLQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxHQUFHLHdDQUF3QyxDQUFDOztLQUN4RTs7OztJQUVELHdDQUFVOzs7SUFBVjtRQUFBLGlCQWlCQztRQWhCRyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTtZQUMvQixLQUFJLENBQUMsVUFBVSxDQUFDLEtBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7b0JBQ2YsS0FBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQzt3QkFDekIsU0FBUyxFQUFFLEtBQUksQ0FBQyxRQUFRO3dCQUN4QixLQUFLLEVBQUUsT0FBTztxQkFDakIsQ0FBQyxDQUFDO29CQUVILEtBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO3dCQUNaLEVBQUUsQ0FBQyxDQUFDLEtBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzs0QkFDOUIsT0FBTyxDQUFDLEtBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO3lCQUM1QjtxQkFDSixDQUFDLENBQUM7aUJBQ04sQ0FBQyxDQUFDO2FBQ04sQ0FBQyxDQUFDO1NBQ04sQ0FBQyxDQUFDO0tBQ047Ozs7SUFFRCxzQ0FBUTs7O0lBQVI7O1FBQ0ksSUFBTSxJQUFJLEdBQWUsSUFBSSxVQUFVLEVBQUUsQ0FBQzs7UUFDMUMsSUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUM7O1FBQy9ELElBQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxZQUFZLENBQUM7UUFDaEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDO1FBQ3hDLE1BQU0sQ0FBQyxJQUFJLENBQUM7S0FDZjs7Ozs7SUFFRCxvQ0FBTTs7OztJQUFOLFVBQU8sTUFBaUI7UUFBeEIsaUJBU0M7UUFSRyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTs7WUFDL0IsSUFBTSxPQUFPLEdBQUcsS0FBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNULE9BQU8sQ0FBQyxLQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQzthQUM1QixDQUFDLENBQUMsS0FBSyxDQUFDLFVBQUMsR0FBRztnQkFDVCxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDZixDQUFDLENBQUM7U0FDTixDQUFDLENBQUM7S0FDTjs7OztJQUVELHFDQUFPOzs7SUFBUDtRQUFBLGlCQVVDO1FBVEcsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07WUFDL0IsS0FBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBQyxHQUFRO2dCQUMvQixFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUNOLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDZjtnQkFBQyxJQUFJLENBQUMsQ0FBQztvQkFDSixPQUFPLEVBQUUsQ0FBQztpQkFDYjthQUNKLENBQUMsQ0FBQztTQUNOLENBQUMsQ0FBQztLQUNOOzs7OztJQUVELHFDQUFPOzs7O0lBQVAsVUFBUSxLQUFXO1FBQ2YsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07WUFDL0IsT0FBTyxFQUFFLENBQUM7U0FDYixDQUFDLENBQUM7S0FDTjt3Q0F2RXNDLFFBQVE7OEJBUG5EO0VBS3lDLHFCQUFxQjtTQUFqRCxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Jhc2VMb2dpblByb3ZpZGVySW1wbH0gZnJvbSAnLi4vZW50aXRpZXMvYmFzZUxvZ2luUHJvdmlkZXJJbXBsJztcbmltcG9ydCB7TG9naW5Qcm92aWRlckNsYXNzLCBTb2NpYWxVc2VyfSBmcm9tICcuLi9lbnRpdGllcy91c2VyJztcblxuZGVjbGFyZSBsZXQgZ2FwaTogYW55O1xuXG5leHBvcnQgY2xhc3MgR29vZ2xlTG9naW5Qcm92aWRlciBleHRlbmRzIEJhc2VMb2dpblByb3ZpZGVySW1wbCB7XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1ZJREVSX1RZUEUgPSAnZ29vZ2xlJztcbiAgICBwdWJsaWMgbG9naW5Qcm92aWRlck9iajogTG9naW5Qcm92aWRlckNsYXNzID0gbmV3IExvZ2luUHJvdmlkZXJDbGFzcygpO1xuICAgIHByaXZhdGUgYXV0aDI6IGFueTtcbiAgICBwdWJsaWMgVFlQRSA9ICdnb29nbGUnO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjbGllbnRJZDogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMubG9naW5Qcm92aWRlck9iai5pZCA9IGNsaWVudElkO1xuICAgICAgICB0aGlzLmxvZ2luUHJvdmlkZXJPYmoubmFtZSA9ICdnb29nbGUnO1xuICAgICAgICB0aGlzLmxvZ2luUHJvdmlkZXJPYmoudXJsID0gJ2h0dHBzOi8vYXBpcy5nb29nbGUuY29tL2pzL3BsYXRmb3JtLmpzJztcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKCk6IFByb21pc2U8U29jaWFsVXNlcj4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2FkU2NyaXB0KHRoaXMubG9naW5Qcm92aWRlck9iaiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGdhcGkubG9hZCgnYXV0aDInLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXV0aDIgPSBnYXBpLmF1dGgyLmluaXQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50X2lkOiB0aGlzLmNsaWVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGU6ICdlbWFpbCdcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hdXRoMi50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmF1dGgyLmlzU2lnbmVkSW4uZ2V0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHRoaXMuZHJhd1VzZXIoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGRyYXdVc2VyKCk6IFNvY2lhbFVzZXIge1xuICAgICAgICBjb25zdCB1c2VyOiBTb2NpYWxVc2VyID0gbmV3IFNvY2lhbFVzZXIoKTtcbiAgICAgICAgY29uc3QgcHJvZmlsZSA9IHRoaXMuYXV0aDIuY3VycmVudFVzZXIuZ2V0KCkuZ2V0QmFzaWNQcm9maWxlKCk7XG4gICAgICAgIGNvbnN0IGF1dGhSZXNwb25zZU9iaiA9IHRoaXMuYXV0aDIuY3VycmVudFVzZXIuZ2V0KCkuZ2V0QXV0aFJlc3BvbnNlKHRydWUpO1xuICAgICAgICB1c2VyLmlkID0gcHJvZmlsZS5nZXRJZCgpO1xuICAgICAgICB1c2VyLm5hbWUgPSBwcm9maWxlLmdldE5hbWUoKTtcbiAgICAgICAgdXNlci5lbWFpbCA9IHByb2ZpbGUuZ2V0RW1haWwoKTtcbiAgICAgICAgdXNlci5pbWFnZSA9IHByb2ZpbGUuZ2V0SW1hZ2VVcmwoKTtcbiAgICAgICAgdXNlci5hY2Nlc3NUb2tlbiA9IGF1dGhSZXNwb25zZU9iai5hY2Nlc3NfdG9rZW47XG4gICAgICAgIHVzZXIuaWRUb2tlbiA9IGF1dGhSZXNwb25zZU9iai5pZF90b2tlbjtcbiAgICAgICAgcmV0dXJuIHVzZXI7XG4gICAgfVxuXG4gICAgc2lnbkluKHNjb3Blcz86IFtzdHJpbmddKTogUHJvbWlzZTxTb2NpYWxVc2VyPiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm9taXNlID0gdGhpcy5hdXRoMi5zaWduSW4oKTtcbiAgICAgICAgICAgIHByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLmRyYXdVc2VyKCkpO1xuICAgICAgICAgICAgfSkuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNpZ25PdXQoKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXV0aDIuc2lnbk91dCgpLnRoZW4oKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNoYXJpbmcoc2hhcmU/OiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=