|
1 | 1 | import {Dispatch} from 'react' |
| 2 | +import {get} from 'lodash' |
2 | 3 |
|
3 | 4 | import {queryBuilderFetcher} from 'src/timeMachine/apis/QueryBuilderFetcher' |
4 | 5 |
|
5 | 6 | // Utils |
6 | 7 | import {event} from 'src/cloud/utils/reporting' |
7 | 8 | import {prohibitedDeselect} from 'src/shared/copy/notifications' |
| 9 | +import {isFlagEnabled} from 'src/shared/utils/featureFlag' |
| 10 | + |
8 | 11 | // API |
9 | | -import {normalize} from 'normalizr' |
10 | | -import {get} from 'lodash' |
11 | | -import {fetchDemoDataBuckets} from 'src/cloud/apis/demodata' |
12 | | -import * as api from 'src/client' |
| 12 | +import {fetchAllBuckets} from 'src/buckets/api' |
13 | 13 |
|
14 | 14 | // Types |
15 | 15 | import { |
16 | 16 | Bucket, |
17 | | - BucketEntities, |
18 | 17 | GetState, |
19 | 18 | RemoteDataState, |
20 | 19 | ResourceType, |
@@ -57,13 +56,10 @@ import { |
57 | 56 | } from 'src/timeMachine/actions/queryBuilder' |
58 | 57 | import {setBuckets} from 'src/buckets/actions/creators' |
59 | 58 | import {notify} from 'src/shared/actions/notifications' |
| 59 | + |
60 | 60 | // Constants |
61 | | -import {LIMIT} from 'src/resources/constants' |
62 | 61 | import {AGG_WINDOW_AUTO} from 'src/timeMachine/constants/queryBuilder' |
63 | 62 |
|
64 | | -// Schemas |
65 | | -import {arrayOfBuckets} from 'src/schemas' |
66 | | - |
67 | 63 | export const removeTagSelector = (index: number) => ( |
68 | 64 | dispatch: Dispatch<Action> |
69 | 65 | ) => { |
@@ -232,25 +228,23 @@ export const loadBuckets = () => async ( |
232 | 228 | const orgID = getOrg(getState()).id |
233 | 229 | dispatch(setBuilderBucketsStatus(RemoteDataState.Loading)) |
234 | 230 |
|
| 231 | + let bucketsResponse |
235 | 232 | try { |
236 | | - const resp = await api.getBuckets({query: {orgID, limit: LIMIT}}) |
237 | | - |
238 | | - if (resp.status !== 200) { |
239 | | - throw new Error(resp.data.message) |
| 233 | + if (isFlagEnabled('fetchAllBuckets')) { |
| 234 | + // a limit of -1 means fetch all buckets for this org |
| 235 | + bucketsResponse = await fetchAllBuckets(orgID, -1) |
| 236 | + } else { |
| 237 | + bucketsResponse = await fetchAllBuckets(orgID) |
240 | 238 | } |
241 | 239 |
|
242 | | - const demoDataBuckets = await fetchDemoDataBuckets() |
243 | | - |
244 | | - const normalizedBuckets = normalize<Bucket, BucketEntities, string[]>( |
245 | | - [...resp.data.buckets, ...demoDataBuckets], |
246 | | - arrayOfBuckets |
| 240 | + dispatch( |
| 241 | + setBuckets(RemoteDataState.Done, bucketsResponse.normalizedBuckets) |
247 | 242 | ) |
248 | 243 |
|
249 | | - dispatch(setBuckets(RemoteDataState.Done, normalizedBuckets)) |
250 | | - |
251 | | - const allBuckets = [...resp.data.buckets, ...demoDataBuckets].map( |
252 | | - b => b.name |
253 | | - ) |
| 244 | + const allBuckets = [ |
| 245 | + ...bucketsResponse.buckets, |
| 246 | + ...bucketsResponse.demoDataBuckets, |
| 247 | + ].map(b => b.name) |
254 | 248 |
|
255 | 249 | const systemBuckets = allBuckets.filter(b => b.startsWith('_')) |
256 | 250 | const userBuckets = allBuckets.filter(b => !b.startsWith('_')) |
|
0 commit comments