@@ -110,16 +110,18 @@ async function checkUserGroup(userId, bulkMessage) {
110
110
return new Promise ( async function ( resolve , reject ) {
111
111
try {
112
112
const groups = _ . get ( bulkMessage , 'recipients.groups' )
113
- let flag = true // TODO
113
+ let flag = false // default
114
+ const userGroupInfo = await getUserGroup ( userId )
114
115
if ( groups . length > 0 ) {
115
- flag = false
116
- const groupInfo = await getUserGroup ( userId )
117
- _ . map ( groupInfo , ( o ) => {
118
- if ( _ . indexOf ( groups , "public" ) >= 0 ) {
119
- flag = ( _ . get ( o , "privateGroup" ) ) ? false : flag
120
- } else {
121
- flag = ( _ . indexOf ( groups , _ . get ( o , "name" ) ) >= 0 ) ? true : flag
122
- }
116
+ _ . map ( userGroupInfo , ( o ) => {
117
+ // particular group only condition
118
+ flag = ( _ . indexOf ( groups , _ . get ( o , "name" ) ) >= 0 ) ? true : flag
119
+ } )
120
+ } else { // no group condition means its for `public` no private group
121
+ flag = true // default allow for all
122
+ _ . map ( userGroupInfo , ( o ) => {
123
+ // not allow if user is part of any private group
124
+ flag = ( _ . get ( o , "privateGroup" ) ) ? false : flag
123
125
} )
124
126
}
125
127
resolve ( flag )
0 commit comments