@adminiumjs/meta 0.2.2-rc.0 → 0.2.3

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.
Files changed (81) hide show
  1. package/dist/ids.d.ts +6 -0
  2. package/dist/ids.d.ts.map +1 -1
  3. package/dist/ids.js +14 -0
  4. package/dist/ids.js.map +1 -1
  5. package/dist/migrations/0014_public_surface.d.ts +40 -0
  6. package/dist/migrations/0014_public_surface.d.ts.map +1 -0
  7. package/dist/migrations/0014_public_surface.js +186 -0
  8. package/dist/migrations/0014_public_surface.js.map +1 -0
  9. package/dist/migrations/0015_connection_tenant_config.d.ts +42 -0
  10. package/dist/migrations/0015_connection_tenant_config.d.ts.map +1 -0
  11. package/dist/migrations/0015_connection_tenant_config.js +53 -0
  12. package/dist/migrations/0015_connection_tenant_config.js.map +1 -0
  13. package/dist/migrations/0016_audit_entity.d.ts +33 -0
  14. package/dist/migrations/0016_audit_entity.d.ts.map +1 -0
  15. package/dist/migrations/0016_audit_entity.js +137 -0
  16. package/dist/migrations/0016_audit_entity.js.map +1 -0
  17. package/dist/migrations/0017_surface_binding.d.ts +23 -0
  18. package/dist/migrations/0017_surface_binding.d.ts.map +1 -0
  19. package/dist/migrations/0017_surface_binding.js +37 -0
  20. package/dist/migrations/0017_surface_binding.js.map +1 -0
  21. package/dist/migrations/0018_connection_timezone_source.d.ts +44 -0
  22. package/dist/migrations/0018_connection_timezone_source.d.ts.map +1 -0
  23. package/dist/migrations/0018_connection_timezone_source.js +51 -0
  24. package/dist/migrations/0018_connection_timezone_source.js.map +1 -0
  25. package/dist/migrations/0019_connection_disabled.d.ts +38 -0
  26. package/dist/migrations/0019_connection_disabled.d.ts.map +1 -0
  27. package/dist/migrations/0019_connection_disabled.js +43 -0
  28. package/dist/migrations/0019_connection_disabled.js.map +1 -0
  29. package/dist/migrations/0020_manifests_add_on.d.ts +71 -0
  30. package/dist/migrations/0020_manifests_add_on.d.ts.map +1 -0
  31. package/dist/migrations/0020_manifests_add_on.js +111 -0
  32. package/dist/migrations/0020_manifests_add_on.js.map +1 -0
  33. package/dist/migrations/0021_add_on_credentials.d.ts +50 -0
  34. package/dist/migrations/0021_add_on_credentials.d.ts.map +1 -0
  35. package/dist/migrations/0021_add_on_credentials.js +80 -0
  36. package/dist/migrations/0021_add_on_credentials.js.map +1 -0
  37. package/dist/migrations/0022_studio_namespace.d.ts +44 -0
  38. package/dist/migrations/0022_studio_namespace.d.ts.map +1 -0
  39. package/dist/migrations/0022_studio_namespace.js +113 -0
  40. package/dist/migrations/0022_studio_namespace.js.map +1 -0
  41. package/dist/migrations/index.d.ts.map +1 -1
  42. package/dist/migrations/index.js +18 -0
  43. package/dist/migrations/index.js.map +1 -1
  44. package/dist/relocate.d.ts +1 -1
  45. package/dist/relocate.js +1 -1
  46. package/dist/repos/audit.d.ts.map +1 -1
  47. package/dist/repos/audit.js +8 -2
  48. package/dist/repos/audit.js.map +1 -1
  49. package/dist/repos/connections.d.ts +62 -0
  50. package/dist/repos/connections.d.ts.map +1 -1
  51. package/dist/repos/connections.js +104 -0
  52. package/dist/repos/connections.js.map +1 -1
  53. package/dist/repos/index.d.ts +2 -0
  54. package/dist/repos/index.d.ts.map +1 -1
  55. package/dist/repos/index.js +2 -0
  56. package/dist/repos/index.js.map +1 -1
  57. package/dist/repos/manifests.d.ts +139 -0
  58. package/dist/repos/manifests.d.ts.map +1 -0
  59. package/dist/repos/manifests.js +279 -0
  60. package/dist/repos/manifests.js.map +1 -0
  61. package/dist/repos/pages.d.ts +7 -0
  62. package/dist/repos/pages.d.ts.map +1 -1
  63. package/dist/repos/pages.js +39 -8
  64. package/dist/repos/pages.js.map +1 -1
  65. package/dist/repos/public-api.d.ts +140 -0
  66. package/dist/repos/public-api.d.ts.map +1 -0
  67. package/dist/repos/public-api.js +299 -0
  68. package/dist/repos/public-api.js.map +1 -0
  69. package/dist/schema/json-payloads.d.ts +27 -2
  70. package/dist/schema/json-payloads.d.ts.map +1 -1
  71. package/dist/schema/json-payloads.js +41 -2
  72. package/dist/schema/json-payloads.js.map +1 -1
  73. package/dist/schema/settings-registry.d.ts +65 -0
  74. package/dist/schema/settings-registry.d.ts.map +1 -1
  75. package/dist/schema/settings-registry.js +183 -0
  76. package/dist/schema/settings-registry.js.map +1 -1
  77. package/dist/schema/tables.d.ts +177 -1
  78. package/dist/schema/tables.d.ts.map +1 -1
  79. package/dist/schema/tables.js +6 -0
  80. package/dist/schema/tables.js.map +1 -1
  81. package/package.json +1 -1
