@oktis-works/database 0.12.0 → 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.
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAKA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,GAAG;IACnC,MAAM,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,EACrC,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,GAAG,EAAE,EAClB,YAAY,CAAC,EAAE,GAAG,GACjB,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;CAC7B,CAAC;AAOF,iKAAiK;AACjK,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1C;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAsChE;AAED,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAOpG;AAED,8EAA8E;AAC9E,wBAAgB,yBAAyB,IAAI,OAAO,CAEnD;AAED,wBAAgB,SAAS,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAoB;AAEzE,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAKrD;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAQpD"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAKA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,GAAG;IACnC,MAAM,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,EACrC,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,GAAG,EAAE,EAClB,YAAY,CAAC,EAAE,GAAG,GACjB,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;CAC7B,CAAC;AAOF,iKAAiK;AACjK,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1C;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CA+ChE;AAED,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAOpG;AAED,8EAA8E;AAC9E,wBAAgB,yBAAyB,IAAI,OAAO,CAEnD;AAED,wBAAgB,SAAS,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAoB;AAEzE,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAKrD;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAQpD"}
@@ -29,9 +29,14 @@ export function createConnection(config) {
29
29
  password: config.password,
30
30
  ssl: config.ssl,
31
31
  max: config.maxConnections,
32
- idle_timeout: 20,
32
+ idle_timeout: 60,
33
33
  connect_timeout: 10,
34
+ max_lifetime: 60 * 30,
34
35
  transform: { undefined: null },
36
+ onnotice: (notice) => {
37
+ if (notice['severity'] === 'WARNING')
38
+ console.warn('[postgres]', notice['message']);
39
+ },
35
40
  });
36
41
  if (config.replica?.enabled) {
37
42
  _replicaSql = postgres({
@@ -42,8 +47,14 @@ export function createConnection(config) {
42
47
  password: config.password,
43
48
  ssl: config.ssl,
44
49
  max: config.maxConnections,
45
- idle_timeout: 20,
50
+ idle_timeout: 60,
46
51
  connect_timeout: 10,
52
+ max_lifetime: 60 * 30,
53
+ transform: { undefined: null },
54
+ onnotice: (notice) => {
55
+ if (notice['severity'] === 'WARNING')
56
+ console.warn('[postgres]', notice['message']);
57
+ },
47
58
  });
48
59
  }
49
60
  return _sql;
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
@@ -1,56 +1,56 @@
1
1
  import type postgres from 'postgres';
2
2
  type Sql = postgres.Sql;
3
- /** Roles canônicas — DEVEM casar com os slugs do DEFAULT_POLICY do auth. */
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: "Administrador";
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: "Autor";
14
+ readonly name: "Author";
15
15
  readonly slug: "AUTHOR";
16
16
  }, {
17
- readonly name: "Leitor";
17
+ readonly name: "Reader";
18
18
  readonly slug: "VIEWER";
19
19
  }];
20
- /** Settings iniciais do grupo `general` (form de Settings → General da admin). */
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: "Meu Site";
23
+ readonly value: "My Site";
24
24
  readonly type: "string";
25
25
  }, {
26
26
  readonly key: "siteDescription";
27
- readonly value: "Um novo site feito com OkCMS";
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: "pt-BR";
31
+ readonly value: "en";
32
32
  readonly type: "string";
33
33
  }, {
34
34
  readonly key: "timezone";
35
- readonly value: "America/Sao_Paulo";
35
+ readonly value: "UTC";
36
36
  readonly type: "string";
37
37
  }];
