@capillarytech/creatives-library 7.11.10 → 7.11.12

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.
Files changed (28) hide show
  1. package/config/app.js +0 -1
  2. package/package.json +1 -2
  3. package/v2Components/CapImageUpload/messages.js +1 -1
  4. package/v2Components/TemplatePreview/_templatePreview.scss +1 -1
  5. package/v2Components/TemplatePreview/index.js +30 -32
  6. package/v2Components/TemplatePreview/tests/__snapshots__/index.test.js.snap +33 -1
  7. package/v2Components/TemplatePreview/tests/index.test.js +7 -7
  8. package/v2Containers/CreativesContainer/SlideBoxContent.js +2 -2
  9. package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +24 -4
  10. package/v2Containers/CreativesContainer/tests/SlideBoxHeader.test.js +23 -4
  11. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +147 -2
  12. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxHeader.test.js.snap +98 -0
  13. package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +71 -0
  14. package/v2Containers/CreativesContainer/tests/index.test.js +21 -9
  15. package/v2Containers/MobilePush/Edit/index.js +21 -34
  16. package/v2Containers/Rcs/actions.js +34 -6
  17. package/v2Containers/Rcs/constants.js +21 -8
  18. package/v2Containers/Rcs/index.js +203 -78
  19. package/v2Containers/Rcs/index.scss +21 -3
  20. package/v2Containers/Rcs/messages.js +18 -5
  21. package/v2Containers/Rcs/reducer.js +49 -14
  22. package/v2Containers/Rcs/sagas.js +87 -18
  23. package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +145080 -0
  24. package/v2Containers/Rcs/tests/index.test.js +226 -0
  25. package/v2Containers/Rcs/tests/mockData.js +169 -0
  26. package/v2Containers/Rcs/utils.js +24 -21
  27. package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +4 -4
  28. package/v2Containers/mockdata.js +567 -1588
@@ -1,13 +1,20 @@
1
1
  import { fromJS } from 'immutable';
2
2
  import {
3
- UPLOAD_ASSET_REQUEST,
4
- UPLOAD_ASSET_SUCCESS,
5
- UPLOAD_ASSET_FAILURE,
6
- CLEAR_ASSET,
7
- CREATE_TEMPLATE_REQUEST,
8
- CREATE_TEMPLATE_SUCCESS,
9
- CREATE_TEMPLATE_FAILURE,
3
+ UPLOAD_RCS_ASSET_REQUEST,
4
+ UPLOAD_RCS_ASSET_SUCCESS,
5
+ UPLOAD_RCS_ASSET_FAILURE,
6
+ CLEAR_RCS_ASSET,
7
+ CREATE_RCS_TEMPLATE_REQUEST,
8
+ CREATE_RCS_TEMPLATE_SUCCESS,
9
+ CREATE_RCS_TEMPLATE_FAILURE,
10
10
  CLEAR_CREATE_RESPONSE_REQUEST,
11
+ GET_RCS_TEMPLATE_DETAILS_REQUEST,
12
+ GET_RCS_TEMPLATE_DETAILS_SUCCESS,
13
+ GET_RCS_TEMPLATE_DETAILS_FAILURE,
14
+ EDIT_RCS_TEMPLATE_REQUEST,
15
+ EDIT_RCS_TEMPLATE_SUCCESS,
16
+ EDIT_RCS_TEMPLATE_FAILURE,
17
+ CLEAR_EDIT_RESPONSE_REQUEST,
11
18
  } from './constants';
12
19
 