@@ -0,0 +1,113 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
2
+ /**
3
+ * Wave 0022 — the Studio's messages moved namespace, so the operator's
4
+ * rewordings of them have to move with the messages (10-T06).
5
+ *
6
+ * ─── What moved, and why it is not a rename ────────────────────────────────
7
+ *
8
+ * `common.studio.*` and `common.studioPages.*` — 971 keys, the whole admin
9
+ * console — became the `studio` namespace's `*` and `pages.*`. The point was
10
+ * bundle weight: `studio` is fetched when somebody opens the Studio instead of
11
+ * shipping in every user's first load. But `adminium_translations` files a row
12
+ * by `(scope, locale, namespace, key)`, so an override an admin wrote against
13
+ * the old address stops resolving the moment the message answers to a new one.
14
+ * Nothing errors. The string simply reverts to the compiled English, on the
15
+ * one surface whose users are the people who did the rewording.
16
+ *
17
+ * So this is a DATA move, in JavaScript rather than SQL: `substr` and string
18
+ * concatenation are spelled three different ways across sqlite, postgres and
19
+ * mysql, and the row count here is bounded by how many messages a human has
20
+ * personally rewritten.
21
+ *
22
+ * ─── The two carried keys ──────────────────────────────────────────────────
23
+ *
24
+ * The topbar's Studio menu used to title its two items from `studio.hub.title`
25
+ * and `studio.settingsHub.title`. It paints on every route, long before any
26
+ * Studio chunk exists, so it now has its own `common:topbar.*` keys.
27
+ *
28
+ * An override on either old key is COPIED to the new one rather than only
29
+ * moved. The alternative is an operator who renamed "Data connections" to
30
+ * "Databases" finding the page still says Databases and the menu item that
31
+ * opens it saying Data connections — a split they did not ask for and cannot
32
+ * see the cause of. The cost is honest and small: two rows where there was
33
+ * one, so a later reset has to be done twice. Preserving what they configured
34
+ * is worth more than saving them a click they may never make.
35
+ *
36
+ * ─── No version bump ───────────────────────────────────────────────────────
37
+ *
38
+ * The i18n version counter in `adminium_settings` is what makes a warm browser
39
+ * refetch. It is deliberately untouched: a cached override under a key that no
40
+ * longer exists resolves for nothing and is inert, and the next ordinary write
41
+ * moves the counter anyway.
42
+ */
43
+ import { newId } from '../ids.js';
44
+ import { metaTable } from '../prefix.js';
45
+ /** Old `common` key → its address in the `studio` namespace. */
46
+ function movedKey(key) {
47
+ if (key.startsWith('studioPages.'))
48
+ return `pages.${key.slice('studioPages.'.length)}`;
49
+ if (key.startsWith('studio.'))
50
+ return key.slice('studio.'.length);
51
+ return null;
52
+ }
53
+ /** Old `common` key → the `common` key the topbar reads it from now. */
54
+ const CARRIED = {
55
+ 'studio.hub.title': 'topbar.dataConnections',
56
+ 'studio.settingsHub.title': 'topbar.workspaceSettings',
57
+ };
58
+ // No column-helpers parameter: this wave adds no column. It is the only
59
+ // migration in this directory that moves DATA rather than shape, and a
60
+ // declared-but-unused helper would suggest otherwise.
61
+ export async function up(db) {
62
+ const table = metaTable('translations');
63
+ const moveDb = db;
64
+ const rows = await moveDb
65
+ .selectFrom(table)
66
+ .select(['id', 'scope', 'locale', 'namespace', 'key', 'value', 'sourceText', 'updatedBy', 'createdAt', 'updatedAt'])
67
+ .where('namespace', '=', 'common')
68
+ .execute();
69
+ for (const row of rows) {
70
+ const moved = movedKey(row.key);
71
+ if (moved === null)
72
+ continue;
73
+ // Copy BEFORE the move, while the row still says what it used to. Guarded
74
+ // rather than assumed unique: the unique index is
75
+ // (scope, locale, namespace, key), and an admin who had already
76
+ // overridden `topbar.*` — impossible today, but this migration outlives
77
+ // that fact — must not lose the row they wrote by hand.
78
+ const carried = CARRIED[row.key];
79
+ if (carried !== undefined) {
80
+ const existing = await moveDb
81
+ .selectFrom(table)
82
+ .select('id')
83
+ .where('scope', '=', row.scope)
84
+ .where('locale', '=', row.locale)
85
+ .where('namespace', '=', 'common')
86
+ .where('key', '=', carried)
87
+ .executeTakeFirst();
88
+ if (existing === undefined) {
89
+ await moveDb
90
+ .insertInto(table)
91
+ .values({
92
+ id: newId('trn'),
93
+ scope: row.scope,
94
+ locale: row.locale,
95
+ namespace: 'common',
96
+ key: carried,
97
+ value: row.value,
98
+ sourceText: row.sourceText,
99
+ updatedBy: row.updatedBy,
100
+ createdAt: row.createdAt,
101
+ updatedAt: row.updatedAt,
102
+ })
103
+ .execute();
104
+ }
105
+ }
106
+ await moveDb
107
+ .updateTable(table)
108
+ .set({ namespace: 'studio', key: moved })
109
+ .where('id', '=', row.id)
110
+ .execute();
111
+ }
112
+ }
113
+ //# sourceMappingURL=0022_studio_namespace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0022_studio_namespace.js","sourceRoot":"","sources":["../../src/migrations/0022_studio_namespace.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAenD,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvE;AAED,eAAO,MAAM,cAAc,EAAE,SAAS,aAAa,EAclD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAwBnD,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvE;AAED,eAAO,MAAM,cAAc,EAAE,SAAS,aAAa,EAuBlD,CAAC"}
@@ -32,6 +32,15 @@ import { up as up0010 } from './0010_llm_prompt_version_width.js';
32
32
  import { up as up0011 } from './0011_i18n_runtime.js';
