Class: Integrations::Propagation::BulkCreateService

Inherits:
Object
  • Object
show all
Includes:
BulkOperationHashes
Defined in:
app/services/integrations/propagation/bulk_create_service.rb

Instance Method Summary collapse

Constructor Details

#initialize(integration, batch, association) ⇒ BulkCreateService

Returns a new instance of BulkCreateService.



8
9
10
11
12
# File 'app/services/integrations/propagation/bulk_create_service.rb', line 8

def initialize(integration, batch, association)
  @integration = integration
  @batch = batch.to_a
  @association = association
end

Instance Method Details

#executeObject



14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'app/services/integrations/propagation/bulk_create_service.rb', line 14

def execute
  Integration.transaction do
    inserted_ids = bulk_insert_integrations

    bulk_insert_data_fields(inserted_ids) if integration.data_fields_present?

    if integration.is_a?(GitlabSlackApplication) && integration.active? &&
        Feature.enabled?(:gitlab_for_slack_app_instance_and_group_level, type: :beta)
      inserted_slack_ids = bulk_insert_slack_integrations(inserted_ids)
      bulk_insert_slack_integration_scopes(inserted_slack_ids)
    end
  end
end