File size: 1,970 Bytes
7f88bdf | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | import { createClient } from '@supabase/supabase-js';
import fs from 'fs';
import path from 'path';
const supabase = createClient(
'https://weeiosqgiyjeeftvpyjr.supabase.co',
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6IndlZWlvc3FnaXlqZWVmdHZweWpyIiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImlhdCI6MTc3NTU3MDg1NCwiZXhwIjoyMDkxMTQ2ODU0fQ.rs0jJRVhEOGrdUDXvGm_a5M9Q717w0I56HddiD8m2WE'
);
const tenderId = '9dc7a1df-a8b3-48fc-8660-ace47506d613';
const filePath = 'C:/Users/Angelah/Documents/TenderHubKenya/17899-PURCHASE OF MOBILE PHONES.pdf';
const bucket = 'TenderDocs';
console.log('Reading PDF...');
const fileBuffer = fs.readFileSync(filePath);
const fileSize = fs.statSync(filePath).size;
const storagePath = `${tenderId}/17899-PURCHASE OF MOBILE PHONES.pdf`;
console.log('Uploading to Supabase Storage...');
const { data, error } = await supabase.storage.from(bucket).upload(storagePath, fileBuffer, {
contentType: 'application/pdf',
upsert: true
});
if (error) {
console.error('Upload failed:', error);
process.exit(1);
}
console.log('Upload successful:', data.path);
// Update tender with storage path
console.log('Updating tender record...');
const { error: updateError } = await supabase.from('tenders').update({
storage_path: storagePath,
file_size_bytes: fileSize,
content_type: 'application/pdf',
status: 'PROCESSING'
}).eq('id', tenderId);
if (updateError) {
console.error('Update failed:', updateError);
process.exit(1);
}
// Create new processing job
console.log('Queueing new processing job...');
const { error: jobError } = await supabase.from('processing_jobs').insert({
tender_id: tenderId,
status: 'QUEUED',
idempotency_key: `test-${tenderId}-${Date.now()}`
});
if (jobError) {
console.error('Job creation failed:', jobError);
process.exit(1);
}
console.log('SUCCESS: PDF uploaded and job queued!');
console.log(`Monitor at: https://tenderhubkenya.vercel.app/dashboard/tenders/${tenderId}`);
|