| 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); |
|
|
| |
| 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); |
| } |
|
|
| |
| 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}`); |
|
|