33
33
  import { up as up0012 } from './0012_locale_width.js';
34
34
  import { up as up0013 } from './0013_connection_last_error_hint.js';
35
+ import { up as up0015 } from './0015_connection_tenant_config.js';
36
+ import { up as up0014 } from './0014_public_surface.js';
37
+ import { up as up0016 } from './0016_audit_entity.js';
38
+ import { up as up0017 } from './0017_surface_binding.js';
39
+ import { up as up0018 } from './0018_connection_timezone_source.js';
40
+ import { up as up0019 } from './0019_connection_disabled.js';
41
+ import { up as up0020 } from './0020_manifests_add_on.js';
42
+ import { up as up0021 } from './0021_add_on_credentials.js';
43
+ import { up as up0022 } from './0022_studio_namespace.js';
35
44
  export const ALL_MIGRATIONS = [
36
45
  { name: '0001_core_auth', up: up0001 },
37
46
  { name: '0002_rbac', up: up0002 },
@@ -46,5 +55,14 @@ export const ALL_MIGRATIONS = [
46
55
  { name: '0011_i18n_runtime', up: up0011 },
47
56
  { name: '0012_locale_width', up: up0012 },
48
57
  { name: '0013_connection_last_error_hint', up: up0013 },
58
+ { name: '0014_public_surface', up: up0014 },
59
+ { name: '0015_connection_tenant_config', up: up0015 },
60
+ { name: '0016_audit_entity', up: up0016 },
61
+ { name: '0017_surface_binding', up: up0017 },
62
+ { name: '0018_connection_timezone_source', up: up0018 },
63
+ { name: '0019_connection_disabled', up: up0019 },
64
+ { name: '0020_manifests_add_on', up: up0020 },
65
+ { name: '0021_add_on_credentials', up: up0021 },
66
+ { name: '0022_studio_namespace', up: up0022 },
49
67
  ];
50
68
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAQpE,MAAM,CAAC,MAAM,cAAc,GAA6B;IACtD,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE;IACtC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE;IACjC,EAAE,IAAI,EAAE,yBAAyB,EAAE,EAAE,EAAE,MAAM,EAAE;IAC/C,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE;IACxC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE;IAChC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,EAAE;IACrC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,EAAE;IACrC,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,MAAM,EAAE;IAC1C,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE;IACvC,EAAE,IAAI,EAAE,+BAA+B,EAAE,EAAE,EAAE,MAAM,EAAE;IACrD,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,MAAM,EAAE;IACzC,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,MAAM,EAAE;IACzC,EAAE,IAAI,EAAE,iCAAiC,EAAE,EAAE,EAAE,MAAM,EAAE;CACxD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * ── WHY THIS IS NOT `export-zip` / `import-zip` ─────────────────────────────
6
6
  * The export bundle carries CONFIGURATION — settings, roles, rolePermissions,
7
7
  * connections, snapshots, overrides, pages, views. Eight resources out of the
8
- * thirty-four tables in {@link META_TABLE_NAMES}. That is the right content for
8
+ * tables in {@link META_TABLE_NAMES}. That is the right content for
9
9
  * "replay this instance's setup somewhere else", and exactly the wrong content
10
10
  * for "this instance is now living in a different database": it carries no
11
11
  * users, no sessions and no user_roles, so a relocation built on it would log
package/dist/relocate.js CHANGED
@@ -6,7 +6,7 @@
6
6
  * ── WHY THIS IS NOT `export-zip` / `import-zip` ─────────────────────────────
7
7
  * The export bundle carries CONFIGURATION — settings, roles, rolePermissions,
8
8
  * connections, snapshots, overrides, pages, views. Eight resources out of the
9
- * thirty-four tables in {@link META_TABLE_NAMES}. That is the right content for
9
+ * tables in {@link META_TABLE_NAMES}. That is the right content for
10
10
  * "replay this instance's setup somewhere else", and exactly the wrong content
11
11
  * for "this instance is now living in a different database": it carries no
12
12
  * users, no sessions and no user_roles, so a relocation built on it would log
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/repos/audit.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,4BAA4B,CAAC;AAIpC,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC;IACxB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACrG,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AA4BD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM;kBAGd,eAAe,OAAM,MAAM,GAAgB,OAAO,CAAC,UAAU,CAAC;kBAqBxE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACrE,OAAO,CAAC,UAAU,EAAE,CAAC;IAYxB,qFAAqF;WACxE,MAAM,iBAAiB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;EAM/D;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/repos/audit.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAML,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,4BAA4B,CAAC;AAIpC,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC;IACxB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACrG,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AA4BD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM;kBAGd,eAAe,OAAM,MAAM,GAAgB,OAAO,CAAC,UAAU,CAAC;kBA2BxE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACrE,OAAO,CAAC,UAAU,EAAE,CAAC;IAYxB,qFAAqF;WACxE,MAAM,iBAAiB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;EAM/D;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * capped at 16 KB serialized (replaced by `{ "_truncated": true }` beyond it).
6
6
  */
7
7
  import { newId } from '../ids.js';
8
- import { AUDIT_CHANGES_MAX_BYTES, actorKindSchema, auditCategorySchema, recordRefSchema, } from '../schema/json-payloads.js';
8
+ import { AUDIT_CHANGES_MAX_BYTES, actorKindSchema, auditCategorySchema, auditEntityKeyOf, recordRefSchema, } from '../schema/json-payloads.js';
9
9
  import { packJson, readJsonOrNull } from './util.js';
10
10
  function mapEntry(row) {
11
11
  return {
@@ -37,6 +37,10 @@ export function auditRepo(meta) {
37
37
  const { db } = meta;
38
38
  return {
39
39
  async append(input, at = Date.now()) {
40
+ const entity = input.entity === null || input.entity === undefined ? null : recordRefSchema.parse(input.entity);
41
+ // Denormalized per-record lookup keys (30-record-pages.md WS-A): the
42
+ // indexed columns the activity feed filters on, derived once at write.
43
+ const entityKeys = entity === null ? null : auditEntityKeyOf(entity);
40
44
  const row = {
41
45
  id: newId('aud'),
42
46
  createdAt: at,
@@ -46,7 +50,9 @@ export function auditRepo(meta) {
46
50
  category: auditCategorySchema.parse(input.category),
47
51
  action: input.action,
48
52
  connectionId: input.connectionId ?? null,
49
- entity: input.entity === null || input.entity === undefined ? null : packJson(recordRefSchema.parse(input.entity)),
53
+ entity: entity === null ? null : packJson(entity),
54
+ entityTable: entityKeys?.entityTable ?? null,
55
+ entityId: entityKeys?.entityId ?? null,
50
56
  changes: packChanges(input.changes),
51
57
  ip: input.ip ?? null,
52
58
  userAgent: input.userAgent ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/repos/audit.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC;;;;GAIG;AAKH,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,eAAe,GAIhB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAiCrD,SAAS,QAAQ,CAAC,GAAsC;IACtD,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;QAC/C,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;QACjD,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,MAAM,EAAE,cAAc,CAAY,GAAG,CAAC,MAAM,CAAC;QAC7C,OAAO,EAAE,cAAc,CAA0B,GAAG,CAAC,OAAO,CAAC;QAC7D,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAC;AACJ,CAAC;AAED,uDAAuD;AACvD,SAAS,WAAW,CAAC,OAAmC;IACtD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC3D,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,uBAAuB;QAAE,OAAO,UAAU,CAAC;IACxF,OAAO,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;IACpB,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,KAAsB,EAAE,KAAa,IAAI,CAAC,GAAG,EAAE;YAC1D,MAAM,GAAG,GAAG;gBACV,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC;gBAChB,SAAS,EAAE,EAAE;gBACb,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;gBACjD,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;gBAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACnD,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI;gBACxC,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClH,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC;gBACnC,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI;gBACpB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;gBAClC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;aACnC,CAAC;YACF,MAAM,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;YAChE,OAAO,QAAQ,CAAC,GAAwC,CAAC,CAAC;QAC5D,CAAC;QAED,KAAK,CAAC,IAAI,CACR,SAAyE,EAAE;YAE3E,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,SAAS,EAAE,CAAC;YACxD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;gBAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9E,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;gBAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjF,MAAM,IAAI,GAAG,MAAM,CAAC;iBACjB,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;iBAC5B,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;iBACrB,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;iBAC1B,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QAED,qFAAqF;QACrF,KAAK,CAAC,EAAE,CAAC,EAAU,EAAE,aAAqB;YACxC,MAAM,MAAM,GAAG,EAAE,GAAG,aAAa,GAAG,UAAU,CAAC;YAC/C,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACzG,OAAO,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACpC,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/repos/audit.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC;;;;GAIG;AAKH,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAIhB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAiCrD,SAAS,QAAQ,CAAC,GAAsC;IACtD,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;QAC/C,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;QACjD,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,MAAM,EAAE,cAAc,CAAY,GAAG,CAAC,MAAM,CAAC;QAC7C,OAAO,EAAE,cAAc,CAA0B,GAAG,CAAC,OAAO,CAAC;QAC7D,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAC;AACJ,CAAC;AAED,uDAAuD;AACvD,SAAS,WAAW,CAAC,OAAmC;IACtD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC3D,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,uBAAuB;QAAE,OAAO,UAAU,CAAC;IACxF,OAAO,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;IACpB,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,KAAsB,EAAE,KAAa,IAAI,CAAC,GAAG,EAAE;YAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAChH,qEAAqE;YACrE,uEAAuE;YACvE,MAAM,UAAU,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACrE,MAAM,GAAG,GAAG;gBACV,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC;gBAChB,SAAS,EAAE,EAAE;gBACb,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;gBACjD,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;gBAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACnD,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI;gBACxC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACjD,WAAW,EAAE,UAAU,EAAE,WAAW,IAAI,IAAI;gBAC5C,QAAQ,EAAE,UAAU,EAAE,QAAQ,IAAI,IAAI;gBACtC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC;gBACnC,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI;gBACpB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;gBAClC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;aACnC,CAAC;YACF,MAAM,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;YAChE,OAAO,QAAQ,CAAC,GAAwC,CAAC,CAAC;QAC5D,CAAC;QAED,KAAK,CAAC,IAAI,CACR,SAAyE,EAAE;YAE3E,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,SAAS,EAAE,CAAC;YACxD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;gBAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9E,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;gBAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjF,MAAM,IAAI,GAAG,MAAM,CAAC;iBACjB,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;iBAC5B,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;iBACrB,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;iBAC1B,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QAED,qFAAqF;QACrF,KAAK,CAAC,EAAE,CAAC,EAAU,EAAE,aAAqB;YACxC,MAAM,MAAM,GAAG,EAAE,GAAG,aAAa,GAAG,UAAU,CAAC;YAC/C,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACzG,OAAO,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACpC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -35,10 +35,38 @@ export interface Connection {
35
35
  lastError: string | null;
36
36
  /** Remediation copy for {@link lastError}, from the adapter (05 §3). */
37
37
  lastErrorHint: string | null;
38
+ /** Tenant configuration (28-T34, D20). Null = not configured. */
39
+ timezone: string | null;
40
+ /**
41
+ * Who chose {@link timezone} (0018). `null` is "no claim" — an unattributed
42
+ * pre-0018 row, or no zone to attribute — and is NOT the same as `'host'`.
43
+ */
44
+ timezoneSource: TimezoneSource | null;
45
+ currency: string | null;
46
+ /**
47
+ * When an operator paused this source (0019); `null` while it is serving.
48
+ *
49
+ * Separate from {@link status} on purpose: status is what a probe last
50
+ * observed and every test overwrites it, while a pause is a decision that has
51
+ * to outlive one. Read it through {@link Connection.disabled} rather than
52
+ * comparing to null at each call site.
53
+ */
54
+ disabledAt: number | null;
55
+ /** Convenience mirror of `disabledAt !== null` — the question callers ask. */
56
+ disabled: boolean;
38
57
  createdBy: string | null;
39
58
  createdAt: number;
40
59
  updatedAt: number;
41
60
  }
61
+ /**
62
+ * Where a stored `timezone` came from (0018).
63
+ *
64
+ * `'host'` is the zone of the machine running Adminium, seeded by {@link
65
+ * connectionsRepo}'s `create` so a hosted surface has something to render. It
66
+ * is a plausible value and an unverified one, which is the whole reason it is
67
+ * labelled rather than left to pass as `'operator'`.
68
+ */
69
+ export type TimezoneSource = 'host' | 'operator';
42
70
  /** Decrypted per-role DSNs (01-architecture.md §3 privilege model). */
43
71
  export interface ConnectionDsns {
44
72
  introspectDsn: string | null;
@@ -57,6 +85,11 @@ export interface CreateConnectionInput {
57
85
  ssl?: ConnectionSsl | null;
58
86
  settings?: ConnectionSettings;
59
87
  status?: string;
88
+ /**
89
+ * The tenant's zone. Omitted ⇒ seeded from the SERVER's zone (see `create`);
90
+ * pass `null` explicitly to create one with no zone at all.
91
+ */
92
+ timezone?: string | null;
60
93
  createdBy?: string | null;
61
94
  }
62
95
  export interface UpdateConnectionInput {
@@ -69,6 +102,8 @@ export interface UpdateConnectionInput {
69
102
  status?: string;
70
103
  lastError?: string | null;
71
104
  lastErrorHint?: string | null;
105
+ timezone?: string | null;
106
+ currency?: string | null;
72
107
  }
73
108
  export interface ConnectionTestOutcome {
74
109
  ok: boolean;
@@ -79,6 +114,18 @@ export interface ConnectionTestOutcome {
79
114
  /** Probe result — a read-only data role flips the app read-only (§3.13). */
80
115
  readOnly?: boolean;
81
116
  }
117
+ /**
118
+ * The connection's tenant facts, with NO DSN crypto involved (28-T34).
119
+ *
120
+ * `connectionsRepo` needs a `DsnCrypto` because it decrypts connection
121
+ * strings. Reading a timezone does not, and the public-API route that wants
122
+ * one has no business holding the key that opens every DSN on the instance.
123
+ * Two columns, one query, no secrets in reach.
124
+ */
125
+ export declare function connectionTenantConfig(meta: MetaDb, connectionId: string): Promise<{
126
+ timezone: string | null;
127
+ currency: string | null;
128
+ } | null>;
82
129
  export declare function connectionsRepo(meta: MetaDb, crypto: DsnCrypto): {
83
130
  create(input: CreateConnectionInput, at?: number): Promise<Connection>;
84
131
  findById(id: string): Promise<Connection | null>;
@@ -88,6 +135,21 @@ export declare function connectionsRepo(meta: MetaDb, crypto: DsnCrypto): {
88
135
  update(id: string, patch: UpdateConnectionInput, at?: number): Promise<Connection | null>;
89
136
  /** Persist a test/probe outcome (health chip fields, §3.13). */
90
137
  recordTestResult(id: string, outcome: ConnectionTestOutcome, at?: number): Promise<void>;
138
+ /**
139
+ * Pause or resume the source (0019).
140
+ *
141
+ * Its own writer rather than a field on {@link UpdateConnectionInput}
142
+ * because the column stores WHEN and the caller only ever knows WHETHER —
143
+ * letting routes pass their own timestamp is how one of them ends up
144
+ * writing a zero and rendering "paused 56 years ago". Idempotent: pausing
145
+ * an already-paused connection leaves the original instant alone, so the
146
+ * age on the card is the age of the pause and not of the last click.
147
+ *
148
+ * NOTHING here touches `status`. A connection that was failing when it was
149
+ * paused is still failing, and saying so on resume is more useful than a
150
+ * clean slate nobody earned.
151
+ */
152
+ setDisabled(id: string, disabled: boolean, at?: number): Promise<Connection | null>;
91
153
  /** FK CASCADE removes the connection's snapshots and overrides. */
92
154
  delete(id: string): Promise<boolean>;
93
155
  };
@@ -1 +1 @@
1
- {"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../../src/repos/connections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../../src/repos/connections.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAML,KAAK,kBAAkB,EACxB,MAAM,4BAA4B,CAAC;AAIpC,sEAAsE;AACtE,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACtC;AAED,gFAAgF;AAChF,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,aAAa,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,wEAAwE;IACxE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iEAAiE;IACjE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;OAGG;IACH,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;;;;;OAOG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,8EAA8E;IAC9E,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,CAAC;AAcjD,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,sEAAsE;IACtE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA8BD;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAAC,CAOtE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS;kBAmDvC,qBAAqB,OAAM,MAAM,GAAgB,OAAO,CAAC,UAAU,CAAC;iBA+DrE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;YASxC,OAAO,CAAC,UAAU,EAAE,CAAC;IAKnC,2EAA2E;gBACzD,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;eASxC,MAAM,SAAS,qBAAqB,OAAM,MAAM,GAAgB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAgD3G,gEAAgE;yBACrC,MAAM,WAAW,qBAAqB,OAAM,MAAM,GAAgB,OAAO,CAAC,IAAI,CAAC;IAmB1G;;;;;;;;;;;;;OAaG;oBACmB,MAAM,YAAY,OAAO,OAAM,MAAM,GAAgB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAYrG,mEAAmE;eAClD,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;EAK7C;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -10,6 +10,17 @@
10
10
  import { newId } from '../ids.js';
11
11
  import { connectionEngineSchema, connectionSettingsSchema, connectionSourceKindSchema, connectionSslSchema, connectionStatusSchema, } from '../schema/json-payloads.js';
12
12
  import { MetaValidationError, packJson, readBool, readJson, readJsonOrNull, writeBool } from './util.js';
13
+ /**
14
+ * Narrow a stored source, treating anything unrecognised as "no claim".
15
+ *
16
+ * The column is free text at the storage layer, and a value this code does not
17
+ * know — a hand-edited row, or a source added by a newer version and rolled
18
+ * back — must degrade to silence. Rendering an unknown provenance as `'host'`
19
+ * would accuse an operator's own choice of being a guess.
20
+ */
21
+ function readTimezoneSource(value) {
22
+ return value === 'host' || value === 'operator' ? value : null;
23
+ }
13
24
  function decode(row) {
14
25
  return {
15
26
  id: row.id,
@@ -27,11 +38,32 @@ function decode(row) {
27
38
  lastLatencyMs: row.lastLatencyMs,
28
39
  lastError: row.lastError,
29
40
  lastErrorHint: row.lastErrorHint,
41
+ timezone: row.timezone,
42
+ timezoneSource: readTimezoneSource(row.timezoneSource),
43
+ currency: row.currency,
44
+ disabledAt: row.disabledAt,
45
+ disabled: row.disabledAt !== null,
30
46
  createdBy: row.createdBy,
31
47
  createdAt: row.createdAt,
32
48
  updatedAt: row.updatedAt,
33
49
  };
34
50
  }
51
+ /**
52
+ * The connection's tenant facts, with NO DSN crypto involved (28-T34).
53
+ *
54
+ * `connectionsRepo` needs a `DsnCrypto` because it decrypts connection
55
+ * strings. Reading a timezone does not, and the public-API route that wants
56
+ * one has no business holding the key that opens every DSN on the instance.
57
+ * Two columns, one query, no secrets in reach.
58
+ */
59
+ export async function connectionTenantConfig(meta, connectionId) {
60
+ const row = await meta.db
61
+ .selectFrom('adminium_connections')
62
+ .select(['timezone', 'currency'])
63
+ .where('id', '=', connectionId)
64
+ .executeTakeFirst();
65
+ return row === undefined ? null : { timezone: row.timezone, currency: row.currency };
66
+ }
35
67
  export function connectionsRepo(meta, crypto) {
36
68
  const { db } = meta;
37
69
  function encryptOrNull(dsn) {
@@ -93,6 +125,39 @@ export function connectionsRepo(meta, crypto) {
93
125
  lastLatencyMs: null,
94
126
  lastError: null,
95
127
  lastErrorHint: null,
128
+ /*
129
+ * Seeded from the SERVER's zone, not left null.
130
+ *
131
+ * This was `null` on the reasoning that "a guessed zone is worse than an
132
+ * absent one". That was wrong in practice, and an operator found out the
133
+ * hard way: an absent zone made a hosted app surface refuse to render at
134
+ * all, so the cost of the missing value landed as total unavailability
135
+ * rather than as an hour's drift.
136
+ *
137
+ * The server's own zone is a real signal — it is the machine the
138
+ * operator chose to deploy on — and unlike the BROWSER's zone it is one
139
+ * value for the tenant rather than a different one per reader. It is
140
+ * also written down and editable, so a wrong guess is visible in the UI
141
+ * and fixable, which an invisible per-request default never is.
142
+ *
143
+ * `PATCH /connections/:id` may still set it to `null` deliberately.
144
+ *
145
+ * The seed is LABELLED (`timezoneSource`, wave 0018) so Studio can tell
146
+ * an operator this zone came from the server rather than from them.
147
+ * Storing the guess unlabelled is what would make it indistinguishable
148
+ * from a decision — the failure this default was accused of causing.
149
+ */
150
+ timezone: input.timezone === undefined
151
+ ? Intl.DateTimeFormat().resolvedOptions().timeZone
152
+ : input.timezone,
153
+ /*
154
+ * An explicit `null` timezone gets a `null` source: there is no choice
155
+ * to attribute, and `timezone` already records "none" by itself.
156
+ */
157
+ timezoneSource: input.timezone === undefined ? 'host' : input.timezone === null ? null : 'operator',
158
+ currency: null,
159
+ // New sources serve immediately — pausing is always a later decision.
160
+ disabledAt: null,
96
161
  createdBy: input.createdBy ?? null,
97
162
  createdAt: at,
98
163
  updatedAt: at,
@@ -138,6 +203,18 @@ export function connectionsRepo(meta, crypto) {
138
203
  set.lastError = patch.lastError;
139
204
  if (patch.lastErrorHint !== undefined)
140
205
  set.lastErrorHint = patch.lastErrorHint;
206
+ /*
207
+ * A zone arriving through an update came from a person — the only caller
208
+ * that patches this field is `PATCH /connections/:id`, and the probe and
209
+ * health writers below never touch it. So the seed's label is replaced
210
+ * rather than left to outlive the guess it described.
211
+ */
212
+ if (patch.timezone !== undefined) {
213
+ set.timezone = patch.timezone;
214
+ set.timezoneSource = patch.timezone === null ? null : 'operator';
215
+ }
216
+ if (patch.currency !== undefined)
217
+ set.currency = patch.currency;
141
218
  if (patch.ssl !== undefined) {
142
219
  if (patch.ssl === null) {
143
220
  set.ssl = null;
@@ -189,6 +266,33 @@ export function connectionsRepo(meta, crypto) {
189
266
  .where('id', '=', id)
190
267
  .execute();
191
268
  },
269
+ /**
270
+ * Pause or resume the source (0019).
271
+ *
272
+ * Its own writer rather than a field on {@link UpdateConnectionInput}
273
+ * because the column stores WHEN and the caller only ever knows WHETHER —
274
+ * letting routes pass their own timestamp is how one of them ends up
275
+ * writing a zero and rendering "paused 56 years ago". Idempotent: pausing
276
+ * an already-paused connection leaves the original instant alone, so the
277
+ * age on the card is the age of the pause and not of the last click.
278
+ *
279
+ * NOTHING here touches `status`. A connection that was failing when it was
280
+ * paused is still failing, and saying so on resume is more useful than a
281
+ * clean slate nobody earned.
282
+ */
283
+ async setDisabled(id, disabled, at = Date.now()) {
284
+ const current = await this.findById(id);
285
+ if (current === null)
286
+ return null;
287
+ if (current.disabled === disabled)
288
+ return current;
289
+ await db
290
+ .updateTable('adminium_connections')
291
+ .set({ disabledAt: disabled ? at : null, updatedAt: at })
292
+ .where('id', '=', id)
293
+ .execute();
294
+ return this.findById(id);
295
+ },
192
296
  /** FK CASCADE removes the connection's snapshots and overrides. */
193
297
  async delete(id) {
194
298
  const res = await db.deleteFrom('adminium_connections').where('id', '=', id).executeTakeFirst();
@@ -1 +1 @@
1
- {"version":3,"file":"connections.js","sourceRoot":"","sources":["../../src/repos/connections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connections.js","sourceRoot":"","sources":["../../src/repos/connections.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export * from './settings.js';
7
7
  export * from './user-prefs.js';
8
8
  export * from './audit.js';
9
9
  export * from './api-keys.js';
10
+ export * from './public-api.js';
10
11
  export * from './password-resets.js';
11
12
  export * from './jobs.js';
12
13
  export * from './connections.js';
@@ -26,4 +27,5 @@ export * from './email-templates.js';
26
27
  export * from './i18n-version.js';
27
28
  export * from './locales.js';
28
29
  export * from './translations.js';
30
+ export * from './manifests.js';
29
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/repos/index.ts"],"names":[],"mappings":"AACA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/repos/index.ts"],"names":[],"mappings":"AACA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
@@ -8,6 +8,7 @@ export * from './settings.js';
8
8
  export * from './user-prefs.js';
9
9
  export * from './audit.js';
10
10
  export * from './api-keys.js';
11
+ export * from './public-api.js';
11
12
  export * from './password-resets.js';
12
13
  export * from './jobs.js';
13
14
  export * from './connections.js';
@@ -27,4 +28,5 @@ export * from './email-templates.js';
27
28
  export * from './i18n-version.js';
28
29
  export * from './locales.js';
29
30
  export * from './translations.js';
31
+ export * from './manifests.js';
30
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repos/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repos/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}