vineanova-redux-artifacts 1.76.0 → 1.77.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vineanova-redux-artifacts",
3
- "version": "1.76.0",
3
+ "version": "1.77.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "browser": "lib/index.js",
@@ -266,6 +266,15 @@ const ducksActions = createActions({
266
266
  UPDATEPARTIALENTITY:[(payload) => payload, ()=> ({ reducerName: 'triggerSensorSummaryDataSync' })],
267
267
  },
268
268
  },
269
+ demoExcelData: {
270
+ get: {
271
+ REQUEST: [(payload) => payload, ()=> ({ reducerName: 'demoExcelData' })],
272
+ RECEIVE: [(payload) => payload, ()=> ({ reducerName: 'demoExcelData' })],
273
+ ERROR: [(payload) => payload, ()=> ({ reducerName: 'demoExcelData' })],
274
+ CLEARDATA: [(payload) => payload, ()=> ({ reducerName: 'demoExcelData' })],
275
+ UPDATEPARTIALENTITY:[(payload) => payload, ()=> ({ reducerName: 'demoExcelData' })],
276
+ },
277
+ },
269
278
  healthcheck: {
270
279
  get: {
271
280
  REQUEST: [(payload) => payload, ()=> ({ reducerName: 'healthcheck' })],
@@ -19,6 +19,7 @@ const rootReducer = {
19
19
  sensors: createNamedReducer('sensors'),
20
20
  sensorBlocks: createNamedReducer('sensorBlocks'),
21
21
  triggerSensorSummaryDataSync: createNamedReducer('triggerSensorSummaryDataSync'),
22
+ demoExcelData: createNamedReducer('demoExcelData'),
22
23
  healthcheck: createNamedReducer('healthcheck'),
23
24
  identity: createNamedReducer('identity'),
24
25
  identityDetails: createNamedReducer('identityDetails'),
@@ -1034,6 +1034,37 @@ import { VineaNovaActions } from '../actions'
1034
1034
  }
1035
1035
 
1036
1036
 
1037
+ export function* getDemoExcelDataSagas(action) {
1038
+ const {
1039
+ payload = {},
1040
+ meta: { reducerName },
1041
+ } = action;
1042
+ try {
1043
+ yield put({
1044
+ type: "FETCHING",
1045
+ name: reducerName,
1046
+ });
1047
+
1048
+ const response = yield call(APIServices.getDemoExcelData, payload);
1049
+ yield put({
1050
+ type: "SUCCESS",
1051
+ payload: response,
1052
+ name: reducerName,
1053
+ });
1054
+
1055
+
1056
+ } catch (err) {
1057
+ logger.error(err);
1058
+ /* istanbul ignore next */
1059
+ yield put({
1060
+ type: "ERROR",
1061
+ payload: err,
1062
+ name: reducerName,
1063
+ });
1064
+ }
1065
+ }
1066
+
1067
+
1037
1068
  export function* gethealthcheckSagas(action) {
1038
1069
  const {
1039
1070
  payload = {},
@@ -6286,6 +6317,7 @@ export default function* root() {
6286
6317
  takeLatest(VineaNovaActions.api.v1.sensors.put.request().type, putSensorsSagas),
6287
6318
  takeLatest(VineaNovaActions.api.v1.sensorBlocks.get.request().type, getSensorBlocksSagas),
6288
6319
  takeLatest(VineaNovaActions.api.v1.triggerSensorSummaryDataSync.get.request().type, getTriggerSensorSummaryDataSyncSagas),
6320
+ takeLatest(VineaNovaActions.api.v1.demoExcelData.get.request().type, getDemoExcelDataSagas),
6289
6321
  takeLatest(VineaNovaActions.api.v1.healthcheck.get.request().type, gethealthcheckSagas),
6290
6322
  takeLatest(VineaNovaActions.api.v1.healthcheck.post.request().type, posthealthcheckSagas),
6291
6323
  takeLatest(VineaNovaActions.api.v1.identity.get.request().type, getIdentitySagas),
@@ -0,0 +1,64 @@
1
+ import { createSelector } from 'reselect';
2
+ import isEmpty from 'lodash/isEmpty';
3
+ import {isValid, format} from 'date-fns';
4
+ import isNil from 'lodash/isNil';
5
+ import has from 'lodash/has';
6
+
7
+
8
+ export const getDemoExcelDataEntity = state => state.entities.demoExcelData;
9
+
10
+ export const getDemoExcelDataEntityMeta = createSelector(
11
+ [getDemoExcelDataEntity],
12
+ reference => {
13
+ const { isLoading, isLoaded, hasError, error } = reference;
14
+ return {
15
+ isLoading,
16
+ isLoaded,
17
+ hasError,
18
+ error,
19
+ };
20
+ },
21
+ );
22
+
23
+ export const getDemoExcelDataEntityData = createSelector(
24
+ [getDemoExcelDataEntity],
25
+ reference => {
26
+ const { data = [] } = reference;
27
+ const refData = isEmpty(data) ? [] : data;
28
+ if (!Array.isArray(refData) || isNil(refData)) return [];
29
+
30
+ const formattedData = refData.map(d => {
31
+ let hasDates = false;
32
+ let fromDate = '';
33
+ let toDate = '';
34
+ let fromTo = '';
35
+
36
+ if(has(d, 'effectiveToDate') && has(d, 'effectiveFromDate')){
37
+ hasDates = true;
38
+ toDate =
39
+ !isEmpty(d.effectiveToDate) && isValid(new Date(d.effectiveToDate))
40
+ ? format(new Date(d.effectiveToDate), viewDateFormat)
41
+ : '';
42
+ fromDate =
43
+ !isEmpty(d.effectiveFromDate) &&
44
+ isValid(new Date(d.effectiveFromDate))
45
+ ? format(new Date(d.effectiveFromDate), viewDateFormat)
46
+ : '';
47
+ const seperator = toDate ? '-' : '';
48
+ fromToDate = `${fromDate} ${seperator} ${toDate}`;
49
+ }
50
+
51
+ return {
52
+ ...d,
53
+ ...(hasDates && {
54
+ fromDate,
55
+ toDate,
56
+ fromTo,
57
+ })
58
+ };
59
+ });
60
+
61
+ return formattedData;
62
+ },
63
+ );
64
+
@@ -15,6 +15,7 @@ export * from "./sitesSelector";
15
15
  export * from "./sensorsSelector";
16
16
  export * from "./sensorBlocksSelector";
17
17
  export * from "./triggerSensorSummaryDataSyncSelector";
18
+ export * from "./demoExcelDataSelector";
18
19
  export * from "./healthcheckSelector";
19
20
  export * from "./identitySelector";
20
21
  export * from "./identityDetailsSelector";
@@ -894,6 +894,33 @@ import serviceConfig from "./config/serviceConfig";
894
894
  };
895
895
 
896
896
 
897
+ export const getDemoExcelData = async (payload) => {
898
+ try {
899
+ const { queryParams, postBody, options } = payload || {};
900
+ const { code = '' } = queryParams || {};
901
+ const API_FUNCTION_CODE = process.env.REACT_APP_FUNCTION_CODE || code;
902
+ let apiUrl = '/DemoExcelData';
903
+ const response = await serviceConfig.request({
904
+ url: apiUrl,
905
+ method: "get",
906
+ params: {
907
+ ...queryParams,
908
+ code: API_FUNCTION_CODE,
909
+ },
910
+ headers: {
911
+ "Content-Type": "application/json",
912
+ Accept: "application/json",
913
+ },
914
+ ...options,
915
+ });
916
+ return response;
917
+ } catch (err) {
918
+ logger.error(err);
919
+ throw err;
920
+ }
921
+ };
922
+
923
+
897
924
  export const gethealthcheck = async (payload) => {
898
925
  try {
899
926
  const { queryParams, postBody, options } = payload || {};