38
- /** Cria (se faltar) as roles globais (tenant_id NULL) da política. Retorna qtd criada. */
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
- /** Cria (se faltar) os settings iniciais no tenant dado. Retorna qtd criada. */
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` da CLI e como fallback no registro do primeiro usuário.
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
- * Seed de conteúdo demonstrativo (páginas, posts, menus, settings de leitura).
52
- * Idempotente: usa ON CONFLICT em content (tenant_id, type, slug), menus (tenant_id, slug),
53
- * e settings (key, tenant_id).
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
- /** Ativa o tema default se ainda não houver tema ativo. */
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,4EAA4E;AAC5E,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;EAMhB,CAAC;AAEX,kFAAkF;AAClF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;EAKnB,CAAC;AAEX,0FAA0F;AAC1F,wBAAsB,gBAAgB,CAAC,GAAG,GAAE,GAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBlF;AAED,gFAAgF;AAChF,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,CA8SnF;AAED,2DAA2D;AAC3D,wBAAsB,wBAAwB,CAC5C,GAAG,GAAE,GAAqB,GACzB,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
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"}
@@ -1,9 +1,9 @@
1
- // @oktis-works/database - Seeds de dados padrão (roles + settings)
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
- // banco: o JWT carrega só os slugs (lidos de roles via tenant_users) e sem
5
- // a linha da role o usuário nasce sem papel → 403 em toda rota protegida
6
- // (registrava, logava, mas não operava nada).
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
- /** Roles canônicas — DEVEM casar com os slugs do DEFAULT_POLICY do auth. */
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: 'Administrador', slug: 'TENANT_ADMIN' },
17
+ { name: 'Administrator', slug: 'TENANT_ADMIN' },
18
18
  { name: 'Editor', slug: 'EDITOR' },
19
- { name: 'Autor', slug: 'AUTHOR' },
20
- { name: 'Leitor', slug: 'VIEWER' },
19
+ { name: 'Author', slug: 'AUTHOR' },
20
+ { name: 'Reader', slug: 'VIEWER' },
21
21
  ];
22
- /** Settings iniciais do grupo `general` (form de Settings → General da admin). */
22
+ /** Initial settings of the `general` group (admin Settings → General form). */
23
23
  export const DEFAULT_SETTINGS = [
24
- { key: 'siteTitle', value: 'Meu Site', type: 'string' },
25
- { key: 'siteDescription', value: 'Um novo site feito com OkCMS', type: 'string' },
26
- { key: 'language', value: 'pt-BR', type: 'string' },
27
- { key: 'timezone', value: 'America/Sao_Paulo', type: 'string' },
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
- /** Cria (se faltar) as roles globais (tenant_id NULL) da política. Retorna qtd criada. */
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
- // Cast explícito: $2 aparece em dois contextos (valor de inserção e
34
- // comparação de coluna) — sem cast o Postgres deduz tipos diferentes
35
- // para o mesmo parâmetro e falha com "inconsistent types deduced".
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
- /** Cria (se faltar) os settings iniciais no tenant dado. Retorna qtd criada. */
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
- // (contaria 0 no log e quebraria a detecção de idempotência).
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` da CLI e como fallback no registro do primeiro usuário.
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
- /** Lorem ipsum longo para conteúdo de posts/páginas. */
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
- /** Estrutura padrão do body do editor (blocos + html renderizado). */
78
+ /** Default editor body structure (blocks + rendered html). */
79
79
  function makeBody(html, blocks = []) {
80
80
  return {
81
81
  html,
@@ -85,12 +85,36 @@ function makeBody(html, blocks = []) {
85
85
  };
86
86
  }
87
87
  /**
88
- * Seed de conteúdo demonstrativo (páginas, posts, menus, settings de leitura).
89
- * Idempotente: usa ON CONFLICT em content (tenant_id, type, slug), menus (tenant_id, slug),
90
- * e settings (key, tenant_id).
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
+ // Clear previous demo data to guarantee idempotency
95
+ await sql.unsafe(`
96
+ DELETE FROM settings WHERE tenant_id = $1 AND "group" = 'reading'
97
+ AND key IN ('static_front_page', 'page_for_posts', 'timezone_string', 'gmt_offset')
98
+ `, [tenantId]);
99
+ await sql.unsafe(`
100
+ DELETE FROM menus WHERE tenant_id = $1 AND slug IN ('header', 'footer')
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.
104
+ await sql.unsafe(`
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
+ )
109
+ `, [tenantId]);
110
+ await sql.unsafe(`
111
+ DELETE FROM tenant_users WHERE tenant_id = $1 AND user_id IN (
112
+ SELECT id FROM users WHERE email = 'admin@local'
113
+ )
114
+ `, [tenantId]);
115
+ await sql.unsafe(`
116
+ DELETE FROM users WHERE email = 'admin@local'
117
+ `);
94
118
  console.log('[seedDemoContent] tenantId:', tenantId);
95
119
  // Check if constraint exists
96
120
  const constraintCheck = await sql.unsafe(`
@@ -98,13 +122,13 @@ export async function seedDemoContent(sql = getConnection()) {
98
122
  WHERE conrelid = 'content'::regclass AND contype = 'u'
99
123
  `);
100
124
  console.log('[seedDemoContent] constraints on content:', constraintCheck);
101
- // Autor padrão: primeiro usuário do tenant (ou cria um se não houver)
125
+ // Default author: first user of the tenant (creates one if none exists)
102
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]);
103
127
  let authorId;
104
128
  if (authorResult.length === 0) {
105
- // Fallback: cria usuário admin se não houver nenhum
129
+ // Fallback: creates an admin user when none exists
106
130
  const newUser = await sql.unsafe(`INSERT INTO users (email, name, password_hash, status)
107
- VALUES ('admin@local', 'Administrador', '$2b$10$dummy', 'ACTIVE')
131
+ VALUES ('admin@local', 'Administrator', '$2b$10$dummy', 'ACTIVE')
108
132
  ON CONFLICT (email) DO UPDATE SET name = EXCLUDED.name RETURNING id`);
109
133
  authorId = String(newUser[0]?.['id'] ?? '');
110
134
  await sql.unsafe(`INSERT INTO tenant_users (tenant_id, user_id, role_id)
@@ -115,61 +139,65 @@ export async function seedDemoContent(sql = getConnection()) {
115
139
  authorId = String(authorResult[0]?.['id'] ?? '');
116
140
  }
117
141
  const now = new Date();
118
- // ---- PÁGINAS ----
142
+ // ---- PAGES ----
119
143
  const pages = [
120
144
  {
121
145
  type: 'page',
122
146
  slug: 'home',
123
- title: 'Início',
124
- excerpt: 'Bem-vindo ao seu novo site com OkCMS.',
147
+ title: 'Home',
148
+ excerpt: 'Welcome to your brand new OkCMS site.',
125
149
  body: makeBody(`
126
150
  <section class="hero">
127
- <h1>Bem-vindo ao OkCMS</h1>
128
- <p>Seu novo site está pronto para personalizar.</p>
129
- <a href="/blog" class="btn btn-primary">Ver Blog</a>
130
- </section>
131
- <section id="sobre" class="about-preview">
132
- <h2>Sobre Nós</h2>
133
- <p>${LOREM_IPSUM}</p>
134
- <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>
135
158
  </section>
136
- <section class="latest-posts">
137
- <h2>Últimos Artigos</h2>
138
- <p>Os artigos mais recentes aparecerão aqui automaticamente.</p>
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>
139
167
  </section>
140
- <section id="contato" class="contact">
141
- <h2>Entre em Contato</h2>
142
- <p>Preencha o formulário ou envie um e-mail para contato@exemplo.com</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>
143
173
  </section>
144
174
  `, [
145
- { type: 'heading', level: 1, content: 'Bem-vindo ao OkCMS' },
146
- { type: 'paragraph', content: 'Seu novo site está pronto para personalizar.' },
147
- { type: 'heading', level: 2, content: 'Sobre Nós' },
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' },
148
178
  { type: 'paragraph', content: LOREM_IPSUM },
149
- { type: 'heading', level: 2, content: 'Últimos Artigos' },
150
- { type: 'paragraph', content: 'Os artigos mais recentes aparecerão aqui automaticamente.' },
151
- { type: 'heading', level: 2, content: 'Entre em Contato' },
152
- { 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.' },
153
181
  ]),
154
182
  },
155
183
  {
156
184
  type: 'page',
157
- slug: 'sobre',
158
- title: 'Sobre Nós',
159
- excerpt: 'Conheça nossa história e missão.',
185
+ slug: 'about',
186
+ title: 'About Us',
187
+ excerpt: 'Learn more about our story and mission.',
160
188
  body: makeBody(`
161
- <h2>Nossa História</h2>
189
+ <h2>Our Story</h2>
162
190
  <p>${LOREM_LONG}</p>
163
- <h2>Nossa Missão</h2>
191
+ <h2>Our Mission</h2>
164
192
  <p>${LOREM_IPSUM}</p>
165
- <h2>Equipe</h2>
193
+ <h2>Our Team</h2>
166
194
  <p>${LOREM_IPSUM}</p>
167
195
  `, [
168
- { type: 'heading', level: 2, content: 'Nossa História' },
196
+ { type: 'heading', level: 2, content: 'Our Story' },
169
197
  { type: 'paragraph', content: LOREM_LONG },
170
- { type: 'heading', level: 2, content: 'Nossa Missão' },
198
+ { type: 'heading', level: 2, content: 'Our Mission' },
171
199
  { type: 'paragraph', content: LOREM_IPSUM },
172
- { type: 'heading', level: 2, content: 'Equipe' },
200
+ { type: 'heading', level: 2, content: 'Our Team' },
173
201
  { type: 'paragraph', content: LOREM_IPSUM },
174
202
  ]),
175
203
  },
@@ -177,13 +205,13 @@ export async function seedDemoContent(sql = getConnection()) {
177
205
  type: 'page',
178
206
  slug: 'blog',
179
207
  title: 'Blog',
180
- excerpt: 'Artigos, tutoriais e novidades.',
208
+ excerpt: 'Articles, tutorials and release notes.',
181
209
  body: makeBody(`
182
- <p>Bem-vindo ao nosso blog. Aqui você encontrará artigos, tutoriais e novidades sobre OkCMS.</p>
183
- <p>Os posts mais recentes são listados abaixo automaticamente.</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>
184
212
  `, [
185
- { type: 'paragraph', content: 'Bem-vindo ao nosso blog. Aqui você encontrará artigos, tutoriais e novidades sobre OkCMS.' },
186
- { type: 'paragraph', content: 'Os posts mais recentes são listados abaixo automaticamente.' },
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.' },
187
215
  ]),
188
216
  },
189
217
  ];
@@ -194,10 +222,12 @@ export async function seedDemoContent(sql = getConnection()) {
194
222
  let result;
195
223
  try {
196
224
  // Use CTE-based upsert to avoid constraint caching issues
225
+ // `$5::jsonb` PARSES the serialized document into a jsonb object;
226
+ // `to_jsonb($5::text)` would wrap it as a jsonb string (double-encoded).
197
227
  result = await sql.unsafe(`WITH upsert AS (
198
228
  UPDATE content
199
229
  SET title = $3,
200
- body = to_jsonb($5::text),
230
+ body = $5::jsonb,
201
231
  excerpt = $6,
202
232
  status = 'PUBLISHED',
203
233
  author_id = $7,
@@ -207,7 +237,7 @@ export async function seedDemoContent(sql = getConnection()) {
207
237
  RETURNING id
208
238
  )
209
239
  INSERT INTO content (tenant_id, type, title, slug, body, excerpt, status, author_id, published_at, created_at, updated_at)
210
- SELECT $1, $2, $3, $4, to_jsonb($5::text), $6, 'PUBLISHED', $7, $8, $9, $10
240
+ SELECT $1, $2, $3, $4, $5::jsonb, $6, 'PUBLISHED', $7, $8, $9, $10
211
241
  WHERE NOT EXISTS (SELECT 1 FROM content WHERE tenant_id = $1 AND type = $2 AND slug = $4)
212
242
  RETURNING id`, [tenantId, page.type, page.title, page.slug, JSON.stringify(page.body), page.excerpt, authorId, now, now, now]);
213
243
  }
@@ -222,65 +252,65 @@ export async function seedDemoContent(sql = getConnection()) {
222
252
  const posts = [
223
253
  {
224
254
  type: 'post',
225
- slug: 'primeiro-post',
226
- title: 'Primeiro Artigo do Blog',
227
- excerpt: 'Este é o primeiro artigo de demonstração do blog.',
255
+ slug: 'first-post',
256
+ title: 'My First Blog Post',
257
+ excerpt: 'This is the first demo post of the blog.',
228
258
  body: makeBody(`
229
- <h1>Primeiro Artigo do Blog</h1>
259
+ <h1>My First Blog Post</h1>
230
260
  <p>${LOREM_IPSUM}</p>
231
- <h2>Introdução</h2>
261
+ <h2>Introduction</h2>
232
262
  <p>${LOREM_LONG}</p>
233
- <h2>Desenvolvimento</h2>
263
+ <h2>Main Content</h2>
234
264
  <p>${LOREM_IPSUM}</p>
235
- <h3>Subseção Exemplo</h3>
265
+ <h3>Example Subsection</h3>
236
266
  <p>${LOREM_IPSUM}</p>
237
- <h2>Conclusão</h2>
267
+ <h2>Wrapping Up</h2>
238
268
  <p>${LOREM_LONG}</p>
239
269
  `, [
240
- { type: 'heading', level: 1, content: 'Primeiro Artigo do Blog' },
270
+ { type: 'heading', level: 1, content: 'My First Blog Post' },
241
271
  { type: 'paragraph', content: LOREM_IPSUM },
242
- { type: 'heading', level: 2, content: 'Introdução' },
272
+ { type: 'heading', level: 2, content: 'Introduction' },
243
273
  { type: 'paragraph', content: LOREM_LONG },
244
- { type: 'heading', level: 2, content: 'Desenvolvimento' },
274
+ { type: 'heading', level: 2, content: 'Main Content' },
245
275
  { type: 'paragraph', content: LOREM_IPSUM },
246
- { type: 'heading', level: 3, content: 'Subseção Exemplo' },
276
+ { type: 'heading', level: 3, content: 'Example Subsection' },
247
277
  { type: 'paragraph', content: LOREM_IPSUM },
248
- { type: 'heading', level: 2, content: 'Conclusão' },
278
+ { type: 'heading', level: 2, content: 'Wrapping Up' },
249
279
  { type: 'paragraph', content: LOREM_LONG },
250
280
  ]),
251
281
  },
252
282
  {
253
283
  type: 'post',
254
- slug: 'segundo-post',
255
- title: 'Dicas para Começar com OkCMS',
256
- excerpt: 'Aprenda os primeiros passos para criar seu site com OkCMS.',
284
+ slug: 'getting-started',
285
+ title: 'Getting Started with OkCMS',
286
+ excerpt: 'Learn the first steps to build your site with OkCMS.',
257
287
  body: makeBody(`
258
- <h1>Dicas para Começar com OkCMS</h1>
288
+ <h1>Getting Started with OkCMS</h1>
259
289
  <p>${LOREM_IPSUM}</p>
260
- <h2>Instalação</h2>
290
+ <h2>Installation</h2>
261
291
  <p>${LOREM_LONG}</p>
262
- <h2>Configuração Inicial</h2>
292
+ <h2>Initial Setup</h2>
263
293
  <p>${LOREM_IPSUM}</p>
264
- <h3>Temas</h3>
294
+ <h3>Themes</h3>
265
295
  <p>${LOREM_IPSUM}</p>
266
296
  <h3>Plugins</h3>
267
297
  <p>${LOREM_IPSUM}</p>
268
- <h2>Criando Conteúdo</h2>
298
+ <h2>Creating Content</h2>
269
299
  <p>${LOREM_LONG}</p>
270
300
  <h2>Deploy</h2>
271
301
  <p>${LOREM_IPSUM}</p>
272
302
  `, [
273
- { type: 'heading', level: 1, content: 'Dicas para Começar com OkCMS' },
303
+ { type: 'heading', level: 1, content: 'Getting Started with OkCMS' },
274
304
  { type: 'paragraph', content: LOREM_IPSUM },
275
- { type: 'heading', level: 2, content: 'Instalação' },
305
+ { type: 'heading', level: 2, content: 'Installation' },
276
306
  { type: 'paragraph', content: LOREM_LONG },
277
- { type: 'heading', level: 2, content: 'Configuração Inicial' },
307
+ { type: 'heading', level: 2, content: 'Initial Setup' },
278
308
  { type: 'paragraph', content: LOREM_IPSUM },
279
- { type: 'heading', level: 3, content: 'Temas' },
309
+ { type: 'heading', level: 3, content: 'Themes' },
280
310
  { type: 'paragraph', content: LOREM_IPSUM },
281
311
  { type: 'heading', level: 3, content: 'Plugins' },
282
312
  { type: 'paragraph', content: LOREM_IPSUM },
283
- { type: 'heading', level: 2, content: 'Criando Conteúdo' },
313
+ { type: 'heading', level: 2, content: 'Creating Content' },
284
314
  { type: 'paragraph', content: LOREM_LONG },
285
315
  { type: 'heading', level: 2, content: 'Deploy' },
286
316
  { type: 'paragraph', content: LOREM_IPSUM },
@@ -290,10 +320,13 @@ export async function seedDemoContent(sql = getConnection()) {
290
320
  let postsCreated = 0;
291
321
  for (const post of posts) {
292
322
  console.log('[seedDemoContent] Inserting post:', post.slug, 'tenantId:', tenantId, 'authorId:', authorId);
293
- const result = await sql.unsafe(`WITH upsert AS (
323
+ const result = await sql.unsafe(
324
+ // `$5::jsonb` parses (see the pages upsert above) — `to_jsonb($5::text)`
325
+ // would store the document as a double-encoded jsonb string.
326
+ `WITH upsert AS (
294
327
  UPDATE content
295
328
  SET title = $3,
296
- body = to_jsonb($5::text),
329
+ body = $5::jsonb,
297
330
  excerpt = $6,
298
331
  status = 'PUBLISHED',
299
332
  author_id = $7,
@@ -303,70 +336,55 @@ export async function seedDemoContent(sql = getConnection()) {
303
336
  RETURNING id
304
337
  )
305
338
  INSERT INTO content (tenant_id, type, title, slug, body, excerpt, status, author_id, published_at, created_at, updated_at)
306
- SELECT $1, $2, $3, $4, to_jsonb($5::text), $6, 'PUBLISHED', $7, $8, $9, $10
339
+ SELECT $1, $2, $3, $4, $5::jsonb, $6, 'PUBLISHED', $7, $8, $9, $10
307
340
  WHERE NOT EXISTS (SELECT 1 FROM content WHERE tenant_id = $1 AND type = $2 AND slug = $4)
308
341
  RETURNING id`, [tenantId, post.type, post.title, post.slug, JSON.stringify(post.body), post.excerpt, authorId, now, now, now]);
309
342
  postsCreated += result.length;
310
343
  }
311
344
  // ---- MENUS ----
312
345
  const headerMenuItems = [
313
- { type: 'home', label: 'Início', url: '/' },
314
- { type: 'page', label: 'Sobre', url: '/sobre', contentId: pageIds['sobre'] },
346
+ { type: 'home', label: 'Home', url: '/' },
347
+ { type: 'page', label: 'About', url: '/about', contentId: pageIds['about'] },
315
348
  { type: 'page', label: 'Blog', url: '/blog', contentId: pageIds['blog'] },
316
349
  ];
317
350
  const footerMenuItems = [
318
- { type: 'custom', label: 'Contato', url: '/#contato' },
319
- { type: 'custom', label: 'Privacidade', url: '/privacidade' },
351
+ { type: 'custom', label: 'Contact', url: '/#contact' },
352
+ { type: 'custom', label: 'Privacy', url: '/privacy' },
320
353
  ];
321
354
  let menusCreated = 0;
322
355
  for (const [slug, name, items] of [
323
- ['header', 'Menu Principal', headerMenuItems],
324
- ['footer', 'Rodapé', footerMenuItems],
356
+ ['header', 'Main Menu', headerMenuItems],
357
+ ['footer', 'Footer', footerMenuItems],
325
358
  ]) {
326
359
  console.log('[seedDemoContent] Inserting menu:', slug, 'tenantId:', tenantId);
327
- const result = await sql.unsafe(`WITH upsert AS (
328
- UPDATE menus
329
- SET name = $3,
330
- items = $4::jsonb
331
- WHERE tenant_id = $1 AND slug = $2
332
- RETURNING id
333
- )
334
- INSERT INTO menus (tenant_id, name, slug, items)
335
- SELECT $1, $2, $3, $4::jsonb
336
- WHERE NOT EXISTS (SELECT 1 FROM menus WHERE tenant_id = $1 AND slug = $2)
337
- RETURNING id`, [tenantId, slug, name, items]);
360
+ const result = await sql.unsafe(`INSERT INTO menus (tenant_id, name, slug, items)
361
+ VALUES ($1, $2, $3, $4::jsonb)
362
+ RETURNING id`, [tenantId, slug, name, items]);
338
363
  menusCreated += result.length;
339
364
  }
340
- // ---- SETTINGS DE LEITURA (Static Front Page) ----
365
+ // ---- READING SETTINGS (Static Front Page) ----
341
366
  let readingSettingsCreated = 0;
342
367
  if (pageIds['home'] && pageIds['blog']) {
343
368
  for (const [key, value] of [
344
369
  ['static_front_page', pageIds['home']],
345
370
  ['page_for_posts', pageIds['blog']],
346
- ['timezone_string', 'America/Sao_Paulo'],
347
- ['gmt_offset', -3],
371
+ ['timezone_string', 'UTC'],
372
+ ['gmt_offset', 0],
348
373
  ]) {
349
374
  console.log('[seedDemoContent] Inserting setting:', key, 'tenantId:', tenantId);
350
- const result = await sql.unsafe(`WITH upsert AS (
351
- UPDATE settings
352
- SET value = to_jsonb($3::text)
353
- WHERE tenant_id = $1 AND key = $2
354
- RETURNING id
355
- )
356
- INSERT INTO settings (tenant_id, key, value, "group", type)
357
- SELECT $1, $2, to_jsonb($3::text), 'reading', 'string'
358
- WHERE NOT EXISTS (SELECT 1 FROM settings WHERE tenant_id = $1 AND key = $2)
359
- RETURNING id`, [tenantId, key, value]);
375
+ const result = await sql.unsafe(`INSERT INTO settings (tenant_id, key, value, "group", type)
376
+ VALUES ($1, $2, to_jsonb($3::text), 'reading', 'string')
377
+ RETURNING id`, [tenantId, key, value]);
360
378
  readingSettingsCreated += result.length;
361
379
  }
362
380
  }
363
381
  return { pages: pagesCreated, posts: postsCreated, menus: menusCreated, readingSettings: readingSettingsCreated };
364
382
  }
365
- /** Ativa o tema default se ainda não houver tema ativo. */
383
+ /** Activates the default theme when no active theme exists yet. */
366
384
  export async function seedActivateDefaultTheme(sql = getConnection()) {
367
385
  try {
368
386
  const tenantId = await resolveTenantId('default');
369
- // Verifica se já existe tema ativo
387
+ // Check if an active theme already exists
370
388
  const activeTheme = await sql.unsafe(`SELECT id FROM themes WHERE status = 'ACTIVE' AND tenant_id = $1 LIMIT 1`, [tenantId]);
371
389
  if (activeTheme.length > 0)
372
390
  return;
@@ -381,7 +399,7 @@ export async function seedActivateDefaultTheme(sql = getConnection()) {
381
399
  }
382
400
  }
383
401
  catch {
384
- // Silencioso - ativação do tema é best-effort
402
+ // Silent — theme activation is best-effort
385
403
  }
386
404
  }
387
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oktis-works/database",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",