@open-tender/cloud 0.5.21 → 0.5.23
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/cjs/services/api.d.ts +1 -1
- package/dist/cjs/services/api.js +5 -1
- package/dist/cjs/slices/config.d.ts +1 -0
- package/dist/cjs/slices/revenueCenters.d.ts +9 -2
- package/dist/cjs/slices/revenueCenters.js +17 -8
- package/dist/esm/services/api.d.ts +1 -1
- package/dist/esm/services/api.js +5 -1
- package/dist/esm/slices/config.d.ts +1 -0
- package/dist/esm/slices/revenueCenters.d.ts +9 -2
- package/dist/esm/slices/revenueCenters.js +17 -8
- package/package.json +2 -2
|
@@ -57,7 +57,7 @@ declare class OpenTenderAPI {
|
|
|
57
57
|
getStore(): Promise<unknown>;
|
|
58
58
|
getRevenueCenters(revenue_center_type: RevenueCenterType, is_outpost: boolean, lat: number, lng: number, requestedAt: string, serviceType?: ServiceType): Promise<unknown>;
|
|
59
59
|
getRevenueCenter(revenue_center_id: number, requestedAt: string): Promise<unknown>;
|
|
60
|
-
getLocations(revenue_center_type: RevenueCenterType, is_outpost?: boolean, lat?: number, lng?: number, requestedAt?: string, cart_total?: string, address?: string, serviceType?: ServiceType): Promise<unknown>;
|
|
60
|
+
getLocations(revenue_center_type: RevenueCenterType, is_outpost?: boolean, lat?: number, lng?: number, requestedAt?: string, cart_total?: string, address?: string, serviceType?: ServiceType, limit?: number, cursor?: string): Promise<unknown>;
|
|
61
61
|
getLocation(revenue_center_id: number, cart_total?: string): Promise<unknown>;
|
|
62
62
|
getLocationBySlug(slug: string, cart_total?: string): Promise<unknown>;
|
|
63
63
|
getValidTimes(revenueCenterType: RevenueCenterType): Promise<unknown>;
|
package/dist/cjs/services/api.js
CHANGED
|
@@ -316,7 +316,7 @@ class OpenTenderAPI {
|
|
|
316
316
|
const params = requestedAt ? `?requested_at=${requestedAt}` : '';
|
|
317
317
|
return this.request(`/revenue-centers/${revenue_center_id}${params}`);
|
|
318
318
|
}
|
|
319
|
-
getLocations(revenue_center_type, is_outpost, lat, lng, requestedAt, cart_total, address, serviceType) {
|
|
319
|
+
getLocations(revenue_center_type, is_outpost, lat, lng, requestedAt, cart_total, address, serviceType, limit, cursor) {
|
|
320
320
|
let params = '';
|
|
321
321
|
if (revenue_center_type)
|
|
322
322
|
params += `revenue_center_type=${revenue_center_type}`;
|
|
@@ -332,6 +332,10 @@ class OpenTenderAPI {
|
|
|
332
332
|
params += `&address=${address}`;
|
|
333
333
|
if (serviceType)
|
|
334
334
|
params += `&service_type=${serviceType}`;
|
|
335
|
+
if (limit)
|
|
336
|
+
params += `&limit=${limit}`;
|
|
337
|
+
if (cursor)
|
|
338
|
+
params += `&cursor=${cursor}`;
|
|
335
339
|
return this.request(`/locations?${params}`);
|
|
336
340
|
}
|
|
337
341
|
getLocation(revenue_center_id, cart_total) {
|
|
@@ -83,6 +83,7 @@ export declare const selectAccountConfig: (state: AppState) => {
|
|
|
83
83
|
title: string;
|
|
84
84
|
videoUrl: string;
|
|
85
85
|
videoUrlMobile: string;
|
|
86
|
+
useAppHomeHeading: boolean;
|
|
86
87
|
} | undefined;
|
|
87
88
|
export declare const selectCateringOnly: (state: AppState) => boolean;
|
|
88
89
|
export declare const selectDisplaySettings: (state: AppState) => import("@open-tender/types").ConfigDisplaySetting | undefined;
|
|
@@ -2,14 +2,21 @@ import { AppState } from '../app';
|
|
|
2
2
|
import { RevenueCenters, RevenueCenterParams, RequestError, RequestStatus } from '@open-tender/types';
|
|
3
3
|
export interface RevenueCentersState {
|
|
4
4
|
revenueCenters: RevenueCenters;
|
|
5
|
+
links: Record<string, string>;
|
|
5
6
|
error: RequestError;
|
|
6
7
|
loading: RequestStatus;
|
|
7
8
|
}
|
|
9
|
+
export interface LocationsAPIResponse {
|
|
10
|
+
data: RevenueCenters;
|
|
11
|
+
links: {
|
|
12
|
+
next: string;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
8
15
|
export declare enum RevenueCentersActionType {
|
|
9
16
|
FetchRevenueCenters = "revenueCenters/fetchRevenueCenters",
|
|
10
17
|
FetchLocations = "revenueCenters/fetchLocations"
|
|
11
18
|
}
|
|
12
|
-
export declare const fetchRevenueCenters: import("@reduxjs/toolkit").AsyncThunk<
|
|
19
|
+
export declare const fetchRevenueCenters: import("@reduxjs/toolkit").AsyncThunk<LocationsAPIResponse, RevenueCenterParams, {
|
|
13
20
|
state: AppState;
|
|
14
21
|
rejectValue: RequestError;
|
|
15
22
|
dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined;
|
|
@@ -19,7 +26,7 @@ export declare const fetchRevenueCenters: import("@reduxjs/toolkit").AsyncThunk<
|
|
|
19
26
|
fulfilledMeta?: unknown;
|
|
20
27
|
rejectedMeta?: unknown;
|
|
21
28
|
}>;
|
|
22
|
-
export declare const fetchLocations: import("@reduxjs/toolkit").AsyncThunk<
|
|
29
|
+
export declare const fetchLocations: import("@reduxjs/toolkit").AsyncThunk<LocationsAPIResponse, RevenueCenterParams, {
|
|
23
30
|
state: AppState;
|
|
24
31
|
rejectValue: RequestError;
|
|
25
32
|
dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined;
|
|
@@ -8,6 +8,7 @@ const types_1 = require("./types");
|
|
|
8
8
|
const utils_1 = require("@open-tender/utils");
|
|
9
9
|
const initialState = {
|
|
10
10
|
revenueCenters: [],
|
|
11
|
+
links: {},
|
|
11
12
|
loading: 'idle',
|
|
12
13
|
error: null
|
|
13
14
|
};
|
|
@@ -18,16 +19,19 @@ var RevenueCentersActionType;
|
|
|
18
19
|
})(RevenueCentersActionType = exports.RevenueCentersActionType || (exports.RevenueCentersActionType = {}));
|
|
19
20
|
exports.fetchRevenueCenters = (0, toolkit_1.createAsyncThunk)(RevenueCentersActionType.FetchRevenueCenters, (requestData, { getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
20
21
|
try {
|
|
21
|
-
const { api } = getState()
|
|
22
|
+
const { config: { api }, revenueCenters: { revenueCenters: currentCenters } } = getState();
|
|
22
23
|
if (requestData.lat)
|
|
23
24
|
requestData.lat = parseFloat(requestData.lat.toFixed(7));
|
|
24
25
|
if (requestData.lng)
|
|
25
26
|
requestData.lng = parseFloat(requestData.lng.toFixed(7));
|
|
26
|
-
const { data } = yield api.getRevenueCenters(requestData.type, requestData.is_outpost, requestData.lat, requestData.lng, requestData.requestedAt, requestData.service_type);
|
|
27
|
+
const { data, links } = (yield api.getRevenueCenters(requestData.type, requestData.is_outpost, requestData.lat, requestData.lng, requestData.requestedAt, requestData.service_type, requestData.limit, requestData.cursor));
|
|
27
28
|
const revenueCenters = requestData.lat && requestData.lng
|
|
28
29
|
? (0, utils_1.addDistance)(data, { lat: requestData.lat, lng: requestData.lng })
|
|
29
30
|
: data;
|
|
30
|
-
|
|
31
|
+
const result = requestData.cursor
|
|
32
|
+
? currentCenters.concat(revenueCenters)
|
|
33
|
+
: revenueCenters;
|
|
34
|
+
return { data: result, links };
|
|
31
35
|
}
|
|
32
36
|
catch (err) {
|
|
33
37
|
return rejectWithValue(err);
|
|
@@ -35,16 +39,19 @@ exports.fetchRevenueCenters = (0, toolkit_1.createAsyncThunk)(RevenueCentersActi
|
|
|
35
39
|
}));
|
|
36
40
|
exports.fetchLocations = (0, toolkit_1.createAsyncThunk)(RevenueCentersActionType.FetchLocations, (requestData, { getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
37
41
|
try {
|
|
38
|
-
const { api } = getState()
|
|
42
|
+
const { config: { api }, revenueCenters: { revenueCenters: currentCenters } } = getState();
|
|
39
43
|
if (requestData.lat)
|
|
40
44
|
requestData.lat = parseFloat(requestData.lat.toFixed(7));
|
|
41
45
|
if (requestData.lng)
|
|
42
46
|
requestData.lng = parseFloat(requestData.lng.toFixed(7));
|
|
43
|
-
const { data } = yield api.getLocations(requestData.type, requestData.is_outpost, requestData.lat, requestData.lng, requestData.requestedAt, requestData.cart_total, requestData.address, requestData.service_type);
|
|
47
|
+
const { data, links } = (yield api.getLocations(requestData.type, requestData.is_outpost, requestData.lat, requestData.lng, requestData.requestedAt, requestData.cart_total, requestData.address, requestData.service_type, requestData.limit, requestData.cursor));
|
|
44
48
|
const revenueCenters = requestData.lat && requestData.lng
|
|
45
49
|
? (0, utils_1.addDistance)(data, { lat: requestData.lat, lng: requestData.lng })
|
|
46
50
|
: data;
|
|
47
|
-
|
|
51
|
+
const result = requestData.cursor
|
|
52
|
+
? currentCenters.concat(revenueCenters)
|
|
53
|
+
: revenueCenters;
|
|
54
|
+
return { data: result, links };
|
|
48
55
|
}
|
|
49
56
|
catch (err) {
|
|
50
57
|
return rejectWithValue(err);
|
|
@@ -62,7 +69,8 @@ const revenueCentersSlice = (0, toolkit_1.createSlice)({
|
|
|
62
69
|
extraReducers: builder => {
|
|
63
70
|
builder
|
|
64
71
|
.addCase(exports.fetchRevenueCenters.fulfilled, (state, action) => {
|
|
65
|
-
state.revenueCenters = action.payload;
|
|
72
|
+
state.revenueCenters = action.payload.data;
|
|
73
|
+
state.links = action.payload.links;
|
|
66
74
|
state.loading = 'idle';
|
|
67
75
|
state.error = null;
|
|
68
76
|
})
|
|
@@ -74,7 +82,8 @@ const revenueCentersSlice = (0, toolkit_1.createSlice)({
|
|
|
74
82
|
state.loading = 'idle';
|
|
75
83
|
})
|
|
76
84
|
.addCase(exports.fetchLocations.fulfilled, (state, action) => {
|
|
77
|
-
state.revenueCenters = action.payload;
|
|
85
|
+
state.revenueCenters = action.payload.data;
|
|
86
|
+
state.links = action.payload.links;
|
|
78
87
|
state.loading = 'idle';
|
|
79
88
|
state.error = null;
|
|
80
89
|
})
|
|
@@ -57,7 +57,7 @@ declare class OpenTenderAPI {
|
|
|
57
57
|
getStore(): Promise<unknown>;
|
|
58
58
|
getRevenueCenters(revenue_center_type: RevenueCenterType, is_outpost: boolean, lat: number, lng: number, requestedAt: string, serviceType?: ServiceType): Promise<unknown>;
|
|
59
59
|
getRevenueCenter(revenue_center_id: number, requestedAt: string): Promise<unknown>;
|
|
60
|
-
getLocations(revenue_center_type: RevenueCenterType, is_outpost?: boolean, lat?: number, lng?: number, requestedAt?: string, cart_total?: string, address?: string, serviceType?: ServiceType): Promise<unknown>;
|
|
60
|
+
getLocations(revenue_center_type: RevenueCenterType, is_outpost?: boolean, lat?: number, lng?: number, requestedAt?: string, cart_total?: string, address?: string, serviceType?: ServiceType, limit?: number, cursor?: string): Promise<unknown>;
|
|
61
61
|
getLocation(revenue_center_id: number, cart_total?: string): Promise<unknown>;
|
|
62
62
|
getLocationBySlug(slug: string, cart_total?: string): Promise<unknown>;
|
|
63
63
|
getValidTimes(revenueCenterType: RevenueCenterType): Promise<unknown>;
|
package/dist/esm/services/api.js
CHANGED
|
@@ -314,7 +314,7 @@ class OpenTenderAPI {
|
|
|
314
314
|
const params = requestedAt ? `?requested_at=${requestedAt}` : '';
|
|
315
315
|
return this.request(`/revenue-centers/${revenue_center_id}${params}`);
|
|
316
316
|
}
|
|
317
|
-
getLocations(revenue_center_type, is_outpost, lat, lng, requestedAt, cart_total, address, serviceType) {
|
|
317
|
+
getLocations(revenue_center_type, is_outpost, lat, lng, requestedAt, cart_total, address, serviceType, limit, cursor) {
|
|
318
318
|
let params = '';
|
|
319
319
|
if (revenue_center_type)
|
|
320
320
|
params += `revenue_center_type=${revenue_center_type}`;
|
|
@@ -330,6 +330,10 @@ class OpenTenderAPI {
|
|
|
330
330
|
params += `&address=${address}`;
|
|
331
331
|
if (serviceType)
|
|
332
332
|
params += `&service_type=${serviceType}`;
|
|
333
|
+
if (limit)
|
|
334
|
+
params += `&limit=${limit}`;
|
|
335
|
+
if (cursor)
|
|
336
|
+
params += `&cursor=${cursor}`;
|
|
333
337
|
return this.request(`/locations?${params}`);
|
|
334
338
|
}
|
|
335
339
|
getLocation(revenue_center_id, cart_total) {
|
|
@@ -83,6 +83,7 @@ export declare const selectAccountConfig: (state: AppState) => {
|
|
|
83
83
|
title: string;
|
|
84
84
|
videoUrl: string;
|
|
85
85
|
videoUrlMobile: string;
|
|
86
|
+
useAppHomeHeading: boolean;
|
|
86
87
|
} | undefined;
|
|
87
88
|
export declare const selectCateringOnly: (state: AppState) => boolean;
|
|
88
89
|
export declare const selectDisplaySettings: (state: AppState) => import("@open-tender/types").ConfigDisplaySetting | undefined;
|
|
@@ -2,14 +2,21 @@ import { AppState } from '../app';
|
|
|
2
2
|
import { RevenueCenters, RevenueCenterParams, RequestError, RequestStatus } from '@open-tender/types';
|
|
3
3
|
export interface RevenueCentersState {
|
|
4
4
|
revenueCenters: RevenueCenters;
|
|
5
|
+
links: Record<string, string>;
|
|
5
6
|
error: RequestError;
|
|
6
7
|
loading: RequestStatus;
|
|
7
8
|
}
|
|
9
|
+
export interface LocationsAPIResponse {
|
|
10
|
+
data: RevenueCenters;
|
|
11
|
+
links: {
|
|
12
|
+
next: string;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
8
15
|
export declare enum RevenueCentersActionType {
|
|
9
16
|
FetchRevenueCenters = "revenueCenters/fetchRevenueCenters",
|
|
10
17
|
FetchLocations = "revenueCenters/fetchLocations"
|
|
11
18
|
}
|
|
12
|
-
export declare const fetchRevenueCenters: import("@reduxjs/toolkit").AsyncThunk<
|
|
19
|
+
export declare const fetchRevenueCenters: import("@reduxjs/toolkit").AsyncThunk<LocationsAPIResponse, RevenueCenterParams, {
|
|
13
20
|
state: AppState;
|
|
14
21
|
rejectValue: RequestError;
|
|
15
22
|
dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined;
|
|
@@ -19,7 +26,7 @@ export declare const fetchRevenueCenters: import("@reduxjs/toolkit").AsyncThunk<
|
|
|
19
26
|
fulfilledMeta?: unknown;
|
|
20
27
|
rejectedMeta?: unknown;
|
|
21
28
|
}>;
|
|
22
|
-
export declare const fetchLocations: import("@reduxjs/toolkit").AsyncThunk<
|
|
29
|
+
export declare const fetchLocations: import("@reduxjs/toolkit").AsyncThunk<LocationsAPIResponse, RevenueCenterParams, {
|
|
23
30
|
state: AppState;
|
|
24
31
|
rejectValue: RequestError;
|
|
25
32
|
dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined;
|
|
@@ -4,6 +4,7 @@ import { ReducerType } from './types';
|
|
|
4
4
|
import { addDistance } from '@open-tender/utils';
|
|
5
5
|
const initialState = {
|
|
6
6
|
revenueCenters: [],
|
|
7
|
+
links: {},
|
|
7
8
|
loading: 'idle',
|
|
8
9
|
error: null
|
|
9
10
|
};
|
|
@@ -14,16 +15,19 @@ export var RevenueCentersActionType;
|
|
|
14
15
|
})(RevenueCentersActionType || (RevenueCentersActionType = {}));
|
|
15
16
|
export const fetchRevenueCenters = createAsyncThunk(RevenueCentersActionType.FetchRevenueCenters, (requestData, { getState, rejectWithValue }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
17
|
try {
|
|
17
|
-
const { api } = getState()
|
|
18
|
+
const { config: { api }, revenueCenters: { revenueCenters: currentCenters } } = getState();
|
|
18
19
|
if (requestData.lat)
|
|
19
20
|
requestData.lat = parseFloat(requestData.lat.toFixed(7));
|
|
20
21
|
if (requestData.lng)
|
|
21
22
|
requestData.lng = parseFloat(requestData.lng.toFixed(7));
|
|
22
|
-
const { data } = yield api.getRevenueCenters(requestData.type, requestData.is_outpost, requestData.lat, requestData.lng, requestData.requestedAt, requestData.service_type);
|
|
23
|
+
const { data, links } = (yield api.getRevenueCenters(requestData.type, requestData.is_outpost, requestData.lat, requestData.lng, requestData.requestedAt, requestData.service_type, requestData.limit, requestData.cursor));
|
|
23
24
|
const revenueCenters = requestData.lat && requestData.lng
|
|
24
25
|
? addDistance(data, { lat: requestData.lat, lng: requestData.lng })
|
|
25
26
|
: data;
|
|
26
|
-
|
|
27
|
+
const result = requestData.cursor
|
|
28
|
+
? currentCenters.concat(revenueCenters)
|
|
29
|
+
: revenueCenters;
|
|
30
|
+
return { data: result, links };
|
|
27
31
|
}
|
|
28
32
|
catch (err) {
|
|
29
33
|
return rejectWithValue(err);
|
|
@@ -31,16 +35,19 @@ export const fetchRevenueCenters = createAsyncThunk(RevenueCentersActionType.Fet
|
|
|
31
35
|
}));
|
|
32
36
|
export const fetchLocations = createAsyncThunk(RevenueCentersActionType.FetchLocations, (requestData, { getState, rejectWithValue }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
33
37
|
try {
|
|
34
|
-
const { api } = getState()
|
|
38
|
+
const { config: { api }, revenueCenters: { revenueCenters: currentCenters } } = getState();
|
|
35
39
|
if (requestData.lat)
|
|
36
40
|
requestData.lat = parseFloat(requestData.lat.toFixed(7));
|
|
37
41
|
if (requestData.lng)
|
|
38
42
|
requestData.lng = parseFloat(requestData.lng.toFixed(7));
|
|
39
|
-
const { data } = yield api.getLocations(requestData.type, requestData.is_outpost, requestData.lat, requestData.lng, requestData.requestedAt, requestData.cart_total, requestData.address, requestData.service_type);
|
|
43
|
+
const { data, links } = (yield api.getLocations(requestData.type, requestData.is_outpost, requestData.lat, requestData.lng, requestData.requestedAt, requestData.cart_total, requestData.address, requestData.service_type, requestData.limit, requestData.cursor));
|
|
40
44
|
const revenueCenters = requestData.lat && requestData.lng
|
|
41
45
|
? addDistance(data, { lat: requestData.lat, lng: requestData.lng })
|
|
42
46
|
: data;
|
|
43
|
-
|
|
47
|
+
const result = requestData.cursor
|
|
48
|
+
? currentCenters.concat(revenueCenters)
|
|
49
|
+
: revenueCenters;
|
|
50
|
+
return { data: result, links };
|
|
44
51
|
}
|
|
45
52
|
catch (err) {
|
|
46
53
|
return rejectWithValue(err);
|
|
@@ -58,7 +65,8 @@ const revenueCentersSlice = createSlice({
|
|
|
58
65
|
extraReducers: builder => {
|
|
59
66
|
builder
|
|
60
67
|
.addCase(fetchRevenueCenters.fulfilled, (state, action) => {
|
|
61
|
-
state.revenueCenters = action.payload;
|
|
68
|
+
state.revenueCenters = action.payload.data;
|
|
69
|
+
state.links = action.payload.links;
|
|
62
70
|
state.loading = 'idle';
|
|
63
71
|
state.error = null;
|
|
64
72
|
})
|
|
@@ -70,7 +78,8 @@ const revenueCentersSlice = createSlice({
|
|
|
70
78
|
state.loading = 'idle';
|
|
71
79
|
})
|
|
72
80
|
.addCase(fetchLocations.fulfilled, (state, action) => {
|
|
73
|
-
state.revenueCenters = action.payload;
|
|
81
|
+
state.revenueCenters = action.payload.data;
|
|
82
|
+
state.links = action.payload.links;
|
|
74
83
|
state.loading = 'idle';
|
|
75
84
|
state.error = null;
|
|
76
85
|
})
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-tender/cloud",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.23",
|
|
4
4
|
"description": "A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our cloud-based Order API.",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"private": false,
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@babel/core": "^7.19.1",
|
|
37
|
-
"@open-tender/types": "^0.4.
|
|
37
|
+
"@open-tender/types": "^0.4.152",
|
|
38
38
|
"@open-tender/utils": "^0.5.22",
|
|
39
39
|
"@reduxjs/toolkit": "^1.8.5",
|
|
40
40
|
"@types/react": "^18.0.18",
|