@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.
- package/dist/ids.d.ts +6 -0
- package/dist/ids.d.ts.map +1 -1
- package/dist/ids.js +14 -0
- package/dist/ids.js.map +1 -1
- package/dist/migrations/0014_public_surface.d.ts +40 -0
- package/dist/migrations/0014_public_surface.d.ts.map +1 -0
- package/dist/migrations/0014_public_surface.js +186 -0
- package/dist/migrations/0014_public_surface.js.map +1 -0
- package/dist/migrations/0015_connection_tenant_config.d.ts +42 -0
- package/dist/migrations/0015_connection_tenant_config.d.ts.map +1 -0
- package/dist/migrations/0015_connection_tenant_config.js +53 -0
- package/dist/migrations/0015_connection_tenant_config.js.map +1 -0
- package/dist/migrations/0016_audit_entity.d.ts +33 -0
- package/dist/migrations/0016_audit_entity.d.ts.map +1 -0
- package/dist/migrations/0016_audit_entity.js +137 -0
- package/dist/migrations/0016_audit_entity.js.map +1 -0
- package/dist/migrations/0017_surface_binding.d.ts +23 -0
- package/dist/migrations/0017_surface_binding.d.ts.map +1 -0
- package/dist/migrations/0017_surface_binding.js +37 -0
- package/dist/migrations/0017_surface_binding.js.map +1 -0
- package/dist/migrations/0018_connection_timezone_source.d.ts +44 -0
- package/dist/migrations/0018_connection_timezone_source.d.ts.map +1 -0
- package/dist/migrations/0018_connection_timezone_source.js +51 -0
- package/dist/migrations/0018_connection_timezone_source.js.map +1 -0
- package/dist/migrations/0019_connection_disabled.d.ts +38 -0
- package/dist/migrations/0019_connection_disabled.d.ts.map +1 -0
- package/dist/migrations/0019_connection_disabled.js +43 -0
- package/dist/migrations/0019_connection_disabled.js.map +1 -0
- package/dist/migrations/0020_manifests_add_on.d.ts +71 -0
- package/dist/migrations/0020_manifests_add_on.d.ts.map +1 -0
- package/dist/migrations/0020_manifests_add_on.js +111 -0
- package/dist/migrations/0020_manifests_add_on.js.map +1 -0
- package/dist/migrations/0021_add_on_credentials.d.ts +50 -0
- package/dist/migrations/0021_add_on_credentials.d.ts.map +1 -0
- package/dist/migrations/0021_add_on_credentials.js +80 -0
- package/dist/migrations/0021_add_on_credentials.js.map +1 -0
- package/dist/migrations/0022_studio_namespace.d.ts +44 -0
- package/dist/migrations/0022_studio_namespace.d.ts.map +1 -0
- package/dist/migrations/0022_studio_namespace.js +113 -0
- package/dist/migrations/0022_studio_namespace.js.map +1 -0
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +18 -0
- package/dist/migrations/index.js.map +1 -1
- package/dist/relocate.d.ts +1 -1
- package/dist/relocate.js +1 -1
- package/dist/repos/audit.d.ts.map +1 -1
- package/dist/repos/audit.js +8 -2
- package/dist/repos/audit.js.map +1 -1
- package/dist/repos/connections.d.ts +62 -0
- package/dist/repos/connections.d.ts.map +1 -1
- package/dist/repos/connections.js +104 -0
- package/dist/repos/connections.js.map +1 -1
- package/dist/repos/index.d.ts +2 -0
- package/dist/repos/index.d.ts.map +1 -1
- package/dist/repos/index.js +2 -0
- package/dist/repos/index.js.map +1 -1
- package/dist/repos/manifests.d.ts +139 -0
- package/dist/repos/manifests.d.ts.map +1 -0
- package/dist/repos/manifests.js +279 -0
- package/dist/repos/manifests.js.map +1 -0
- package/dist/repos/pages.d.ts +7 -0
- package/dist/repos/pages.d.ts.map +1 -1
- package/dist/repos/pages.js +39 -8
- package/dist/repos/pages.js.map +1 -1
- package/dist/repos/public-api.d.ts +140 -0
- package/dist/repos/public-api.d.ts.map +1 -0
- package/dist/repos/public-api.js +299 -0
- package/dist/repos/public-api.js.map +1 -0
- package/dist/schema/json-payloads.d.ts +27 -2
- package/dist/schema/json-payloads.d.ts.map +1 -1
- package/dist/schema/json-payloads.js +41 -2
- package/dist/schema/json-payloads.js.map +1 -1
- package/dist/schema/settings-registry.d.ts +65 -0
- package/dist/schema/settings-registry.d.ts.map +1 -1
- package/dist/schema/settings-registry.js +183 -0
- package/dist/schema/settings-registry.js.map +1 -1
- package/dist/schema/tables.d.ts +177 -1
- package/dist/schema/tables.d.ts.map +1 -1
- package/dist/schema/tables.js +6 -0
- package/dist/schema/tables.js.map +1 -1
- 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;
|
|
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"}
|
package/dist/migrations/index.js
CHANGED
|
@@ -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;
|
|
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;AACpE,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAQ1D,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;IACvD,EAAE,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,MAAM,EAAE;IAC3C,EAAE,IAAI,EAAE,+BAA+B,EAAE,EAAE,EAAE,MAAM,EAAE;IACrD,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,MAAM,EAAE;IACzC,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,EAAE;IAC5C,EAAE,IAAI,EAAE,iCAAiC,EAAE,EAAE,EAAE,MAAM,EAAE;IACvD,EAAE,IAAI,EAAE,0BAA0B,EAAE,EAAE,EAAE,MAAM,EAAE;IAChD,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,EAAE,MAAM,EAAE;IAC7C,EAAE,IAAI,EAAE,yBAAyB,EAAE,EAAE,EAAE,MAAM,EAAE;IAC/C,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,EAAE,MAAM,EAAE;CAC9C,CAAC"}
|
package/dist/relocate.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
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
|
-
*
|
|
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,
|
|
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"}
|
package/dist/repos/audit.js
CHANGED
|
@@ -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:
|
|
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,
|
package/dist/repos/audit.js.map
CHANGED
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/repos/audit.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"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,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,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,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;
|
|
1
|
+
{"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../../src/repos/connections.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"AAAA,yCAAyC;AACzC;;;;;;;GAOG;AAKH,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,GAEvB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"connections.js","sourceRoot":"","sources":["../../src/repos/connections.ts"],"names":[],"mappings":"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"}
|
package/dist/repos/index.d.ts
CHANGED
|
@@ -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"}
|
package/dist/repos/index.js
CHANGED
|
@@ -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
|
package/dist/repos/index.js.map
CHANGED
|
@@ -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"}
|