@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.
- package/config/app.js +0 -1
- package/package.json +1 -2
- package/v2Components/CapImageUpload/messages.js +1 -1
- package/v2Components/TemplatePreview/_templatePreview.scss +1 -1
- package/v2Components/TemplatePreview/index.js +30 -32
- package/v2Components/TemplatePreview/tests/__snapshots__/index.test.js.snap +33 -1
- package/v2Components/TemplatePreview/tests/index.test.js +7 -7
- package/v2Containers/CreativesContainer/SlideBoxContent.js +2 -2
- package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +24 -4
- package/v2Containers/CreativesContainer/tests/SlideBoxHeader.test.js +23 -4
- package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +147 -2
- package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxHeader.test.js.snap +98 -0
- package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +71 -0
- package/v2Containers/CreativesContainer/tests/index.test.js +21 -9
- package/v2Containers/MobilePush/Edit/index.js +21 -34
- package/v2Containers/Rcs/actions.js +34 -6
- package/v2Containers/Rcs/constants.js +21 -8
- package/v2Containers/Rcs/index.js +203 -78
- package/v2Containers/Rcs/index.scss +21 -3
- package/v2Containers/Rcs/messages.js +18 -5
- package/v2Containers/Rcs/reducer.js +49 -14
- package/v2Containers/Rcs/sagas.js +87 -18
- package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +145080 -0
- package/v2Containers/Rcs/tests/index.test.js +226 -0
- package/v2Containers/Rcs/tests/mockData.js +169 -0
- package/v2Containers/Rcs/utils.js +24 -21
- package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +4 -4
- package/v2Containers/mockdata.js +567 -1588
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
import { fromJS } from 'immutable';
|
|
2
2
|
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
|
28
|
+
case UPLOAD_RCS_ASSET_REQUEST:
|
|
22
29
|
return state.set('uploadAssetSuccess', false).set('assetUploading', true);
|
|
23
|
-
case
|
|
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
|
|
43
|
+
case UPLOAD_RCS_ASSET_FAILURE:
|
|
37
44
|
return state
|
|
38
45
|
.set('uploadAssetSuccess', false)
|
|
39
46
|
.set('assetUploading', false);
|
|
40
|
-
case
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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:
|
|
24
|
+
type: UPLOAD_RCS_ASSET_SUCCESS,
|
|
19
25
|
data: result.response.asset,
|
|
20
|
-
statusCode: result
|
|
26
|
+
statusCode: result?.status?.code || '',
|
|
21
27
|
templateType: file.templateType,
|
|
22
28
|
});
|
|
23
29
|
} catch (error) {
|
|
24
|
-
yield put({
|
|
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:
|
|
51
|
+
type: CREATE_RCS_TEMPLATE_SUCCESS,
|
|
41
52
|
data: result.response,
|
|
42
|
-
statusCode: result
|
|
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:
|
|
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
|
-
|
|
57
|
-
|
|
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*
|
|
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
|
-
|
|
65
|
-
|
|
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 [
|
|
136
|
+
export default [
|
|
137
|
+
watchUploadRcsAsset,
|
|
138
|
+
watchCreateTemplate,
|
|
139
|
+
watchGetTemplateDetails,
|
|
140
|
+
watchEditTemplate,
|
|
141
|
+
];
|