@oktis-works/database 0.12.1 → 0.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/migrations/seed.d.ts +16 -16
- package/dist/migrations/seed.d.ts.map +1 -1
- package/dist/migrations/seed.js +128 -109
- package/dist/migrations/seed.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,56 +1,56 @@
|
|
|
1
1
|
import type postgres from 'postgres';
|
|
2
2
|
type Sql = postgres.Sql;
|
|
3
|
-
/**
|
|
3
|
+
/** Canonical roles — MUST match the slugs of auth's DEFAULT_POLICY. */
|
|
4
4
|
export declare const DEFAULT_ROLES: readonly [{
|
|
5
5
|
readonly name: "Super Admin";
|
|
6
6
|
readonly slug: "SUPER_ADMIN";
|
|
7
7
|
}, {
|
|
8
|
-
readonly name: "
|
|
8
|
+
readonly name: "Administrator";
|
|
9
9
|
readonly slug: "TENANT_ADMIN";
|
|
10
10
|
}, {
|
|
11
11
|
readonly name: "Editor";
|
|
12
12
|
readonly slug: "EDITOR";
|
|
13
13
|
}, {
|
|
14
|
-
readonly name: "
|
|
14
|
+
readonly name: "Author";
|
|
15
15
|
readonly slug: "AUTHOR";
|
|
16
16
|
}, {
|
|
17
|
-
readonly name: "
|
|
17
|
+
readonly name: "Reader";
|
|
18
18
|
readonly slug: "VIEWER";
|
|
19
19
|
}];
|
|
20
|
-
/**
|
|
20
|
+
/** Initial settings of the `general` group (admin Settings → General form). */
|
|
21
21
|
export declare const DEFAULT_SETTINGS: readonly [{
|
|
22
22
|
readonly key: "siteTitle";
|
|
23
|
-
readonly value: "
|
|
23
|
+
readonly value: "My Site";
|
|
24
24
|
readonly type: "string";
|
|
25
25
|
}, {
|
|
26
26
|
readonly key: "siteDescription";
|
|
27
|
-
readonly value: "
|
|
27
|
+
readonly value: "A brand new site built with OkCMS";
|
|
28
28
|
readonly type: "string";
|
|
29
29
|
}, {
|
|
30
30
|
readonly key: "language";
|
|
31
|
-
readonly value: "
|
|
31
|
+
readonly value: "en";
|
|
32
32
|
readonly type: "string";
|
|
33
33
|
}, {
|
|
34
34
|
readonly key: "timezone";
|
|
35
|
-
readonly value: "
|
|
35
|
+
readonly value: "UTC";
|
|
36
36
|
readonly type: "string";
|
|
37
37
|
}];
|
|
38
|
-
/**
|
|
38
|
+
/** Creates (if missing) the policy's global roles (tenant_id NULL). Returns the created count. */
|
|
39
39
|
export declare function seedDefaultRoles(sql?: Sql): Promise<number>;
|
|
40
|
-
/**
|
|
40
|
+
/** Creates (if missing) the initial settings in the given tenant. Returns the created count. */
|
|
41
41
|
export declare function seedDefaultSettings(tenantId: string, sql?: Sql): Promise<number>;
|
|
42
42
|
/**
|
|
43
43
|
* Seed completo (roles + settings do tenant default). Idempotente — usar em
|
|
44
|
-
* `db:migrate`/`seed`
|
|
44
|
+
* the CLI's `db:migrate`/`seed` and as a fallback on first-user registration.
|
|
45
45
|
*/
|
|
46
46
|
export declare function seedCoreData(sql?: Sql): Promise<{
|
|
47
47
|
roles: number;
|
|
48
48
|
settings: number;
|
|
49
49
|
}>;
|
|
50
50
|
/**
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
51
|
+
* Demo content seed (pages, posts, menus, reading settings).
|
|
52
|
+
* Idempotent: ON CONFLICT on content (tenant_id, type, slug), menus (tenant_id, slug),
|
|
53
|
+
* and settings (key, tenant_id).
|
|
54
54
|
*/
|
|
55
55
|
export declare function seedDemoContent(sql?: Sql): Promise<{
|
|
56
56
|
pages: number;
|
|
@@ -58,7 +58,7 @@ export declare function seedDemoContent(sql?: Sql): Promise<{
|
|
|
58
58
|
menus: number;
|
|
59
59
|
readingSettings: number;
|
|
60
60
|
}>;
|
|
61
|
-
/**
|
|
61
|
+
/** Activates the default theme when no active theme exists yet. */
|
|
62
62
|
export declare function seedActivateDefaultTheme(sql?: Sql): Promise<void>;
|
|
63
63
|
export {};
|
|
64
64
|
//# sourceMappingURL=seed.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../src/migrations/seed.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAErC,KAAK,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;AAExB,
|
|
1
|
+
{"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../src/migrations/seed.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAErC,KAAK,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;AAExB,uEAAuE;AACvE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;EAMhB,CAAC;AAEX,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;EAKnB,CAAC;AAEX,kGAAkG;AAClG,wBAAsB,gBAAgB,CAAC,GAAG,GAAE,GAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBlF;AAED,gGAAgG;AAChG,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,GAAG,GAAE,GAAqB,GACzB,OAAO,CAAC,MAAM,CAAC,CAejB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,GAAG,GAAE,GAAqB,GACzB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAK9C;AAwBD;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,GAAG,GAAE,GAAqB,GACzB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC,CAyUnF;AAED,mEAAmE;AACnE,wBAAsB,wBAAwB,CAC5C,GAAG,GAAE,GAAqB,GACzB,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
|
package/dist/migrations/seed.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
// @oktis-works/database -
|
|
1
|
+
// @oktis-works/database - Default data seeds (roles + settings)
|
|
2
2
|
//
|
|
3
3
|
// - As 5 roles do DEFAULT_POLICY do @oktis-works/auth precisam EXISTIR no
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
// (
|
|
4
|
+
// database: the JWT carries only the slugs (read from roles via tenant_users); without
|
|
5
|
+
// the role row the user is born roleless → 403 on every protected route
|
|
6
|
+
// (they could register and log in, but could do nothing).
|
|
7
7
|
// - Settings do grupo `general` para o admin ter o que editar (a tabela
|
|
8
8
|
// nasce vazia).
|
|
9
9
|
//
|
|
@@ -11,28 +11,28 @@
|
|
|
11
11
|
// roles via WHERE NOT EXISTS, settings via ON CONFLICT (UNIQUE(key,tenant)).
|
|
12
12
|
import { getConnection } from '../connection.js';
|
|
13
13
|
import { resolveTenantId } from './bootstrap.js';
|
|
14
|
-
/**
|
|
14
|
+
/** Canonical roles — MUST match the slugs of auth's DEFAULT_POLICY. */
|
|
15
15
|
export const DEFAULT_ROLES = [
|
|
16
16
|
{ name: 'Super Admin', slug: 'SUPER_ADMIN' },
|
|
17
|
-
{ name: '
|
|
17
|
+
{ name: 'Administrator', slug: 'TENANT_ADMIN' },
|
|
18
18
|
{ name: 'Editor', slug: 'EDITOR' },
|
|
19
|
-
{ name: '
|
|
20
|
-
{ name: '
|
|
19
|
+
{ name: 'Author', slug: 'AUTHOR' },
|
|
20
|
+
{ name: 'Reader', slug: 'VIEWER' },
|
|
21
21
|
];
|
|
22
|
-
/**
|
|
22
|
+
/** Initial settings of the `general` group (admin Settings → General form). */
|
|
23
23
|
export const DEFAULT_SETTINGS = [
|
|
24
|
-
{ key: 'siteTitle', value: '
|
|
25
|
-
{ key: 'siteDescription', value: '
|
|
26
|
-
{ key: 'language', value: '
|
|
27
|
-
{ key: 'timezone', value: '
|
|
24
|
+
{ key: 'siteTitle', value: 'My Site', type: 'string' },
|
|
25
|
+
{ key: 'siteDescription', value: 'A brand new site built with OkCMS', type: 'string' },
|
|
26
|
+
{ key: 'language', value: 'en', type: 'string' },
|
|
27
|
+
{ key: 'timezone', value: 'UTC', type: 'string' },
|
|
28
28
|
];
|
|
29
|
-
/**
|
|
29
|
+
/** Creates (if missing) the policy's global roles (tenant_id NULL). Returns the created count. */
|
|
30
30
|
export async function seedDefaultRoles(sql = getConnection()) {
|
|
31
31
|
let inserted = 0;
|
|
32
32
|
for (const role of DEFAULT_ROLES) {
|
|
33
|
-
//
|
|
34
|
-
//
|
|
35
|
-
//
|
|
33
|
+
// Explicit cast: $2 appears in two contexts (insert value and
|
|
34
|
+
// column comparison) — without it Postgres deduces different types
|
|
35
|
+
// for the same parameter and fails with "inconsistent types deduced".
|
|
36
36
|
const rows = await sql.unsafe(`INSERT INTO roles (name, slug, is_system, permissions)
|
|
37
37
|
SELECT $1::varchar, $2::varchar, true, '[]'::jsonb
|
|
38
38
|
WHERE NOT EXISTS (SELECT 1 FROM roles WHERE slug = $2::varchar AND tenant_id IS NULL)
|
|
@@ -41,12 +41,12 @@ export async function seedDefaultRoles(sql = getConnection()) {
|
|
|
41
41
|
}
|
|
42
42
|
return inserted;
|
|
43
43
|
}
|
|
44
|
-
/**
|
|
44
|
+
/** Creates (if missing) the initial settings in the given tenant. Returns the created count. */
|
|
45
45
|
export async function seedDefaultSettings(tenantId, sql = getConnection()) {
|
|
46
46
|
let inserted = 0;
|
|
47
47
|
for (const s of DEFAULT_SETTINGS) {
|
|
48
48
|
// RETURNING: sem ele o driver devolve [] mesmo com insert bem-sucedido
|
|
49
|
-
// (
|
|
49
|
+
// (it would count 0 in the log and break idempotency detection).
|
|
50
50
|
const rows = await sql.unsafe(`INSERT INTO settings (tenant_id, key, value, "group", type)
|
|
51
51
|
VALUES ($1, $2, to_jsonb($3::text), 'general', $4)
|
|
52
52
|
ON CONFLICT (key, tenant_id) DO NOTHING
|
|
@@ -57,7 +57,7 @@ export async function seedDefaultSettings(tenantId, sql = getConnection()) {
|
|
|
57
57
|
}
|
|
58
58
|
/**
|
|
59
59
|
* Seed completo (roles + settings do tenant default). Idempotente — usar em
|
|
60
|
-
* `db:migrate`/`seed`
|
|
60
|
+
* the CLI's `db:migrate`/`seed` and as a fallback on first-user registration.
|
|
61
61
|
*/
|
|
62
62
|
export async function seedCoreData(sql = getConnection()) {
|
|
63
63
|
const roles = await seedDefaultRoles(sql);
|
|
@@ -67,7 +67,7 @@ export async function seedCoreData(sql = getConnection()) {
|
|
|
67
67
|
}
|
|
68
68
|
/** Lorem ipsum curto para campos de texto. */
|
|
69
69
|
const LOREM_IPSUM = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.';
|
|
70
|
-
/**
|
|
70
|
+
/** Long lorem ipsum for post/page content. */
|
|
71
71
|
const LOREM_LONG = `
|
|
72
72
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
|
|
73
73
|
|
|
@@ -75,7 +75,7 @@ Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
|
|
|
75
75
|
|
|
76
76
|
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
|
|
77
77
|
`;
|
|
78
|
-
/**
|
|
78
|
+
/** Default editor body structure (blocks + rendered html). */
|
|
79
79
|
function makeBody(html, blocks = []) {
|
|
80
80
|
return {
|
|
81
81
|
html,
|
|
@@ -85,22 +85,33 @@ function makeBody(html, blocks = []) {
|
|
|
85
85
|
};
|
|
86
86
|
}
|
|
87
87
|
/**
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
88
|
+
* Demo content seed (pages, posts, menus, reading settings).
|
|
89
|
+
* Idempotent: ON CONFLICT on content (tenant_id, type, slug), menus (tenant_id, slug),
|
|
90
|
+
* and settings (key, tenant_id).
|
|
91
91
|
*/
|
|
92
92
|
export async function seedDemoContent(sql = getConnection()) {
|
|
93
93
|
const tenantId = await resolveTenantId('default');
|
|
94
|
-
//
|
|
94
|
+
// Clear previous demo data to guarantee idempotency
|
|
95
95
|
await sql.unsafe(`
|
|
96
96
|
DELETE FROM settings WHERE tenant_id = $1 AND "group" = 'reading'
|
|
97
97
|
AND key IN ('static_front_page', 'page_for_posts', 'timezone_string', 'gmt_offset')
|
|
98
98
|
`, [tenantId]);
|
|
99
|
+
// Cleanup covers the correct slugs AND the broken rows left by earlier
|
|
100
|
+
// seeds that swapped name/slug on insert (slug='Main Menu'/'Footer',
|
|
101
|
+
// name='header'/'footer').
|
|
99
102
|
await sql.unsafe(`
|
|
100
|
-
DELETE FROM menus WHERE tenant_id = $1 AND
|
|
103
|
+
DELETE FROM menus WHERE tenant_id = $1 AND (
|
|
104
|
+
slug IN ('header', 'footer', 'Main Menu', 'Footer')
|
|
105
|
+
OR name IN ('header', 'footer')
|
|
106
|
+
)
|
|
101
107
|
`, [tenantId]);
|
|
108
|
+
// Cleanup covers BOTH the current English slugs and the legacy Portuguese
|
|
109
|
+
// ones (pre-i18n seeds), so re-seeding never leaves orphaned demo rows.
|
|
102
110
|
await sql.unsafe(`
|
|
103
|
-
DELETE FROM content WHERE tenant_id = $1 AND slug IN (
|
|
111
|
+
DELETE FROM content WHERE tenant_id = $1 AND slug IN (
|
|
112
|
+
'home', 'about', 'blog', 'first-post', 'getting-started',
|
|
113
|
+
'sobre', 'primeiro-post', 'segundo-post'
|
|
114
|
+
)
|
|
104
115
|
`, [tenantId]);
|
|
105
116
|
await sql.unsafe(`
|
|
106
117
|
DELETE FROM tenant_users WHERE tenant_id = $1 AND user_id IN (
|
|
@@ -117,13 +128,13 @@ export async function seedDemoContent(sql = getConnection()) {
|
|
|
117
128
|
WHERE conrelid = 'content'::regclass AND contype = 'u'
|
|
118
129
|
`);
|
|
119
130
|
console.log('[seedDemoContent] constraints on content:', constraintCheck);
|
|
120
|
-
//
|
|
131
|
+
// Default author: first user of the tenant (creates one if none exists)
|
|
121
132
|
const authorResult = await sql.unsafe(`SELECT id FROM users WHERE id IN (SELECT user_id FROM tenant_users WHERE tenant_id = $1) LIMIT 1`, [tenantId]);
|
|
122
133
|
let authorId;
|
|
123
134
|
if (authorResult.length === 0) {
|
|
124
|
-
// Fallback:
|
|
135
|
+
// Fallback: creates an admin user when none exists
|
|
125
136
|
const newUser = await sql.unsafe(`INSERT INTO users (email, name, password_hash, status)
|
|
126
|
-
VALUES ('admin@local', '
|
|
137
|
+
VALUES ('admin@local', 'Administrator', '$2b$10$dummy', 'ACTIVE')
|
|
127
138
|
ON CONFLICT (email) DO UPDATE SET name = EXCLUDED.name RETURNING id`);
|
|
128
139
|
authorId = String(newUser[0]?.['id'] ?? '');
|
|
129
140
|
await sql.unsafe(`INSERT INTO tenant_users (tenant_id, user_id, role_id)
|
|
@@ -134,61 +145,65 @@ export async function seedDemoContent(sql = getConnection()) {
|
|
|
134
145
|
authorId = String(authorResult[0]?.['id'] ?? '');
|
|
135
146
|
}
|
|
136
147
|
const now = new Date();
|
|
137
|
-
// ----
|
|
148
|
+
// ---- PAGES ----
|
|
138
149
|
const pages = [
|
|
139
150
|
{
|
|
140
151
|
type: 'page',
|
|
141
152
|
slug: 'home',
|
|
142
|
-
title: '
|
|
143
|
-
excerpt: '
|
|
153
|
+
title: 'Home',
|
|
154
|
+
excerpt: 'Welcome to your brand new OkCMS site.',
|
|
144
155
|
body: makeBody(`
|
|
145
156
|
<section class="hero">
|
|
146
|
-
<
|
|
147
|
-
<
|
|
148
|
-
<
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
<a href="/sobre">Ler mais →</a>
|
|
157
|
+
<p class="hero__kicker">Welcome to OkCMS</p>
|
|
158
|
+
<h1 class="hero__title">Your new site is ready</h1>
|
|
159
|
+
<p class="hero__description">Start publishing in minutes — create pages, posts and menus from the admin dashboard, then make this page your own.</p>
|
|
160
|
+
<div class="hero__actions">
|
|
161
|
+
<a href="/blog" class="btn btn--primary">Go to the blog</a>
|
|
162
|
+
<a href="#contact" class="btn btn--ghost">Get in touch</a>
|
|
163
|
+
</div>
|
|
154
164
|
</section>
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
<
|
|
165
|
+
|
|
166
|
+
<section id="about" class="section about-preview">
|
|
167
|
+
<div>
|
|
168
|
+
<p class="section__kicker">About</p>
|
|
169
|
+
<h2 class="section__title">About Us</h2>
|
|
170
|
+
<p class="section__lead">${LOREM_IPSUM}</p>
|
|
171
|
+
<a class="btn btn--outline" href="/about">Read more →</a>
|
|
172
|
+
</div>
|
|
158
173
|
</section>
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
<p>
|
|
174
|
+
|
|
175
|
+
<section id="contact" class="section contact">
|
|
176
|
+
<p class="section__kicker">Contact</p>
|
|
177
|
+
<h2 class="section__title">Get in Touch</h2>
|
|
178
|
+
<p class="section__lead">Questions, feedback or ideas? Send us an email at <a href="mailto:hello@example.com">hello@example.com</a> — we would love to hear from you.</p>
|
|
162
179
|
</section>
|
|
163
180
|
`, [
|
|
164
|
-
{ type: 'heading', level: 1, content: '
|
|
165
|
-
{ type: 'paragraph', content: '
|
|
166
|
-
{ type: 'heading', level: 2, content: '
|
|
181
|
+
{ type: 'heading', level: 1, content: 'Your new site is ready' },
|
|
182
|
+
{ type: 'paragraph', content: 'Start publishing in minutes — create pages, posts and menus from the admin dashboard, then make this page your own.' },
|
|
183
|
+
{ type: 'heading', level: 2, content: 'About Us' },
|
|
167
184
|
{ type: 'paragraph', content: LOREM_IPSUM },
|
|
168
|
-
{ type: 'heading', level: 2, content: '
|
|
169
|
-
{ type: 'paragraph', content: '
|
|
170
|
-
{ type: 'heading', level: 2, content: 'Entre em Contato' },
|
|
171
|
-
{ type: 'paragraph', content: 'Preencha o formulário ou envie um e-mail para contato@exemplo.com' },
|
|
185
|
+
{ type: 'heading', level: 2, content: 'Get in Touch' },
|
|
186
|
+
{ type: 'paragraph', content: 'Questions, feedback or ideas? Send us an email at hello@example.com — we would love to hear from you.' },
|
|
172
187
|
]),
|
|
173
188
|
},
|
|
174
189
|
{
|
|
175
190
|
type: 'page',
|
|
176
|
-
slug: '
|
|
177
|
-
title: '
|
|
178
|
-
excerpt: '
|
|
191
|
+
slug: 'about',
|
|
192
|
+
title: 'About Us',
|
|
193
|
+
excerpt: 'Learn more about our story and mission.',
|
|
179
194
|
body: makeBody(`
|
|
180
|
-
<h2>
|
|
195
|
+
<h2>Our Story</h2>
|
|
181
196
|
<p>${LOREM_LONG}</p>
|
|
182
|
-
<h2>
|
|
197
|
+
<h2>Our Mission</h2>
|
|
183
198
|
<p>${LOREM_IPSUM}</p>
|
|
184
|
-
<h2>
|
|
199
|
+
<h2>Our Team</h2>
|
|
185
200
|
<p>${LOREM_IPSUM}</p>
|
|
186
201
|
`, [
|
|
187
|
-
{ type: 'heading', level: 2, content: '
|
|
202
|
+
{ type: 'heading', level: 2, content: 'Our Story' },
|
|
188
203
|
{ type: 'paragraph', content: LOREM_LONG },
|
|
189
|
-
{ type: 'heading', level: 2, content: '
|
|
204
|
+
{ type: 'heading', level: 2, content: 'Our Mission' },
|
|
190
205
|
{ type: 'paragraph', content: LOREM_IPSUM },
|
|
191
|
-
{ type: 'heading', level: 2, content: '
|
|
206
|
+
{ type: 'heading', level: 2, content: 'Our Team' },
|
|
192
207
|
{ type: 'paragraph', content: LOREM_IPSUM },
|
|
193
208
|
]),
|
|
194
209
|
},
|
|
@@ -196,13 +211,13 @@ export async function seedDemoContent(sql = getConnection()) {
|
|
|
196
211
|
type: 'page',
|
|
197
212
|
slug: 'blog',
|
|
198
213
|
title: 'Blog',
|
|
199
|
-
excerpt: '
|
|
214
|
+
excerpt: 'Articles, tutorials and release notes.',
|
|
200
215
|
body: makeBody(`
|
|
201
|
-
<p>
|
|
202
|
-
<p>
|
|
216
|
+
<p>Welcome to our blog. Here you will find articles, tutorials and news about OkCMS.</p>
|
|
217
|
+
<p>The latest posts are listed below automatically.</p>
|
|
203
218
|
`, [
|
|
204
|
-
{ type: 'paragraph', content: '
|
|
205
|
-
{ type: 'paragraph', content: '
|
|
219
|
+
{ type: 'paragraph', content: 'Welcome to our blog. Here you will find articles, tutorials and news about OkCMS.' },
|
|
220
|
+
{ type: 'paragraph', content: 'The latest posts are listed below automatically.' },
|
|
206
221
|
]),
|
|
207
222
|
},
|
|
208
223
|
];
|
|
@@ -243,65 +258,65 @@ export async function seedDemoContent(sql = getConnection()) {
|
|
|
243
258
|
const posts = [
|
|
244
259
|
{
|
|
245
260
|
type: 'post',
|
|
246
|
-
slug: '
|
|
247
|
-
title: '
|
|
248
|
-
excerpt: '
|
|
261
|
+
slug: 'first-post',
|
|
262
|
+
title: 'My First Blog Post',
|
|
263
|
+
excerpt: 'This is the first demo post of the blog.',
|
|
249
264
|
body: makeBody(`
|
|
250
|
-
<h1>
|
|
265
|
+
<h1>My First Blog Post</h1>
|
|
251
266
|
<p>${LOREM_IPSUM}</p>
|
|
252
|
-
<h2>
|
|
267
|
+
<h2>Introduction</h2>
|
|
253
268
|
<p>${LOREM_LONG}</p>
|
|
254
|
-
<h2>
|
|
269
|
+
<h2>Main Content</h2>
|
|
255
270
|
<p>${LOREM_IPSUM}</p>
|
|
256
|
-
<h3>
|
|
271
|
+
<h3>Example Subsection</h3>
|
|
257
272
|
<p>${LOREM_IPSUM}</p>
|
|
258
|
-
<h2>
|
|
273
|
+
<h2>Wrapping Up</h2>
|
|
259
274
|
<p>${LOREM_LONG}</p>
|
|
260
275
|
`, [
|
|
261
|
-
{ type: 'heading', level: 1, content: '
|
|
276
|
+
{ type: 'heading', level: 1, content: 'My First Blog Post' },
|
|
262
277
|
{ type: 'paragraph', content: LOREM_IPSUM },
|
|
263
|
-
{ type: 'heading', level: 2, content: '
|
|
278
|
+
{ type: 'heading', level: 2, content: 'Introduction' },
|
|
264
279
|
{ type: 'paragraph', content: LOREM_LONG },
|
|
265
|
-
{ type: 'heading', level: 2, content: '
|
|
280
|
+
{ type: 'heading', level: 2, content: 'Main Content' },
|
|
266
281
|
{ type: 'paragraph', content: LOREM_IPSUM },
|
|
267
|
-
{ type: 'heading', level: 3, content: '
|
|
282
|
+
{ type: 'heading', level: 3, content: 'Example Subsection' },
|
|
268
283
|
{ type: 'paragraph', content: LOREM_IPSUM },
|
|
269
|
-
{ type: 'heading', level: 2, content: '
|
|
284
|
+
{ type: 'heading', level: 2, content: 'Wrapping Up' },
|
|
270
285
|
{ type: 'paragraph', content: LOREM_LONG },
|
|
271
286
|
]),
|
|
272
287
|
},
|
|
273
288
|
{
|
|
274
289
|
type: 'post',
|
|
275
|
-
slug: '
|
|
276
|
-
title: '
|
|
277
|
-
excerpt: '
|
|
290
|
+
slug: 'getting-started',
|
|
291
|
+
title: 'Getting Started with OkCMS',
|
|
292
|
+
excerpt: 'Learn the first steps to build your site with OkCMS.',
|
|
278
293
|
body: makeBody(`
|
|
279
|
-
<h1>
|
|
294
|
+
<h1>Getting Started with OkCMS</h1>
|
|
280
295
|
<p>${LOREM_IPSUM}</p>
|
|
281
|
-
<h2>
|
|
296
|
+
<h2>Installation</h2>
|
|
282
297
|
<p>${LOREM_LONG}</p>
|
|
283
|
-
<h2>
|
|
298
|
+
<h2>Initial Setup</h2>
|
|
284
299
|
<p>${LOREM_IPSUM}</p>
|
|
285
|
-
<h3>
|
|
300
|
+
<h3>Themes</h3>
|
|
286
301
|
<p>${LOREM_IPSUM}</p>
|
|
287
302
|
<h3>Plugins</h3>
|
|
288
303
|
<p>${LOREM_IPSUM}</p>
|
|
289
|
-
<h2>
|
|
304
|
+
<h2>Creating Content</h2>
|
|
290
305
|
<p>${LOREM_LONG}</p>
|
|
291
306
|
<h2>Deploy</h2>
|
|
292
307
|
<p>${LOREM_IPSUM}</p>
|
|
293
308
|
`, [
|
|
294
|
-
{ type: 'heading', level: 1, content: '
|
|
309
|
+
{ type: 'heading', level: 1, content: 'Getting Started with OkCMS' },
|
|
295
310
|
{ type: 'paragraph', content: LOREM_IPSUM },
|
|
296
|
-
{ type: 'heading', level: 2, content: '
|
|
311
|
+
{ type: 'heading', level: 2, content: 'Installation' },
|
|
297
312
|
{ type: 'paragraph', content: LOREM_LONG },
|
|
298
|
-
{ type: 'heading', level: 2, content: '
|
|
313
|
+
{ type: 'heading', level: 2, content: 'Initial Setup' },
|
|
299
314
|
{ type: 'paragraph', content: LOREM_IPSUM },
|
|
300
|
-
{ type: 'heading', level: 3, content: '
|
|
315
|
+
{ type: 'heading', level: 3, content: 'Themes' },
|
|
301
316
|
{ type: 'paragraph', content: LOREM_IPSUM },
|
|
302
317
|
{ type: 'heading', level: 3, content: 'Plugins' },
|
|
303
318
|
{ type: 'paragraph', content: LOREM_IPSUM },
|
|
304
|
-
{ type: 'heading', level: 2, content: '
|
|
319
|
+
{ type: 'heading', level: 2, content: 'Creating Content' },
|
|
305
320
|
{ type: 'paragraph', content: LOREM_LONG },
|
|
306
321
|
{ type: 'heading', level: 2, content: 'Deploy' },
|
|
307
322
|
{ type: 'paragraph', content: LOREM_IPSUM },
|
|
@@ -334,33 +349,37 @@ export async function seedDemoContent(sql = getConnection()) {
|
|
|
334
349
|
}
|
|
335
350
|
// ---- MENUS ----
|
|
336
351
|
const headerMenuItems = [
|
|
337
|
-
{ type: 'home', label: '
|
|
338
|
-
{ type: 'page', label: '
|
|
352
|
+
{ type: 'home', label: 'Home', url: '/' },
|
|
353
|
+
{ type: 'page', label: 'About', url: '/about', contentId: pageIds['about'] },
|
|
339
354
|
{ type: 'page', label: 'Blog', url: '/blog', contentId: pageIds['blog'] },
|
|
340
355
|
];
|
|
341
356
|
const footerMenuItems = [
|
|
342
|
-
{ type: 'custom', label: '
|
|
343
|
-
{ type: 'custom', label: '
|
|
357
|
+
{ type: 'custom', label: 'Contact', url: '/#contact' },
|
|
358
|
+
{ type: 'custom', label: 'Privacy', url: '/privacy' },
|
|
344
359
|
];
|
|
345
360
|
let menusCreated = 0;
|
|
346
361
|
for (const [slug, name, items] of [
|
|
347
|
-
['header', 'Menu
|
|
348
|
-
['footer', '
|
|
362
|
+
['header', 'Main Menu', headerMenuItems],
|
|
363
|
+
['footer', 'Footer', footerMenuItems],
|
|
349
364
|
]) {
|
|
350
365
|
console.log('[seedDemoContent] Inserting menu:', slug, 'tenantId:', tenantId);
|
|
351
|
-
const result = await sql.unsafe(
|
|
366
|
+
const result = await sql.unsafe(
|
|
367
|
+
// Column order is (name, slug) but the tuple is (slug, name) — the
|
|
368
|
+
// params must swap accordingly, otherwise the menu lands with
|
|
369
|
+
// slug='Main Menu' and the theme never finds `menus.header`.
|
|
370
|
+
`INSERT INTO menus (tenant_id, name, slug, items)
|
|
352
371
|
VALUES ($1, $2, $3, $4::jsonb)
|
|
353
|
-
RETURNING id`, [tenantId,
|
|
372
|
+
RETURNING id`, [tenantId, name, slug, items]);
|
|
354
373
|
menusCreated += result.length;
|
|
355
374
|
}
|
|
356
|
-
// ---- SETTINGS
|
|
375
|
+
// ---- READING SETTINGS (Static Front Page) ----
|
|
357
376
|
let readingSettingsCreated = 0;
|
|
358
377
|
if (pageIds['home'] && pageIds['blog']) {
|
|
359
378
|
for (const [key, value] of [
|
|
360
379
|
['static_front_page', pageIds['home']],
|
|
361
380
|
['page_for_posts', pageIds['blog']],
|
|
362
|
-
['timezone_string', '
|
|
363
|
-
['gmt_offset',
|
|
381
|
+
['timezone_string', 'UTC'],
|
|
382
|
+
['gmt_offset', 0],
|
|
364
383
|
]) {
|
|
365
384
|
console.log('[seedDemoContent] Inserting setting:', key, 'tenantId:', tenantId);
|
|
366
385
|
const result = await sql.unsafe(`INSERT INTO settings (tenant_id, key, value, "group", type)
|
|
@@ -371,11 +390,11 @@ export async function seedDemoContent(sql = getConnection()) {
|
|
|
371
390
|
}
|
|
372
391
|
return { pages: pagesCreated, posts: postsCreated, menus: menusCreated, readingSettings: readingSettingsCreated };
|
|
373
392
|
}
|
|
374
|
-
/**
|
|
393
|
+
/** Activates the default theme when no active theme exists yet. */
|
|
375
394
|
export async function seedActivateDefaultTheme(sql = getConnection()) {
|
|
376
395
|
try {
|
|
377
396
|
const tenantId = await resolveTenantId('default');
|
|
378
|
-
//
|
|
397
|
+
// Check if an active theme already exists
|
|
379
398
|
const activeTheme = await sql.unsafe(`SELECT id FROM themes WHERE status = 'ACTIVE' AND tenant_id = $1 LIMIT 1`, [tenantId]);
|
|
380
399
|
if (activeTheme.length > 0)
|
|
381
400
|
return;
|
|
@@ -390,7 +409,7 @@ export async function seedActivateDefaultTheme(sql = getConnection()) {
|
|
|
390
409
|
}
|
|
391
410
|
}
|
|
392
411
|
catch {
|
|
393
|
-
//
|
|
412
|
+
// Silent — theme activation is best-effort
|
|
394
413
|
}
|
|
395
414
|
}
|
|
396
415
|
//# sourceMappingURL=seed.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seed.js","sourceRoot":"","sources":["../../src/migrations/seed.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"seed.js","sourceRoot":"","sources":["../../src/migrations/seed.ts"],"names":[],"mappings":"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"}
|