@oktis-works/database 0.12.1 → 0.13.0
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 +115 -106
- 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,CAgUnF;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,13 +85,13 @@ 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')
|
|
@@ -99,8 +99,13 @@ export async function seedDemoContent(sql = getConnection()) {
|
|
|
99
99
|
await sql.unsafe(`
|
|
100
100
|
DELETE FROM menus WHERE tenant_id = $1 AND slug IN ('header', 'footer')
|
|
101
101
|
`, [tenantId]);
|
|
102
|
+
// Cleanup covers BOTH the current English slugs and the legacy Portuguese
|
|
103
|
+
// ones (pre-i18n seeds), so re-seeding never leaves orphaned demo rows.
|
|
102
104
|
await sql.unsafe(`
|
|
103
|
-
DELETE FROM content WHERE tenant_id = $1 AND slug IN (
|
|
105
|
+
DELETE FROM content WHERE tenant_id = $1 AND slug IN (
|
|
106
|
+
'home', 'about', 'blog', 'first-post', 'getting-started',
|
|
107
|
+
'sobre', 'primeiro-post', 'segundo-post'
|
|
108
|
+
)
|
|
104
109
|
`, [tenantId]);
|
|
105
110
|
await sql.unsafe(`
|
|
106
111
|
DELETE FROM tenant_users WHERE tenant_id = $1 AND user_id IN (
|
|
@@ -117,13 +122,13 @@ export async function seedDemoContent(sql = getConnection()) {
|
|
|
117
122
|
WHERE conrelid = 'content'::regclass AND contype = 'u'
|
|
118
123
|
`);
|
|
119
124
|
console.log('[seedDemoContent] constraints on content:', constraintCheck);
|
|
120
|
-
//
|
|
125
|
+
// Default author: first user of the tenant (creates one if none exists)
|
|
121
126
|
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
127
|
let authorId;
|
|
123
128
|
if (authorResult.length === 0) {
|
|
124
|
-
// Fallback:
|
|
129
|
+
// Fallback: creates an admin user when none exists
|
|
125
130
|
const newUser = await sql.unsafe(`INSERT INTO users (email, name, password_hash, status)
|
|
126
|
-
VALUES ('admin@local', '
|
|
131
|
+
VALUES ('admin@local', 'Administrator', '$2b$10$dummy', 'ACTIVE')
|
|
127
132
|
ON CONFLICT (email) DO UPDATE SET name = EXCLUDED.name RETURNING id`);
|
|
128
133
|
authorId = String(newUser[0]?.['id'] ?? '');
|
|
129
134
|
await sql.unsafe(`INSERT INTO tenant_users (tenant_id, user_id, role_id)
|
|
@@ -134,61 +139,65 @@ export async function seedDemoContent(sql = getConnection()) {
|
|
|
134
139
|
authorId = String(authorResult[0]?.['id'] ?? '');
|
|
135
140
|
}
|
|
136
141
|
const now = new Date();
|
|
137
|
-
// ----
|
|
142
|
+
// ---- PAGES ----
|
|
138
143
|
const pages = [
|
|
139
144
|
{
|
|
140
145
|
type: 'page',
|
|
141
146
|
slug: 'home',
|
|
142
|
-
title: '
|
|
143
|
-
excerpt: '
|
|
147
|
+
title: 'Home',
|
|
148
|
+
excerpt: 'Welcome to your brand new OkCMS site.',
|
|
144
149
|
body: makeBody(`
|
|
145
150
|
<section class="hero">
|
|
146
|
-
<
|
|
147
|
-
<
|
|
148
|
-
<
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
<a href="/sobre">Ler mais →</a>
|
|
151
|
+
<p class="hero__kicker">Welcome to OkCMS</p>
|
|
152
|
+
<h1 class="hero__title">Your new site is ready</h1>
|
|
153
|
+
<p class="hero__description">Start publishing in minutes — create pages, posts and menus from the admin dashboard, then make this page your own.</p>
|
|
154
|
+
<div class="hero__actions">
|
|
155
|
+
<a href="/blog" class="btn btn--primary">Go to the blog</a>
|
|
156
|
+
<a href="#contact" class="btn btn--ghost">Get in touch</a>
|
|
157
|
+
</div>
|
|
154
158
|
</section>
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
<
|
|
159
|
+
|
|
160
|
+
<section id="about" class="section about-preview">
|
|
161
|
+
<div>
|
|
162
|
+
<p class="section__kicker">About</p>
|
|
163
|
+
<h2 class="section__title">About Us</h2>
|
|
164
|
+
<p class="section__lead">${LOREM_IPSUM}</p>
|
|
165
|
+
<a class="btn btn--outline" href="/about">Read more →</a>
|
|
166
|
+
</div>
|
|
158
167
|
</section>
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
<p>
|
|
168
|
+
|
|
169
|
+
<section id="contact" class="section contact">
|
|
170
|
+
<p class="section__kicker">Contact</p>
|
|
171
|
+
<h2 class="section__title">Get in Touch</h2>
|
|
172
|
+
<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
173
|
</section>
|
|
163
174
|
`, [
|
|
164
|
-
{ type: 'heading', level: 1, content: '
|
|
165
|
-
{ type: 'paragraph', content: '
|
|
166
|
-
{ type: 'heading', level: 2, content: '
|
|
175
|
+
{ type: 'heading', level: 1, content: 'Your new site is ready' },
|
|
176
|
+
{ type: 'paragraph', content: 'Start publishing in minutes — create pages, posts and menus from the admin dashboard, then make this page your own.' },
|
|
177
|
+
{ type: 'heading', level: 2, content: 'About Us' },
|
|
167
178
|
{ 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' },
|
|
179
|
+
{ type: 'heading', level: 2, content: 'Get in Touch' },
|
|
180
|
+
{ type: 'paragraph', content: 'Questions, feedback or ideas? Send us an email at hello@example.com — we would love to hear from you.' },
|
|
172
181
|
]),
|
|
173
182
|
},
|
|
174
183
|
{
|
|
175
184
|
type: 'page',
|
|
176
|
-
slug: '
|
|
177
|
-
title: '
|
|
178
|
-
excerpt: '
|
|
185
|
+
slug: 'about',
|
|
186
|
+
title: 'About Us',
|
|
187
|
+
excerpt: 'Learn more about our story and mission.',
|
|
179
188
|
body: makeBody(`
|
|
180
|
-
<h2>
|
|
189
|
+
<h2>Our Story</h2>
|
|
181
190
|
<p>${LOREM_LONG}</p>
|
|
182
|
-
<h2>
|
|
191
|
+
<h2>Our Mission</h2>
|
|
183
192
|
<p>${LOREM_IPSUM}</p>
|
|
184
|
-
<h2>
|
|
193
|
+
<h2>Our Team</h2>
|
|
185
194
|
<p>${LOREM_IPSUM}</p>
|
|
186
195
|
`, [
|
|
187
|
-
{ type: 'heading', level: 2, content: '
|
|
196
|
+
{ type: 'heading', level: 2, content: 'Our Story' },
|
|
188
197
|
{ type: 'paragraph', content: LOREM_LONG },
|
|
189
|
-
{ type: 'heading', level: 2, content: '
|
|
198
|
+
{ type: 'heading', level: 2, content: 'Our Mission' },
|
|
190
199
|
{ type: 'paragraph', content: LOREM_IPSUM },
|
|
191
|
-
{ type: 'heading', level: 2, content: '
|
|
200
|
+
{ type: 'heading', level: 2, content: 'Our Team' },
|
|
192
201
|
{ type: 'paragraph', content: LOREM_IPSUM },
|
|
193
202
|
]),
|
|
194
203
|
},
|
|
@@ -196,13 +205,13 @@ export async function seedDemoContent(sql = getConnection()) {
|
|
|
196
205
|
type: 'page',
|
|
197
206
|
slug: 'blog',
|
|
198
207
|
title: 'Blog',
|
|
199
|
-
excerpt: '
|
|
208
|
+
excerpt: 'Articles, tutorials and release notes.',
|
|
200
209
|
body: makeBody(`
|
|
201
|
-
<p>
|
|
202
|
-
<p>
|
|
210
|
+
<p>Welcome to our blog. Here you will find articles, tutorials and news about OkCMS.</p>
|
|
211
|
+
<p>The latest posts are listed below automatically.</p>
|
|
203
212
|
`, [
|
|
204
|
-
{ type: 'paragraph', content: '
|
|
205
|
-
{ type: 'paragraph', content: '
|
|
213
|
+
{ type: 'paragraph', content: 'Welcome to our blog. Here you will find articles, tutorials and news about OkCMS.' },
|
|
214
|
+
{ type: 'paragraph', content: 'The latest posts are listed below automatically.' },
|
|
206
215
|
]),
|
|
207
216
|
},
|
|
208
217
|
];
|
|
@@ -243,65 +252,65 @@ export async function seedDemoContent(sql = getConnection()) {
|
|
|
243
252
|
const posts = [
|
|
244
253
|
{
|
|
245
254
|
type: 'post',
|
|
246
|
-
slug: '
|
|
247
|
-
title: '
|
|
248
|
-
excerpt: '
|
|
255
|
+
slug: 'first-post',
|
|
256
|
+
title: 'My First Blog Post',
|
|
257
|
+
excerpt: 'This is the first demo post of the blog.',
|
|
249
258
|
body: makeBody(`
|
|
250
|
-
<h1>
|
|
259
|
+
<h1>My First Blog Post</h1>
|
|
251
260
|
<p>${LOREM_IPSUM}</p>
|
|
252
|
-
<h2>
|
|
261
|
+
<h2>Introduction</h2>
|
|
253
262
|
<p>${LOREM_LONG}</p>
|
|
254
|
-
<h2>
|
|
263
|
+
<h2>Main Content</h2>
|
|
255
264
|
<p>${LOREM_IPSUM}</p>
|
|
256
|
-
<h3>
|
|
265
|
+
<h3>Example Subsection</h3>
|
|
257
266
|
<p>${LOREM_IPSUM}</p>
|
|
258
|
-
<h2>
|
|
267
|
+
<h2>Wrapping Up</h2>
|
|
259
268
|
<p>${LOREM_LONG}</p>
|
|
260
269
|
`, [
|
|
261
|
-
{ type: 'heading', level: 1, content: '
|
|
270
|
+
{ type: 'heading', level: 1, content: 'My First Blog Post' },
|
|
262
271
|
{ type: 'paragraph', content: LOREM_IPSUM },
|
|
263
|
-
{ type: 'heading', level: 2, content: '
|
|
272
|
+
{ type: 'heading', level: 2, content: 'Introduction' },
|
|
264
273
|
{ type: 'paragraph', content: LOREM_LONG },
|
|
265
|
-
{ type: 'heading', level: 2, content: '
|
|
274
|
+
{ type: 'heading', level: 2, content: 'Main Content' },
|
|
266
275
|
{ type: 'paragraph', content: LOREM_IPSUM },
|
|
267
|
-
{ type: 'heading', level: 3, content: '
|
|
276
|
+
{ type: 'heading', level: 3, content: 'Example Subsection' },
|
|
268
277
|
{ type: 'paragraph', content: LOREM_IPSUM },
|
|
269
|
-
{ type: 'heading', level: 2, content: '
|
|
278
|
+
{ type: 'heading', level: 2, content: 'Wrapping Up' },
|
|
270
279
|
{ type: 'paragraph', content: LOREM_LONG },
|
|
271
280
|
]),
|
|
272
281
|
},
|
|
273
282
|
{
|
|
274
283
|
type: 'post',
|
|
275
|
-
slug: '
|
|
276
|
-
title: '
|
|
277
|
-
excerpt: '
|
|
284
|
+
slug: 'getting-started',
|
|
285
|
+
title: 'Getting Started with OkCMS',
|
|
286
|
+
excerpt: 'Learn the first steps to build your site with OkCMS.',
|
|
278
287
|
body: makeBody(`
|
|
279
|
-
<h1>
|
|
288
|
+
<h1>Getting Started with OkCMS</h1>
|
|
280
289
|
<p>${LOREM_IPSUM}</p>
|
|
281
|
-
<h2>
|
|
290
|
+
<h2>Installation</h2>
|
|
282
291
|
<p>${LOREM_LONG}</p>
|
|
283
|
-
<h2>
|
|
292
|
+
<h2>Initial Setup</h2>
|
|
284
293
|
<p>${LOREM_IPSUM}</p>
|
|
285
|
-
<h3>
|
|
294
|
+
<h3>Themes</h3>
|
|
286
295
|
<p>${LOREM_IPSUM}</p>
|
|
287
296
|
<h3>Plugins</h3>
|
|
288
297
|
<p>${LOREM_IPSUM}</p>
|
|
289
|
-
<h2>
|
|
298
|
+
<h2>Creating Content</h2>
|
|
290
299
|
<p>${LOREM_LONG}</p>
|
|
291
300
|
<h2>Deploy</h2>
|
|
292
301
|
<p>${LOREM_IPSUM}</p>
|
|
293
302
|
`, [
|
|
294
|
-
{ type: 'heading', level: 1, content: '
|
|
303
|
+
{ type: 'heading', level: 1, content: 'Getting Started with OkCMS' },
|
|
295
304
|
{ type: 'paragraph', content: LOREM_IPSUM },
|
|
296
|
-
{ type: 'heading', level: 2, content: '
|
|
305
|
+
{ type: 'heading', level: 2, content: 'Installation' },
|
|
297
306
|
{ type: 'paragraph', content: LOREM_LONG },
|
|
298
|
-
{ type: 'heading', level: 2, content: '
|
|
307
|
+
{ type: 'heading', level: 2, content: 'Initial Setup' },
|
|
299
308
|
{ type: 'paragraph', content: LOREM_IPSUM },
|
|
300
|
-
{ type: 'heading', level: 3, content: '
|
|
309
|
+
{ type: 'heading', level: 3, content: 'Themes' },
|
|
301
310
|
{ type: 'paragraph', content: LOREM_IPSUM },
|
|
302
311
|
{ type: 'heading', level: 3, content: 'Plugins' },
|
|
303
312
|
{ type: 'paragraph', content: LOREM_IPSUM },
|
|
304
|
-
{ type: 'heading', level: 2, content: '
|
|
313
|
+
{ type: 'heading', level: 2, content: 'Creating Content' },
|
|
305
314
|
{ type: 'paragraph', content: LOREM_LONG },
|
|
306
315
|
{ type: 'heading', level: 2, content: 'Deploy' },
|
|
307
316
|
{ type: 'paragraph', content: LOREM_IPSUM },
|
|
@@ -334,18 +343,18 @@ export async function seedDemoContent(sql = getConnection()) {
|
|
|
334
343
|
}
|
|
335
344
|
// ---- MENUS ----
|
|
336
345
|
const headerMenuItems = [
|
|
337
|
-
{ type: 'home', label: '
|
|
338
|
-
{ type: 'page', label: '
|
|
346
|
+
{ type: 'home', label: 'Home', url: '/' },
|
|
347
|
+
{ type: 'page', label: 'About', url: '/about', contentId: pageIds['about'] },
|
|
339
348
|
{ type: 'page', label: 'Blog', url: '/blog', contentId: pageIds['blog'] },
|
|
340
349
|
];
|
|
341
350
|
const footerMenuItems = [
|
|
342
|
-
{ type: 'custom', label: '
|
|
343
|
-
{ type: 'custom', label: '
|
|
351
|
+
{ type: 'custom', label: 'Contact', url: '/#contact' },
|
|
352
|
+
{ type: 'custom', label: 'Privacy', url: '/privacy' },
|
|
344
353
|
];
|
|
345
354
|
let menusCreated = 0;
|
|
346
355
|
for (const [slug, name, items] of [
|
|
347
|
-
['header', 'Menu
|
|
348
|
-
['footer', '
|
|
356
|
+
['header', 'Main Menu', headerMenuItems],
|
|
357
|
+
['footer', 'Footer', footerMenuItems],
|
|
349
358
|
]) {
|
|
350
359
|
console.log('[seedDemoContent] Inserting menu:', slug, 'tenantId:', tenantId);
|
|
351
360
|
const result = await sql.unsafe(`INSERT INTO menus (tenant_id, name, slug, items)
|
|
@@ -353,14 +362,14 @@ export async function seedDemoContent(sql = getConnection()) {
|
|
|
353
362
|
RETURNING id`, [tenantId, slug, name, items]);
|
|
354
363
|
menusCreated += result.length;
|
|
355
364
|
}
|
|
356
|
-
// ---- SETTINGS
|
|
365
|
+
// ---- READING SETTINGS (Static Front Page) ----
|
|
357
366
|
let readingSettingsCreated = 0;
|
|
358
367
|
if (pageIds['home'] && pageIds['blog']) {
|
|
359
368
|
for (const [key, value] of [
|
|
360
369
|
['static_front_page', pageIds['home']],
|
|
361
370
|
['page_for_posts', pageIds['blog']],
|
|
362
|
-
['timezone_string', '
|
|
363
|
-
['gmt_offset',
|
|
371
|
+
['timezone_string', 'UTC'],
|
|
372
|
+
['gmt_offset', 0],
|
|
364
373
|
]) {
|
|
365
374
|
console.log('[seedDemoContent] Inserting setting:', key, 'tenantId:', tenantId);
|
|
366
375
|
const result = await sql.unsafe(`INSERT INTO settings (tenant_id, key, value, "group", type)
|
|
@@ -371,11 +380,11 @@ export async function seedDemoContent(sql = getConnection()) {
|
|
|
371
380
|
}
|
|
372
381
|
return { pages: pagesCreated, posts: postsCreated, menus: menusCreated, readingSettings: readingSettingsCreated };
|
|
373
382
|
}
|
|
374
|
-
/**
|
|
383
|
+
/** Activates the default theme when no active theme exists yet. */
|
|
375
384
|
export async function seedActivateDefaultTheme(sql = getConnection()) {
|
|
376
385
|
try {
|
|
377
386
|
const tenantId = await resolveTenantId('default');
|
|
378
|
-
//
|
|
387
|
+
// Check if an active theme already exists
|
|
379
388
|
const activeTheme = await sql.unsafe(`SELECT id FROM themes WHERE status = 'ACTIVE' AND tenant_id = $1 LIMIT 1`, [tenantId]);
|
|
380
389
|
if (activeTheme.length > 0)
|
|
381
390
|
return;
|
|
@@ -390,7 +399,7 @@ export async function seedActivateDefaultTheme(sql = getConnection()) {
|
|
|
390
399
|
}
|
|
391
400
|
}
|
|
392
401
|
catch {
|
|
393
|
-
//
|
|
402
|
+
// Silent — theme activation is best-effort
|
|
394
403
|
}
|
|
395
404
|
}
|
|
396
405
|
//# 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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"}
|