JEI_Import_Documents-App/scripts/test_pb_sdk.js
Mavis 22854074ca feat: working JEI invoice tracker with PB import + UI on port 6002
- Next.js 14 + Tailwind + TypeScript scaffolded
- PocketBase v0.39.8 collections: JEI_invoices, JEI_invoice_lines, JEI_stock_codes
  (30 fields total, locked to superuser)
- PDF extraction: scripts/extract_invoices.py parses 33 PDFs -> 38 records
- Import script: scripts/import_to_pb.py idempotent push to PB
- Imported: 24 invoices, 70+ stock codes, 118 invoice lines
- Pages: /, /invoices, /invoices/[id], /stock-codes, /stock-codes/[code]
- All 5 pages verified returning 200 with real data on port 6002
2026-09-17 23:07:56 +02:00

26 lines
908 B
JavaScript

const { default: PocketBase } = require('pocketbase');
const fs = require('fs');
const envFile = fs.readFileSync('.env.local', 'utf8');
const token = envFile.match(/PB_TOKEN=(.+)/)[1].trim();
const url = envFile.match(/PB_URL=(.+)/)[1].trim();
const pb = new PocketBase(url);
pb.authStore.save(token);
(async () => {
try {
const col = await pb.collections.create({
name: 'JEI_test_sdk',
type: 'base',
fields: [
{ name: 'foo', type: 'select', required: false, options: { maxSelect: 1, values: ['a','b'] } }
],
listRule: '', viewRule: '', createRule: '', updateRule: '', deleteRule: ''
});
console.log('Created id=' + col.id + ' fields=' + col.fields.length);
await pb.collections.delete(col.id);
console.log('deleted');
} catch (e) {
console.log('ERR: ' + e.message);
if (e.data) console.log('data: ' + JSON.stringify(e.data));
}
})();