NobGit
public anord read

Ledger

Why work hard when you can work easier?

Languages

Repository composition by tracked source files.

TypeScript
TypeScript 86% CSS 10% SQL 3% Shell 1% HTML 0%
Create file Wiki Documentation
Clone
https://nobgit.com/orgs/anord/ledger.git
ssh://[email protected]:2222/orgs/anord/ledger.git
seed.ts
import { pool } from "./pool.js";

async function main() {
  const roleKeys = [
    ["owner", "Owner"],
    ["admin", "Admin"],
    ["editor", "Editor"],
    ["viewer", "Viewer"],
    ["public", "Public"]
  ];

  for (const [key, name] of roleKeys) {
    await pool.query(
      `INSERT INTO roles (key, name) VALUES ($1, $2) ON CONFLICT (key) DO NOTHING`,
      [key, name]
    );
  }

  await pool.query(
    `INSERT INTO groups (name, description) VALUES ('engineering', 'Internal engineering team')
     ON CONFLICT (name) DO NOTHING`
  );

  await pool.query(
    `
      INSERT INTO branding_settings (site_name, logo_url, brand_color, footer_text, public_knowledge_base_enabled, footer_links)
      SELECT 'Ledger', NULL, '#245cff', 'Powered by Ledger made by ANord.cc', true, '[]'::jsonb
      WHERE NOT EXISTS (SELECT 1 FROM branding_settings)
    `
  );

  await pool.query(
    `
      INSERT INTO smtp_settings (host, port, username, from_email, from_name)
      SELECT NULL, 587, NULL, '[email protected]', 'Ledger'
      WHERE NOT EXISTS (SELECT 1 FROM smtp_settings)
    `
  );

  await pool.query(
    `
      INSERT INTO ai_settings (provider, model, is_enabled)
      SELECT 'none', '', false
      WHERE NOT EXISTS (SELECT 1 FROM ai_settings)
    `
  );

  console.log("Seeded Ledger base data");
}

main()
  .catch((error) => {
    console.error(error);
    process.exitCode = 1;
  })
  .finally(async () => {
    await pool.end();
  });