35 lines
1.1 KiB
TypeScript
35 lines
1.1 KiB
TypeScript
import path from 'node:path';
|
|
import fs from 'node:fs';
|
|
import { Yonexus } from '../src/index';
|
|
|
|
const dataFile = path.resolve(process.cwd(), 'data/demo-org.json');
|
|
if (fs.existsSync(dataFile)) fs.unlinkSync(dataFile);
|
|
|
|
const yx = new Yonexus({ dataFile, registrars: ['orion'] });
|
|
|
|
yx.registerAgent({ agentId: 'orion' }, 'orion', 'Orion', ['org_admin', 'agent']);
|
|
yx.registerAgent({ agentId: 'orion' }, 'hangman', 'Hangman', ['agent']);
|
|
|
|
const org = yx.createOrganization({ agentId: 'orion' }, 'Yonexus');
|
|
const dept = yx.createDepartment({ agentId: 'orion' }, 'Platform', org.id);
|
|
const team = yx.createTeam({ agentId: 'orion' }, 'Core', dept.id);
|
|
|
|
yx.assignIdentity({ agentId: 'orion' }, 'orion', dept.id, team.id, {
|
|
position: 'assistant',
|
|
discord_user_id: '1474088632750047324',
|
|
git_user_name: 'orion'
|
|
});
|
|
|
|
yx.setSupervisor({ agentId: 'orion' }, 'orion', 'hangman', dept.id);
|
|
|
|
const query = yx.queryAgents(
|
|
{ agentId: 'orion' },
|
|
{ deptId: dept.id },
|
|
{
|
|
filters: [{ field: 'git_user_name', op: 'eq', value: 'orion' }],
|
|
options: { limit: 10, offset: 0 }
|
|
}
|
|
);
|
|
|
|
console.log(JSON.stringify({ dept, team, query, audit: yx.listAuditLogs(20, 0) }, null, 2));
|