Files
tilbudgivern/archive/analysis/explore-ordrestyring-cases.js
2026-08-13 14:29:15 +02:00

98 lines
2.5 KiB
JavaScript

/**
* Test script til at se hvilke sager der findes i Ordrestyring
*/
const axios = require('axios');
const GRAPHQL_ENDPOINT = 'https://graphql.ordrestyring.dk/graphql';
const API_TOKEN = process.env.ORDRESTYRING_API_TOKEN || '<ORDRESTYRING_API_TOKEN>';
const SEARCH_CASES_QUERY = `
query SearchCases {
cases(pagination: { page: 1, limit: 20 }) {
items {
id
caseNumber
description
remarks
workDone
customer {
name
}
economy {
hoursSalesprice
materialsSalesprice
}
status {
text
}
}
total
}
}
`;
async function exploreCases() {
console.log('🔍 Henter de nyeste sager fra Ordrestyring...\n');
try {
const response = await axios.post(
GRAPHQL_ENDPOINT,
{
query: SEARCH_CASES_QUERY,
variables: {}
},
{
headers: {
'Authorization': `Bearer ${API_TOKEN}`,
'Content-Type': 'application/json'
}
}
);
if (response.data.errors) {
console.error('❌ GraphQL Fejl:', JSON.stringify(response.data.errors, null, 2));
return;
}
const cases = response.data.data?.cases;
if (!cases || !cases.items) {
console.log('❌ Ingen data modtaget');
return;
}
console.log(`✅ Fundet ${cases.items.length} af ${cases.total} sager\n`);
console.log('=' .repeat(80) + '\n');
cases.items.forEach((caseItem, i) => {
console.log(`${i + 1}. 📋 Sag: ${caseItem.caseNumber}`);
console.log(` Beskrivelse: ${caseItem.description || 'Ingen beskrivelse'}`);
console.log(` Kunde: ${caseItem.customer?.name || 'Ukendt'}`);
console.log(` Status: ${caseItem.status?.text || 'Ukendt'}`);
if (caseItem.economy) {
console.log(` 💰 Timer: ${caseItem.economy.hoursSalesprice || 0} kr | Materialer: ${caseItem.economy.materialsSalesprice || 0} kr`);
}
if (caseItem.workDone) {
console.log(` 📝 Udført: ${caseItem.workDone.substring(0, 100)}${caseItem.workDone.length > 100 ? '...' : ''}`);
}
if (caseItem.remarks) {
console.log(` 💭 Bemærkninger: ${caseItem.remarks.substring(0, 100)}${caseItem.remarks.length > 100 ? '...' : ''}`);
}
console.log('');
});
} catch (error) {
console.error('❌ Fejl:', error.message);
if (error.response) {
console.error('Response data:', error.response.data);
}
}
}
exploreCases();