Refactored all Sync Jobs into QboSyncJob

This commit is contained in:
2026-03-13 23:26:02 -04:00
parent 6fc8a18e93
commit fd18205c10
8 changed files with 28 additions and 128 deletions

View File

@@ -21,9 +21,9 @@ class Estimate < QboBaseModel
return self[:doc_number]
end
# sync only one estimate
# sync only one estimate by document number
def self.sync_by_doc_number(number)
EstimateSyncJob.perform_later(doc_number: number)
QboSyncJob.perform_later(entity: model_name.name, doc_number: number)
end
end

View File

@@ -70,14 +70,12 @@ class QboBaseModel < ActiveRecord::Base
# Sync all entities, typically triggered by a scheduled task or manual sync request
def self.sync
job = "#{model_name.name}SyncJob".constantize
job.perform_later(full_sync: true)
QboSyncJob.perform_later(entity: model_name.name, full_sync: true)
end
# Sync a single entity by ID, typically triggered by a webhook notification or manual sync request
def self.sync_by_id(id)
job = "#{model_name.name}SyncJob".constantize
job.perform_later(id: id)
QboSyncJob.perform_later(entity: model_name.name, id: id)
end
# Flag used to update local without pushing to QBO.