@nx-ddd/google 19.83.0 → 19.85.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -176,4 +176,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
176
176
  */
177
177
 
178
178
  export { GOOGLE_PLACES_CONFIG, GooglePlacesService, provideGooglePlacesConfig };
179
- //# sourceMappingURL=nx-ddd-google-places.mjs.map
@@ -35,4 +35,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
35
35
  */
36
36
 
37
37
  export { GOOGLE_SEARCH_CONFIG, GoogleSearchService, provideGoogleSearchConfig };
38
- //# sourceMappingURL=nx-ddd-google-search.mjs.map
@@ -137,4 +137,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
137
137
  */
138
138
 
139
139
  export { GOOGLE_CONFIG, GoogleModule, GoogleService };
140
- //# sourceMappingURL=nx-ddd-google.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx-ddd/google",
3
- "version": "19.83.0",
3
+ "version": "19.85.0",
4
4
  "peerDependencies": {
5
5
  "@angular/core": ">=17.0.0",
6
6
  "@angular/common": ">=17.0.0"
@@ -86,4 +86,3 @@ declare class GooglePlacesService {
86
86
 
87
87
  export { GOOGLE_PLACES_CONFIG, GooglePlacesService, provideGooglePlacesConfig };
88
88
  export type { GooglePlacesConfig, PlaceDetailsResponse, PlaceDetailsResult, PlacePhoto, PlaceSearchResponse, PlaceSearchResult };
89
- //# sourceMappingURL=nx-ddd-google-places.d.ts.map
@@ -20,4 +20,3 @@ declare class GoogleSearchService {
20
20
  }
21
21
 
22
22
  export { GOOGLE_SEARCH_CONFIG, GoogleSearchService, provideGoogleSearchConfig };
23
- //# sourceMappingURL=nx-ddd-google-search.d.ts.map
@@ -101,4 +101,3 @@ declare class GoogleModule {
101
101
 
102
102
  export { GOOGLE_CONFIG, GoogleModule, GoogleService };
103
103
  export type { GoogleConfig };
104
- //# sourceMappingURL=nx-ddd-google.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nx-ddd-google-places.mjs","sources":["../../../../../packages/@nx-ddd/google/src/lib/places/places.config.ts","../../../../../packages/@nx-ddd/google/src/lib/places/places-transformers.ts","../../../../../packages/@nx-ddd/google/src/lib/places/places-photo.ts","../../../../../packages/@nx-ddd/google/src/lib/places/places.service.ts","../../../../../packages/@nx-ddd/google/src/lib/places/nx-ddd-google-places.ts"],"sourcesContent":["import { InjectionToken, Provider } from '@angular/core';\nimport { GooglePlacesConfig } from './places.interface';\n\nexport const GOOGLE_PLACES_CONFIG = new InjectionToken<GooglePlacesConfig>('GOOGLE_PLACES_CONFIG');\n\nexport function provideGooglePlacesConfig(useFactory: () => GooglePlacesConfig): Provider[] {\n return [\n {\n provide: GOOGLE_PLACES_CONFIG,\n useFactory\n }\n ];\n}","\nimport { PlaceSearchResult, PlaceDetailsResult } from './places.interface';\n\n\nexport function transformPlaceSearchResult(result: any): PlaceSearchResult {\n return {\n placeId: result.place_id,\n name: result.name,\n formattedAddress: result.formatted_address,\n geometry: result.geometry,\n photos: result.photos?.map((photo: any) => ({\n photoReference: photo.photo_reference,\n height: photo.height,\n width: photo.width,\n htmlAttributions: photo.html_attributions\n })),\n rating: result.rating,\n userRatingsTotal: result.user_ratings_total\n };\n}\n\n\nexport function transformPlaceDetailsResult(result: any): PlaceDetailsResult {\n return {\n placeId: result.place_id,\n name: result.name,\n formattedAddress: result.formatted_address,\n formattedPhoneNumber: result.formatted_phone_number,\n website: result.website,\n photos: result.photos?.map((photo: any) => ({\n photoReference: photo.photo_reference,\n height: photo.height,\n width: photo.width,\n htmlAttributions: photo.html_attributions\n })),\n rating: result.rating,\n userRatingsTotal: result.user_ratings_total,\n geometry: result.geometry\n };\n}\n","\nimport { HttpClient } from '@angular/common/http';\nimport { lastValueFrom } from 'rxjs';\n\nexport interface PhotoResult {\n photoReference: string;\n blob: Blob;\n}\n\n\nexport async function getPlacePhoto(\n http: HttpClient,\n apiKey: string,\n photoReference: string,\n maxWidth = 1600\n): Promise<Blob> {\n const url = 'https://maps.googleapis.com/maps/api/place/photo';\n const params = {\n photoreference: photoReference,\n maxwidth: maxWidth.toString(),\n key: apiKey\n };\n\n const response = await lastValueFrom(\n http.get(url, {\n params,\n responseType: 'blob'\n })\n );\n\n return response;\n}\n\n\nexport async function getPlacePhotos(\n http: HttpClient,\n apiKey: string,\n photoReferences: string[],\n maxWidth = 1600,\n limit = 5\n): Promise<PhotoResult[]> {\n const results: PhotoResult[] = [];\n const refs = photoReferences.slice(0, limit);\n\n for (const photoRef of refs) {\n try {\n const blob = await getPlacePhoto(http, apiKey, photoRef, maxWidth);\n results.push({ photoReference: photoRef, blob });\n } catch (error) {\n console.warn(`Failed to fetch photo ${photoRef}:`, error);\n \n }\n }\n\n return results;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { lastValueFrom } from 'rxjs';\nimport { GOOGLE_PLACES_CONFIG } from './places.config';\nimport { PlaceSearchResult, PlaceDetailsResult } from './places.interface';\nimport { transformPlaceSearchResult, transformPlaceDetailsResult } from './places-transformers';\nimport { getPlacePhoto, getPlacePhotos, PhotoResult } from './places-photo';\n\n@Injectable({ providedIn: 'root' })\nexport class GooglePlacesService {\n private readonly http = inject(HttpClient);\n private readonly config = inject(GOOGLE_PLACES_CONFIG);\n\n \n async searchPlaces(query: string, options: {\n location?: string;\n radius?: number;\n limit?: number;\n } = {}): Promise<PlaceSearchResult[]> {\n const { location, radius = 50000, limit = 20 } = options;\n\n try {\n const url = 'https://maps.googleapis.com/maps/api/place/textsearch/json';\n const params: any = {\n query: query,\n key: this.config.apiKey,\n language: this.config.language || 'ja'\n };\n\n if (location) {\n params.location = location;\n params.radius = radius;\n }\n\n const response = await lastValueFrom(\n this.http.get<any>(url, { params })\n );\n\n if (response.status !== 'OK') {\n throw new Error(`Places API error: ${response.status}`);\n }\n\n return response.results\n .slice(0, limit)\n .map((result: any) => transformPlaceSearchResult(result));\n } catch (error) {\n console.error('Error searching places:', error);\n throw error;\n }\n }\n\n \n async getPlaceDetails(placeId: string, fields?: string[]): Promise<PlaceDetailsResult> {\n try {\n const url = 'https://maps.googleapis.com/maps/api/place/details/json';\n const defaultFields = [\n 'place_id', 'name', 'formatted_address', 'formatted_phone_number',\n 'website', 'photos', 'rating', 'user_ratings_total', 'geometry'\n ];\n\n const params = {\n place_id: placeId,\n fields: (fields || defaultFields).join(','),\n key: this.config.apiKey,\n language: this.config.language || 'ja'\n };\n\n const response = await lastValueFrom(\n this.http.get<any>(url, { params })\n );\n\n if (response.status !== 'OK') {\n throw new Error(`Place Details API error: ${response.status}`);\n }\n\n return transformPlaceDetailsResult(response.result);\n } catch (error) {\n console.error('Error getting place details:', error);\n throw error;\n }\n }\n\n \n async getPlacePhoto(photoReference: string, maxWidth = 1600): Promise<Blob> {\n try {\n return await getPlacePhoto(this.http, this.config.apiKey, photoReference, maxWidth);\n } catch (error) {\n console.error('Error getting place photo:', error);\n throw error;\n }\n }\n\n \n async getPlacePhotos(\n photoReferences: string[],\n maxWidth = 1600,\n limit = 5\n ): Promise<PhotoResult[]> {\n return getPlacePhotos(this.http, this.config.apiKey, photoReferences, maxWidth, limit);\n }\n\n \n async searchPlacesWithPhotos(\n query: string,\n options: {\n location?: string;\n radius?: number;\n maxPlaces?: number;\n maxPhotosPerPlace?: number;\n photoMaxWidth?: number;\n } = {}\n ): Promise<Array<{ place: PlaceDetailsResult; photos: PhotoResult[] }>> {\n const {\n location,\n radius = 50000,\n maxPlaces = 5,\n maxPhotosPerPlace = 3,\n photoMaxWidth = 1600\n } = options;\n\n const places = await this.searchPlaces(query, { location, radius, limit: maxPlaces });\n const results = [];\n\n for (const place of places) {\n try {\n const details = await this.getPlaceDetails(place.placeId);\n let photos: PhotoResult[] = [];\n\n if (details.photos && details.photos.length > 0) {\n const photoRefs = details.photos\n .map(photo => photo.photoReference)\n .slice(0, maxPhotosPerPlace);\n photos = await this.getPlacePhotos(photoRefs, photoMaxWidth);\n }\n\n results.push({ place: details, photos });\n } catch (error) {\n console.warn(`Failed to process place ${place.placeId}:`, error);\n }\n }\n\n return results;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nx-ddd-google-search.mjs","sources":["../../../../../packages/@nx-ddd/google/src/lib/search/search.service.ts","../../../../../packages/@nx-ddd/google/src/lib/search/nx-ddd-google-search.ts"],"sourcesContent":["import { HttpClient } from \"@angular/common/http\";\nimport { inject, Injectable, InjectionToken } from \"@angular/core\";\nimport { lastValueFrom } from \"rxjs\";\n\ninterface GoogleSearchConfig {\n apiKey: string;\n engineId: string;\n}\n\nexport const GOOGLE_SEARCH_CONFIG = new InjectionToken<GoogleSearchConfig>('GOOGLE_SEARCH_CONFIG');\nexport function provideGoogleSearchConfig(useFactory: () => GoogleSearchConfig) {\n return { provide: GOOGLE_SEARCH_CONFIG, useFactory };\n}\n\n@Injectable({providedIn: 'root'})\nexport class GoogleSearchService {\n readonly http = inject(HttpClient);\n readonly config = inject(GOOGLE_SEARCH_CONFIG);\n\n async searchByGoogle(q: string) {\n const url = `https://www.googleapis.com/customsearch/v1`;\n return lastValueFrom(this.http.get(url, {\n params: {\n key: this.config.apiKey,\n cx: this.config.engineId,\n searchType: 'image',\n q: q,\n num: 3\n }\n }));\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MASa,oBAAoB,GAAG,IAAI,cAAc,CAAqB,sBAAsB;AAC3F,SAAU,yBAAyB,CAAC,UAAoC,EAAA;AAC5E,IAAA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE;AACtD;MAGa,mBAAmB,CAAA;AACrB,IAAA,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;AACzB,IAAA,MAAM,GAAG,MAAM,CAAC,oBAAoB,CAAC;IAE9C,MAAM,cAAc,CAAC,CAAS,EAAA;QAC5B,MAAM,GAAG,GAAG,CAAA,0CAAA,CAA4C;QACxD,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;AACtC,YAAA,MAAM,EAAE;AACN,gBAAA,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;AACvB,gBAAA,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;AACxB,gBAAA,UAAU,EAAE,OAAO;AACnB,gBAAA,CAAC,EAAE,CAAC;AACJ,gBAAA,GAAG,EAAE;AACN;AACF,SAAA,CAAC,CAAC;IACL;uGAfW,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cADP,MAAM,EAAA,CAAA;;2FAClB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;;ACdhC;;AAEG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nx-ddd-google.mjs","sources":["../../../../../packages/@nx-ddd/google/src/lib/google.config.ts","../../../../../packages/@nx-ddd/google/src/lib/google.service.ts","../../../../../packages/@nx-ddd/google/src/lib/google.service.impl.ts","../../../../../packages/@nx-ddd/google/src/lib/google.module.ts","../../../../../packages/@nx-ddd/google/src/lib/nx-ddd-google.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\n\nexport interface GoogleConfig {\n credential: {\n web: {\n client_id: string;\n project_id: string;\n auth_uri: string;\n token_uri: string;\n auth_provider_x509_cert_url: string;\n client_secret: string;\n redirect_uris?: string[];\n };\n }\n}\nexport const GOOGLE_CONFIG = new InjectionToken<GoogleConfig>('GOOGLE_CONFIG');\n","import { Injectable } from \"@angular/core\";\nimport type { drive_v3, calendar_v3, google } from \"googleapis\";\nimport type { GaxiosPromise } from \"googleapis/build/src/apis/abusiveexperiencereport\";\n\n@Injectable({ providedIn: 'root' })\nexport abstract class GoogleService {\n abstract client: (typeof google)['auth']['OAuth2']['prototype'];\n abstract getClient(credentials: any): Promise<any>;\n abstract getClientByAccessToken(cred: {accessToken: string, refreshToken: string}): (typeof google)['auth']['OAuth2']['prototype'];\n abstract generateAuthUrl(): string;\n abstract getToken(code: string): Promise<any>;\n abstract getFileMetadata(client: any, id: string): GaxiosPromise<drive_v3.Schema$File>;\n abstract getFileBuffer(client: any, id: string): GaxiosPromise<drive_v3.Schema$File>;\n abstract listCalendars(client: typeof this.client): Promise<calendar_v3.Schema$CalendarListEntry[]>;\n abstract listEvents(client: typeof this.client, props: {calendarId: string}): Promise<any>;\n abstract createEvent(client: typeof this.client, event: { start: string, end: string, title: string, description: string }): Promise<any>;\n abstract deleteEvent(client: typeof this.client, event: { eventId: string }): Promise<any>;\n abstract getCalendar(client: typeof this.client): calendar_v3.Calendar;\n abstract refreshAccessToken(client: typeof this.client, refreshToken: string): Promise<any>;\n}","import { Inject, Injectable } from \"@angular/core\";\nimport { GoogleService } from \"./google.service\";\nimport { calendar_v3, drive_v3, google } from \"googleapis\";\nimport { GOOGLE_CONFIG, GoogleConfig } from \"./google.config\";\nimport { GaxiosPromise } from \"googleapis/build/src/apis/abusiveexperiencereport\";\nimport { OAuth2Client } from \"google-auth-library\";\nimport dayjs from 'dayjs';\n\n@Injectable()\nexport class GoogleServiceImpl extends GoogleService {\n constructor(\n @Inject(GOOGLE_CONFIG) private config: GoogleConfig,\n ) {\n super();\n }\n\n get client(): OAuth2Client {\n return new google.auth.OAuth2({\n clientId: this.config.credential.web.client_id,\n clientSecret: this.config.credential.web.client_secret,\n redirectUri: this.config.credential.web.redirect_uris?.[0],\n });\n }\n\n async getClient(credentials: any): Promise<any> {\n const client = new google.auth.OAuth2({\n clientId: this.config.credential.web.client_id,\n clientSecret: this.config.credential.web.client_secret,\n });\n client.setCredentials(credentials);\n return client;\n }\n\n getClientByAccessToken(cred: {accessToken: string, refreshToken: string}): any {\n const client = new google.auth.OAuth2();\n client.setCredentials({\n access_token: cred.accessToken,\n refresh_token: cred.refreshToken,\n });\n return client;\n }\n\n generateAuthUrl(client: OAuth2Client = this.client): string {\n const url = client.generateAuthUrl({\n access_type: 'offline',\n scope: [\n 'https://www.googleapis.com/auth/calendar.readonly',\n 'https://www.googleapis.com/auth/calendar.events',\n ],\n redirect_uris: this.config.credential.web.redirect_uris,\n });\n return url\n }\n\n getToken(code: string): Promise<any> {\n return this.client.getToken(code);\n }\n\n async getFileMetadata(client: any, id: string): GaxiosPromise<drive_v3.Schema$File> {\n const drive = google.drive({version: 'v3', auth: client});\n return drive.files.get({fileId: id});\n }\n\n async getFileBuffer(client: any, id: string): GaxiosPromise<drive_v3.Schema$File> {\n const drive = google.drive({version: 'v3', auth: client});\n return drive.files.get({fileId: id, alt: 'media'}, { responseType: 'arraybuffer' });\n }\n\n async listCalendars(client: typeof this.client): Promise<calendar_v3.Schema$CalendarListEntry[]> {\n const calendar = google.calendar({version: 'v3', auth: client});\n const res = await calendar.calendarList.list({});\n return res.data.items ?? [];\n }\n\n \n async listEvents(client: typeof this.client, {calendarId = 'primary'}: { calendarId?: string } = {}): Promise<any> {\n \n \n \n \n \n \n \n \n\n \n }\n\n async deleteEvent(client: typeof this.client, event: { eventId: string }) {\n const calendar = google.calendar({version: 'v3', auth: client});\n await calendar.events.delete({\n calendarId: 'primary',\n eventId: event.eventId,\n });\n }\n\n getCalendar(client: typeof this.client): calendar_v3.Calendar {\n return google.calendar({version: 'v3', auth: client});\n }\n\n async createEvent(client: typeof this.client, event: { start: string, end: string, title: string, description: string }) {\n const calendar = google.calendar({version: 'v3', auth: client});\n await calendar.events.insert({\n calendarId: 'primary',\n requestBody: {\n start: {\n dateTime: event.start,\n timeZone: 'Asia/Tokyo',\n },\n end: {\n dateTime: event.end,\n timeZone: 'Asia/Tokyo',\n },\n summary: event.title,\n description: event.description,\n }\n });\n }\n\n async refreshAccessToken(client: typeof this.client) {\n const res = await client.refreshAccessToken();\n return res.credentials.access_token;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { GOOGLE_CONFIG, GoogleConfig } from './google.config';\nimport { GoogleService } from './google.service';\nimport { GoogleServiceImpl } from './google.service.impl';\n\n@NgModule({})\nexport class GoogleModule {\n static forRoot(config: GoogleConfig) {\n return {\n ngModule: GoogleModule,\n providers: [\n { provide: GOOGLE_CONFIG, useValue: config },\n { provide: GoogleService, useClass: GoogleServiceImpl },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nx-ddd-google-places.d.ts","sources":["../../../../../packages/@nx-ddd/google/src/lib/places/places.interface.ts","../../../../../packages/@nx-ddd/google/src/lib/places/places.config.ts","../../../../../packages/@nx-ddd/google/src/lib/places/places-photo.ts","../../../../../packages/@nx-ddd/google/src/lib/places/places.service.ts"],"sourcesContent":[null,null,null,null],"names":[],"mappings":";;;;;;AAGC;;;;;AAMC;AACE;;;;;AAKF;;;AAGD;;;;;;AAOA;;;;;;;AAQC;;;AAGA;AACE;;;;;AAKH;;;;;AAMA;;;;AAKA;;AClDD;AAEA;;;;;ACEC;;ACCD;AAEE;AACA;AAGM;;;;AAIA;AAkCA;;AAyCA;AASA;;;;;;;;;AAS+D;;;AAgCtE;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nx-ddd-google-search.d.ts","sources":["../../../../../packages/@nx-ddd/google/src/lib/search/search.service.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAIA;;;AAGC;AAED;AACA;;;AAEC;AAED;;;;;;AAiBC;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nx-ddd-google.d.ts","sources":["../../../../../packages/@nx-ddd/google/src/lib/google.config.ts","../../../../../packages/@nx-ddd/google/src/lib/google.service.ts","../../../../../packages/@nx-ddd/google/src/lib/google.service.impl.ts","../../../../../packages/@nx-ddd/google/src/lib/google.module.ts"],"sourcesContent":[null,null,null,null],"names":[],"mappings":";;;;;;;AAGE;AACE;;;;;;;AAOE;;;AAGL;AACD;;ACXA;AAEE;;AAEA;;;AAAiF;;;AAGjF;AACA;AACA;;;;;;;;;;;;;AAIA;AACA;;;AACD;;ACXD;AAG2B;AAAQ;;;;;;AAsBuC;AASxE;;AAgBM;AAKA;AAKA;;;;;;AAoBkE;;;;;;;AAY+C;AAmBjH;;;AAIP;;ACtHD;AAEE;;;;;;;;;;;;;;;AASD;;;"}