Class: CommandTower::Workflows::Audit::Events::ListForUserWorkflow
- Inherits:
-
CommandTower::Workflows::ApplicationWorkflow
- Object
- CommandTower::Workflows::ApplicationWorkflow
- CommandTower::Workflows::Audit::Events::ListForUserWorkflow
- Defined in:
- app/workflows/command_tower/workflows/audit/events/list_for_user_workflow.rb
Constant Summary
Constants inherited from CommandTower::Workflows::ApplicationWorkflow
CommandTower::Workflows::ApplicationWorkflow::ALLOWED_RETRY_STRATEGIES, CommandTower::Workflows::ApplicationWorkflow::InvalidTransactionResult, CommandTower::Workflows::ApplicationWorkflow::TransactionFailure
Instance Method Summary collapse
Methods inherited from CommandTower::Workflows::ApplicationWorkflow
call, call_from_job, continuation_max_attempts, declared_retry_strategy, mark_impersonation_activity!, retry_strategy, validate_retry_strategy!
Methods included from Impersonation::ActivityDeclaration
Methods included from Logging::LifecycleDeclaration
Methods included from Execution::ContextAccess
#audit, #execution_context, #log_debug, #log_error, #log_info, #log_warn, #publish_event
Methods included from Transactional
#fail_transaction!, #transaction
Instance Method Details
#call(user:, limit:, offset:, actions: nil, occurred_after: nil, occurred_before: nil, subject_types: nil) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'app/workflows/command_tower/workflows/audit/events/list_for_user_workflow.rb', line 10 def call(user:, limit:, offset:, actions: nil, occurred_after: nil, occurred_before: nil, subject_types: nil) listed = CommandTower::Services::Audit::Events::List.call( viewer_scope: :user, affected_user_id: user.id, limit:, offset:, actions:, occurred_after:, occurred_before:, subject_types: ) return result_or_failure(listed) unless listed.success? payload = listed.data[:events].filter_map do |event| projected = CommandTower::Services::Audit::Events::Project.call(event:, viewer: :user) return result_or_failure(projected) unless projected.success? CommandTower::Serializers::Audit::Events::EventSerializer.serialize(projected.data[:projection]) end = CommandTower::Serializers::Audit::Events::PaginationMetaSerializer.serialize(listed.data[:pagination]) success(payload:, meta:, http_status: :ok) end |