@jskit-ai/console-core 0.1.21 → 0.1.22
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/package.descriptor.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export default Object.freeze({
|
|
2
2
|
packageVersion: 1,
|
|
3
3
|
packageId: "@jskit-ai/console-core",
|
|
4
|
-
version: "0.1.
|
|
4
|
+
version: "0.1.22",
|
|
5
5
|
kind: "runtime",
|
|
6
6
|
description: "Console runtime: console settings schema, bootstrap flags, actions, and HTTP routes.",
|
|
7
7
|
dependsOn: [
|
|
@@ -74,12 +74,12 @@ export default Object.freeze({
|
|
|
74
74
|
mutations: {
|
|
75
75
|
dependencies: {
|
|
76
76
|
runtime: {
|
|
77
|
-
"@jskit-ai/auth-core": "0.1.
|
|
78
|
-
"@jskit-ai/database-runtime": "0.1.
|
|
79
|
-
"@jskit-ai/http-runtime": "0.1.
|
|
80
|
-
"@jskit-ai/kernel": "0.1.
|
|
81
|
-
"@jskit-ai/resource-crud-core": "0.1.
|
|
82
|
-
"@jskit-ai/users-core": "0.1.
|
|
77
|
+
"@jskit-ai/auth-core": "0.1.58",
|
|
78
|
+
"@jskit-ai/database-runtime": "0.1.59",
|
|
79
|
+
"@jskit-ai/http-runtime": "0.1.58",
|
|
80
|
+
"@jskit-ai/kernel": "0.1.59",
|
|
81
|
+
"@jskit-ai/resource-crud-core": "0.1.4",
|
|
82
|
+
"@jskit-ai/users-core": "0.1.69"
|
|
83
83
|
},
|
|
84
84
|
dev: {}
|
|
85
85
|
},
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jskit-ai/console-core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.22",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "node --test"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@jskit-ai/auth-core": "0.1.
|
|
10
|
-
"@jskit-ai/database-runtime": "0.1.
|
|
11
|
-
"@jskit-ai/http-runtime": "0.1.
|
|
12
|
-
"@jskit-ai/kernel": "0.1.
|
|
13
|
-
"@jskit-ai/resource-crud-core": "0.1.
|
|
14
|
-
"@jskit-ai/users-core": "0.1.
|
|
9
|
+
"@jskit-ai/auth-core": "0.1.58",
|
|
10
|
+
"@jskit-ai/database-runtime": "0.1.59",
|
|
11
|
+
"@jskit-ai/http-runtime": "0.1.58",
|
|
12
|
+
"@jskit-ai/kernel": "0.1.59",
|
|
13
|
+
"@jskit-ai/resource-crud-core": "0.1.4",
|
|
14
|
+
"@jskit-ai/users-core": "0.1.69",
|
|
15
15
|
"json-rest-schema": "1.x.x"
|
|
16
16
|
}
|
|
17
17
|
}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createJsonApiResourceRouteContract } from "@jskit-ai/http-runtime/shared/validators/jsonApiRouteTransport";
|
|
2
2
|
import { consoleSettingsResource } from "../../shared/resources/consoleSettingsResource.js";
|
|
3
3
|
|
|
4
|
+
function resolveConsoleSettingsRecordId() {
|
|
5
|
+
return "console-settings";
|
|
6
|
+
}
|
|
7
|
+
|
|
4
8
|
function bootConsoleSettingsRoutes(app) {
|
|
5
9
|
if (!app || typeof app.make !== "function") {
|
|
6
10
|
throw new Error("bootConsoleSettingsRoutes requires application make().");
|
|
@@ -18,8 +22,12 @@ function bootConsoleSettingsRoutes(app) {
|
|
|
18
22
|
tags: ["console", "settings"],
|
|
19
23
|
summary: "Get console settings"
|
|
20
24
|
},
|
|
21
|
-
|
|
22
|
-
|
|
25
|
+
...createJsonApiResourceRouteContract({
|
|
26
|
+
requestType: "console-settings",
|
|
27
|
+
responseType: "console-settings",
|
|
28
|
+
output: consoleSettingsResource.operations.view.output,
|
|
29
|
+
outputKind: "record",
|
|
30
|
+
getRecordId: resolveConsoleSettingsRecordId
|
|
23
31
|
})
|
|
24
32
|
},
|
|
25
33
|
async function (request, reply) {
|
|
@@ -40,13 +48,15 @@ function bootConsoleSettingsRoutes(app) {
|
|
|
40
48
|
tags: ["console", "settings"],
|
|
41
49
|
summary: "Update console settings"
|
|
42
50
|
},
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
51
|
+
...createJsonApiResourceRouteContract({
|
|
52
|
+
requestType: "console-settings",
|
|
53
|
+
responseType: "console-settings",
|
|
54
|
+
body: consoleSettingsResource.operations.replace.body,
|
|
55
|
+
output: consoleSettingsResource.operations.view.output,
|
|
56
|
+
outputKind: "record",
|
|
57
|
+
getRecordId: resolveConsoleSettingsRecordId,
|
|
58
|
+
includeValidation400: true
|
|
59
|
+
})
|
|
50
60
|
},
|
|
51
61
|
async function (request, reply) {
|
|
52
62
|
const response = await request.executeAction({
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
emptyInputValidator
|
|
3
3
|
} from "@jskit-ai/kernel/shared/actions/actionContributorHelpers";
|
|
4
|
+
import { returnJsonApiData } from "@jskit-ai/http-runtime/shared";
|
|
4
5
|
import { consoleSettingsResource } from "../../shared/resources/consoleSettingsResource.js";
|
|
5
6
|
|
|
6
7
|
const consoleSettingsActions = Object.freeze([
|
|
@@ -14,16 +15,16 @@ const consoleSettingsActions = Object.freeze([
|
|
|
14
15
|
require: "authenticated"
|
|
15
16
|
},
|
|
16
17
|
input: emptyInputValidator,
|
|
17
|
-
output:
|
|
18
|
+
output: null,
|
|
18
19
|
idempotency: "none",
|
|
19
20
|
audit: {
|
|
20
21
|
actionName: "console.settings.read"
|
|
21
22
|
},
|
|
22
23
|
observability: {},
|
|
23
24
|
async execute(_input, context, deps) {
|
|
24
|
-
return deps.consoleSettingsService.getSettings({
|
|
25
|
+
return returnJsonApiData(await deps.consoleSettingsService.getSettings({
|
|
25
26
|
context
|
|
26
|
-
});
|
|
27
|
+
}));
|
|
27
28
|
}
|
|
28
29
|
},
|
|
29
30
|
{
|
|
@@ -36,16 +37,16 @@ const consoleSettingsActions = Object.freeze([
|
|
|
36
37
|
require: "authenticated"
|
|
37
38
|
},
|
|
38
39
|
input: consoleSettingsResource.operations.replace.body,
|
|
39
|
-
output:
|
|
40
|
+
output: null,
|
|
40
41
|
idempotency: "optional",
|
|
41
42
|
audit: {
|
|
42
43
|
actionName: "console.settings.update"
|
|
43
44
|
},
|
|
44
45
|
observability: {},
|
|
45
46
|
async execute(input, context, deps) {
|
|
46
|
-
return deps.consoleSettingsService.updateSettings(input, {
|
|
47
|
+
return returnJsonApiData(await deps.consoleSettingsService.updateSettings(input, {
|
|
47
48
|
context
|
|
48
|
-
});
|
|
49
|
+
}));
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
52
|
]);
|
|
@@ -79,9 +79,16 @@ function createActionRequest({ input = {}, executeAction, file = null }) {
|
|
|
79
79
|
|
|
80
80
|
test("console-core boot mounts console routes", async () => {
|
|
81
81
|
const routes = await registerRoutes();
|
|
82
|
+
const getRoute = findRoute(routes, { method: "GET", path: "/api/console/settings" });
|
|
83
|
+
const patchRoute = findRoute(routes, { method: "PATCH", path: "/api/console/settings" });
|
|
82
84
|
|
|
83
|
-
assert.equal(
|
|
84
|
-
assert.equal(
|
|
85
|
+
assert.equal(getRoute?.path, "/api/console/settings");
|
|
86
|
+
assert.equal(patchRoute?.path, "/api/console/settings");
|
|
87
|
+
assert.equal(getRoute?.transport?.kind, "jsonapi-resource");
|
|
88
|
+
assert.equal(patchRoute?.transport?.kind, "jsonapi-resource");
|
|
89
|
+
assert.equal(getRoute?.responses?.[200]?.transportSchema?.required?.[0], "data");
|
|
90
|
+
assert.equal(patchRoute?.advanced?.fastifySchema?.body?.required?.[0], "data");
|
|
91
|
+
assert.equal(patchRoute?.responses?.[200]?.transportSchema?.required?.[0], "data");
|
|
85
92
|
});
|
|
86
93
|
|
|
87
94
|
test("console settings route handlers use request.input payloads", async () => {
|