@@ -13,7 +13,7 @@ const m2m = m2mAuth(config)
13
13
const cache = new NodeCache ( )
14
14
15
15
const logPrefix = "BroadcastAPI: "
16
- const cachedTimeInSeconds = 60 //60 seconds
16
+ const cachedTimeInSeconds = 300 //300 seconds
17
17
18
18
/**
19
19
* Helper Function - get m2m token
@@ -112,12 +112,16 @@ async function callApi(url, machineToken) {
112
112
113
113
/**
114
114
* Helper function - check Skills and Tracks condition
115
+ *
116
+ * @param {Integer } userId
117
+ * @param {Object } bulkMessage
118
+ * @param {Object } m memberInfo
119
+ *
115
120
*/
116
- async function checkUserSkillsAndTracks ( userId , bulkMessage ) {
121
+ async function checkUserSkillsAndTracks ( userId , bulkMessage , m ) {
117
122
try {
118
123
const skills = _ . get ( bulkMessage , 'recipients.skills' )
119
124
const tracks = _ . get ( bulkMessage , 'recipients.tracks' )
120
- const m = await getMemberInfo ( userId )
121
125
let skillMatch , trackMatch = false // default
122
126
if ( skills && skills . length > 0 ) {
123
127
const ms = _ . get ( m [ 0 ] , "skills" ) // get member skills
@@ -169,11 +173,10 @@ async function checkUserSkillsAndTracks(userId, bulkMessage) {
169
173
/**
170
174
* Helper function - check group condition
171
175
*/
172
- async function checkUserGroup ( userId , bulkMessage ) {
176
+ async function checkUserGroup ( userId , bulkMessage , userGroupInfo ) {
173
177
try {
174
178
const groups = _ . get ( bulkMessage , 'recipients.groups' )
175
179
let flag = false // default
176
- const userGroupInfo = await getUserGroup ( userId )
177
180
if ( groups . length > 0 ) {
178
181
_ . map ( userGroupInfo , ( o ) => {
179
182
// particular group only condition
@@ -199,12 +202,16 @@ async function checkUserGroup(userId, bulkMessage) {
199
202
*
200
203
* @param {Integer } userId
201
204
* @param {Object } bulkMessage
205
+ * @param {Object } memberInfo
206
+ * @param {Object } userGroupInfo
207
+ *
208
+ * @return Promise
202
209
*/
203
- async function checkBroadcastMessageForUser ( userId , bulkMessage ) {
210
+ async function checkBroadcastMessageForUser ( userId , bulkMessage , memberInfo , userGroupInfo ) {
204
211
return new Promise ( function ( resolve , reject ) {
205
212
Promise . all ( [
206
- checkUserSkillsAndTracks ( userId , bulkMessage ) ,
207
- checkUserGroup ( userId , bulkMessage ) ,
213
+ checkUserSkillsAndTracks ( userId , bulkMessage , memberInfo ) ,
214
+ checkUserGroup ( userId , bulkMessage , userGroupInfo ) ,
208
215
] ) . then ( ( results ) => {
209
216
let flag = true // TODO need to be sure about default value
210
217
_ . map ( results , ( r ) => {
@@ -224,4 +231,6 @@ async function checkBroadcastMessageForUser(userId, bulkMessage) {
224
231
225
232
module . exports = {
226
233
checkBroadcastMessageForUser,
234
+ getMemberInfo,
235
+ getUserGroup,
227
236
}
0 commit comments