mirror of
https://github.com/AeThex-Corporation/AeThex-OS.git
synced 2026-04-18 14:37:19 +00:00
39 lines
1.1 KiB
TypeScript
39 lines
1.1 KiB
TypeScript
import dotenv from "dotenv";
|
|
import pkg from "pg";
|
|
|
|
dotenv.config();
|
|
const { Client } = pkg as any;
|
|
|
|
async function main() {
|
|
const client = new Client({ connectionString: process.env.DATABASE_URL, ssl: { rejectUnauthorized: false } });
|
|
await client.connect();
|
|
|
|
try {
|
|
console.log("Seeding default issuer if missing...");
|
|
const name = "AeThex Platform";
|
|
|
|
const existing = await client.query(
|
|
'SELECT id FROM public.aethex_issuers WHERE name = $1 LIMIT 1;',
|
|
[name]
|
|
);
|
|
|
|
if (existing.rows.length) {
|
|
console.log(`Issuer exists: ${existing.rows[0].id}`);
|
|
} else {
|
|
const insert = await client.query(
|
|
'INSERT INTO public.aethex_issuers (name, issuer_class, scopes, public_key, is_active) VALUES ($1, $2, $3::json, $4, $5) RETURNING id;',
|
|
[name, 'platform', JSON.stringify(["issue","revoke"]), 'PUBLIC_KEY_STRING', true]
|
|
);
|
|
console.log(`Issuer created: ${insert.rows[0].id}`);
|
|
}
|
|
|
|
console.log("Done.");
|
|
} catch (err: any) {
|
|
console.error("Seed failed:", err.message || err);
|
|
process.exit(1);
|
|
} finally {
|
|
await client.end();
|
|
}
|
|
}
|
|
|
|
main();
|