jazz-tools 2.0.0-alpha.18 → 2.0.0-alpha.19
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/bin/native/jazz-tools-darwin-arm64 +0 -0
- package/bin/native/jazz-tools-darwin-x64 +0 -0
- package/bin/native/jazz-tools-linux-arm64 +0 -0
- package/bin/native/jazz-tools-linux-x64 +0 -0
- package/bin/native/jazz-tools-windows-x64.exe +0 -0
- package/dist/backend/create-jazz-context.d.ts +23 -11
- package/dist/backend/create-jazz-context.d.ts.map +1 -1
- package/dist/backend/create-jazz-context.js +54 -12
- package/dist/backend/create-jazz-context.js.map +1 -1
- package/dist/backend/create-jazz-context.test.js +84 -29
- package/dist/backend/create-jazz-context.test.js.map +1 -1
- package/dist/backend/index.d.ts +3 -2
- package/dist/backend/index.d.ts.map +1 -1
- package/dist/backend/index.js +1 -1
- package/dist/backend/index.js.map +1 -1
- package/dist/codegen/codegen.test.js +23 -20
- package/dist/codegen/codegen.test.js.map +1 -1
- package/dist/codegen/query-builder-generator.d.ts.map +1 -1
- package/dist/codegen/query-builder-generator.js +23 -14
- package/dist/codegen/query-builder-generator.js.map +1 -1
- package/dist/codegen/type-generator.d.ts.map +1 -1
- package/dist/codegen/type-generator.js +18 -11
- package/dist/codegen/type-generator.js.map +1 -1
- package/dist/runtime/client.d.ts +39 -0
- package/dist/runtime/client.d.ts.map +1 -1
- package/dist/runtime/client.js +75 -4
- package/dist/runtime/client.js.map +1 -1
- package/dist/runtime/db.d.ts +31 -0
- package/dist/runtime/db.d.ts.map +1 -1
- package/dist/runtime/db.js +116 -0
- package/dist/runtime/db.js.map +1 -1
- package/dist/runtime/file-storage.d.ts +69 -0
- package/dist/runtime/file-storage.d.ts.map +1 -0
- package/dist/runtime/file-storage.js +305 -0
- package/dist/runtime/file-storage.js.map +1 -0
- package/dist/runtime/file-storage.test.d.ts +2 -0
- package/dist/runtime/file-storage.test.d.ts.map +1 -0
- package/dist/runtime/file-storage.test.js +228 -0
- package/dist/runtime/file-storage.test.js.map +1 -0
- package/dist/runtime/index.d.ts +1 -0
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +1 -0
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/napi.integration.test.js +242 -209
- package/dist/runtime/napi.integration.test.js.map +1 -1
- package/dist/runtime/query-adapter.d.ts.map +1 -1
- package/dist/runtime/query-adapter.js +11 -0
- package/dist/runtime/query-adapter.js.map +1 -1
- package/dist/runtime/query-adapter.test.js +138 -0
- package/dist/runtime/query-adapter.test.js.map +1 -1
- package/dist/runtime/query-builder-shape.d.ts +2 -0
- package/dist/runtime/query-builder-shape.d.ts.map +1 -1
- package/dist/runtime/query-builder-shape.js +12 -1
- package/dist/runtime/query-builder-shape.js.map +1 -1
- package/dist/testing/index.test.js +2 -2
- package/dist/testing/index.test.js.map +1 -1
- package/package.json +4 -4
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WasmSchema } from "../drivers/types.js";
|
|
2
|
-
import {
|
|
2
|
+
import { type RequestLike } from "../runtime/client.js";
|
|
3
3
|
import type { AppContext, Session } from "../runtime/context.js";
|
|
4
|
+
import { type Db } from "../runtime/db.js";
|
|
4
5
|
export interface BackendSchemaSource {
|
|
5
6
|
wasmSchema: WasmSchema;
|
|
6
7
|
}
|
|
@@ -26,9 +27,9 @@ export interface BackendContextConfig extends Omit<AppContext, "schema" | "drive
|
|
|
26
27
|
/**
|
|
27
28
|
* Server-side Jazz context with lazy runtime setup.
|
|
28
29
|
*
|
|
29
|
-
* The first call to `
|
|
30
|
-
* a NAPI runtime and
|
|
31
|
-
* calls reuse the same initialized runtime.
|
|
30
|
+
* The first call to `db()`, `asBackend()`, `forRequest()`, or `forSession()`
|
|
31
|
+
* initializes a NAPI runtime and backing client using the provided app/schema source.
|
|
32
|
+
* Later calls reuse the same initialized runtime.
|
|
32
33
|
*/
|
|
33
34
|
export declare class JazzContext {
|
|
34
35
|
private readonly config;
|
|
@@ -39,22 +40,33 @@ export declare class JazzContext {
|
|
|
39
40
|
constructor(config: BackendContextConfig);
|
|
40
41
|
private resolveSchema;
|
|
41
42
|
private createClient;
|
|
43
|
+
private buildDbConfig;
|
|
44
|
+
private wrapDb;
|
|
42
45
|
/**
|
|
43
46
|
* Get the shared Jazz client, lazily creating it on first access.
|
|
44
47
|
*/
|
|
45
|
-
|
|
48
|
+
private getClient;
|
|
46
49
|
/**
|
|
47
|
-
* Get a
|
|
50
|
+
* Get a high-level `Db` using the context's configured auth/runtime identity.
|
|
48
51
|
*/
|
|
49
|
-
|
|
52
|
+
db(source?: BackendSchemaInput): Db;
|
|
50
53
|
/**
|
|
51
|
-
*
|
|
54
|
+
* Get a backend-scoped `Db` authenticated with `backendSecret`.
|
|
52
55
|
*/
|
|
53
|
-
|
|
56
|
+
asBackend(source?: BackendSchemaInput): Db;
|
|
54
57
|
/**
|
|
55
|
-
*
|
|
58
|
+
* Enable backend-authenticated sync for a scoped `Db` when this context is connected
|
|
59
|
+
* to a sync server. Local-only runtimes can scope sessions without backend auth.
|
|
56
60
|
*/
|
|
57
|
-
|
|
61
|
+
private enableBackendSyncIfConfigured;
|
|
62
|
+
/**
|
|
63
|
+
* Build a requester-scoped `Db` from an authenticated request.
|
|
64
|
+
*/
|
|
65
|
+
forRequest(request: RequestLike, source?: BackendSchemaInput): Db;
|
|
66
|
+
/**
|
|
67
|
+
* Build a session-scoped `Db` for server-side impersonation flows.
|
|
68
|
+
*/
|
|
69
|
+
forSession(session: Session, source?: BackendSchemaInput): Db;
|
|
58
70
|
/**
|
|
59
71
|
* Flush the underlying runtime if initialized.
|
|
60
72
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-jazz-context.d.ts","sourceRoot":"","sources":["../../src/backend/create-jazz-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,
|
|
1
|
+
{"version":3,"file":"create-jazz-context.d.ts","sourceRoot":"","sources":["../../src/backend/create-jazz-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAkC,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAsB,KAAK,EAAE,EAAiB,MAAM,kBAAkB,CAAC;AAG9E,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,mBAAmB,GAAG,wBAAwB,CAAC;AAE7F,MAAM,MAAM,aAAa,GACrB;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AAEN,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAChD,UAAU,EACV,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAC1C;IACC,uDAAuD;IACvD,MAAM,EAAE,aAAa,CAAC;IACtB,yEAAyE;IACzE,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B,8CAA8C;IAC9C,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;CACrC;AA8CD;;;;;;GAMG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IACtD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAqB;IACzD,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,OAAO,CAAC,CAAc;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAa;gBAExB,MAAM,EAAE,oBAAoB;IAMxC,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;IA4CpB,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,MAAM;IAId;;OAEG;IACH,OAAO,CAAC,SAAS;IAiBjB;;OAEG;IACH,EAAE,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,EAAE;IAInC;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,EAAE;IAI1C;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IAYrC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,EAAE;IAOjE;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,EAAE;IAM7D;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAWhC;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,WAAW,CAE3E"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { NapiRuntime } from "jazz-napi";
|
|
2
2
|
import { serializeRuntimeSchema } from "../drivers/schema-wire.js";
|
|
3
|
-
import { JazzClient } from "../runtime/client.js";
|
|
3
|
+
import { JazzClient, sessionFromRequest } from "../runtime/client.js";
|
|
4
|
+
import { createDbFromClient } from "../runtime/db.js";
|
|
4
5
|
import { resolveLocalAuthDefaults } from "../runtime/local-auth.js";
|
|
5
6
|
function assertValidBackendConfig(config) {
|
|
6
7
|
if (config.driver.type === "memory" && !config.serverUrl) {
|
|
@@ -34,9 +35,9 @@ function resolveSchema(input) {
|
|
|
34
35
|
/**
|
|
35
36
|
* Server-side Jazz context with lazy runtime setup.
|
|
36
37
|
*
|
|
37
|
-
* The first call to `
|
|
38
|
-
* a NAPI runtime and
|
|
39
|
-
* calls reuse the same initialized runtime.
|
|
38
|
+
* The first call to `db()`, `asBackend()`, `forRequest()`, or `forSession()`
|
|
39
|
+
* initializes a NAPI runtime and backing client using the provided app/schema source.
|
|
40
|
+
* Later calls reuse the same initialized runtime.
|
|
40
41
|
*/
|
|
41
42
|
export class JazzContext {
|
|
42
43
|
config;
|
|
@@ -52,7 +53,7 @@ export class JazzContext {
|
|
|
52
53
|
resolveSchema(source) {
|
|
53
54
|
const selected = source ?? this.defaultSchemaInput;
|
|
54
55
|
if (!selected) {
|
|
55
|
-
throw new Error("No schema source provided. Pass `app` to createJazzContext or provide a schema source when calling
|
|
56
|
+
throw new Error("No schema source provided. Pass `app` to createJazzContext or provide a schema source when calling db()/asBackend()/forRequest()/forSession().");
|
|
56
57
|
}
|
|
57
58
|
return resolveSchema(selected);
|
|
58
59
|
}
|
|
@@ -84,10 +85,27 @@ export class JazzContext {
|
|
|
84
85
|
this.clientInstance = JazzClient.connectWithRuntime(this.runtime, context);
|
|
85
86
|
return this.clientInstance;
|
|
86
87
|
}
|
|
88
|
+
buildDbConfig() {
|
|
89
|
+
return {
|
|
90
|
+
appId: this.config.appId,
|
|
91
|
+
driver: this.config.driver.type === "memory" ? { type: "memory" } : { type: "persistent" },
|
|
92
|
+
serverUrl: this.config.serverUrl,
|
|
93
|
+
serverPathPrefix: this.config.serverPathPrefix,
|
|
94
|
+
env: this.config.env,
|
|
95
|
+
userBranch: this.config.userBranch,
|
|
96
|
+
jwtToken: this.config.jwtToken,
|
|
97
|
+
localAuthMode: this.config.localAuthMode,
|
|
98
|
+
localAuthToken: this.config.localAuthToken,
|
|
99
|
+
adminSecret: this.config.adminSecret,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
wrapDb(client, session) {
|
|
103
|
+
return createDbFromClient(this.buildDbConfig(), client, session);
|
|
104
|
+
}
|
|
87
105
|
/**
|
|
88
106
|
* Get the shared Jazz client, lazily creating it on first access.
|
|
89
107
|
*/
|
|
90
|
-
|
|
108
|
+
getClient(source) {
|
|
91
109
|
const schema = this.resolveSchema(source);
|
|
92
110
|
const schemaJson = serializeRuntimeSchema(schema);
|
|
93
111
|
if (!this.clientInstance) {
|
|
@@ -99,22 +117,46 @@ export class JazzContext {
|
|
|
99
117
|
return this.clientInstance;
|
|
100
118
|
}
|
|
101
119
|
/**
|
|
102
|
-
* Get a
|
|
120
|
+
* Get a high-level `Db` using the context's configured auth/runtime identity.
|
|
121
|
+
*/
|
|
122
|
+
db(source) {
|
|
123
|
+
return this.wrapDb(this.getClient(source));
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Get a backend-scoped `Db` authenticated with `backendSecret`.
|
|
103
127
|
*/
|
|
104
128
|
asBackend(source) {
|
|
105
|
-
return this.
|
|
129
|
+
return this.wrapDb(this.getClient(source).asBackend());
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Enable backend-authenticated sync for a scoped `Db` when this context is connected
|
|
133
|
+
* to a sync server. Local-only runtimes can scope sessions without backend auth.
|
|
134
|
+
*/
|
|
135
|
+
enableBackendSyncIfConfigured(client) {
|
|
136
|
+
if (!this.config.serverUrl) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
if (!this.config.backendSecret) {
|
|
140
|
+
throw new Error("backendSecret required for request/session-scoped sync when serverUrl is configured.");
|
|
141
|
+
}
|
|
142
|
+
client.asBackend();
|
|
106
143
|
}
|
|
107
144
|
/**
|
|
108
|
-
* Build a requester-scoped
|
|
145
|
+
* Build a requester-scoped `Db` from an authenticated request.
|
|
109
146
|
*/
|
|
110
147
|
forRequest(request, source) {
|
|
111
|
-
|
|
148
|
+
const client = this.getClient(source);
|
|
149
|
+
const session = sessionFromRequest(request);
|
|
150
|
+
this.enableBackendSyncIfConfigured(client);
|
|
151
|
+
return this.wrapDb(client, session);
|
|
112
152
|
}
|
|
113
153
|
/**
|
|
114
|
-
* Build a session-scoped
|
|
154
|
+
* Build a session-scoped `Db` for server-side impersonation flows.
|
|
115
155
|
*/
|
|
116
156
|
forSession(session, source) {
|
|
117
|
-
|
|
157
|
+
const client = this.getClient(source);
|
|
158
|
+
this.enableBackendSyncIfConfigured(client);
|
|
159
|
+
return this.wrapDb(client, session);
|
|
118
160
|
}
|
|
119
161
|
/**
|
|
120
162
|
* Flush the underlying runtime if initialized.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-jazz-context.js","sourceRoot":"","sources":["../../src/backend/create-jazz-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"create-jazz-context.js","sourceRoot":"","sources":["../../src/backend/create-jazz-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,19 +6,27 @@ const mocks = vi.hoisted(() => {
|
|
|
6
6
|
const runtimeCtor = vi.fn();
|
|
7
7
|
const inMemoryRuntimeCtor = vi.fn();
|
|
8
8
|
const runtimeInstances = [];
|
|
9
|
+
const createdDbs = [];
|
|
9
10
|
const clients = [];
|
|
10
11
|
const connectWithRuntime = vi.fn((_runtime, _context) => {
|
|
11
12
|
const client = {
|
|
12
13
|
asBackend: vi.fn(function () {
|
|
13
14
|
return this;
|
|
14
15
|
}),
|
|
15
|
-
forRequest: vi.fn(() => ({ kind: "request-client" })),
|
|
16
|
-
forSession: vi.fn(() => ({ kind: "session-client" })),
|
|
17
16
|
shutdown: vi.fn(async () => undefined),
|
|
18
17
|
};
|
|
19
18
|
clients.push(client);
|
|
20
19
|
return client;
|
|
21
20
|
});
|
|
21
|
+
const createDbFromClient = vi.fn((_config, client, session) => {
|
|
22
|
+
const db = {
|
|
23
|
+
kind: session ? "scoped-db" : "db",
|
|
24
|
+
client,
|
|
25
|
+
...(session ? { session } : {}),
|
|
26
|
+
};
|
|
27
|
+
createdDbs.push(db);
|
|
28
|
+
return db;
|
|
29
|
+
});
|
|
22
30
|
class MockNapiRuntime {
|
|
23
31
|
flush = vi.fn();
|
|
24
32
|
constructor(schemaJson, appId, env, userBranch, dataPath, tier) {
|
|
@@ -43,6 +51,8 @@ const mocks = vi.hoisted(() => {
|
|
|
43
51
|
runtimeInstances,
|
|
44
52
|
connectWithRuntime,
|
|
45
53
|
clients,
|
|
54
|
+
createDbFromClient,
|
|
55
|
+
createdDbs,
|
|
46
56
|
reset() {
|
|
47
57
|
resolveLocalAuthDefaults.mockReset();
|
|
48
58
|
runtimeCtor.mockReset();
|
|
@@ -50,6 +60,8 @@ const mocks = vi.hoisted(() => {
|
|
|
50
60
|
runtimeInstances.length = 0;
|
|
51
61
|
connectWithRuntime.mockClear();
|
|
52
62
|
clients.length = 0;
|
|
63
|
+
createDbFromClient.mockClear();
|
|
64
|
+
createdDbs.length = 0;
|
|
53
65
|
},
|
|
54
66
|
};
|
|
55
67
|
});
|
|
@@ -66,8 +78,19 @@ vi.mock("../runtime/client.js", async () => {
|
|
|
66
78
|
vi.mock("../runtime/local-auth.js", () => ({
|
|
67
79
|
resolveLocalAuthDefaults: mocks.resolveLocalAuthDefaults,
|
|
68
80
|
}));
|
|
81
|
+
vi.mock("../runtime/db.js", () => ({
|
|
82
|
+
createDbFromClient: mocks.createDbFromClient,
|
|
83
|
+
}));
|
|
69
84
|
const SCHEMA_A = {};
|
|
70
85
|
const SCHEMA_B = { todos: { columns: [] } };
|
|
86
|
+
function makeJwt(payload) {
|
|
87
|
+
const encode = (value) => Buffer.from(JSON.stringify(value), "utf8")
|
|
88
|
+
.toString("base64")
|
|
89
|
+
.replace(/\+/g, "-")
|
|
90
|
+
.replace(/\//g, "_")
|
|
91
|
+
.replace(/=+$/g, "");
|
|
92
|
+
return `${encode({ alg: "none", typ: "JWT" })}.${encode(payload)}.signature`;
|
|
93
|
+
}
|
|
71
94
|
describe("backend/create-jazz-context", () => {
|
|
72
95
|
beforeEach(() => {
|
|
73
96
|
mocks.reset();
|
|
@@ -81,88 +104,120 @@ describe("backend/create-jazz-context", () => {
|
|
|
81
104
|
});
|
|
82
105
|
expect(mocks.runtimeCtor).not.toHaveBeenCalled();
|
|
83
106
|
expect(mocks.connectWithRuntime).not.toHaveBeenCalled();
|
|
84
|
-
const
|
|
85
|
-
const
|
|
86
|
-
expect(
|
|
107
|
+
const dbA = context.db();
|
|
108
|
+
const dbB = context.db();
|
|
109
|
+
expect(dbA).not.toBe(dbB);
|
|
87
110
|
expect(mocks.runtimeCtor).toHaveBeenCalledTimes(1);
|
|
88
111
|
expect(mocks.connectWithRuntime).toHaveBeenCalledTimes(1);
|
|
112
|
+
expect(mocks.createDbFromClient).toHaveBeenCalledTimes(2);
|
|
113
|
+
expect(mocks.createdDbs[0]?.client).toBe(mocks.createdDbs[1]?.client);
|
|
89
114
|
expect(mocks.runtimeCtor).toHaveBeenCalledWith(serializeRuntimeSchema(SCHEMA_A), "server-app", "dev", "main", "/tmp/jazz.db", "edge");
|
|
90
115
|
});
|
|
91
|
-
it("BC-U02: supports backend/request/session
|
|
116
|
+
it("BC-U02: supports high-level db/backend/request/session helpers", () => {
|
|
92
117
|
const context = createJazzContext({
|
|
93
118
|
appId: "server-app",
|
|
94
119
|
app: { wasmSchema: SCHEMA_A },
|
|
95
120
|
driver: { type: "persistent", dataPath: "/tmp/jazz.db" },
|
|
121
|
+
serverUrl: "http://localhost:1625",
|
|
96
122
|
backendSecret: "secret",
|
|
97
123
|
});
|
|
98
124
|
const req = {
|
|
99
|
-
header: (name) =>
|
|
125
|
+
header: (name) => name === "authorization" ? `Bearer ${makeJwt({ sub: "u1" })}` : undefined,
|
|
100
126
|
};
|
|
101
127
|
const session = { user_id: "u1", claims: {} };
|
|
102
|
-
const
|
|
103
|
-
const
|
|
104
|
-
const
|
|
105
|
-
|
|
106
|
-
expect(
|
|
107
|
-
|
|
128
|
+
const db = context.db();
|
|
129
|
+
const backendDb = context.asBackend();
|
|
130
|
+
const requestDb = context.forRequest(req);
|
|
131
|
+
const sessionDb = context.forSession(session);
|
|
132
|
+
expect(db).toEqual({
|
|
133
|
+
kind: "db",
|
|
134
|
+
client: mocks.clients[0],
|
|
135
|
+
});
|
|
136
|
+
expect(backendDb).toEqual({
|
|
137
|
+
kind: "db",
|
|
138
|
+
client: mocks.clients[0],
|
|
139
|
+
});
|
|
140
|
+
expect(requestDb).toEqual({
|
|
141
|
+
kind: "scoped-db",
|
|
142
|
+
client: mocks.clients[0],
|
|
143
|
+
session: { user_id: "u1", claims: {} },
|
|
144
|
+
});
|
|
145
|
+
expect(sessionDb).toEqual({
|
|
146
|
+
kind: "scoped-db",
|
|
147
|
+
client: mocks.clients[0],
|
|
148
|
+
session,
|
|
149
|
+
});
|
|
108
150
|
expect(mocks.clients).toHaveLength(1);
|
|
109
|
-
expect(mocks.clients[0].asBackend).toHaveBeenCalledTimes(
|
|
110
|
-
expect(mocks.
|
|
111
|
-
|
|
151
|
+
expect(mocks.clients[0].asBackend).toHaveBeenCalledTimes(3);
|
|
152
|
+
expect(mocks.createDbFromClient).toHaveBeenCalledTimes(4);
|
|
153
|
+
});
|
|
154
|
+
it("BC-U03: request/session helpers work locally without backend sync config", () => {
|
|
155
|
+
const context = createJazzContext({
|
|
156
|
+
appId: "server-app",
|
|
157
|
+
app: { wasmSchema: SCHEMA_A },
|
|
158
|
+
driver: { type: "persistent", dataPath: "/tmp/jazz.db" },
|
|
159
|
+
});
|
|
160
|
+
const req = {
|
|
161
|
+
header: (name) => name === "authorization" ? `Bearer ${makeJwt({ sub: "u1" })}` : undefined,
|
|
162
|
+
};
|
|
163
|
+
const session = { user_id: "u1", claims: {} };
|
|
164
|
+
expect(() => context.forRequest(req)).not.toThrow();
|
|
165
|
+
expect(() => context.forSession(session)).not.toThrow();
|
|
166
|
+
expect(mocks.clients[0].asBackend).not.toHaveBeenCalled();
|
|
112
167
|
});
|
|
113
|
-
it("BC-
|
|
168
|
+
it("BC-U04: throws when no schema source is available", () => {
|
|
114
169
|
const context = createJazzContext({
|
|
115
170
|
appId: "server-app",
|
|
116
171
|
driver: { type: "persistent", dataPath: "/tmp/jazz.db" },
|
|
117
172
|
});
|
|
118
|
-
expect(() => context.
|
|
173
|
+
expect(() => context.db()).toThrow("No schema source provided");
|
|
119
174
|
});
|
|
120
|
-
it("BC-
|
|
175
|
+
it("BC-U05: rejects switching to a different schema after initialization", () => {
|
|
121
176
|
const context = createJazzContext({
|
|
122
177
|
appId: "server-app",
|
|
123
178
|
driver: { type: "persistent", dataPath: "/tmp/jazz.db" },
|
|
124
179
|
});
|
|
125
|
-
context.
|
|
126
|
-
expect(() => context.
|
|
180
|
+
context.db({ wasmSchema: SCHEMA_A });
|
|
181
|
+
expect(() => context.db({ wasmSchema: SCHEMA_B })).toThrow("already initialized with a different schema");
|
|
127
182
|
});
|
|
128
|
-
it("BC-
|
|
183
|
+
it("BC-U06: flush is safe before init and delegates after init", () => {
|
|
129
184
|
const context = createJazzContext({
|
|
130
185
|
appId: "server-app",
|
|
131
186
|
app: { wasmSchema: SCHEMA_A },
|
|
132
187
|
driver: { type: "persistent", dataPath: "/tmp/jazz.db" },
|
|
133
188
|
});
|
|
134
189
|
expect(() => context.flush()).not.toThrow();
|
|
135
|
-
context.
|
|
190
|
+
context.db();
|
|
136
191
|
context.flush();
|
|
137
192
|
expect(mocks.runtimeInstances).toHaveLength(1);
|
|
138
193
|
expect(mocks.runtimeInstances[0].flush).toHaveBeenCalledTimes(1);
|
|
139
194
|
});
|
|
140
|
-
it("BC-
|
|
195
|
+
it("BC-U07: shutdown releases client and allows re-init", async () => {
|
|
141
196
|
const context = createJazzContext({
|
|
142
197
|
appId: "server-app",
|
|
143
198
|
app: { wasmSchema: SCHEMA_A },
|
|
144
199
|
driver: { type: "persistent", dataPath: "/tmp/jazz.db" },
|
|
145
200
|
});
|
|
146
|
-
context.
|
|
201
|
+
context.db();
|
|
147
202
|
expect(mocks.clients).toHaveLength(1);
|
|
148
203
|
await context.shutdown();
|
|
149
204
|
expect(mocks.clients[0].shutdown).toHaveBeenCalledTimes(1);
|
|
150
|
-
context.
|
|
205
|
+
context.db();
|
|
151
206
|
expect(mocks.connectWithRuntime).toHaveBeenCalledTimes(2);
|
|
152
207
|
expect(mocks.runtimeCtor).toHaveBeenCalledTimes(2);
|
|
153
208
|
});
|
|
154
|
-
it("BC-
|
|
209
|
+
it("BC-U08: uses in-memory runtime when driver.type is memory", () => {
|
|
155
210
|
const context = createJazzContext({
|
|
156
211
|
appId: "server-app",
|
|
157
212
|
app: { wasmSchema: SCHEMA_A },
|
|
158
213
|
driver: { type: "memory" },
|
|
159
214
|
serverUrl: "http://localhost:1625",
|
|
160
215
|
});
|
|
161
|
-
context.
|
|
216
|
+
context.db();
|
|
162
217
|
expect(mocks.inMemoryRuntimeCtor).toHaveBeenCalledTimes(1);
|
|
163
218
|
expect(mocks.runtimeCtor).toHaveBeenCalledWith(serializeRuntimeSchema(SCHEMA_A), "server-app", "dev", "main", "__memory__", "edge");
|
|
164
219
|
});
|
|
165
|
-
it("BC-
|
|
220
|
+
it("BC-U09: rejects memory driver without serverUrl", () => {
|
|
166
221
|
expect(() => createJazzContext({
|
|
167
222
|
appId: "server-app",
|
|
168
223
|
app: { wasmSchema: SCHEMA_A },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-jazz-context.test.js","sourceRoot":"","sources":["../../src/backend/create-jazz-context.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;IAC5B,MAAM,wBAAwB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACzC,MAAM,WAAW,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAC5B,MAAM,mBAAmB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACpC,MAAM,gBAAgB,GAA+C,EAAE,CAAC;IACxE,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"create-jazz-context.test.js","sourceRoot":"","sources":["../../src/backend/create-jazz-context.test.ts"],"names":[],"mappings":"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"}
|
package/dist/backend/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { createJazzContext, JazzContext, type BackendContextConfig, type BackendQuerySchemaSource, type BackendSchemaInput, type BackendSchemaSource, } from "./create-jazz-context.js";
|
|
2
|
-
export type {
|
|
3
|
-
export
|
|
2
|
+
export type { WasmSchema } from "../drivers/types.js";
|
|
3
|
+
export type { Session } from "../runtime/context.js";
|
|
4
|
+
export { Db, type QueryBuilder, type QueryOptions, type TableProxy } from "../runtime/db.js";
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/backend/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,WAAW,GAKZ,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,WAAW,GAKZ,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,EAAE,EAAyD,MAAM,kBAAkB,CAAC"}
|