chore: API improvements (#3637)
- Unique validations for Inbox members and Team member objects - Move notification processing to Async
This commit is contained in:
@@ -24,7 +24,7 @@ module ActivityMessageHandler
|
||||
I18n.t('conversations.activity.status.auto_resolved', duration: auto_resolve_duration)
|
||||
end
|
||||
|
||||
Conversations::ActivityMessageJob.perform_later(self, activity_message_params(content)) if content
|
||||
::Conversations::ActivityMessageJob.perform_later(self, activity_message_params(content)) if content
|
||||
end
|
||||
|
||||
def create_label_added(user_name, labels = [])
|
||||
@@ -33,7 +33,7 @@ module ActivityMessageHandler
|
||||
params = { user_name: user_name, labels: labels.join(', ') }
|
||||
content = I18n.t('conversations.activity.labels.added', **params)
|
||||
|
||||
Conversations::ActivityMessageJob.perform_later(self, activity_message_params(content)) if content
|
||||
::Conversations::ActivityMessageJob.perform_later(self, activity_message_params(content)) if content
|
||||
end
|
||||
|
||||
def create_label_removed(user_name, labels = [])
|
||||
@@ -42,7 +42,7 @@ module ActivityMessageHandler
|
||||
params = { user_name: user_name, labels: labels.join(', ') }
|
||||
content = I18n.t('conversations.activity.labels.removed', **params)
|
||||
|
||||
Conversations::ActivityMessageJob.perform_later(self, activity_message_params(content)) if content
|
||||
::Conversations::ActivityMessageJob.perform_later(self, activity_message_params(content)) if content
|
||||
end
|
||||
|
||||
def create_muted_message
|
||||
@@ -51,7 +51,7 @@ module ActivityMessageHandler
|
||||
params = { user_name: Current.user.name }
|
||||
content = I18n.t('conversations.activity.muted', **params)
|
||||
|
||||
Conversations::ActivityMessageJob.perform_later(self, activity_message_params(content)) if content
|
||||
::Conversations::ActivityMessageJob.perform_later(self, activity_message_params(content)) if content
|
||||
end
|
||||
|
||||
def create_unmuted_message
|
||||
@@ -60,7 +60,7 @@ module ActivityMessageHandler
|
||||
params = { user_name: Current.user.name }
|
||||
content = I18n.t('conversations.activity.unmuted', **params)
|
||||
|
||||
Conversations::ActivityMessageJob.perform_later(self, activity_message_params(content)) if content
|
||||
::Conversations::ActivityMessageJob.perform_later(self, activity_message_params(content)) if content
|
||||
end
|
||||
|
||||
def generate_team_change_activity_key
|
||||
@@ -82,7 +82,7 @@ module ActivityMessageHandler
|
||||
params[:team_name] = generate_team_name_for_activity if key == 'removed'
|
||||
content = I18n.t("conversations.activity.team.#{key}", **params)
|
||||
|
||||
Conversations::ActivityMessageJob.perform_later(self, activity_message_params(content)) if content
|
||||
::Conversations::ActivityMessageJob.perform_later(self, activity_message_params(content)) if content
|
||||
end
|
||||
|
||||
def generate_assignee_change_activity_content(user_name)
|
||||
@@ -96,6 +96,6 @@ module ActivityMessageHandler
|
||||
return unless user_name
|
||||
|
||||
content = generate_assignee_change_activity_content(user_name)
|
||||
Conversations::ActivityMessageJob.perform_later(self, activity_message_params(content)) if content
|
||||
::Conversations::ActivityMessageJob.perform_later(self, activity_message_params(content)) if content
|
||||
end
|
||||
end
|
||||
|
||||
@@ -10,12 +10,14 @@
|
||||
#
|
||||
# Indexes
|
||||
#
|
||||
# index_inbox_members_on_inbox_id (inbox_id)
|
||||
# index_inbox_members_on_inbox_id (inbox_id)
|
||||
# index_inbox_members_on_inbox_id_and_user_id (inbox_id,user_id) UNIQUE
|
||||
#
|
||||
|
||||
class InboxMember < ApplicationRecord
|
||||
validates :inbox_id, presence: true
|
||||
validates :user_id, presence: true
|
||||
validates :user_id, uniqueness: { scope: :inbox_id }
|
||||
|
||||
belongs_to :user
|
||||
belongs_to :inbox
|
||||
|
||||
@@ -22,4 +22,5 @@
|
||||
class TeamMember < ApplicationRecord
|
||||
belongs_to :user
|
||||
belongs_to :team
|
||||
validates :user_id, uniqueness: { scope: :team_id }
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user