Class: WebHookEventType

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/web_hook_event_type.rb

Constant Summary collapse

TOPIC =
1
POST =
2
USER =
3
GROUP =
4
CATEGORY =
5
TAG =
6
REVIEWABLE =
9
NOTIFICATION =
10
SOLVED =
11
ASSIGN =
12
USER_BADGE =
13
GROUP_USER =
14
LIKE =
15
USER_PROMOTED =
16
TOPIC_VOTING =
17
CHAT_MESSAGE =
18
TYPES =
{
  topic_created: 101,
  topic_revised: 102,
  topic_edited: 103,
  topic_destroyed: 104,
  topic_recovered: 105,
  post_created: 201,
  post_edited: 202,
  post_destroyed: 203,
  post_recovered: 204,
  user_logged_in: 301,
  user_logged_out: 302,
  user_confirmed_email: 303,
  user_created: 304,
  user_approved: 305,
  user_updated: 306,
  user_destroyed: 307,
  user_suspended: 308,
  user_unsuspended: 309,
  group_created: 401,
  group_updated: 402,
  group_destroyed: 403,
  category_created: 501,
  category_updated: 502,
  category_destroyed: 503,
  tag_created: 601,
  tag_updated: 602,
  tag_destroyed: 603,
  reviewable_created: 901,
  reviewable_updated: 902,
  notification_created: 1001,
  solved_accepted_solution: 1101,
  solved_unaccepted_solution: 1102,
  assign_assigned: 1201,
  assign_unassigned: 1202,
  user_badge_granted: 1301,
  user_badge_revoked: 1302,
  group_user_added: 1401,
  group_user_removed: 1402,
  like_created: 1501,
  user_promoted_created: 1601,
  voting_topic_upvote: 1701,
  voting_topic_unvote: 1702,
  chat_message_created: 1801,
  chat_message_edited: 1802,
  chat_message_trashed: 1803,
  chat_message_restored: 1804,
}

Class Method Summary collapse

Class Method Details

.activeObject



100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# File 'app/models/web_hook_event_type.rb', line 100

def self.active
  ids_to_exclude = []
  unless defined?(SiteSetting.solved_enabled) && SiteSetting.solved_enabled
    ids_to_exclude.concat([TYPES[:solved_accepted_solution], TYPES[:solved_unaccepted_solution]])
  end
  unless defined?(SiteSetting.assign_enabled) && SiteSetting.assign_enabled
    ids_to_exclude.concat([TYPES[:assign_assigned], TYPES[:assign_unassigned]])
  end
  unless defined?(SiteSetting.topic_voting_enabled) && SiteSetting.topic_voting_enabled
    ids_to_exclude.concat([TYPES[:voting_topic_upvote], TYPES[:voting_topic_unvote]])
  end
  unless defined?(SiteSetting.chat_enabled) && SiteSetting.chat_enabled
    ids_to_exclude.concat(
      [
        TYPES[:chat_message_created],
        TYPES[:chat_message_edited],
        TYPES[:chat_message_trashed],
        TYPES[:chat_message_restored],
      ],
    )
  end
  self.where.not(id: ids_to_exclude)
end