@cauca-911/social-network
Version:
Run `npm install @cauca-911/social-network --save` to add this library to your project
1 lines • 40.6 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, inject } from '@angular/core';\nimport { LoadScriptService } from './load-script.service';\nimport { Observable, of } from 'rxjs';\nimport { catchError, map, retry } 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\n public error: any;\n public appId: string;\n public version: string;\n public isLoaded = false;\n public isInitialize = false;\n\n private readonly windowRef = inject(WindowReferenceService);\n private readonly logService = inject(LogService);\n\n public constructor() {\n const loadScriptService = inject(LoadScriptService);\n\n loadScriptService.get('https://connect.facebook.net/en_US/sdk.js').subscribe({\n next: () => {\n this.isLoaded = true;\n this.logService.information('Facebook - SDK.js has loaded');\n },\n error: (error: any) => {\n this.error = error;\n this.logService.error(`Facebook - Error when loading SDK.js`, error);\n }\n });\n }\n\n public initialize(appId: string, version: string = 'v25.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 retry({ count: 25, delay: 200 }),\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({\n next: (response: any) => {\n if (response && response.userID) {\n this.listAccessiblePage(response.userID, response.accessToken).subscribe({\n next: (pages: any) => {\n observer.next(pages);\n observer.complete();\n },\n error: (error: any) => {\n this.logService.error('Facebook - Error occur when ListAccessiblePage when FindManageablePage', error);\n observer.error(error);\n }\n });\n } else {\n observer.error(new Error('No user are connected to Facebook'));\n }\n },\n error: (error: any) => {\n this.logService.error('Facebook - Error occur when GetAuthentication', error);\n observer.error(error);\n }\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({\n next: (response: any) => {\n if (!response.userID) {\n observer.error(response);\n } else {\n this.listAccessiblePage(response.userID, response.accessToken).subscribe({\n next: (pages: any) => {\n observer.next(pages);\n observer.complete();\n },\n error: (error: any) => {\n this.logService.error('Facebook - Error occur when ListAccessiblePage when AskToManagePage', error);\n observer.error(error);\n }\n });\n }\n },\n error: (error: any) => {\n this.logService.error(`Facebook - Error occur when AskTokenWithScope`, error);\n observer.error(error);\n }\n });\n });\n }\n\n private listAccessiblePage(userId: string, accessToken: string): Observable<any> {\n return new Observable((observer: any) => {\n this.windowRef.facebookApi.api(`/${userId}/accounts`, 'GET', { access_token: accessToken }, (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, inject } 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 logService = inject(LogService);\n private windowRef = inject(WindowReferenceService);\n\n private pageId: string = '';\n private accessToken: string = '';\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: Observable<any>[] = [];\n const attachedMedias: string[] = [];\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, inject } 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\n public error: any;\n public appId: string;\n public isLoaded = false;\n public isInitialize = false;\n\n private readonly httpClient = inject(HttpClient);\n\n public constructor() {\n const loadScript = inject(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":[],"mappings":"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"}