@cauca-911/social-network
Version:
Run `npm install @cauca-911/social-network --save` to add this library to your project
1 lines • 39.2 kB
Source Map (JSON)
{"version":3,"file":"cauca-911-social-network.mjs","sources":["../../../projects/cauca-social-network/src/lib/cauca-social-network.service.ts","../../../projects/cauca-social-network/src/lib/cauca-social-network.component.ts","../../../projects/cauca-social-network/src/lib/cauca-social-network.component.html","../../../projects/cauca-social-network/src/lib/cauca-social-network.module.ts","../../../projects/cauca-social-network/src/lib/shared/services/load-script.service.ts","../../../projects/cauca-social-network/src/lib/shared/services/window-reference.service.ts","../../../projects/cauca-social-network/src/lib/shared/services/facebook.service.ts","../../../projects/cauca-social-network/src/lib/shared/services/facebook-post-on-page.service.ts","../../../projects/cauca-social-network/src/lib/shared/services/twitter.service.ts","../../../projects/cauca-social-network/src/public-api.ts","../../../projects/cauca-social-network/src/cauca-911-social-network.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CaucaSocialNetworkService {\n\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'cauca-cauca-social-network',\n templateUrl: './cauca-social-network.component.html',\n styles: [],\n standalone: false\n})\nexport class CaucaSocialNetworkComponent {\n\n}\n","<div>{{'core.noGenericComponentOnThisLibrary' | translate}}</div>","import { NgModule } from '@angular/core';\nimport { CaucaCoreForChildModule } from '@cauca-911/core';\nimport { CaucaSocialNetworkComponent } from './cauca-social-network.component';\n\n@NgModule({\n declarations: [\n CaucaSocialNetworkComponent\n ],\n imports: [\n CaucaCoreForChildModule,\n ],\n exports: [\n CaucaSocialNetworkComponent,\n ],\n})\nexport class CaucaSocialNetworkModule { }\n","import { Injectable } from '@angular/core';\nimport { Observable, Observer } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoadScriptService {\n\n public get(url: string): Observable<any> {\n return new Observable((observer: Observer<any>) => {\n const script = document.createElement('script');\n script.type = 'text/javascript';\n script.src = url;\n script.onload = () => {\n observer.next({script: url, status: 'loaded'});\n observer.complete();\n };\n script.onerror = (error: any) => {\n observer.error(error);\n observer.complete();\n };\n\n document.getElementsByTagName('head')[0].appendChild(script);\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FacebookApi } from '../interfaces/facebook-api.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WindowReferenceService {\n\n public get facebookApi(): FacebookApi {\n return window['FB'];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { LoadScriptService } from './load-script.service';\nimport { Observable, of } from 'rxjs';\nimport { catchError, delay, map, retryWhen, take } from 'rxjs/operators';\nimport { LogService } from '@cauca-911/core';\nimport { WindowReferenceService } from './window-reference.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FacebookService {\n public error: any;\n public appId: string;\n public version: string;\n public isLoaded = false;\n public isInitialize = false;\n\n public constructor(\n loadScriptService: LoadScriptService,\n private windowRef: WindowReferenceService,\n private logService: LogService,\n ) {\n loadScriptService.get('https://connect.facebook.net/en_US/sdk.js').subscribe(() => {\n this.isLoaded = true;\n this.logService.information('Facebook - SDK.js has loaded');\n }, (error: any) => {\n this.error = error;\n this.logService.error(`Facebook - Error when loading SDK.js`, error);\n });\n }\n\n public initialize(appId: string, version: string = 'v20.0'): Observable<boolean> {\n this.appId = appId;\n this.version = version;\n\n return new Observable<boolean>((observer: any) => {\n if (this.error) {\n observer.error(this.error);\n } else if (!this.isLoaded) {\n observer.error(new Error('Facebook SDK is not loaded'));\n } else {\n this.logService.information(`Facebook - Initialize is completed`);\n observer.next(true);\n }\n\n observer.complete();\n }).pipe(\n map(() => this.initializeSDK()),\n retryWhen((error: any) => error.pipe(\n delay(200),\n take(25),\n )),\n catchError((error: any) => of(error))\n );\n }\n\n public findManageablePage(): Observable<any> {\n return new Observable<any>((observer: any) => {\n const loadError = this.validateSDK();\n if (loadError) {\n observer.error(loadError);\n }\n\n this.getAuthentication().subscribe((response: any) => {\n if (response && response.userID) {\n this.listAccessiblePage(response.userID).subscribe((pages: any) => {\n observer.next(pages);\n observer.complete();\n }, (error: any) => {\n this.logService.error('Facebook - Error occur when ListAccessiblePage when FindManageablePage', error);\n observer.error(error);\n });\n } else {\n observer.error(new Error('No user are connected to Facebook'));\n }\n }, (error: any) => {\n this.logService.error('Facebook - Error occur when GetAuthentication', error);\n observer.error(error);\n });\n });\n }\n\n public askToManagePage(): Observable<any> {\n return new Observable((observer: any) => {\n const loadError = this.validateSDK();\n if (loadError) {\n observer.error(loadError);\n }\n\n this.askTokenWithScope('pages_show_list, pages_manage_posts').subscribe((response: any) => {\n if (!response.userID) {\n observer.error(response);\n } else {\n this.listAccessiblePage(response.userID).subscribe((pages: any) => {\n observer.next(pages);\n observer.complete();\n }, (error: any) => {\n this.logService.error('Facebook - Error occur when ListAccessiblePage when AskToManagePage', error);\n observer.error(error);\n });\n }\n }, (error: any) => {\n this.logService.error(`Facebook - Error occur when AskTokenWithScope`, error);\n observer.error(error);\n });\n });\n }\n\n private listAccessiblePage(userId: string): Observable<any> {\n return new Observable((observer: any) => {\n this.windowRef.facebookApi.api(`/${userId}/accounts`, 'GET', {}, (response: any) => {\n this.logService.information(`Facebook - Response from FB.api \"/${userId}/accounts\"`, response);\n\n if (response && !response.error) {\n if (response.data instanceof Error) {\n observer.error(response.data);\n } else {\n observer.next(response.data);\n observer.complete();\n }\n } else {\n observer.error(response);\n }\n });\n });\n }\n\n private askTokenWithScope(scope: string): Observable<any> {\n return new Observable((observer: any) => {\n this.windowRef.facebookApi.login((response: any) => {\n this.logService.information(`Facebook - Response from FB.login`, response);\n\n if (response.authResponse) {\n observer.next(response.authResponse);\n observer.complete();\n } else {\n observer.error(new Error('User cancelled login or did not fully authorize'));\n }\n }, {\n scope,\n });\n });\n }\n\n private getAuthentication(): Observable<any> {\n return new Observable((observer: any) => {\n const timer = setTimeout(() => {\n observer.error(`Facebook SDK can't be used`);\n }, 2000);\n\n this.windowRef.facebookApi.getLoginStatus((response: any) => {\n this.logService.information('Facebook - Response from FB.getLoginStatus', response);\n clearTimeout(timer);\n\n if (response.status === 'connected') {\n observer.next(response.authResponse);\n } else {\n observer.next({});\n }\n\n observer.complete();\n });\n });\n }\n\n private initializeSDK(): void {\n this.logService.information(`Facebook - InitializeSDK with AppId: \"${this.appId}\", Version: \"${this.version}\"`);\n\n this.windowRef.facebookApi.init({\n appId: this.appId,\n cookie: true,\n xfbml: true,\n version: this.version,\n });\n this.isInitialize = true;\n }\n\n private validateSDK(): Error | boolean {\n if (location.protocol !== 'https:') {\n return new Error(`You can only use the Facebook SDK on HTTPS`);\n }\n if (!this.isInitialize) {\n return new Error('You need to initialize the service');\n }\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { LogService } from '@cauca-911/core';\nimport { forkJoin, Observable, of } from 'rxjs';\nimport { catchError, map, concatMap } from 'rxjs/operators';\nimport { WindowReferenceService } from './window-reference.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FacebookPostOnPageService {\n private pageId: string;\n private accessToken: string;\n\n public constructor(\n private logService: LogService,\n private windowRef: WindowReferenceService,\n ) {\n }\n\n public setPage(pageId: string, accessToken: string) {\n this.pageId = pageId;\n this.accessToken = accessToken;\n }\n\n public publish(message: string, photoUrls: string[] = [], videoUrls: string[] = []): Observable<any> {\n if (photoUrls && photoUrls.length && videoUrls && videoUrls.length) {\n this.logService.error(`Actually, we can't publish photos and videos, we publish only the first video`);\n return this.publishVideo(message, videoUrls[0]);\n } else if (videoUrls && videoUrls.length) {\n if (videoUrls.length === 1) {\n return this.publishVideo(message, videoUrls[0]);\n } else {\n return this.publishVideos(videoUrls).pipe(\n concatMap((attachedMedias: any) => this.publishMessage(message, true, attachedMedias).pipe(\n map((feedResponse: any) => ({\n feed: feedResponse,\n medias: attachedMedias,\n }))\n ))\n );\n }\n } else if (photoUrls && photoUrls.length) {\n if (photoUrls.length === 1) {\n return this.publishPhoto(message, photoUrls[0]);\n } else {\n return this.publishPhotos(photoUrls).pipe(\n concatMap((attachedMedias: any) => this.publishMessage(message, true, attachedMedias).pipe(\n map((feedResponse: any) => ({\n feed: feedResponse,\n medias: attachedMedias,\n }))\n ))\n );\n }\n } else {\n return this.publishMessage(message).pipe(\n map((response: any) => ({\n feed: response,\n medias: [],\n }))\n );\n }\n }\n\n public publishMessage(message: string, published: boolean = true, attachedMedia: any = null): Observable<any> {\n const body = {\n message,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n access_token: this.accessToken,\n published,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n attached_media: attachedMedia,\n };\n\n return new Observable((observer: any) => {\n this.windowRef.facebookApi.api(`/${this.pageId}/feed`, 'POST', body, (response: any) => {\n this.logService.information(`Facebook - Response from FB.api \"/${this.pageId}/feed\"`, response);\n\n if (response && !response.error && !(response.data instanceof Error)) {\n observer.next(response);\n observer.complete();\n } else {\n observer.error(response);\n }\n });\n });\n }\n\n public publishVideo(description: string, videoUrl: string, published: boolean = true): Observable<any> {\n const data = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n access_token: this.accessToken,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n file_url: videoUrl,\n description,\n published,\n };\n\n return new Observable((observer: any) => {\n this.windowRef.facebookApi.api(`/${this.pageId}/videos`, 'POST', data, (response: any) => {\n this.logService.information(`Facebook - Response from FB.api \"/${this.pageId}/videos - non resumable\"`, response);\n\n if (response && !response.error && !(response.data instanceof Error)) {\n observer.next(response);\n observer.complete();\n } else {\n observer.error(response);\n }\n });\n });\n }\n\n public publishPhoto(caption: string, photoUrl: string, published: boolean = true): Observable<any> {\n const data = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n access_token: this.accessToken,\n url: photoUrl,\n caption,\n published,\n temporary: false\n };\n\n return new Observable((observer: any) => {\n this.windowRef.facebookApi.api(`/${this.pageId}/photos`, 'POST', data, (response: any) => {\n this.logService.information(`Facebook - Response from FB.api \"/${this.pageId}/photos\"`, response);\n\n if (response && !response.error && !(response.data instanceof Error)) {\n observer.next(response);\n observer.complete();\n } else {\n observer.error(response);\n }\n });\n });\n }\n\n private publishPhotos(photoUrls: string[]): Observable<any> {\n const posts = [];\n const attachedMedias = [];\n\n photoUrls.forEach((photoUrl: string) => {\n const task = this.publishPhoto('', photoUrl, false).pipe(\n catchError((error: any) => of(error)),\n );\n\n posts.push(task);\n });\n\n if (photoUrls.length === 0) {\n return this.generateObservableReturningEmptyObject();\n }\n\n return forkJoin(posts).pipe(\n map((responses: any) => {\n responses.forEach((response: any) => {\n if (response.id) {\n attachedMedias.push(`{\"media_fbid\":\"${response.id}\"}`);\n }\n });\n\n return attachedMedias;\n }),\n );\n }\n\n private publishVideos(_videoUrls: string[]): Observable<any> {\n this.logService.error(`Actually, we can't publish multiple video`);\n return this.generateObservableReturningEmptyObject();\n }\n\n private generateObservableReturningEmptyObject(): Observable<any> {\n return new Observable((observer: any) => {\n observer.next({});\n observer.complete();\n });\n }\n}\n","import {Injectable} from '@angular/core';\nimport {LoadScriptService} from './load-script.service';\nimport { HttpClient } from '@angular/common/http';\nimport {Observable, of, Observer} from 'rxjs';\nimport {catchError, delay, map, retryWhen, take} from 'rxjs/operators';\n\ndeclare let twttr: Twitter;\n\ninterface Twitter {\n events: any;\n\n ready(callback: any): void;\n\n init(config: any): void;\n\n login(callback: any, permissions: any): void;\n\n getAuthResponse(config: any): void;\n\n getLoginStatus(config: any): void;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TwitterService {\n public error: any;\n public appId: string;\n public isLoaded = false;\n public isInitialize = false;\n\n public constructor(\n private httpClient: HttpClient,\n loadScript: LoadScriptService,\n ) {\n loadScript.get('https://platform.twitter.com/widgets.js').subscribe(() => {\n this.isLoaded = true;\n }, (error: any) => {\n this.error = error;\n });\n }\n\n public initialize(appId: string): Observable<boolean> {\n this.appId = appId;\n\n return new Observable((observer: Observer<boolean>) => {\n if (this.error) {\n observer.error(this.error);\n } else if (!this.isLoaded) {\n observer.error(new Error('Twitter SDK is not loaded'));\n } else {\n observer.next(true);\n }\n\n observer.complete();\n }).pipe(\n map(() => this.initializeSDK()),\n retryWhen((error: any) => error.pipe(\n delay(200),\n take(25),\n )),\n catchError((error: any) => of(error))\n );\n }\n\n public findManageablePage(): Observable<any> {\n const loadError = this.validateSDK();\n if (loadError) {\n return of(loadError);\n }\n\n return new Observable((observer: Observer<any>) => {\n this.getAuthentication().subscribe((response: any) => {\n if (response && response.userID) {\n this.listAccessiblePage(response.userID).subscribe((pages: any) => {\n observer.next(pages);\n observer.complete();\n }, (error: any) => {\n observer.error(error);\n });\n } else {\n observer.error(new Error('No user are connected to Facebook'));\n }\n }, (error: any) => {\n observer.error(error);\n });\n });\n }\n\n public askToManagePage(): Observable<any> {\n const loadError = this.validateSDK();\n if (loadError) {\n return of(loadError);\n }\n\n return new Observable((observer: Observer<any>) => {\n this.getAuthentication().subscribe(() => {\n this.askTokenWithScope('manage_pages, publish_pages').subscribe((response: any) => {\n this.listAccessiblePage(response.userID).subscribe((pages: any) => {\n observer.next(pages);\n observer.complete();\n }, (error: any) => {\n observer.error(error);\n });\n }, (error: any) => {\n observer.error(error);\n });\n }, (error: any) => {\n observer.error(error);\n });\n });\n }\n\n public publishToPage(pageId: string, accessToken: string, message: string): Observable<any> {\n return this.httpClient.post(`https://graph.facebook.com/${pageId}/feed`, {\n message,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n access_token: accessToken,\n });\n }\n\n private listAccessiblePage(_userId: string): Observable<any> {\n return new Observable((_observer: Observer<any>) => {\n /*FB.api(`/${userId}/accounts`, (response: any) => {\n if (response && !response.error) {\n observer.next(response.data);\n } else {\n observer.error(response);\n }\n\n observer.complete();\n });*/\n });\n }\n\n private askTokenWithScope(_scope: string): Observable<any> {\n return new Observable((_observer: Observer<any>) => {\n /*FB.login((response: any) => {\n observer.next(response.authResponse);\n observer.complete();\n }, {\n scope: scope,\n });*/\n });\n }\n\n private getAuthentication(): Observable<any> {\n return new Observable((_observer: Observer<any>) => {\n /*FB.getLoginStatus((response: any) => {\n if (response.authResponse) {\n observer.next(response.authResponse);\n } else {\n observer.error(new Error('No facebook connection'));\n }\n\n observer.complete();\n });*/\n });\n }\n\n private initializeSDK(): void {\n twttr.ready(() => {\n this.isInitialize = true;\n });\n }\n\n private validateSDK(): Error {\n if (!this.isInitialize) {\n return new Error('You need to initialize the service');\n }\n }\n}\n","/*\n * Public API Surface of cauca-social-network\n */\n\nexport * from './lib/cauca-social-network.service';\nexport * from './lib/cauca-social-network.component';\nexport * from './lib/cauca-social-network.module';\n\nexport { FacebookService } from './lib/shared/services/facebook.service';\nexport { FacebookPostOnPageService } from './lib/shared/services/facebook-post-on-page.service';\nexport { TwitterService } from './lib/shared/services/twitter.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.LoadScriptService","i2.WindowReferenceService","i1","i2.LoadScriptService"],"mappings":"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"}