process-cintas-import.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. 'use server';
  2. import { DatabaseCintasImportProcessor } from '@/app/lib/excel-import/database-cintas-import-processor';
  3. export async function processCintasImport(importId: number) {
  4. try {
  5. console.log(`Starting Cintas import processing for import ID: ${importId}`);
  6. const processor = new DatabaseCintasImportProcessor();
  7. // Process the import using database Cintas import processor
  8. const result = await processor.processCintasImport(importId);
  9. console.log('Cintas import processing completed:', result);
  10. return result;
  11. } catch (error) {
  12. console.error('Error processing Cintas import:', error);
  13. return {
  14. success: false,
  15. error: error instanceof Error ? error.message : 'Failed to process Cintas import'
  16. };
  17. }
  18. }
  19. export async function validateCintasImport(importId: number) {
  20. try {
  21. const processor = new DatabaseCintasImportProcessor();
  22. // For validation, we can use the same processor to check if the import can be processed
  23. const importRecord = await processor['prisma'].import.findUnique({
  24. where: { id: importId }
  25. });
  26. if (!importRecord) {
  27. return {
  28. valid: false,
  29. errors: ['Import record not found']
  30. };
  31. }
  32. return {
  33. valid: true,
  34. errors: []
  35. };
  36. } catch (error) {
  37. console.error('Error validating Cintas import:', error);
  38. return {
  39. valid: false,
  40. errors: [error instanceof Error ? error.message : 'Failed to validate Cintas import']
  41. };
  42. }
  43. }