13
20
  export const initialState = fromJS({
@@ -18,9 +25,9 @@ export const initialState = fromJS({
18
25
  function rcsReducer(state = initialState, action) {
19
26
  const { type, statusCode, templateType, data, errorMsg } = action;
20
27
  switch (type) {
21
- case UPLOAD_ASSET_REQUEST:
28
+ case UPLOAD_RCS_ASSET_REQUEST:
22
29
  return state.set('uploadAssetSuccess', false).set('assetUploading', true);
23
- case UPLOAD_ASSET_SUCCESS:
30
+ case UPLOAD_RCS_ASSET_SUCCESS:
24
31
  return state
25
32
  .set(
26
33
  'uploadAssetSuccess',
@@ -33,22 +40,22 @@ function rcsReducer(state = initialState, action) {
33
40
  : 'uploadedAssetData',
34
41
  data,
35
42
  );
36
- case UPLOAD_ASSET_FAILURE:
43
+ case UPLOAD_RCS_ASSET_FAILURE:
37
44
  return state
38
45
  .set('uploadAssetSuccess', false)
39
46
  .set('assetUploading', false);
40
- case CLEAR_ASSET:
47
+ case CLEAR_RCS_ASSET:
41
48
  return state.delete(
42
49
  templateType !== undefined
43
50
  ? `uploadedAssetData${templateType}`
44
51
  : 'uploadedAssetData',
45
52
  );
46
- case CREATE_TEMPLATE_REQUEST:
53
+ case CREATE_RCS_TEMPLATE_REQUEST:
47
54
  return state
48
55
  .set('createTemplateInProgress', true)
49
56
  .set('createTemplateError', false)
50
57
  .set('createTemplateErrorMessage', fromJS(''));
51
- case CREATE_TEMPLATE_SUCCESS:
58
+ case CREATE_RCS_TEMPLATE_SUCCESS:
52
59
  return state
53
60
  .set('createTemplateInProgress', false)
54
61
  .set('response', data)
@@ -57,13 +64,41 @@ function rcsReducer(state = initialState, action) {
57
64
  statusCode !== undefined && statusCode > 300,
58
65
  )
59
66
  .set('createTemplateErrorMessage', fromJS(errorMsg));
60
- case CREATE_TEMPLATE_FAILURE:
67
+ case CREATE_RCS_TEMPLATE_FAILURE:
61
68
  return state
62
69
  .set('createTemplateInProgress', false)
63
70
  .set('createTemplateError', true)
64
71
  .set('createTemplateErrorMessage', fromJS(errorMsg));
65
72
  case CLEAR_CREATE_RESPONSE_REQUEST:
66
73
  return state.set('response', {});
74
+ // FOR EDIT
75
+ case GET_RCS_TEMPLATE_DETAILS_REQUEST:
76
+ return state.set('getTemplateDetailsInProgress', true);
77
+ case GET_RCS_TEMPLATE_DETAILS_SUCCESS:
78
+ return state
79
+ .set('getTemplateDetailsInProgress', false)
80
+ .set('templateDetails', data);
81
+ case GET_RCS_TEMPLATE_DETAILS_FAILURE:
82
+ return state.set('getTemplateDetailsInProgress', false);
83
+ // FOR EDIT
84
+ case EDIT_RCS_TEMPLATE_REQUEST:
85
+ return state
86
+ .set('editTemplateInProgress', true)
87
+ .set('editTemplateError', false)
88
+ .set('editTemplateErrorMessage', fromJS(''));
89
+ case EDIT_RCS_TEMPLATE_SUCCESS:
90
+ return state
91
+ .set('editTemplateInProgress', false)
92
+ .set('editResponse', data)
93
+ .set('editTemplateError', statusCode !== undefined && statusCode > 300)
94
+ .set('editTemplateErrorMessage', fromJS(errorMsg));
95
+ case EDIT_RCS_TEMPLATE_FAILURE:
96
+ return state
97
+ .set('editTemplateInProgress', false)
98
+ .set('editTemplateError', true)
99
+ .set('editTemplateErrorMessage', fromJS(errorMsg));
100
+ case CLEAR_EDIT_RESPONSE_REQUEST:
101
+ return state.set('templateDetails', {});
67
102
  default:
68
103
  return state;
69
104
  }
@@ -3,27 +3,38 @@ import { LOCATION_CHANGE } from 'react-router-redux';
3
3
  import * as Api from '../../services/api';
4
4
  import {
5
5
  RCS,
6
- UPLOAD_ASSET_REQUEST,
7
- UPLOAD_ASSET_SUCCESS,
8
- UPLOAD_ASSET_FAILURE,
9
- CREATE_TEMPLATE_REQUEST,
10
- CREATE_TEMPLATE_SUCCESS,
11
- CREATE_TEMPLATE_FAILURE,
6
+ UPLOAD_RCS_ASSET_REQUEST,
7
+ UPLOAD_RCS_ASSET_SUCCESS,
8
+ UPLOAD_RCS_ASSET_FAILURE,
9
+ CREATE_RCS_TEMPLATE_REQUEST,
10
+ CREATE_RCS_TEMPLATE_SUCCESS,
11
+ CREATE_RCS_TEMPLATE_FAILURE,
12
+ GET_RCS_TEMPLATE_DETAILS_REQUEST,
13
+ GET_RCS_TEMPLATE_DETAILS_SUCCESS,
14
+ GET_RCS_TEMPLATE_DETAILS_FAILURE,
15
+ EDIT_RCS_TEMPLATE_REQUEST,
16
+ EDIT_RCS_TEMPLATE_SUCCESS,
17
+ EDIT_RCS_TEMPLATE_FAILURE,
12
18
  } from './constants';
13
19
 
14
20
  export function* uploadRcsAsset(file, assetType, fileParams) {
15
21
  try {
16
22
  const result = yield call(Api.uploadFile, file, assetType, fileParams);
17
23
  yield put({
18
- type: UPLOAD_ASSET_SUCCESS,
24
+ type: UPLOAD_RCS_ASSET_SUCCESS,
19
25
  data: result.response.asset,
20
- statusCode: result.status ? result.status.code : '',
26
+ statusCode: result?.status?.code || '',
21
27
  templateType: file.templateType,
22
28
  });
23
29
  } catch (error) {
24
- yield put({ UPLOAD_ASSET_FAILURE, error });
30
+ yield put({ UPLOAD_RCS_ASSET_FAILURE, error });
25
31
  }
26
32
  }
33
+ function* watchUploadRcsAsset() {
34
+ const watcher = yield takeLatest(UPLOAD_RCS_ASSET_REQUEST, uploadRcsAsset);
35
+ yield take(LOCATION_CHANGE);
36
+ yield cancel(watcher);
37
+ }
27
38
 
28
39
  export function* createRCSTemplate({ template, callback }) {
29
40
  let errorMsg;
@@ -37,36 +48,94 @@ export function* createRCSTemplate({ template, callback }) {
37
48
  throw errorMsg;
38
49
  }
39
50
  yield put({
40
- type: CREATE_TEMPLATE_SUCCESS,
51
+ type: CREATE_RCS_TEMPLATE_SUCCESS,
41
52
  data: result.response,
42
- statusCode: result.status ? result.status.code : '',
53
+ statusCode: result?.status?.code || '',
43
54
  errorMsg,
44
55
  });
45
56
  if (callback) {
46
57
  callback(result.response);
47
58
  }
48
59
  } catch (error) {
49
- yield put({ type: CREATE_TEMPLATE_FAILURE, error, errorMsg });
60
+ yield put({ type: CREATE_RCS_TEMPLATE_FAILURE, error, errorMsg });
50
61
  if (callback) {
51
62
  callback(null, errorMsg);
52
63
  }
53
64
  }
54
65
  }
66
+ function* watchCreateTemplate() {
67
+ const watcher = yield takeLatest(
68
+ CREATE_RCS_TEMPLATE_REQUEST,
69
+ createRCSTemplate,
70
+ );
71
+ yield take(LOCATION_CHANGE);
72
+ yield cancel(watcher);
73
+ }
55
74
 
56
- function* watchUploadRcsAsset() {
57
- const watcher = yield takeLatest(UPLOAD_ASSET_REQUEST, uploadRcsAsset);
75
+ // FOR EDIT
76
+ export function* editTemplate({ template, callback }) {
77
+ let errorMsg;
78
+ try {
79
+ const result = yield call(Api.createChannelWiseTemplate, {
80
+ channel: RCS,
81
+ template,
82
+ });
83
+ if (result.status.code >= 400) {
84
+ errorMsg = result.message;
85
+ throw errorMsg;
86
+ }
87
+ yield put({
88
+ type: EDIT_RCS_TEMPLATE_SUCCESS,
89
+ data: result.response,
90
+ statusCode: result?.status?.code || '',
91
+ errorMsg,
92
+ });
93
+ if (callback) {
94
+ callback(result.response);
95
+ }
96
+ } catch (error) {
97
+ yield put({ type: EDIT_RCS_TEMPLATE_FAILURE, error, errorMsg });
98
+ if (callback) {
99
+ callback(null, errorMsg);
100
+ }
101
+ }
102
+ }
103
+ function* watchEditTemplate() {
104
+ const watcher = yield takeLatest(EDIT_RCS_TEMPLATE_REQUEST, editTemplate);
58
105
  yield take(LOCATION_CHANGE);
59
106
  yield cancel(watcher);
60
107
  }
61
108
 
62
- function* watchCreateTemplate() {
109
+ export function* getTemplateDetails({ id, callback }) {
110
+ try {
111
+ const result = yield call(Api.getTemplateDetails, {
112
+ id,
113
+ channel: RCS,
114
+ });
115
+ yield put({
116
+ type: GET_RCS_TEMPLATE_DETAILS_SUCCESS,
117
+ data: result.response,
118
+ });
119
+ if (callback) {
120
+ callback(false);
121
+ }
122
+ } catch (error) {
123
+ yield put({ type: GET_RCS_TEMPLATE_DETAILS_FAILURE, error });
124
+ }
125
+ }
126
+ function* watchGetTemplateDetails() {
63
127
  const watcher = yield takeLatest(
64
- CREATE_TEMPLATE_REQUEST,
65
- createRCSTemplate,
128
+ GET_RCS_TEMPLATE_DETAILS_REQUEST,
129
+ getTemplateDetails,
66
130
  );
67
131
  yield take(LOCATION_CHANGE);
68
132
  yield cancel(watcher);
69
133
  }
70
134
 
71
135
  // All sagas to be loaded
72
- export default [watchUploadRcsAsset, watchCreateTemplate];
136
+ export default [
137
+ watchUploadRcsAsset,
138
+ watchCreateTemplate,
139
+ watchGetTemplateDetails,
140
+ watchEditTemplate,
141
+ ];