- Set correct table ID: mx149yctebfwvys (ai_data_Memory) - Updated type column with SingleSelect options - Added all required columns for corrections, preferences, episodes, decisions, validation - Fixed column options for type, severity, status fields
92 lines
2.7 KiB
JavaScript
92 lines
2.7 KiB
JavaScript
#!/usr/bin/env node
|
|
const axios = require('axios');
|
|
|
|
async function fix() {
|
|
// Get vault token
|
|
const vaultResp = await axios.post('https://beavault.beawit.net:8200/v1/auth/approle/login', {
|
|
role_id: '75d2dcfb-9c65-7f60-59b4-eee8c7f8dc0e',
|
|
secret_id: '6202b465-2f25-547c-ec07-f47cfc4dda3e'
|
|
}, { httpsAgent: new (require('https').Agent)({ rejectUnauthorized: false }) });
|
|
|
|
const vaultToken = vaultResp.data.auth.client_token;
|
|
|
|
// Get nocodb token
|
|
const infraResp = await axios.get('https://beavault.beawit.net:8200/v1/kv/data/api/infrastructure', {
|
|
headers: { 'X-Vault-Token': vaultToken },
|
|
httpsAgent: new (require('https').Agent)({ rejectUnauthorized: false })
|
|
});
|
|
|
|
const nocodbToken = infraResp.data.data.data['nocodb-token'];
|
|
|
|
// Get columns to find type column ID
|
|
console.log('Getting columns...');
|
|
const cols = await axios.get('http://192.168.25.5:8080/api/v2/meta/tables/mx149yctebfwvys/columns', {
|
|
headers: { 'xc-token': nocodbToken }
|
|
});
|
|
|
|
const typeCol = cols.data.list.find(c => c.title === 'type');
|
|
console.log('Type column:', typeCol?.id, typeCol?.title);
|
|
|
|
if (typeCol) {
|
|
// Update column with options
|
|
console.log('Updating type column with options...');
|
|
await axios.patch(
|
|
`http://192.168.25.5:8080/api/v2/meta/columns/${typeCol.id}`,
|
|
{
|
|
dtxp: 'correction,preference,episode,decision,validation'
|
|
},
|
|
{
|
|
headers: {
|
|
'xc-token': nocodbToken,
|
|
'Content-Type': 'application/json'
|
|
}
|
|
}
|
|
);
|
|
console.log('✅ Updated type column');
|
|
}
|
|
|
|
// Also fix severity column
|
|
const severityCol = cols.data.list.find(c => c.title === 'severity');
|
|
if (severityCol) {
|
|
console.log('Updating severity column with options...');
|
|
await axios.patch(
|
|
`http://192.168.25.5:8080/api/v2/meta/columns/${severityCol.id}`,
|
|
{
|
|
dtxp: 'error,warning,auto-correct'
|
|
},
|
|
{
|
|
headers: {
|
|
'xc-token': nocodbToken,
|
|
'Content-Type': 'application/json'
|
|
}
|
|
}
|
|
);
|
|
console.log('✅ Updated severity column');
|
|
}
|
|
|
|
// Fix status column
|
|
const statusCol = cols.data.list.find(c => c.title === 'status');
|
|
if (statusCol) {
|
|
console.log('Updating status column with options...');
|
|
await axios.patch(
|
|
`http://192.168.25.5:8080/api/v2/meta/columns/${statusCol.id}`,
|
|
{
|
|
dtxp: 'active,reversed,deprecated'
|
|
},
|
|
{
|
|
headers: {
|
|
'xc-token': nocodbToken,
|
|
'Content-Type': 'application/json'
|
|
}
|
|
}
|
|
);
|
|
console.log('✅ Updated status column');
|
|
}
|
|
|
|
console.log('\n=== Done ===');
|
|
}
|
|
|
|
fix().catch(err => {
|
|
console.error('Error:', err.response?.data || err.message);
|
|
});
|