@adventurelabs/scout-core 1.4.16 → 1.4.17

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.
Files changed (2) hide show
  1. package/dist/store/api.js +50 -2
  2. package/package.json +1 -1
package/dist/store/api.js CHANGED
@@ -144,6 +144,30 @@ export const scoutApi = createApi({
144
144
  const events = data || [];
145
145
  const hasMore = events.length > limit;
146
146
  const resultEvents = hasMore ? events.slice(0, limit) : events;
147
+ // Generate signed URLs for events
148
+ const uniqueFilePaths = Array.from(new Set(resultEvents
149
+ .map((event) => event.file_path)
150
+ .filter((path) => path !== null && path !== undefined)));
151
+ let urlMap = new Map();
152
+ if (uniqueFilePaths.length > 0) {
153
+ try {
154
+ const urlResults = await generateSignedUrlsBatch(uniqueFilePaths);
155
+ urlResults.forEach((url, index) => {
156
+ if (url) {
157
+ urlMap.set(uniqueFilePaths[index], url);
158
+ }
159
+ });
160
+ }
161
+ catch (urlError) {
162
+ console.warn("Failed to generate signed URLs for events:", urlError);
163
+ }
164
+ }
165
+ const eventsWithUrls = resultEvents.map((event) => ({
166
+ ...event,
167
+ media_url: event.file_path
168
+ ? urlMap.get(event.file_path) || null
169
+ : null,
170
+ }));
147
171
  const nextCursor = hasMore && resultEvents.length > 0
148
172
  ? {
149
173
  timestamp: resultEvents[resultEvents.length - 1]
@@ -153,7 +177,7 @@ export const scoutApi = createApi({
153
177
  : null;
154
178
  return {
155
179
  data: {
156
- events: resultEvents,
180
+ events: eventsWithUrls,
157
181
  nextCursor,
158
182
  hasMore,
159
183
  },
@@ -196,6 +220,30 @@ export const scoutApi = createApi({
196
220
  const events = data || [];
197
221
  const hasMore = events.length > limit;
198
222
  const resultEvents = hasMore ? events.slice(0, limit) : events;
223
+ // Generate signed URLs for events
224
+ const uniqueFilePaths = Array.from(new Set(resultEvents
225
+ .map((event) => event.file_path)
226
+ .filter((path) => path !== null && path !== undefined)));
227
+ let urlMap = new Map();
228
+ if (uniqueFilePaths.length > 0) {
229
+ try {
230
+ const urlResults = await generateSignedUrlsBatch(uniqueFilePaths);
231
+ urlResults.forEach((url, index) => {
232
+ if (url) {
233
+ urlMap.set(uniqueFilePaths[index], url);
234
+ }
235
+ });
236
+ }
237
+ catch (urlError) {
238
+ console.warn("Failed to generate signed URLs for events:", urlError);
239
+ }
240
+ }
241
+ const eventsWithUrls = resultEvents.map((event) => ({
242
+ ...event,
243
+ media_url: event.file_path
244
+ ? urlMap.get(event.file_path) || null
245
+ : null,
246
+ }));
199
247
  const nextCursor = hasMore && resultEvents.length > 0
200
248
  ? {
201
249
  timestamp: resultEvents[resultEvents.length - 1]
@@ -205,7 +253,7 @@ export const scoutApi = createApi({
205
253
  : null;
206
254
  return {
207
255
  data: {
208
- events: resultEvents,
256
+ events: eventsWithUrls,
209
257
  nextCursor,
210
258
  hasMore,
211
259
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adventurelabs/scout-core",
3
- "version": "1.4.16",
3
+ "version": "1.4.17",
4
4
  "description": "Core utilities and helpers for Adventure Labs Scout applications",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",