@objectstack/service-datasource 9.11.0 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +10 -10
- package/CHANGELOG.md +19 -0
- package/README.md +34 -0
- package/dist/index.cjs +359 -63
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +28 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.js +296 -0
- package/dist/index.js.map +1 -1
- package/package.json +8 -8
- package/src/__tests__/admin-routes.test.ts +58 -0
- package/src/__tests__/datasource-admin-plugin.test.ts +59 -0
- package/src/__tests__/datasource-admin-service.test.ts +30 -0
- package/src/admin-routes.ts +75 -0
- package/src/datasource-admin-plugin.ts +152 -3
- package/src/datasource-admin-service.ts +30 -0
- package/src/driver-catalog.ts +113 -0
- package/src/external-datasource-service.ts +25 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @objectstack/service-datasource@
|
|
2
|
+
> @objectstack/service-datasource@10.0.0 build /home/runner/work/framework/framework/packages/services/service-datasource
|
|
3
3
|
> tsup
|
|
4
4
|
|
|
5
5
|
[34mCLI[39m Building entry: src/index.ts, src/contracts/index.ts
|
|
@@ -10,19 +10,19 @@
|
|
|
10
10
|
[34mCLI[39m Cleaning output folder
|
|
11
11
|
[34mESM[39m Build start
|
|
12
12
|
[34mCJS[39m Build start
|
|
13
|
-
[32mESM[39m [1mdist/index.js [22m[
|
|
13
|
+
[32mESM[39m [1mdist/index.js [22m[32m45.58 KB[39m
|
|
14
14
|
[32mESM[39m [1mdist/contracts/index.js [22m[32m33.00 B[39m
|
|
15
|
-
[32mESM[39m [1mdist/index.js.map [22m[
|
|
15
|
+
[32mESM[39m [1mdist/index.js.map [22m[32m110.99 KB[39m
|
|
16
16
|
[32mESM[39m [1mdist/contracts/index.js.map [22m[32m71.00 B[39m
|
|
17
|
-
[32mESM[39m ⚡️ Build success in
|
|
18
|
-
[32mCJS[39m [1mdist/index.cjs [22m[
|
|
17
|
+
[32mESM[39m ⚡️ Build success in 1186ms
|
|
18
|
+
[32mCJS[39m [1mdist/index.cjs [22m[32m55.09 KB[39m
|
|
19
19
|
[32mCJS[39m [1mdist/contracts/index.cjs [22m[32m47.00 B[39m
|
|
20
|
+
[32mCJS[39m [1mdist/index.cjs.map [22m[32m93.99 KB[39m
|
|
20
21
|
[32mCJS[39m [1mdist/contracts/index.cjs.map [22m[32m265.00 B[39m
|
|
21
|
-
[32mCJS[39m
|
|
22
|
-
[32mCJS[39m ⚡️ Build success in 1063ms
|
|
22
|
+
[32mCJS[39m ⚡️ Build success in 1190ms
|
|
23
23
|
[34mDTS[39m Build start
|
|
24
|
-
[32mDTS[39m ⚡️ Build success in
|
|
25
|
-
[32mDTS[39m [1mdist/index.d.ts [22m[
|
|
24
|
+
[32mDTS[39m ⚡️ Build success in 16306ms
|
|
25
|
+
[32mDTS[39m [1mdist/index.d.ts [22m[32m20.60 KB[39m
|
|
26
26
|
[32mDTS[39m [1mdist/contracts/index.d.ts [22m[32m8.10 KB[39m
|
|
27
|
-
[32mDTS[39m [1mdist/index.d.cts [22m[
|
|
27
|
+
[32mDTS[39m [1mdist/index.d.cts [22m[32m20.60 KB[39m
|
|
28
28
|
[32mDTS[39m [1mdist/contracts/index.d.cts [22m[32m8.10 KB[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# @objectstack/service-external-datasource
|
|
2
2
|
|
|
3
|
+
## 10.0.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [d7ff626]
|
|
8
|
+
- Updated dependencies [2a1b16b]
|
|
9
|
+
- Updated dependencies [e16f2a8]
|
|
10
|
+
- Updated dependencies [e411a82]
|
|
11
|
+
- Updated dependencies [a581385]
|
|
12
|
+
- Updated dependencies [d5f6d29]
|
|
13
|
+
- Updated dependencies [220ce5b]
|
|
14
|
+
- Updated dependencies [3efe334]
|
|
15
|
+
- Updated dependencies [feead7e]
|
|
16
|
+
- Updated dependencies [6ca20b3]
|
|
17
|
+
- Updated dependencies [5f875fe]
|
|
18
|
+
- Updated dependencies [b469950]
|
|
19
|
+
- @objectstack/spec@10.0.0
|
|
20
|
+
- @objectstack/core@10.0.0
|
|
21
|
+
|
|
3
22
|
## 9.11.0
|
|
4
23
|
|
|
5
24
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -33,6 +33,40 @@ layered on by a private host **without forking**.
|
|
|
33
33
|
|
|
34
34
|
The runtime admin owns only the `origin: 'runtime'` lifecycle.
|
|
35
35
|
|
|
36
|
+
## REST routes
|
|
37
|
+
|
|
38
|
+
Mounted under `/api/v1/datasources` by `registerDatasourceAdminRoutes` (lifecycle
|
|
39
|
+
+ introspection) and the federation routes by the external service. Every route
|
|
40
|
+
degrades gracefully (`503` / "unavailable") when its service isn't wired.
|
|
41
|
+
|
|
42
|
+
**Lifecycle & connection**
|
|
43
|
+
- `GET /datasources` — list (code + runtime, with provenance/health)
|
|
44
|
+
- `GET /datasources/drivers` — driver catalog + per-driver JSON-Schema `configSchema` (drives the Studio connection form)
|
|
45
|
+
- `GET /datasources/:name` — one datasource's detail, **credential-stripped** (`config` + `hasSecret`)
|
|
46
|
+
- `POST /datasources` — create a runtime datasource
|
|
47
|
+
- `PATCH /datasources/:name` — update a runtime datasource
|
|
48
|
+
- `DELETE /datasources/:name` — remove a runtime datasource (blocked while objects are bound)
|
|
49
|
+
- `POST /datasources/test` — probe an unsaved draft (inline body)
|
|
50
|
+
- `POST /datasources/:name/test` — probe a **saved** datasource by name (backs the `test_connection` action)
|
|
51
|
+
|
|
52
|
+
**Introspection / sync (read-only)**
|
|
53
|
+
- `GET /datasources/:name/remote-tables` — list remote tables
|
|
54
|
+
- `POST /datasources/:name/object-draft` — generate an object definition draft for one table (no persistence)
|
|
55
|
+
- federation import/validate/refresh routes under `/datasources/:name/external/*` (ADR-0015)
|
|
56
|
+
|
|
57
|
+
Credentials never travel in `config`: a `format:'password'` field is split into
|
|
58
|
+
the top-level `secret` on write (encrypted to `sys_secret`), and reads never
|
|
59
|
+
echo it (`hasSecret` only).
|
|
60
|
+
|
|
61
|
+
## Studio integration
|
|
62
|
+
|
|
63
|
+
`datasource` is a metadata type, so it is administered through the generic
|
|
64
|
+
metadata-admin engine (not a bespoke page): the `DatasourceAdminServicePlugin`
|
|
65
|
+
contributes a **Datasources** entry to the Setup app's `group_integrations` nav
|
|
66
|
+
slot (→ the engine route `…/component/metadata/resource?type=datasource`), where
|
|
67
|
+
the list/create/edit/test/**sync objects**/delete UI lives. Runtime records are
|
|
68
|
+
persisted to `sys_metadata` and restored (pools rehydrated) on restart.
|
|
69
|
+
|
|
36
70
|
## Exports
|
|
37
71
|
|
|
38
72
|
- Federation: `ExternalDatasourceService`, `ExternalDatasourceServicePlugin`.
|