@zeniai/client-epic-state 5.0.41-betaRD1 → 5.0.42
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/lib/entity/chargeCardRepayment/chargeCardRepayment.d.ts +1 -1
- package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
- package/lib/entity/snackbar/snackbarTypes.js +0 -3
- package/lib/entity/task/taskPayload.d.ts +0 -1
- package/lib/entity/task/taskPayload.js +0 -5
- package/lib/entity/task/taskState.d.ts +0 -5
- package/lib/entity/task/taskState.js +1 -6
- package/lib/entity/tenant/clearAllEpic.d.ts +3 -5
- package/lib/entity/tenant/clearAllEpic.js +2 -6
- package/lib/entity/tenant/tenantReducer.js +11 -1
- package/lib/epic.d.ts +1 -7
- package/lib/epic.js +1 -7
- package/lib/esm/entity/snackbar/snackbarTypes.js +0 -3
- package/lib/esm/entity/task/taskPayload.js +1 -6
- package/lib/esm/entity/task/taskState.js +0 -3
- package/lib/esm/entity/tenant/clearAllEpic.js +2 -6
- package/lib/esm/entity/tenant/tenantReducer.js +11 -1
- package/lib/esm/epic.js +1 -7
- package/lib/esm/index.js +9 -15
- package/lib/esm/reducer.js +3 -9
- package/lib/esm/view/common/recurringViewHelper.js +0 -17
- package/lib/esm/view/taskManager/taskDetailView/epics/initializeTaskToLocalStoreEpic.js +0 -2
- package/lib/esm/view/taskManager/taskDetailView/epics/saveTaskDetailEpic.js +0 -5
- package/lib/esm/view/taskManager/taskDetailView/taskDetail.js +0 -1
- package/lib/esm/view/taskManager/taskDetailView/taskDetailSelector.js +0 -5
- package/lib/index.d.ts +13 -21
- package/lib/index.js +46 -77
- package/lib/reducer.d.ts +3 -9
- package/lib/reducer.js +3 -9
- package/lib/tsconfig.typecheck.tsbuildinfo +1 -1
- package/lib/view/common/recurringViewHelper.d.ts +2 -3
- package/lib/view/common/recurringViewHelper.js +1 -18
- package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
- package/lib/view/taskManager/taskDetailView/epics/initializeTaskToLocalStoreEpic.js +0 -2
- package/lib/view/taskManager/taskDetailView/epics/saveTaskDetailEpic.js +0 -5
- package/lib/view/taskManager/taskDetailView/taskDetail.d.ts +1 -3
- package/lib/view/taskManager/taskDetailView/taskDetail.js +0 -1
- package/lib/view/taskManager/taskDetailView/taskDetailSelector.d.ts +0 -1
- package/lib/view/taskManager/taskDetailView/taskDetailSelector.js +0 -5
- package/package.json +1 -1
- package/lib/entity/creditAgent/creditAgentPayload.d.ts +0 -41
- package/lib/entity/creditAgent/creditAgentPayload.js +0 -40
- package/lib/entity/creditAgent/creditAgentReducer.d.ts +0 -9
- package/lib/entity/creditAgent/creditAgentReducer.js +0 -37
- package/lib/entity/creditAgent/creditAgentSelector.d.ts +0 -3
- package/lib/entity/creditAgent/creditAgentSelector.js +0 -10
- package/lib/entity/creditAgent/creditAgentState.d.ts +0 -39
- package/lib/entity/creditAgent/creditAgentState.js +0 -17
- package/lib/esm/entity/creditAgent/creditAgentPayload.js +0 -36
- package/lib/esm/entity/creditAgent/creditAgentReducer.js +0 -33
- package/lib/esm/entity/creditAgent/creditAgentSelector.js +0 -6
- package/lib/esm/entity/creditAgent/creditAgentState.js +0 -13
- package/lib/esm/view/creditAgentView/buildCreditReportCsv.js +0 -44
- package/lib/esm/view/creditAgentView/creditAgentViewPayload.js +0 -2
- package/lib/esm/view/creditAgentView/creditAgentViewReducer.js +0 -183
- package/lib/esm/view/creditAgentView/creditAgentViewSelector.js +0 -85
- package/lib/esm/view/creditAgentView/creditAgentViewState.js +0 -20
- package/lib/esm/view/creditAgentView/epics/fetchCardProfilesEpic.js +0 -20
- package/lib/esm/view/creditAgentView/epics/fetchCreditAgentAccessEpic.js +0 -13
- package/lib/esm/view/creditAgentView/epics/fetchCreditAgentMacroEpic.js +0 -19
- package/lib/esm/view/creditAgentView/epics/saveCreditAgentMacroEpic.js +0 -58
- package/lib/esm/view/creditAgentView/epics/scheduleTenantCreditScoreCronEpic.js +0 -39
- package/lib/esm/view/creditAgentView/epics/updateCardProfileEpic.js +0 -62
- package/lib/view/creditAgentView/buildCreditReportCsv.d.ts +0 -17
- package/lib/view/creditAgentView/buildCreditReportCsv.js +0 -47
- package/lib/view/creditAgentView/creditAgentViewPayload.d.ts +0 -9
- package/lib/view/creditAgentView/creditAgentViewPayload.js +0 -7
- package/lib/view/creditAgentView/creditAgentViewReducer.d.ts +0 -41
- package/lib/view/creditAgentView/creditAgentViewReducer.js +0 -187
- package/lib/view/creditAgentView/creditAgentViewSelector.d.ts +0 -20
- package/lib/view/creditAgentView/creditAgentViewSelector.js +0 -93
- package/lib/view/creditAgentView/creditAgentViewState.d.ts +0 -34
- package/lib/view/creditAgentView/creditAgentViewState.js +0 -22
- package/lib/view/creditAgentView/epics/fetchCardProfilesEpic.d.ts +0 -15
- package/lib/view/creditAgentView/epics/fetchCardProfilesEpic.js +0 -24
- package/lib/view/creditAgentView/epics/fetchCreditAgentAccessEpic.d.ts +0 -11
- package/lib/view/creditAgentView/epics/fetchCreditAgentAccessEpic.js +0 -17
- package/lib/view/creditAgentView/epics/fetchCreditAgentMacroEpic.d.ts +0 -15
- package/lib/view/creditAgentView/epics/fetchCreditAgentMacroEpic.js +0 -23
- package/lib/view/creditAgentView/epics/saveCreditAgentMacroEpic.d.ts +0 -29
- package/lib/view/creditAgentView/epics/saveCreditAgentMacroEpic.js +0 -62
- package/lib/view/creditAgentView/epics/scheduleTenantCreditScoreCronEpic.d.ts +0 -30
- package/lib/view/creditAgentView/epics/scheduleTenantCreditScoreCronEpic.js +0 -43
- package/lib/view/creditAgentView/epics/updateCardProfileEpic.d.ts +0 -37
- package/lib/view/creditAgentView/epics/updateCardProfileEpic.js +0 -66
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
import { createSlice } from '@reduxjs/toolkit';
|
|
2
|
-
const initialTenantView = {
|
|
3
|
-
analyzeStatus: { fetchState: 'Not-Started' },
|
|
4
|
-
updateStatus: { fetchState: 'Not-Started' },
|
|
5
|
-
};
|
|
6
|
-
function getOrCreateTenantView(draft, tenantId) {
|
|
7
|
-
if (draft.tenantViewByTenantId[tenantId] == null) {
|
|
8
|
-
draft.tenantViewByTenantId[tenantId] = {
|
|
9
|
-
...initialTenantView,
|
|
10
|
-
tenantId,
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
return draft.tenantViewByTenantId[tenantId];
|
|
14
|
-
}
|
|
15
|
-
export const initialCreditAgentViewState = {
|
|
16
|
-
access: {
|
|
17
|
-
fetchStatus: { fetchState: 'Not-Started' },
|
|
18
|
-
isAllowed: false,
|
|
19
|
-
},
|
|
20
|
-
macro: {
|
|
21
|
-
fetchStatus: { fetchState: 'Not-Started' },
|
|
22
|
-
updateStatus: { fetchState: 'Not-Started' },
|
|
23
|
-
},
|
|
24
|
-
profilesFetchStatus: { fetchState: 'Not-Started' },
|
|
25
|
-
tenantViewByTenantId: {},
|
|
26
|
-
uiState: {
|
|
27
|
-
filterText: '',
|
|
28
|
-
focus: 'All',
|
|
29
|
-
minScore: 0,
|
|
30
|
-
sortDir: 'asc',
|
|
31
|
-
sortKey: undefined,
|
|
32
|
-
},
|
|
33
|
-
};
|
|
34
|
-
const creditAgentView = createSlice({
|
|
35
|
-
name: 'creditAgentView',
|
|
36
|
-
initialState: initialCreditAgentViewState,
|
|
37
|
-
reducers: {
|
|
38
|
-
// ── Access ──
|
|
39
|
-
fetchCreditAgentAccess(draft) {
|
|
40
|
-
draft.access.fetchStatus = { fetchState: 'In-Progress' };
|
|
41
|
-
},
|
|
42
|
-
fetchCreditAgentAccessSuccess(draft, action) {
|
|
43
|
-
draft.access.fetchStatus = { fetchState: 'Completed' };
|
|
44
|
-
draft.access.isAllowed = action.payload;
|
|
45
|
-
},
|
|
46
|
-
fetchCreditAgentAccessFailure(draft, action) {
|
|
47
|
-
draft.access.fetchStatus = { fetchState: 'Error', error: action.payload };
|
|
48
|
-
},
|
|
49
|
-
// ── Card Profiles (list-level fetch) ──
|
|
50
|
-
fetchCardProfiles(draft) {
|
|
51
|
-
draft.profilesFetchStatus = { fetchState: 'In-Progress' };
|
|
52
|
-
},
|
|
53
|
-
fetchCardProfilesSuccess(draft, action) {
|
|
54
|
-
draft.profilesFetchStatus = { fetchState: 'Completed' };
|
|
55
|
-
// Replace entire tenantViewByTenantId, preserving existing statuses
|
|
56
|
-
// for tenants still present, removing stale ones.
|
|
57
|
-
draft.tenantViewByTenantId = toTenantViewByTenantId(action.payload, draft.tenantViewByTenantId);
|
|
58
|
-
},
|
|
59
|
-
fetchCardProfilesFailure(draft, action) {
|
|
60
|
-
draft.profilesFetchStatus = { fetchState: 'Error', error: action.payload };
|
|
61
|
-
},
|
|
62
|
-
// ── Update Card Profile (per-tenant) ──
|
|
63
|
-
updateCardProfile: {
|
|
64
|
-
reducer(draft, action) {
|
|
65
|
-
const tv = getOrCreateTenantView(draft, action.payload.tenantId);
|
|
66
|
-
tv.updateStatus = { fetchState: 'In-Progress' };
|
|
67
|
-
},
|
|
68
|
-
prepare(payload) {
|
|
69
|
-
return { payload };
|
|
70
|
-
},
|
|
71
|
-
},
|
|
72
|
-
updateCardProfileSuccess: {
|
|
73
|
-
reducer(draft, action) {
|
|
74
|
-
const tv = getOrCreateTenantView(draft, action.payload.tenantId);
|
|
75
|
-
tv.updateStatus = { fetchState: 'Completed' };
|
|
76
|
-
},
|
|
77
|
-
prepare(tenantId) {
|
|
78
|
-
return { payload: { tenantId } };
|
|
79
|
-
},
|
|
80
|
-
},
|
|
81
|
-
updateCardProfileFailure: {
|
|
82
|
-
reducer(draft, action) {
|
|
83
|
-
const tv = getOrCreateTenantView(draft, action.payload.tenantId);
|
|
84
|
-
tv.updateStatus = {
|
|
85
|
-
fetchState: 'Error',
|
|
86
|
-
error: action.payload.error,
|
|
87
|
-
};
|
|
88
|
-
},
|
|
89
|
-
prepare(tenantId, error) {
|
|
90
|
-
return { payload: { tenantId, error } };
|
|
91
|
-
},
|
|
92
|
-
},
|
|
93
|
-
// ── Analyze / Schedule Cron (per-tenant) ──
|
|
94
|
-
scheduleTenantCreditScoreCron: {
|
|
95
|
-
reducer(draft, action) {
|
|
96
|
-
if (action.payload.tenantId != null) {
|
|
97
|
-
const tv = getOrCreateTenantView(draft, action.payload.tenantId);
|
|
98
|
-
tv.analyzeStatus = { fetchState: 'In-Progress' };
|
|
99
|
-
}
|
|
100
|
-
},
|
|
101
|
-
prepare(tenantId) {
|
|
102
|
-
return { payload: { tenantId } };
|
|
103
|
-
},
|
|
104
|
-
},
|
|
105
|
-
scheduleTenantCreditScoreCronSuccess: {
|
|
106
|
-
reducer(draft, action) {
|
|
107
|
-
if (action.payload.tenantId != null) {
|
|
108
|
-
const tv = getOrCreateTenantView(draft, action.payload.tenantId);
|
|
109
|
-
tv.analyzeStatus = { fetchState: 'Completed' };
|
|
110
|
-
}
|
|
111
|
-
},
|
|
112
|
-
prepare(tenantId) {
|
|
113
|
-
return { payload: { tenantId } };
|
|
114
|
-
},
|
|
115
|
-
},
|
|
116
|
-
scheduleTenantCreditScoreCronFailure: {
|
|
117
|
-
reducer(draft, action) {
|
|
118
|
-
if (action.payload.tenantId != null) {
|
|
119
|
-
const tv = getOrCreateTenantView(draft, action.payload.tenantId);
|
|
120
|
-
tv.analyzeStatus = {
|
|
121
|
-
fetchState: 'Error',
|
|
122
|
-
error: action.payload.error,
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
},
|
|
126
|
-
prepare(tenantId, error) {
|
|
127
|
-
return { payload: { tenantId, error } };
|
|
128
|
-
},
|
|
129
|
-
},
|
|
130
|
-
// ── Macro ──
|
|
131
|
-
fetchCreditAgentMacro(draft) {
|
|
132
|
-
draft.macro.fetchStatus = { fetchState: 'In-Progress' };
|
|
133
|
-
},
|
|
134
|
-
fetchCreditAgentMacroSuccess(draft) {
|
|
135
|
-
draft.macro.fetchStatus = { fetchState: 'Completed' };
|
|
136
|
-
},
|
|
137
|
-
fetchCreditAgentMacroFailure(draft, action) {
|
|
138
|
-
draft.macro.fetchStatus = { fetchState: 'Error', error: action.payload };
|
|
139
|
-
},
|
|
140
|
-
saveCreditAgentMacro: {
|
|
141
|
-
reducer(draft) {
|
|
142
|
-
draft.macro.updateStatus = { fetchState: 'In-Progress' };
|
|
143
|
-
},
|
|
144
|
-
prepare(instructions) {
|
|
145
|
-
return { payload: { instructions } };
|
|
146
|
-
},
|
|
147
|
-
},
|
|
148
|
-
saveCreditAgentMacroSuccess(draft) {
|
|
149
|
-
draft.macro.updateStatus = { fetchState: 'Completed' };
|
|
150
|
-
},
|
|
151
|
-
saveCreditAgentMacroFailure(draft, action) {
|
|
152
|
-
draft.macro.updateStatus = { fetchState: 'Error', error: action.payload };
|
|
153
|
-
},
|
|
154
|
-
resetSaveMacroState(draft) {
|
|
155
|
-
draft.macro.updateStatus = { fetchState: 'Not-Started' };
|
|
156
|
-
},
|
|
157
|
-
// ── UI State ──
|
|
158
|
-
updateCreditAgentUIState(draft, action) {
|
|
159
|
-
Object.assign(draft.uiState, action.payload);
|
|
160
|
-
},
|
|
161
|
-
// ── Clear ──
|
|
162
|
-
clearCreditAgentView() {
|
|
163
|
-
return initialCreditAgentViewState;
|
|
164
|
-
},
|
|
165
|
-
},
|
|
166
|
-
});
|
|
167
|
-
export const { fetchCreditAgentAccess, fetchCreditAgentAccessSuccess, fetchCreditAgentAccessFailure, scheduleTenantCreditScoreCron, scheduleTenantCreditScoreCronSuccess, scheduleTenantCreditScoreCronFailure, fetchCreditAgentMacro, fetchCreditAgentMacroSuccess, fetchCreditAgentMacroFailure, saveCreditAgentMacro, saveCreditAgentMacroSuccess, saveCreditAgentMacroFailure, resetSaveMacroState, fetchCardProfiles, fetchCardProfilesSuccess, fetchCardProfilesFailure, updateCardProfile, updateCardProfileSuccess, updateCardProfileFailure, updateCreditAgentUIState, clearCreditAgentView, } = creditAgentView.actions;
|
|
168
|
-
export { initialCreditAgentViewState as initialState };
|
|
169
|
-
export default creditAgentView.reducer;
|
|
170
|
-
// ── Helpers ──
|
|
171
|
-
const toTenantViewByTenantId = (rows, existing) => {
|
|
172
|
-
const result = {};
|
|
173
|
-
for (const row of rows) {
|
|
174
|
-
const tenantId = row.tenant_id;
|
|
175
|
-
const existingState = existing[tenantId];
|
|
176
|
-
result[tenantId] = existingState ?? {
|
|
177
|
-
analyzeStatus: { fetchState: 'Not-Started' },
|
|
178
|
-
tenantId,
|
|
179
|
-
updateStatus: { fetchState: 'Not-Started' },
|
|
180
|
-
};
|
|
181
|
-
}
|
|
182
|
-
return result;
|
|
183
|
-
};
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { createSelector } from '@reduxjs/toolkit';
|
|
2
|
-
import orderBy from 'lodash/orderBy';
|
|
3
|
-
export const getCreditAgentView = (state) => state.creditAgentViewState;
|
|
4
|
-
export const getCreditAgentEntity = (state) => state.creditAgentEntityState;
|
|
5
|
-
export const getCreditAgentMacro = createSelector(getCreditAgentView, getCreditAgentEntity, (view, entity) => ({
|
|
6
|
-
...view.macro,
|
|
7
|
-
data: entity.macro,
|
|
8
|
-
}));
|
|
9
|
-
export const getCardProfilesData = createSelector(getCreditAgentView, getCreditAgentEntity, (view, entity) => {
|
|
10
|
-
const { uiState } = view;
|
|
11
|
-
const allRows = Object.values(entity.rowByTenantId).map((row) => {
|
|
12
|
-
const tenantView = view.tenantViewByTenantId[row.tenantId];
|
|
13
|
-
return {
|
|
14
|
-
...row,
|
|
15
|
-
analyzeStatus: tenantView?.analyzeStatus ?? {
|
|
16
|
-
fetchState: 'Not-Started',
|
|
17
|
-
},
|
|
18
|
-
updateStatus: tenantView?.updateStatus ?? { fetchState: 'Not-Started' },
|
|
19
|
-
};
|
|
20
|
-
});
|
|
21
|
-
let filteredRows = allRows;
|
|
22
|
-
// Text filter
|
|
23
|
-
const trimmedFilterText = uiState.filterText.trim();
|
|
24
|
-
if (trimmedFilterText.length > 0) {
|
|
25
|
-
const query = trimmedFilterText.toLowerCase();
|
|
26
|
-
filteredRows = filteredRows.filter((row) => (row.customerName ?? '').toLowerCase().includes(query) ||
|
|
27
|
-
row.tenantId.toLowerCase().includes(query));
|
|
28
|
-
}
|
|
29
|
-
// Focus filter
|
|
30
|
-
filteredRows = applyFocusFilter(filteredRows, uiState.focus);
|
|
31
|
-
// Min score filter
|
|
32
|
-
if (uiState.minScore > 0) {
|
|
33
|
-
filteredRows = filteredRows.filter((row) => {
|
|
34
|
-
const score = parseFloat(row.creditScore ?? '0');
|
|
35
|
-
return score >= uiState.minScore;
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
// Sorting
|
|
39
|
-
const sortedRows = getSortedRows(filteredRows, uiState.sortKey, uiState.sortDir);
|
|
40
|
-
return {
|
|
41
|
-
fetchStatus: view.profilesFetchStatus,
|
|
42
|
-
rows: sortedRows,
|
|
43
|
-
uiState,
|
|
44
|
-
};
|
|
45
|
-
});
|
|
46
|
-
// ── Helpers ──
|
|
47
|
-
const applyFocusFilter = (rows, focus) => {
|
|
48
|
-
switch (focus) {
|
|
49
|
-
case 'New only':
|
|
50
|
-
return rows.filter((row) => row.isNew);
|
|
51
|
-
case 'Interested':
|
|
52
|
-
return rows.filter((row) => row.cardStatus === 'Interested');
|
|
53
|
-
case 'Active only':
|
|
54
|
-
return rows.filter((row) => row.cardStatus === 'Active' || row.cardStatus === 'Enabled');
|
|
55
|
-
case 'All':
|
|
56
|
-
default:
|
|
57
|
-
return rows;
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
const getSortedRows = (rows, sortKey, sortDir) => {
|
|
61
|
-
if (sortKey == null) {
|
|
62
|
-
return rows;
|
|
63
|
-
}
|
|
64
|
-
const direction = sortDir === 'asc' ? 'asc' : 'desc';
|
|
65
|
-
return orderBy(rows, (row) => {
|
|
66
|
-
switch (sortKey) {
|
|
67
|
-
case 'name':
|
|
68
|
-
return (row.customerName ?? '').toLowerCase();
|
|
69
|
-
case 'status':
|
|
70
|
-
return row.cardStatus.toLowerCase();
|
|
71
|
-
case 'creditLimit':
|
|
72
|
-
return row.creditLimit ?? 0;
|
|
73
|
-
case 'creditScore':
|
|
74
|
-
return parseFloat(row.creditScore ?? '0');
|
|
75
|
-
case 'recAmount':
|
|
76
|
-
return row.recommendedAmount ?? 0;
|
|
77
|
-
case 'reportDate':
|
|
78
|
-
return row.reportDate?.valueOf() ?? 0;
|
|
79
|
-
case 'updatedBy':
|
|
80
|
-
return (row.updatedByName ?? '').toLowerCase();
|
|
81
|
-
default:
|
|
82
|
-
return (row.customerName ?? '').toLowerCase();
|
|
83
|
-
}
|
|
84
|
-
}, direction);
|
|
85
|
-
};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { stringToUnion } from '../../commonStateTypes/stringToUnion';
|
|
2
|
-
const ALL_CREDIT_AGENT_SORT_KEYS = [
|
|
3
|
-
'name',
|
|
4
|
-
'status',
|
|
5
|
-
'creditLimit',
|
|
6
|
-
'creditScore',
|
|
7
|
-
'recAmount',
|
|
8
|
-
'reportDate',
|
|
9
|
-
'updatedBy',
|
|
10
|
-
];
|
|
11
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
12
|
-
const toCreditAgentSortKeyType = (v) => stringToUnion(v, ALL_CREDIT_AGENT_SORT_KEYS);
|
|
13
|
-
const ALL_CREDIT_AGENT_FOCUS_FILTERS = [
|
|
14
|
-
'All',
|
|
15
|
-
'New only',
|
|
16
|
-
'Interested',
|
|
17
|
-
'Active only',
|
|
18
|
-
];
|
|
19
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
20
|
-
const toCreditAgentFocusFilterType = (v) => stringToUnion(v, ALL_CREDIT_AGENT_FOCUS_FILTERS);
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { from, of } from 'rxjs';
|
|
2
|
-
import { catchError, filter, mergeMap, switchMap } from 'rxjs/operators';
|
|
3
|
-
import { updateCreditAgentRows } from '../../../entity/creditAgent/creditAgentReducer';
|
|
4
|
-
import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
|
|
5
|
-
import { fetchCardProfiles, fetchCardProfilesFailure, fetchCardProfilesSuccess, } from '../creditAgentViewReducer';
|
|
6
|
-
export const fetchCardProfilesEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchCardProfiles.match), switchMap(() => {
|
|
7
|
-
const url = `${zeniAPI.apiEndPoints.cardMicroServiceBaseUrl}/1.0/cockpit/card-tenant-profiles`;
|
|
8
|
-
return zeniAPI.getJSON(url).pipe(mergeMap((response) => {
|
|
9
|
-
if (isSuccessResponse(response) && response.data != null) {
|
|
10
|
-
const rawRows = response.data.rows;
|
|
11
|
-
return from([
|
|
12
|
-
updateCreditAgentRows(rawRows),
|
|
13
|
-
fetchCardProfilesSuccess(rawRows),
|
|
14
|
-
]);
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
return of(fetchCardProfilesFailure(response.status));
|
|
18
|
-
}
|
|
19
|
-
}), catchError((error) => of(fetchCardProfilesFailure(createZeniAPIStatus('Unexpected error', 'REST API call errored out: ' + JSON.stringify(error))))));
|
|
20
|
-
}));
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { of } from 'rxjs';
|
|
2
|
-
import { catchError, filter, switchMap } from 'rxjs/operators';
|
|
3
|
-
import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
|
|
4
|
-
import { fetchCreditAgentAccess, fetchCreditAgentAccessFailure, fetchCreditAgentAccessSuccess, } from '../creditAgentViewReducer';
|
|
5
|
-
export const fetchCreditAgentAccessEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchCreditAgentAccess.match), switchMap(() => {
|
|
6
|
-
const url = `${zeniAPI.apiEndPoints.cardMicroServiceBaseUrl}/1.0/cockpit/cards-cockpit-access`;
|
|
7
|
-
return zeniAPI.getJSON(url).pipe(switchMap((response) => {
|
|
8
|
-
if (isSuccessResponse(response) && response.data != null) {
|
|
9
|
-
return of(fetchCreditAgentAccessSuccess(response.data.is_allowed === true));
|
|
10
|
-
}
|
|
11
|
-
return of(fetchCreditAgentAccessFailure(response.status));
|
|
12
|
-
}), catchError((error) => of(fetchCreditAgentAccessFailure(createZeniAPIStatus('Unexpected error', 'REST API call errored out: ' + JSON.stringify(error))))));
|
|
13
|
-
}));
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { from, of } from 'rxjs';
|
|
2
|
-
import { catchError, filter, mergeMap, switchMap } from 'rxjs/operators';
|
|
3
|
-
import { updateCreditAgentMacro } from '../../../entity/creditAgent/creditAgentReducer';
|
|
4
|
-
import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
|
|
5
|
-
import { fetchCreditAgentMacro, fetchCreditAgentMacroFailure, fetchCreditAgentMacroSuccess, } from '../creditAgentViewReducer';
|
|
6
|
-
export const fetchCreditAgentMacroEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchCreditAgentMacro.match), switchMap(() => {
|
|
7
|
-
const url = `${zeniAPI.apiEndPoints.aiCfoMicroServiceBaseUrl}/1.0/macros/credit-agent`;
|
|
8
|
-
return zeniAPI.getJSON(url).pipe(mergeMap((response) => {
|
|
9
|
-
if (isSuccessResponse(response) && response.data != null) {
|
|
10
|
-
return from([
|
|
11
|
-
updateCreditAgentMacro(response.data),
|
|
12
|
-
fetchCreditAgentMacroSuccess(),
|
|
13
|
-
]);
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
return of(fetchCreditAgentMacroFailure(response.status));
|
|
17
|
-
}
|
|
18
|
-
}), catchError((error) => of(fetchCreditAgentMacroFailure(createZeniAPIStatus('Unexpected error', 'REST API call errored out: ' + JSON.stringify(error))))));
|
|
19
|
-
}));
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { from } from 'rxjs';
|
|
2
|
-
import { catchError, filter, mergeMap, switchMap } from 'rxjs/operators';
|
|
3
|
-
import { updateCreditAgentMacro } from '../../../entity/creditAgent/creditAgentReducer';
|
|
4
|
-
import { openSnackbar } from '../../../entity/snackbar/snackbarReducer';
|
|
5
|
-
import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
|
|
6
|
-
import { saveCreditAgentMacro, saveCreditAgentMacroFailure, saveCreditAgentMacroSuccess, } from '../creditAgentViewReducer';
|
|
7
|
-
export const saveCreditAgentMacroEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(saveCreditAgentMacro.match), switchMap((action) => {
|
|
8
|
-
const { instructions } = action.payload;
|
|
9
|
-
const existingMacro = state$.value.creditAgentEntityState.macro;
|
|
10
|
-
// Fail fast if macro has not been loaded yet — avoids overwriting server-side
|
|
11
|
-
// name/description fields with empty defaults.
|
|
12
|
-
if (existingMacro == null) {
|
|
13
|
-
return from([
|
|
14
|
-
saveCreditAgentMacroFailure(createZeniAPIStatus('Save failed', 'Cannot save macro: macro data has not been loaded yet.')),
|
|
15
|
-
openSnackbar({
|
|
16
|
-
messageSection: 'credit_agent_save_macro',
|
|
17
|
-
messageText: 'failed',
|
|
18
|
-
type: 'error',
|
|
19
|
-
}),
|
|
20
|
-
]);
|
|
21
|
-
}
|
|
22
|
-
const url = `${zeniAPI.apiEndPoints.aiCfoMicroServiceBaseUrl}/1.0/macros/credit-agent`;
|
|
23
|
-
const body = {
|
|
24
|
-
instructions,
|
|
25
|
-
name: existingMacro.name,
|
|
26
|
-
description: existingMacro.description,
|
|
27
|
-
};
|
|
28
|
-
return zeniAPI.putAndGetJSON(url, body).pipe(mergeMap((response) => {
|
|
29
|
-
if (isSuccessResponse(response) && response.data != null) {
|
|
30
|
-
return from([
|
|
31
|
-
updateCreditAgentMacro(response.data),
|
|
32
|
-
saveCreditAgentMacroSuccess(),
|
|
33
|
-
openSnackbar({
|
|
34
|
-
messageSection: 'credit_agent_save_macro',
|
|
35
|
-
messageText: 'success',
|
|
36
|
-
type: 'success',
|
|
37
|
-
}),
|
|
38
|
-
]);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
return from([
|
|
42
|
-
saveCreditAgentMacroFailure(response.status),
|
|
43
|
-
openSnackbar({
|
|
44
|
-
messageSection: 'credit_agent_save_macro',
|
|
45
|
-
messageText: 'failed',
|
|
46
|
-
type: 'error',
|
|
47
|
-
}),
|
|
48
|
-
]);
|
|
49
|
-
}
|
|
50
|
-
}), catchError((error) => from([
|
|
51
|
-
saveCreditAgentMacroFailure(createZeniAPIStatus('Unexpected error', 'REST API call errored out: ' + JSON.stringify(error))),
|
|
52
|
-
openSnackbar({
|
|
53
|
-
messageSection: 'credit_agent_save_macro',
|
|
54
|
-
messageText: 'failed',
|
|
55
|
-
type: 'error',
|
|
56
|
-
}),
|
|
57
|
-
])));
|
|
58
|
-
}));
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { from } from 'rxjs';
|
|
2
|
-
import { catchError, filter, mergeMap } from 'rxjs/operators';
|
|
3
|
-
import { openSnackbar } from '../../../entity/snackbar/snackbarReducer';
|
|
4
|
-
import { createZeniAPIStatus, isSuccessResponse, } from '../../../responsePayload';
|
|
5
|
-
import { scheduleTenantCreditScoreCron, scheduleTenantCreditScoreCronFailure, scheduleTenantCreditScoreCronSuccess, } from '../creditAgentViewReducer';
|
|
6
|
-
export const scheduleTenantCreditScoreCronEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(scheduleTenantCreditScoreCron.match), mergeMap((action) => {
|
|
7
|
-
const { tenantId } = action.payload;
|
|
8
|
-
const url = `${zeniAPI.apiEndPoints.cardMicroServiceBaseUrl}/1.0/crons/cards/tenant-credit-score`;
|
|
9
|
-
const body = tenantId != null ? { tenant_id: tenantId } : {};
|
|
10
|
-
return zeniAPI.postAndGetJSON(url, body).pipe(mergeMap((response) => {
|
|
11
|
-
if (isSuccessResponse(response)) {
|
|
12
|
-
return from([
|
|
13
|
-
scheduleTenantCreditScoreCronSuccess(tenantId),
|
|
14
|
-
openSnackbar({
|
|
15
|
-
messageSection: 'credit_agent_schedule_cron',
|
|
16
|
-
messageText: 'success',
|
|
17
|
-
type: 'success',
|
|
18
|
-
}),
|
|
19
|
-
]);
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
return from([
|
|
23
|
-
scheduleTenantCreditScoreCronFailure(tenantId, response.status),
|
|
24
|
-
openSnackbar({
|
|
25
|
-
messageSection: 'credit_agent_schedule_cron',
|
|
26
|
-
messageText: 'failed',
|
|
27
|
-
type: 'error',
|
|
28
|
-
}),
|
|
29
|
-
]);
|
|
30
|
-
}
|
|
31
|
-
}), catchError((error) => from([
|
|
32
|
-
scheduleTenantCreditScoreCronFailure(tenantId, createZeniAPIStatus('Unexpected error', 'REST API call errored out: ' + JSON.stringify(error))),
|
|
33
|
-
openSnackbar({
|
|
34
|
-
messageSection: 'credit_agent_schedule_cron',
|
|
35
|
-
messageText: 'failed',
|
|
36
|
-
type: 'error',
|
|
37
|
-
}),
|
|
38
|
-
])));
|
|
39
|
-
}));
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { from } from 'rxjs';
|
|
2
|
-
import { catchError, filter, mergeMap } from 'rxjs/operators';
|
|
3
|
-
import { updateCreditAgentRow } from '../../../entity/creditAgent/creditAgentReducer';
|
|
4
|
-
import { openSnackbar } from '../../../entity/snackbar/snackbarReducer';
|
|
5
|
-
import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
|
|
6
|
-
import { updateCardProfile, updateCardProfileFailure, updateCardProfileSuccess, } from '../creditAgentViewReducer';
|
|
7
|
-
export const updateCardProfileEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(updateCardProfile.match), mergeMap((action) => {
|
|
8
|
-
const { tenantId, tenantEmailDomain, update } = action.payload;
|
|
9
|
-
const url = `${zeniAPI.apiEndPoints.cardMicroServiceBaseUrl}/1.0/cockpit/card-tenant-profiles`;
|
|
10
|
-
const body = {
|
|
11
|
-
tenant_namespace: tenantEmailDomain,
|
|
12
|
-
};
|
|
13
|
-
if (update.cardStatus != null) {
|
|
14
|
-
body.card_status = update.cardStatus;
|
|
15
|
-
}
|
|
16
|
-
if (update.creditLimit != null) {
|
|
17
|
-
body.credit_limit = update.creditLimit;
|
|
18
|
-
}
|
|
19
|
-
if (update.updatedByName != null) {
|
|
20
|
-
body.updated_by_name = update.updatedByName;
|
|
21
|
-
}
|
|
22
|
-
if (update.reason != null && update.reason.trim() !== '') {
|
|
23
|
-
body.reason = update.reason.trim();
|
|
24
|
-
}
|
|
25
|
-
return zeniAPI
|
|
26
|
-
.putAndGetJSON(url, body)
|
|
27
|
-
.pipe(mergeMap((response) => {
|
|
28
|
-
if (isSuccessResponse(response) &&
|
|
29
|
-
response.data != null &&
|
|
30
|
-
response.data.profile != null) {
|
|
31
|
-
return from([
|
|
32
|
-
updateCreditAgentRow({
|
|
33
|
-
payload: response.data.profile,
|
|
34
|
-
tenantId,
|
|
35
|
-
}),
|
|
36
|
-
updateCardProfileSuccess(tenantId),
|
|
37
|
-
openSnackbar({
|
|
38
|
-
messageSection: 'credit_agent_update_profile',
|
|
39
|
-
messageText: 'success',
|
|
40
|
-
type: 'success',
|
|
41
|
-
}),
|
|
42
|
-
]);
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
return from([
|
|
46
|
-
updateCardProfileFailure(tenantId, response.status),
|
|
47
|
-
openSnackbar({
|
|
48
|
-
messageSection: 'credit_agent_update_profile',
|
|
49
|
-
messageText: 'failed',
|
|
50
|
-
type: 'error',
|
|
51
|
-
}),
|
|
52
|
-
]);
|
|
53
|
-
}
|
|
54
|
-
}), catchError((error) => from([
|
|
55
|
-
updateCardProfileFailure(tenantId, createZeniAPIStatus('Unexpected error', 'REST API call errored out: ' + JSON.stringify(error))),
|
|
56
|
-
openSnackbar({
|
|
57
|
-
messageSection: 'credit_agent_update_profile',
|
|
58
|
-
messageText: 'failed',
|
|
59
|
-
type: 'error',
|
|
60
|
-
}),
|
|
61
|
-
])));
|
|
62
|
-
}));
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { CardTenantProfileRow } from '../../entity/creditAgent/creditAgentState';
|
|
2
|
-
/**
|
|
3
|
-
* Payload shape expected by the web-app-v2 GET /tableDownload endpoint.
|
|
4
|
-
*/
|
|
5
|
-
export interface CreditReportDownloadPayload {
|
|
6
|
-
columns: string[];
|
|
7
|
-
file_name: string;
|
|
8
|
-
rows: (string | number | null | undefined)[][];
|
|
9
|
-
sheet_name: string;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Build the payload for the web-app-v2 table download endpoint.
|
|
13
|
-
*
|
|
14
|
-
* The component calls this, then GETs the endpoint with the payload
|
|
15
|
-
* as a query param and handles the blob response as a file download.
|
|
16
|
-
*/
|
|
17
|
-
export declare function getCreditReportDownloadPayload(rows: CardTenantProfileRow[]): CreditReportDownloadPayload;
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getCreditReportDownloadPayload = getCreditReportDownloadPayload;
|
|
4
|
-
const CREDIT_REPORT_COLUMNS = [
|
|
5
|
-
'Customer Name',
|
|
6
|
-
'Card Status',
|
|
7
|
-
'Credit Limit ($)',
|
|
8
|
-
'Credit Score',
|
|
9
|
-
'Recommended Amount ($)',
|
|
10
|
-
'Rationale',
|
|
11
|
-
'Report Date',
|
|
12
|
-
'Tenant Email Domain',
|
|
13
|
-
'Tenant ID',
|
|
14
|
-
'Company ID',
|
|
15
|
-
'Updated By',
|
|
16
|
-
'Updated On',
|
|
17
|
-
];
|
|
18
|
-
function rowToFields(row) {
|
|
19
|
-
return [
|
|
20
|
-
row.customerName,
|
|
21
|
-
row.cardStatus,
|
|
22
|
-
row.creditLimit,
|
|
23
|
-
row.creditScore,
|
|
24
|
-
row.recommendedAmount,
|
|
25
|
-
row.rationale,
|
|
26
|
-
row.reportDate?.format('YYYY-MM-DD'),
|
|
27
|
-
row.tenantEmailDomain,
|
|
28
|
-
row.tenantId,
|
|
29
|
-
row.companyId,
|
|
30
|
-
row.updatedByName,
|
|
31
|
-
row.updatedOn?.format('YYYY-MM-DD'),
|
|
32
|
-
];
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Build the payload for the web-app-v2 table download endpoint.
|
|
36
|
-
*
|
|
37
|
-
* The component calls this, then GETs the endpoint with the payload
|
|
38
|
-
* as a query param and handles the blob response as a file download.
|
|
39
|
-
*/
|
|
40
|
-
function getCreditReportDownloadPayload(rows) {
|
|
41
|
-
return {
|
|
42
|
-
columns: CREDIT_REPORT_COLUMNS,
|
|
43
|
-
rows: rows.map(rowToFields),
|
|
44
|
-
file_name: 'credit-report',
|
|
45
|
-
sheet_name: 'Credit Report',
|
|
46
|
-
};
|
|
47
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { CardTenantProfileUpdatePayload, CardTenantProfilesPayload, MacroPayload } from '../../entity/creditAgent/creditAgentPayload';
|
|
2
|
-
import { ZeniAPIResponse } from '../../responsePayload';
|
|
3
|
-
export { CardTenantProfileRowPayload, CardTenantProfilesPayload, CardTenantProfileUpdatePayload, MacroPayload, toCardTenantProfileRow, toMacro, } from '../../entity/creditAgent/creditAgentPayload';
|
|
4
|
-
export type CardTenantProfilesResponse = ZeniAPIResponse<CardTenantProfilesPayload>;
|
|
5
|
-
export type CreditAgentAccessResponse = ZeniAPIResponse<{
|
|
6
|
-
is_allowed: boolean;
|
|
7
|
-
}>;
|
|
8
|
-
export type CardTenantProfileUpdateResponse = ZeniAPIResponse<CardTenantProfileUpdatePayload>;
|
|
9
|
-
export type MacroResponse = ZeniAPIResponse<MacroPayload>;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toMacro = exports.toCardTenantProfileRow = void 0;
|
|
4
|
-
// Re-export entity payload types and mapping functions.
|
|
5
|
-
var creditAgentPayload_1 = require("../../entity/creditAgent/creditAgentPayload");
|
|
6
|
-
Object.defineProperty(exports, "toCardTenantProfileRow", { enumerable: true, get: function () { return creditAgentPayload_1.toCardTenantProfileRow; } });
|
|
7
|
-
Object.defineProperty(exports, "toMacro", { enumerable: true, get: function () { return creditAgentPayload_1.toMacro; } });
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { CardTenantProfileRowPayload } from '../../entity/creditAgent/creditAgentPayload';
|
|
2
|
-
import { CardStatus } from '../../entity/creditAgent/creditAgentState';
|
|
3
|
-
import { ZeniAPIStatus } from '../../responsePayload';
|
|
4
|
-
import { CreditAgentUIState, CreditAgentViewState } from './creditAgentViewState';
|
|
5
|
-
export declare const initialCreditAgentViewState: CreditAgentViewState;
|
|
6
|
-
export declare const fetchCreditAgentAccess: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"creditAgentView/fetchCreditAgentAccess">, fetchCreditAgentAccessSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, "creditAgentView/fetchCreditAgentAccessSuccess">, fetchCreditAgentAccessFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "creditAgentView/fetchCreditAgentAccessFailure">, scheduleTenantCreditScoreCron: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId?: string | undefined], {
|
|
7
|
-
tenantId: string | undefined;
|
|
8
|
-
}, "creditAgentView/scheduleTenantCreditScoreCron", never, never>, scheduleTenantCreditScoreCronSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId?: string | undefined], {
|
|
9
|
-
tenantId: string | undefined;
|
|
10
|
-
}, "creditAgentView/scheduleTenantCreditScoreCronSuccess", never, never>, scheduleTenantCreditScoreCronFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string | undefined, error: ZeniAPIStatus<Record<string, unknown>>], {
|
|
11
|
-
tenantId: string | undefined;
|
|
12
|
-
error: ZeniAPIStatus<Record<string, unknown>>;
|
|
13
|
-
}, "creditAgentView/scheduleTenantCreditScoreCronFailure", never, never>, fetchCreditAgentMacro: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"creditAgentView/fetchCreditAgentMacro">, fetchCreditAgentMacroSuccess: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"creditAgentView/fetchCreditAgentMacroSuccess">, fetchCreditAgentMacroFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "creditAgentView/fetchCreditAgentMacroFailure">, saveCreditAgentMacro: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[instructions: string], {
|
|
14
|
-
instructions: string;
|
|
15
|
-
}, "creditAgentView/saveCreditAgentMacro", never, never>, saveCreditAgentMacroSuccess: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"creditAgentView/saveCreditAgentMacroSuccess">, saveCreditAgentMacroFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "creditAgentView/saveCreditAgentMacroFailure">, resetSaveMacroState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"creditAgentView/resetSaveMacroState">, fetchCardProfiles: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"creditAgentView/fetchCardProfiles">, fetchCardProfilesSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<CardTenantProfileRowPayload[], "creditAgentView/fetchCardProfilesSuccess">, fetchCardProfilesFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "creditAgentView/fetchCardProfilesFailure">, updateCardProfile: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: {
|
|
16
|
-
tenantEmailDomain: string;
|
|
17
|
-
tenantId: string;
|
|
18
|
-
update: {
|
|
19
|
-
cardStatus?: CardStatus;
|
|
20
|
-
creditLimit?: number;
|
|
21
|
-
reason?: string;
|
|
22
|
-
updatedByName?: string;
|
|
23
|
-
};
|
|
24
|
-
}], {
|
|
25
|
-
tenantEmailDomain: string;
|
|
26
|
-
tenantId: string;
|
|
27
|
-
update: {
|
|
28
|
-
cardStatus?: CardStatus;
|
|
29
|
-
creditLimit?: number;
|
|
30
|
-
reason?: string;
|
|
31
|
-
updatedByName?: string;
|
|
32
|
-
};
|
|
33
|
-
}, "creditAgentView/updateCardProfile", never, never>, updateCardProfileSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string], {
|
|
34
|
-
tenantId: string;
|
|
35
|
-
}, "creditAgentView/updateCardProfileSuccess", never, never>, updateCardProfileFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, error: ZeniAPIStatus<Record<string, unknown>>], {
|
|
36
|
-
tenantId: string;
|
|
37
|
-
error: ZeniAPIStatus<Record<string, unknown>>;
|
|
38
|
-
}, "creditAgentView/updateCardProfileFailure", never, never>, updateCreditAgentUIState: import("@reduxjs/toolkit").ActionCreatorWithPayload<Partial<CreditAgentUIState>, "creditAgentView/updateCreditAgentUIState">, clearCreditAgentView: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"creditAgentView/clearCreditAgentView">;
|
|
39
|
-
export { initialCreditAgentViewState as initialState };
|
|
40
|
-
declare const _default: import("redux").Reducer<CreditAgentViewState>;
|
|
41
|
-
export default _default;
|