feat: Add bulk imports API for contacts (#1724)

This commit is contained in:
Sojan Jose
2021-02-03 19:24:51 +05:30
committed by GitHub
parent 7748e0c56e
commit c61edff189
20 changed files with 278 additions and 14 deletions

37
app/models/data_import.rb Normal file
View File

@@ -0,0 +1,37 @@
# == Schema Information
#
# Table name: data_imports
#
# id :bigint not null, primary key
# data_type :string not null
# processed_records :integer
# processing_errors :text
# status :integer default("pending"), not null
# total_records :integer
# created_at :datetime not null
# updated_at :datetime not null
# account_id :bigint not null
#
# Indexes
#
# index_data_imports_on_account_id (account_id)
#
# Foreign Keys
#
# fk_rails_... (account_id => accounts.id)
#
class DataImport < ApplicationRecord
belongs_to :account
validates :data_type, inclusion: { in: ['contacts'], message: '%<value>s is an invalid data type' }
enum status: { pending: 0, processing: 1, completed: 2, failed: 3 }
has_one_attached :import_file
after_create_commit :process_data_import
private
def process_data_import
DataImportJob.perform_later(self)
end
end