public
anord
read
Ledger
Why work hard when you can work easier?
Languages
Repository composition by tracked source files.
TypeScript
86%
CSS
10%
SQL
3%
Shell
1%
HTML
0%
Trace
apps/api/src/db/seed.ts
Trace helps you understand code history line by line. See who changed each line, when it changed, and which commit introduced it.
Author
Date
Commit
Line
Code
1
import { pool } from "./pool.js";
3
async function main() {
4
const roleKeys = [
5
["owner", "Owner"],
6
["admin", "Admin"],
7
["editor", "Editor"],
8
["viewer", "Viewer"],
9
["public", "Public"]
10
];
12
for (const [key, name] of roleKeys) {
13
await pool.query(
14
`INSERT INTO roles (key, name) VALUES ($1, $2) ON CONFLICT (key) DO NOTHING`,
15
[key, name]
16
);
17
}
19
await pool.query(
20
`INSERT INTO groups (name, description) VALUES ('engineering', 'Internal engineering team')
21
ON CONFLICT (name) DO NOTHING`
22
);
24
await pool.query(
25
`
26
INSERT INTO branding_settings (site_name, logo_url, brand_color, footer_text, public_knowledge_base_enabled, footer_links)
27
SELECT 'Ledger', NULL, '#245cff', 'Powered by Ledger made by ANord.cc', true, '[]'::jsonb
28
WHERE NOT EXISTS (SELECT 1 FROM branding_settings)
29
`
30
);
32
await pool.query(
33
`
34
INSERT INTO smtp_settings (host, port, username, from_email, from_name)
35
SELECT NULL, 587, NULL, '[email protected]', 'Ledger'
36
WHERE NOT EXISTS (SELECT 1 FROM smtp_settings)
37
`
38
);
40
await pool.query(
41
`
42
INSERT INTO ai_settings (provider, model, is_enabled)
43
SELECT 'none', '', false
44
WHERE NOT EXISTS (SELECT 1 FROM ai_settings)
45
`
46
);
48
console.log("Seeded Ledger base data");
49
}
51
main()
52
.catch((error) => {
53
console.error(error);
54
process.exitCode = 1;
55
})
56
.finally(async () => {
57
await pool.end();
58
});