mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-02-06 06:56:54 +08:00
Merge pull request #1650 from aignatov-bio/ai-sci-3295-update-api-endpoints-new-activities
Update API endpoints for new activities [SCI-3295]
This commit is contained in:
commit
cfbb2a83a6
4 changed files with 27 additions and 11 deletions
|
@ -24,9 +24,9 @@ module Api
|
|||
end
|
||||
|
||||
def activities
|
||||
activities = @task.activities
|
||||
.page(params.dig(:page, :number))
|
||||
.per(params.dig(:page, :size))
|
||||
activities = ActivitiesService.my_module_activities(@task)
|
||||
.page(params.dig(:page, :number))
|
||||
.per(params.dig(:page, :size))
|
||||
|
||||
render jsonapi: activities,
|
||||
each_serializer: ActivitySerializer
|
||||
|
|
|
@ -88,7 +88,7 @@ module GlobalActivitiesHelper
|
|||
return message_item[:value] unless obj
|
||||
|
||||
value = obj.public_send(message_item[:value_for] || 'name')
|
||||
value = t('global_activities.index.no_name') if value.blank?
|
||||
value = I18n.t('global_activities.index.no_name') if value.blank?
|
||||
|
||||
value
|
||||
end
|
||||
|
|
|
@ -3,16 +3,29 @@
|
|||
module Api
|
||||
module V1
|
||||
class ActivitySerializer < ActiveModel::Serializer
|
||||
include ActionView::Helpers::TextHelper
|
||||
include ApplicationHelper
|
||||
include GlobalActivitiesHelper
|
||||
|
||||
def self.serializer_for(model, options)
|
||||
return TaskSerializer if model.class == MyModule
|
||||
|
||||
super
|
||||
end
|
||||
|
||||
type :activities
|
||||
attributes :id, :type_of, :message
|
||||
belongs_to :project, serializer: ProjectSerializer
|
||||
belongs_to :experiment, serializer: ExperimentSerializer,
|
||||
if: -> { object.experiment.present? }
|
||||
belongs_to :my_module, key: :task,
|
||||
serializer: TaskSerializer,
|
||||
class_name: 'MyModule',
|
||||
if: -> { object.my_module.present? }
|
||||
belongs_to :user, serializer: UserSerializer
|
||||
belongs_to :subject, polymorphic: true
|
||||
belongs_to :owner, key: :user, serializer: UserSerializer
|
||||
|
||||
def message
|
||||
if object.old_activity?
|
||||
object.message
|
||||
else
|
||||
generate_activity_content(object, true)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Api
|
||||
module V1
|
||||
class UserSerializer < ActiveModel::Serializer
|
||||
type :users
|
||||
attributes :full_name, :initials, :email
|
||||
attribute :avatar_file_name,
|
||||
if: -> { object.avatar.present? } { object.avatar_file_name }
|
||||
|
|
Loading…
Reference in a new issue