import { UnitJobType, UnitQueue } from '@/jobs/units/unit.job.js';

export const addBulkUploadJob = async (payload: {
  filePath: string;
  fileName: string;
  projectId: string;
  propertyTypeId: string;
  userId: string;
  companyId?: string;
}) => {
  const job = await UnitQueue.add(UnitJobType.BULK_UPLOAD, payload, {
    attempts: 3,
    backoff: {
      type: 'exponential',
      delay: 3000,
    },
    removeOnComplete: {
      age: 3600, // remove after 1 hour
      count: 1000,
    },
    removeOnFail: {
      age: 24 * 3600,
    },
  });

  return job.id;
};
