| 123456789101112131415 |
- import fs from 'node:fs';
- import {request} from '../server/scripts/platform-client.mjs';
- const schemas=(await request('GET','/schemas')).results;
- const names=schemas.map(x=>x.className).filter(x=>/user|agent|employee|session|member/i.test(x));
- const inspect=['_User','KfSession','KfArtifact','KfProject','KfOpportunity'];
- const rows=await Promise.allSettled(inspect.map(async className=>{
- const schema=schemas.find(x=>x.className===className);
- const keys=['objectId','username','name','nickname','displayName','studentName','ownerName','ownerSession','uploadedBy','uploadedByKey','agentId','agentName','sourceSession','uploadMethod','uploadedAt','stage','stageCode','projectId','projectRef','sessionRef','userRef','groupId','workshopKey','externalKey','dataMode','reportType','artifactType','meta'].filter(x=>schema?.fields[x]);
- const result=await request('GET','/classes/'+className+'?'+new URLSearchParams({keys:keys.join(','),limit:'1000'}));
- const safe=(result.results||[]).map(({meta,...x})=>({...x,...(meta?.attribution?{attribution:meta.attribution}:{})}));
- return{className,fields:Object.keys(schema?.fields||{}),returnedRows:safe.length,examples:safe.slice(0,className==='_User'?20:4),agents:[...new Set(safe.map(x=>x.agentName).filter(Boolean))],owners:[...new Set(safe.map(x=>x.ownerName||x.studentName).filter(Boolean))]};
- }));
- const out={at:new Date().toISOString(),businessWrites:0,identityRelatedClasses:names,classes:rows.map((r,i)=>r.status==='fulfilled'?r.value:{className:inspect[i],error:'READ_FAILED'})};
- fs.mkdirSync('work',{recursive:true});fs.writeFileSync('work/workshop-data-before.json',JSON.stringify(out,null,2));
- console.log(JSON.stringify(out,null,2));
|