@twreporter/redux 7.8.3-rc.2 → 7.9.0-rc.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/CHANGELOG.md +14 -0
- package/lib/actions/analytics.js +146 -0
- package/lib/actions/index.js +4 -1
- package/lib/constants/action-types.js +7 -0
- package/lib/constants/redux-state-field-names.js +4 -2
- package/lib/reducers/analytics.js +83 -0
- package/lib/reducers/index.js +3 -1
- package/lib/reducers/user.js +14 -2
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,20 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [7.9.0-rc.0](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/redux@7.8.3-rc.2...@twreporter/redux@7.9.0-rc.0) (2023-12-26)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **redux/src/actions/__test__/analytics.test:** add 400 error test case ([0aa8530](https://github.com/twreporter/twreporter-npm-packages/commit/0aa853077bf87edd24e02508ae0b2b15ab7a04bf))
|
|
12
|
+
* analytics action & test ([f303c78](https://github.com/twreporter/twreporter-npm-packages/commit/f303c780d1f65cdbb856560e7481d6238e9675f8))
|
|
13
|
+
* analytics reducer & test ([d63f9b4](https://github.com/twreporter/twreporter-npm-packages/commit/d63f9b4388f113416bd9132cb7001f62441fd3bc))
|
|
14
|
+
* get analytics data from getUser ([45570fc](https://github.com/twreporter/twreporter-npm-packages/commit/45570fc2a8d081cf92bc52cf86230bfb3f752742))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
6
20
|
## [7.8.3-rc.2](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/redux@7.8.3-rc.1...@twreporter/redux@7.8.3-rc.2) (2023-12-26)
|
|
7
21
|
|
|
8
22
|
**Note:** Version bump only for package @twreporter/redux
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.setUserAnalyticsData = setUserAnalyticsData;
|
|
7
|
+
|
|
8
|
+
var _url = require("../utils/url");
|
|
9
|
+
|
|
10
|
+
var _apiConfig = _interopRequireDefault(require("../constants/api-config"));
|
|
11
|
+
|
|
12
|
+
var _apiEndpoints = _interopRequireDefault(require("../constants/api-endpoints"));
|
|
13
|
+
|
|
14
|
+
var _reduxStateFieldNames = _interopRequireDefault(require("../constants/redux-state-field-names"));
|
|
15
|
+
|
|
16
|
+
var _actionTypes = _interopRequireDefault(require("../constants/action-types"));
|
|
17
|
+
|
|
18
|
+
var _nodeFetch = _interopRequireDefault(require("node-fetch"));
|
|
19
|
+
|
|
20
|
+
var _get = _interopRequireDefault(require("lodash/get"));
|
|
21
|
+
|
|
22
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
23
|
+
|
|
24
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
25
|
+
|
|
26
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
27
|
+
|
|
28
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
29
|
+
|
|
30
|
+
var _ = {
|
|
31
|
+
get: _get["default"]
|
|
32
|
+
};
|
|
33
|
+
var apiTimeout = _apiConfig["default"].timeout;
|
|
34
|
+
/**
|
|
35
|
+
* @typedef {Object} RequestAction
|
|
36
|
+
* @property {string} type - The type of action
|
|
37
|
+
* @property {string} payload.method - The HTTP request method
|
|
38
|
+
* @property {string} payload.url - The target to send request
|
|
39
|
+
* @property {Object} payload.body - The request body with POST, PUT, DELETE, or PATCH request
|
|
40
|
+
* @property {Object} payload.headers - The request header
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @typedef {Object} SuccessAction
|
|
45
|
+
* @property {string} type - The type of action
|
|
46
|
+
* @property {string} payload
|
|
47
|
+
* @property {Object} payload.data - Response data
|
|
48
|
+
* @property {string} payload.statusCode - Response status code
|
|
49
|
+
*/
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* @param {Object} fetchResponse
|
|
53
|
+
* @param {string} actionType
|
|
54
|
+
* @returns {SuccessAction}
|
|
55
|
+
*/
|
|
56
|
+
|
|
57
|
+
function buildSuccessActionFromRes(fetchResponse, actionType) {
|
|
58
|
+
return {
|
|
59
|
+
type: actionType,
|
|
60
|
+
payload: {
|
|
61
|
+
data: _.get(fetchResponse, 'data'),
|
|
62
|
+
statusCode: _.get(fetchResponse, 'status')
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* @typedef {Object} FailAction
|
|
68
|
+
* @property {string} type - Action error type
|
|
69
|
+
* @property {string} payload
|
|
70
|
+
* @property {string} payload.statusCode - Response status code
|
|
71
|
+
* @property {string} payload.message - Error message
|
|
72
|
+
* @property {object} payload.error - Error object
|
|
73
|
+
*/
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* @export
|
|
77
|
+
* @param {string} jwt - access_token granted for the user
|
|
78
|
+
* @param {number} userID - id of user
|
|
79
|
+
* @param {string} postID - id of post
|
|
80
|
+
* @param {object} readPostStatus - read post record
|
|
81
|
+
* @param {boolean} readPostStatus.readPostCount - read post or not
|
|
82
|
+
* @param {number} readPostStatus.readPostSec - read post second
|
|
83
|
+
* @return {Function} - function will be executed in Redux Thunk middleware
|
|
84
|
+
*/
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
function setUserAnalyticsData(jwt, userID, postID, _ref) {
|
|
88
|
+
var readPostCount = _ref.readPostCount,
|
|
89
|
+
readPostSec = _ref.readPostSec;
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* @param {Function} dispatch - Redux store dispatch function
|
|
93
|
+
* @param {Function} getState - Redux store getState function
|
|
94
|
+
* @return {Promise} resolve with success action or reject with fail action
|
|
95
|
+
*/
|
|
96
|
+
return function (dispatch, getState) {
|
|
97
|
+
var state = getState();
|
|
98
|
+
|
|
99
|
+
var apiOrigin = _.get(state, [_reduxStateFieldNames["default"].origins, 'api']);
|
|
100
|
+
|
|
101
|
+
var url = (0, _url.formURL)(apiOrigin, "/v2/".concat(_apiEndpoints["default"].users, "/").concat(userID, "/analytics"));
|
|
102
|
+
dispatch({
|
|
103
|
+
type: _actionTypes["default"].analytics.update.request,
|
|
104
|
+
url: url
|
|
105
|
+
});
|
|
106
|
+
var fetchConfig = {
|
|
107
|
+
keepalive: true,
|
|
108
|
+
method: 'POST',
|
|
109
|
+
timeout: apiTimeout,
|
|
110
|
+
headers: {
|
|
111
|
+
Authorization: "Bearer ".concat(jwt)
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
var body = {
|
|
115
|
+
post_id: postID,
|
|
116
|
+
read_posts_count: readPostCount,
|
|
117
|
+
read_posts_sec: readPostSec
|
|
118
|
+
};
|
|
119
|
+
return (0, _nodeFetch["default"])(url, _objectSpread(_objectSpread({}, fetchConfig), {}, {
|
|
120
|
+
body: JSON.stringify(body)
|
|
121
|
+
})).then(function (response) {
|
|
122
|
+
return response.json().then(function (data) {
|
|
123
|
+
return {
|
|
124
|
+
status: response.status,
|
|
125
|
+
body: data
|
|
126
|
+
};
|
|
127
|
+
});
|
|
128
|
+
}).then(function (res) {
|
|
129
|
+
var successAction = buildSuccessActionFromRes({
|
|
130
|
+
data: res.body,
|
|
131
|
+
status: res.status
|
|
132
|
+
}, _actionTypes["default"].analytics.update.success);
|
|
133
|
+
dispatch(successAction);
|
|
134
|
+
return successAction;
|
|
135
|
+
})["catch"](function (error) {
|
|
136
|
+
var failAction = {
|
|
137
|
+
type: _actionTypes["default"].analytics.update.failure,
|
|
138
|
+
payload: {
|
|
139
|
+
error: error
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
dispatch(failAction);
|
|
143
|
+
return Promise.reject(failAction);
|
|
144
|
+
});
|
|
145
|
+
};
|
|
146
|
+
}
|
package/lib/actions/index.js
CHANGED
|
@@ -25,6 +25,8 @@ var _latest = require("./latest");
|
|
|
25
25
|
|
|
26
26
|
var _user = require("./user");
|
|
27
27
|
|
|
28
|
+
var _analytics = require("./analytics");
|
|
29
|
+
|
|
28
30
|
var _default = {
|
|
29
31
|
createSingleBookmark: _bookmarks.createSingleBookmark,
|
|
30
32
|
deleteSingleBookmark: _bookmarks.deleteSingleBookmark,
|
|
@@ -47,6 +49,7 @@ var _default = {
|
|
|
47
49
|
searchAuthorsIfNeeded: _authors.searchAuthorsIfNeeded,
|
|
48
50
|
getUserData: _user.getUserData,
|
|
49
51
|
setUserData: _user.setUserData,
|
|
50
|
-
onboarding: _user.onboarding
|
|
52
|
+
onboarding: _user.onboarding,
|
|
53
|
+
setUserAnalyticsData: _analytics.setUserAnalyticsData
|
|
51
54
|
};
|
|
52
55
|
exports["default"] = _default;
|
|
@@ -143,6 +143,13 @@ var _default = {
|
|
|
143
143
|
success: 'succes to update user data',
|
|
144
144
|
failure: 'fail to update user data'
|
|
145
145
|
}
|
|
146
|
+
},
|
|
147
|
+
analytics: {
|
|
148
|
+
update: {
|
|
149
|
+
request: 'request to update user analytics data',
|
|
150
|
+
success: 'succes to update user analytics data',
|
|
151
|
+
failure: 'fail to update user analytics data'
|
|
152
|
+
}
|
|
146
153
|
}
|
|
147
154
|
};
|
|
148
155
|
exports["default"] = _default;
|
|
@@ -21,7 +21,8 @@ var bookmarks = 'bookmarks';
|
|
|
21
21
|
var bookmarkWidget = 'bookmarkWidget';
|
|
22
22
|
var entitiesForAuthors = 'entitiesForAuthors';
|
|
23
23
|
var searchedAuthorsList = 'searchedAuthorsList';
|
|
24
|
-
var user = 'user';
|
|
24
|
+
var user = 'user';
|
|
25
|
+
var analytics = 'analytics'; // sections in index_page
|
|
25
26
|
|
|
26
27
|
var editorPicksSection = 'editor_picks_section';
|
|
27
28
|
var infographicsSection = 'infographics_section';
|
|
@@ -86,6 +87,7 @@ var _default = {
|
|
|
86
87
|
settings: settings,
|
|
87
88
|
relatedPostsOf: 'relatedPostsOf',
|
|
88
89
|
featureTopic: 'featureTopic',
|
|
89
|
-
user: user
|
|
90
|
+
user: user,
|
|
91
|
+
analytics: analytics
|
|
90
92
|
};
|
|
91
93
|
exports["default"] = _default;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = analytics;
|
|
7
|
+
|
|
8
|
+
var _actionTypes = _interopRequireDefault(require("../constants/action-types"));
|
|
9
|
+
|
|
10
|
+
var _get = _interopRequireDefault(require("lodash/get"));
|
|
11
|
+
|
|
12
|
+
var _merge = _interopRequireDefault(require("lodash/merge"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
+
|
|
16
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
17
|
+
|
|
18
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
19
|
+
|
|
20
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
21
|
+
|
|
22
|
+
var _ = {
|
|
23
|
+
get: _get["default"],
|
|
24
|
+
merge: _merge["default"]
|
|
25
|
+
};
|
|
26
|
+
var initState = {
|
|
27
|
+
error: null,
|
|
28
|
+
isFetching: false,
|
|
29
|
+
isReady: false,
|
|
30
|
+
userID: -1,
|
|
31
|
+
postID: '',
|
|
32
|
+
readPostsCount: false,
|
|
33
|
+
readPostsSec: 0
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
function analytics() {
|
|
37
|
+
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initState;
|
|
38
|
+
var action = arguments.length > 1 ? arguments[1] : undefined;
|
|
39
|
+
var payload = action.payload;
|
|
40
|
+
|
|
41
|
+
switch (action.type) {
|
|
42
|
+
case _actionTypes["default"].analytics.update.request:
|
|
43
|
+
{
|
|
44
|
+
return _.merge({}, state, {
|
|
45
|
+
isFetching: true,
|
|
46
|
+
isReady: false
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
case _actionTypes["default"].analytics.update.success:
|
|
51
|
+
{
|
|
52
|
+
var userID = _.get(payload, 'data.user_id');
|
|
53
|
+
|
|
54
|
+
var postID = _.get(payload, 'data.post_id');
|
|
55
|
+
|
|
56
|
+
var readPostsCount = _.get(payload, 'data.read_posts_count');
|
|
57
|
+
|
|
58
|
+
var readPostsSec = _.get(payload, 'data.read_posts_sec');
|
|
59
|
+
|
|
60
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
61
|
+
error: null,
|
|
62
|
+
isFetching: false,
|
|
63
|
+
isReady: true,
|
|
64
|
+
userID: userID,
|
|
65
|
+
postID: postID,
|
|
66
|
+
readPostsCount: readPostsCount,
|
|
67
|
+
readPostsSec: readPostsSec
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
case _actionTypes["default"].analytics.update.failure:
|
|
72
|
+
{
|
|
73
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
74
|
+
error: payload.error,
|
|
75
|
+
isFetching: false,
|
|
76
|
+
isReady: false
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
default:
|
|
81
|
+
return state;
|
|
82
|
+
}
|
|
83
|
+
}
|
package/lib/reducers/index.js
CHANGED
|
@@ -41,12 +41,14 @@ var _latest = _interopRequireDefault(require("./latest"));
|
|
|
41
41
|
|
|
42
42
|
var _user = _interopRequireDefault(require("./user"));
|
|
43
43
|
|
|
44
|
+
var _analytics = _interopRequireDefault(require("./analytics"));
|
|
45
|
+
|
|
44
46
|
var _combineReducers;
|
|
45
47
|
|
|
46
48
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
47
49
|
|
|
48
50
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
49
51
|
|
|
50
|
-
var rootReducer = (0, _redux.combineReducers)((_combineReducers = {}, _defineProperty(_combineReducers, _reduxStateFieldNames["default"].articlesByAuthor, _authorArticles.articlesByAuthor), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].auth, _auth["default"]), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].authorsList, _authors.authorsList), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].bookmarks, _bookmarks["default"]), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].bookmarkWidget, _bookmarkWidget["default"]), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].entities, _entities["default"]), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].indexPage, _indexPage["default"]), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].lists, _posts.posts), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].searchedAuthorsList, _authors.searchedAuthorsList), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].selectedPost, _posts.post), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].selectedTopic, _topics.topic), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].topicList, _topics.topics), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].relatedPostsOf, _relatedPostsOf["default"]), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].featureTopic, _featureTopic["default"]), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].entitiesForAuthors, _entitiesForAuthors["default"]), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].origins, _origins["default"]), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].settings, _settings["default"]), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].latest, _latest["default"]), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].user, _user["default"]), _combineReducers));
|
|
52
|
+
var rootReducer = (0, _redux.combineReducers)((_combineReducers = {}, _defineProperty(_combineReducers, _reduxStateFieldNames["default"].articlesByAuthor, _authorArticles.articlesByAuthor), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].auth, _auth["default"]), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].authorsList, _authors.authorsList), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].bookmarks, _bookmarks["default"]), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].bookmarkWidget, _bookmarkWidget["default"]), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].entities, _entities["default"]), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].indexPage, _indexPage["default"]), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].lists, _posts.posts), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].searchedAuthorsList, _authors.searchedAuthorsList), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].selectedPost, _posts.post), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].selectedTopic, _topics.topic), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].topicList, _topics.topics), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].relatedPostsOf, _relatedPostsOf["default"]), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].featureTopic, _featureTopic["default"]), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].entitiesForAuthors, _entitiesForAuthors["default"]), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].origins, _origins["default"]), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].settings, _settings["default"]), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].latest, _latest["default"]), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].user, _user["default"]), _defineProperty(_combineReducers, _reduxStateFieldNames["default"].analytics, _analytics["default"]), _combineReducers));
|
|
51
53
|
var _default = rootReducer;
|
|
52
54
|
exports["default"] = _default;
|
package/lib/reducers/user.js
CHANGED
|
@@ -35,7 +35,10 @@ var initState = {
|
|
|
35
35
|
registrationDate: '',
|
|
36
36
|
activated: false,
|
|
37
37
|
readPreference: [],
|
|
38
|
-
maillist: []
|
|
38
|
+
maillist: [],
|
|
39
|
+
agreeDataCollection: true,
|
|
40
|
+
readPostsCount: 0,
|
|
41
|
+
readPostsSec: 0
|
|
39
42
|
};
|
|
40
43
|
|
|
41
44
|
function user() {
|
|
@@ -72,6 +75,12 @@ function user() {
|
|
|
72
75
|
|
|
73
76
|
var maillist = _.get(payload, 'data.data.maillist');
|
|
74
77
|
|
|
78
|
+
var agreeDataCollection = _.get(payload, 'data.data.agree_data_collection');
|
|
79
|
+
|
|
80
|
+
var readPostsCount = _.get(payload, 'data.data.read_posts_count');
|
|
81
|
+
|
|
82
|
+
var readPostsSec = _.get(payload, 'data.data.read_posts_sec');
|
|
83
|
+
|
|
75
84
|
return _objectSpread(_objectSpread({}, state), {}, {
|
|
76
85
|
error: null,
|
|
77
86
|
isFetching: false,
|
|
@@ -84,7 +93,10 @@ function user() {
|
|
|
84
93
|
registrationDate: registrationDate,
|
|
85
94
|
activated: activated,
|
|
86
95
|
readPreference: readPreference,
|
|
87
|
-
maillist: maillist
|
|
96
|
+
maillist: maillist,
|
|
97
|
+
agreeDataCollection: agreeDataCollection,
|
|
98
|
+
readPostsCount: readPostsCount,
|
|
99
|
+
readPostsSec: readPostsSec
|
|
88
100
|
});
|
|
89
101
|
}
|
|
90
102
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@twreporter/redux",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.9.0-rc.0",
|
|
4
4
|
"description": "redux actions and reducers for twreporter website",
|
|
5
5
|
"repository": "https://github.com/twreporter/twreporter-npm-packages.git",
|
|
6
6
|
"author": "twreporter <developer@twreporter.org>",
|
|
@@ -38,11 +38,11 @@
|
|
|
38
38
|
"redux-thunk": "^2.3.0"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"nock": "
|
|
41
|
+
"nock": "^13.4.0",
|
|
42
42
|
"redux-mock-store": "^1.2.3"
|
|
43
43
|
},
|
|
44
44
|
"files": [
|
|
45
45
|
"lib"
|
|
46
46
|
],
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "2790482023d97249c159feeff8afe2e65b26813a"
|
|
48
48
|
}
|