mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
Merge pull request #10336 from rainzm/fix/filter_receiver
fix(notify): enable filter of contact type 'email' and 'mobile'
This commit is contained in:
@@ -510,14 +510,29 @@ func (r *SReceiver) PushCache(ctx context.Context) error {
|
||||
}
|
||||
|
||||
func (rm *SReceiverManager) EnabledContactFilter(contactType string, q *sqlchemy.SQuery) *sqlchemy.SQuery {
|
||||
subQuery := SubContactManager.Query("receiver_id").Equals("type", contactType).IsTrue("enabled").SubQuery()
|
||||
q = q.Join(subQuery, sqlchemy.Equals(subQuery.Field("receiver_id"), q.Field("id")))
|
||||
switch contactType {
|
||||
case api.MOBILE:
|
||||
q = q.IsTrue("enabled_mobile")
|
||||
case api.EMAIL:
|
||||
q = q.IsTrue("enabled_email")
|
||||
default:
|
||||
subQuery := SubContactManager.Query("receiver_id").Equals("type", contactType).IsTrue("enabled").SubQuery()
|
||||
q = q.Join(subQuery, sqlchemy.Equals(subQuery.Field("receiver_id"), q.Field("id")))
|
||||
}
|
||||
return q
|
||||
}
|
||||
|
||||
func (rm *SReceiverManager) VerifiedContactFilter(contactType string, q *sqlchemy.SQuery) *sqlchemy.SQuery {
|
||||
subQuery := SubContactManager.Query("receiver_id").Equals("type", contactType).IsTrue("verified").SubQuery()
|
||||
q = q.Join(subQuery, sqlchemy.Equals(subQuery.Field("receiver_id"), q.Field("id")))
|
||||
switch contactType {
|
||||
case api.MOBILE:
|
||||
q = q.IsTrue("verified_mobile")
|
||||
case api.EMAIL:
|
||||
q = q.IsTrue("verified_email")
|
||||
default:
|
||||
subQuery := SubContactManager.Query("receiver_id").Equals("type", contactType).IsTrue("verified").SubQuery()
|
||||
q = q.Join(subQuery, sqlchemy.Equals(subQuery.Field("receiver_id"), q.Field("id")))
|
||||
|
||||
}
|
||||
return q
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user