@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.
- package/dist/store/api.js +50 -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:
|
|
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:
|
|
256
|
+
events: eventsWithUrls,
|
|
209
257
|
nextCursor,
|
|
210
258
|
hasMore,
|
|
211
259
|
},
|