on-zero 0.2.8 → 0.2.10
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/cjs/createZeroServer.cjs +19 -15
- package/dist/cjs/createZeroServer.js +17 -11
- package/dist/cjs/createZeroServer.js.map +1 -1
- package/dist/cjs/createZeroServer.native.js +19 -15
- package/dist/cjs/createZeroServer.native.js.map +1 -1
- package/dist/esm/createZeroServer.js +17 -11
- package/dist/esm/createZeroServer.js.map +1 -1
- package/dist/esm/createZeroServer.mjs +19 -15
- package/dist/esm/createZeroServer.mjs.map +1 -1
- package/dist/esm/createZeroServer.native.js +19 -15
- package/dist/esm/createZeroServer.native.js.map +1 -1
- package/package.json +2 -2
- package/src/createZeroServer.ts +31 -20
- package/types/createZeroServer.d.ts +10 -3
- package/types/createZeroServer.d.ts.map +1 -1
|
@@ -41,6 +41,7 @@ var import_zero = require("@rocicorp/zero"),
|
|
|
41
41
|
function createZeroServer({
|
|
42
42
|
createServerActions,
|
|
43
43
|
database,
|
|
44
|
+
pool: externalPool,
|
|
44
45
|
schema,
|
|
45
46
|
models,
|
|
46
47
|
queries,
|
|
@@ -51,21 +52,24 @@ function createZeroServer({
|
|
|
51
52
|
defaultMutateAuthData = {}
|
|
52
53
|
}) {
|
|
53
54
|
(0, import_state.setSchema)(schema), (0, import_state.setEnvironment)("server");
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
55
|
+
let pool;
|
|
56
|
+
if (externalPool) pool = externalPool;else {
|
|
57
|
+
const dbString = (0, import_helpers.assertString)(database, 'createZeroServer "database"'),
|
|
58
|
+
pgPool = new import_pg3.Pool({
|
|
59
|
+
connectionString: dbString,
|
|
60
|
+
// handle self-signed certificates in production
|
|
61
|
+
ssl: dbString.includes("sslmode=require") ? {
|
|
62
|
+
rejectUnauthorized: !1
|
|
63
|
+
} : void 0
|
|
64
|
+
});
|
|
65
|
+
pgPool.on("error", error => {
|
|
66
|
+
console.error("[on-zero] pool error", error.message);
|
|
67
|
+
}), pgPool.on("connect", client => {
|
|
68
|
+
client.on("error", error => {
|
|
69
|
+
console.error("[on-zero] client error", error.message);
|
|
70
|
+
});
|
|
71
|
+
}), pool = pgPool;
|
|
72
|
+
}
|
|
69
73
|
const zeroDb = (0, import_pg2.zeroNodePg)(schema, pool),
|
|
70
74
|
permissions = (0, import_createPermissions.createPermissions)({
|
|
71
75
|
environment: "server",
|
|
@@ -21,6 +21,7 @@ var import_zero = require("@rocicorp/zero"), import_pg = require("@rocicorp/zero
|
|
|
21
21
|
function createZeroServer({
|
|
22
22
|
createServerActions,
|
|
23
23
|
database,
|
|
24
|
+
pool: externalPool,
|
|
24
25
|
schema,
|
|
25
26
|
models,
|
|
26
27
|
queries,
|
|
@@ -31,18 +32,23 @@ function createZeroServer({
|
|
|
31
32
|
defaultMutateAuthData = {}
|
|
32
33
|
}) {
|
|
33
34
|
(0, import_state.setSchema)(schema), (0, import_state.setEnvironment)("server");
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
client.on("error", (error) => {
|
|
43
|
-
console.error("[on-zero] client error", error.message);
|
|
35
|
+
let pool;
|
|
36
|
+
if (externalPool)
|
|
37
|
+
pool = externalPool;
|
|
38
|
+
else {
|
|
39
|
+
const dbString = (0, import_helpers.assertString)(database, 'createZeroServer "database"'), pgPool = new import_pg3.Pool({
|
|
40
|
+
connectionString: dbString,
|
|
41
|
+
// handle self-signed certificates in production
|
|
42
|
+
ssl: dbString.includes("sslmode=require") ? { rejectUnauthorized: !1 } : void 0
|
|
44
43
|
});
|
|
45
|
-
|
|
44
|
+
pgPool.on("error", (error) => {
|
|
45
|
+
console.error("[on-zero] pool error", error.message);
|
|
46
|
+
}), pgPool.on("connect", (client) => {
|
|
47
|
+
client.on("error", (error) => {
|
|
48
|
+
console.error("[on-zero] client error", error.message);
|
|
49
|
+
});
|
|
50
|
+
}), pool = pgPool;
|
|
51
|
+
}
|
|
46
52
|
const zeroDb = (0, import_pg2.zeroNodePg)(schema, pool), permissions = (0, import_createPermissions.createPermissions)({
|
|
47
53
|
environment: "server",
|
|
48
54
|
schema,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createZeroServer.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA6B,2BAC7B,YAA8B,8BAC9B,gBAA6D,kCAC7DA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["import_pg", "zeroHandleQueryRequest", "_", "query"]
|
|
6
6
|
}
|
|
@@ -44,6 +44,7 @@ function createZeroServer(param) {
|
|
|
44
44
|
var {
|
|
45
45
|
createServerActions,
|
|
46
46
|
database,
|
|
47
|
+
pool: externalPool,
|
|
47
48
|
schema,
|
|
48
49
|
models,
|
|
49
50
|
queries,
|
|
@@ -54,21 +55,24 @@ function createZeroServer(param) {
|
|
|
54
55
|
defaultMutateAuthData = {}
|
|
55
56
|
} = param;
|
|
56
57
|
(0, import_state.setSchema)(schema), (0, import_state.setEnvironment)("server");
|
|
57
|
-
var
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
58
|
+
var pool;
|
|
59
|
+
if (externalPool) pool = externalPool;else {
|
|
60
|
+
var dbString = (0, import_helpers.assertString)(database, 'createZeroServer "database"'),
|
|
61
|
+
pgPool = new import_pg3.Pool({
|
|
62
|
+
connectionString: dbString,
|
|
63
|
+
// handle self-signed certificates in production
|
|
64
|
+
ssl: dbString.includes("sslmode=require") ? {
|
|
65
|
+
rejectUnauthorized: !1
|
|
66
|
+
} : void 0
|
|
67
|
+
});
|
|
68
|
+
pgPool.on("error", function (error) {
|
|
69
|
+
console.error("[on-zero] pool error", error.message);
|
|
70
|
+
}), pgPool.on("connect", function (client) {
|
|
71
|
+
client.on("error", function (error) {
|
|
72
|
+
console.error("[on-zero] client error", error.message);
|
|
73
|
+
});
|
|
74
|
+
}), pool = pgPool;
|
|
75
|
+
}
|
|
72
76
|
var zeroDb = (0, import_pg2.zeroNodePg)(schema, pool),
|
|
73
77
|
permissions = (0, import_createPermissions.createPermissions)({
|
|
74
78
|
environment: "server",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroServer_exports","__export","createZeroServer","module","exports","import_zero","require","import_pg","import_server","import_pg2","import_helpers","import_pg3","import_createPermissions","import_createMutators","import_mutatorContext","import_queryContext","import_modelRegistry","import_run","import_state","import_where","import_zeroRunner","param","createServerActions","database","schema","models","queries","mutations","mutationValidators","validateQuery","validateMutation","defaultAllowAdminRole","defaultMutateAuthData","setSchema","setEnvironment","dbString","assertString","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroServer_exports","__export","createZeroServer","module","exports","import_zero","require","import_pg","import_server","import_pg2","import_helpers","import_pg3","import_createPermissions","import_createMutators","import_mutatorContext","import_queryContext","import_modelRegistry","import_run","import_state","import_where","import_zeroRunner","param","createServerActions","database","pool","externalPool","schema","models","queries","mutations","mutationValidators","validateQuery","validateMutation","defaultAllowAdminRole","defaultMutateAuthData","setSchema","setEnvironment","dbString","assertString","pgPool","Pool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","zeroDb","zeroNodePg","permissions","createPermissions","environment","adminRoleMode","processor","PushProcessor","handleMutationRequest","param2","authData","request","skipAsyncTasks","asyncTasks","mutators","createMutators","can","response","process","length","Promise","all","map","task","runWithAuthScope","catch","err","handleQueryRequest","Error","runWithQueryContext","name","args","startsWith","table","slice","objOrId","perm","getMutationsPermissions","setEvaluatingPermission","getZQL","where","eb","buildPermissionQuery","one","queryName","params","_$query","mustGetQuery","fn","ctx","runMutate","modelName","mutatorName","mutatorArg","options","scoped","getScopedAuthData","modelMutators","mutator","transaction","tx","resolvedAuth","promise","t","awaitEffects","mutate","Proxy","get","_","_2","arg","query2","isInZeroMutation","mutatorContext","output","dummyTransactionInput","query","cb","run","setCustomQueries","setRunner","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -21,6 +21,7 @@ import { setRunner } from "./zeroRunner";
|
|
|
21
21
|
function createZeroServer({
|
|
22
22
|
createServerActions,
|
|
23
23
|
database,
|
|
24
|
+
pool: externalPool,
|
|
24
25
|
schema,
|
|
25
26
|
models,
|
|
26
27
|
queries,
|
|
@@ -31,18 +32,23 @@ function createZeroServer({
|
|
|
31
32
|
defaultMutateAuthData = {}
|
|
32
33
|
}) {
|
|
33
34
|
setSchema(schema), setEnvironment("server");
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
client.on("error", (error) => {
|
|
43
|
-
console.error("[on-zero] client error", error.message);
|
|
35
|
+
let pool;
|
|
36
|
+
if (externalPool)
|
|
37
|
+
pool = externalPool;
|
|
38
|
+
else {
|
|
39
|
+
const dbString = assertString(database, 'createZeroServer "database"'), pgPool = new Pool({
|
|
40
|
+
connectionString: dbString,
|
|
41
|
+
// handle self-signed certificates in production
|
|
42
|
+
ssl: dbString.includes("sslmode=require") ? { rejectUnauthorized: !1 } : void 0
|
|
44
43
|
});
|
|
45
|
-
|
|
44
|
+
pgPool.on("error", (error) => {
|
|
45
|
+
console.error("[on-zero] pool error", error.message);
|
|
46
|
+
}), pgPool.on("connect", (client) => {
|
|
47
|
+
client.on("error", (error) => {
|
|
48
|
+
console.error("[on-zero] client error", error.message);
|
|
49
|
+
});
|
|
50
|
+
}), pool = pgPool;
|
|
51
|
+
}
|
|
46
52
|
const zeroDb = zeroNodePg(schema, pool), permissions = createPermissions({
|
|
47
53
|
environment: "server",
|
|
48
54
|
schema,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createZeroServer.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB,8BAA8B;AAC7D,SAAS,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["_", "query"]
|
|
6
6
|
}
|
|
@@ -16,6 +16,7 @@ import { setRunner } from "./zeroRunner.mjs";
|
|
|
16
16
|
function createZeroServer({
|
|
17
17
|
createServerActions,
|
|
18
18
|
database,
|
|
19
|
+
pool: externalPool,
|
|
19
20
|
schema,
|
|
20
21
|
models,
|
|
21
22
|
queries,
|
|
@@ -26,21 +27,24 @@ function createZeroServer({
|
|
|
26
27
|
defaultMutateAuthData = {}
|
|
27
28
|
}) {
|
|
28
29
|
setSchema(schema), setEnvironment("server");
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
30
|
+
let pool;
|
|
31
|
+
if (externalPool) pool = externalPool;else {
|
|
32
|
+
const dbString = assertString(database, 'createZeroServer "database"'),
|
|
33
|
+
pgPool = new Pool({
|
|
34
|
+
connectionString: dbString,
|
|
35
|
+
// handle self-signed certificates in production
|
|
36
|
+
ssl: dbString.includes("sslmode=require") ? {
|
|
37
|
+
rejectUnauthorized: !1
|
|
38
|
+
} : void 0
|
|
39
|
+
});
|
|
40
|
+
pgPool.on("error", error => {
|
|
41
|
+
console.error("[on-zero] pool error", error.message);
|
|
42
|
+
}), pgPool.on("connect", client => {
|
|
43
|
+
client.on("error", error => {
|
|
44
|
+
console.error("[on-zero] client error", error.message);
|
|
45
|
+
});
|
|
46
|
+
}), pool = pgPool;
|
|
47
|
+
}
|
|
44
48
|
const zeroDb = zeroNodePg(schema, pool),
|
|
45
49
|
permissions = createPermissions({
|
|
46
50
|
environment: "server",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","Pool","createPermissions","createMutators","getScopedAuthData","isInZeroMutation","mutatorContext","runWithAuthScope","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setEnvironment","setSchema","setEvaluatingPermission","setRunner","createZeroServer","createServerActions","database","schema","models","queries","mutations","mutationValidators","validateQuery","validateMutation","defaultAllowAdminRole","defaultMutateAuthData","dbString","
|
|
1
|
+
{"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","Pool","createPermissions","createMutators","getScopedAuthData","isInZeroMutation","mutatorContext","runWithAuthScope","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setEnvironment","setSchema","setEvaluatingPermission","setRunner","createZeroServer","createServerActions","database","pool","externalPool","schema","models","queries","mutations","mutationValidators","validateQuery","validateMutation","defaultAllowAdminRole","defaultMutateAuthData","dbString","pgPool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","zeroDb","permissions","environment","adminRoleMode","processor","handleMutationRequest","authData","request","skipAsyncTasks","asyncTasks","mutators","can","response","process","length","Promise","all","map","task","catch","err","Error","name","args","startsWith","table","slice","objOrId","perm","where","eb","buildPermissionQuery","one","queryName","params","fn","ctx","runMutate","modelName","mutatorName","mutatorArg","options","scoped","mutator","transaction","tx","resolvedAuth","promise","t","awaitEffects","mutate","Proxy","get","_","_2","arg","query2","dummyTransactionInput","query","cb","run","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -17,6 +17,7 @@ function createZeroServer(param) {
|
|
|
17
17
|
var {
|
|
18
18
|
createServerActions,
|
|
19
19
|
database,
|
|
20
|
+
pool: externalPool,
|
|
20
21
|
schema,
|
|
21
22
|
models,
|
|
22
23
|
queries,
|
|
@@ -27,21 +28,24 @@ function createZeroServer(param) {
|
|
|
27
28
|
defaultMutateAuthData = {}
|
|
28
29
|
} = param;
|
|
29
30
|
setSchema(schema), setEnvironment("server");
|
|
30
|
-
var
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
31
|
+
var pool;
|
|
32
|
+
if (externalPool) pool = externalPool;else {
|
|
33
|
+
var dbString = assertString(database, 'createZeroServer "database"'),
|
|
34
|
+
pgPool = new Pool({
|
|
35
|
+
connectionString: dbString,
|
|
36
|
+
// handle self-signed certificates in production
|
|
37
|
+
ssl: dbString.includes("sslmode=require") ? {
|
|
38
|
+
rejectUnauthorized: !1
|
|
39
|
+
} : void 0
|
|
40
|
+
});
|
|
41
|
+
pgPool.on("error", function (error) {
|
|
42
|
+
console.error("[on-zero] pool error", error.message);
|
|
43
|
+
}), pgPool.on("connect", function (client) {
|
|
44
|
+
client.on("error", function (error) {
|
|
45
|
+
console.error("[on-zero] client error", error.message);
|
|
46
|
+
});
|
|
47
|
+
}), pool = pgPool;
|
|
48
|
+
}
|
|
45
49
|
var zeroDb = zeroNodePg(schema, pool),
|
|
46
50
|
permissions = createPermissions({
|
|
47
51
|
environment: "server",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","Pool","createPermissions","createMutators","getScopedAuthData","isInZeroMutation","mutatorContext","runWithAuthScope","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setEnvironment","setSchema","setEvaluatingPermission","setRunner","createZeroServer","param","createServerActions","database","schema","models","queries","mutations","mutationValidators","validateQuery","validateMutation","defaultAllowAdminRole","defaultMutateAuthData","dbString","
|
|
1
|
+
{"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","Pool","createPermissions","createMutators","getScopedAuthData","isInZeroMutation","mutatorContext","runWithAuthScope","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setEnvironment","setSchema","setEvaluatingPermission","setRunner","createZeroServer","param","createServerActions","database","pool","externalPool","schema","models","queries","mutations","mutationValidators","validateQuery","validateMutation","defaultAllowAdminRole","defaultMutateAuthData","dbString","pgPool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","zeroDb","permissions","environment","adminRoleMode","processor","handleMutationRequest","param2","authData","request","skipAsyncTasks","asyncTasks","mutators","can","response","process","length","Promise","all","map","task","catch","err","Error","name","args","startsWith","table","slice","objOrId","perm","where","eb","buildPermissionQuery","one","queryName","params","_$query","fn","ctx","runMutate","modelName","mutatorName","mutatorArg","options","scoped","modelMutators","mutator","transaction","tx","resolvedAuth","promise","t","awaitEffects","mutate","Proxy","get","_","_2","arg","query2","output","dummyTransactionInput","query","cb","run","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "on-zero",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.10",
|
|
4
4
|
"description": "A typed layer over @rocicorp/zero with queries, mutations, and permissions",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"source": "src/index.ts",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
}
|
|
72
72
|
},
|
|
73
73
|
"dependencies": {
|
|
74
|
-
"@take-out/helpers": "0.2.
|
|
74
|
+
"@take-out/helpers": "0.2.10",
|
|
75
75
|
"chokidar": "^4.0.3",
|
|
76
76
|
"citty": "^0.1.6",
|
|
77
77
|
"valibot": "^1.1.0"
|
package/src/createZeroServer.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { mustGetQuery } from '@rocicorp/zero'
|
|
2
2
|
import { PushProcessor } from '@rocicorp/zero/pg'
|
|
3
3
|
import { handleQueryRequest as zeroHandleQueryRequest } from '@rocicorp/zero/server'
|
|
4
|
-
import { zeroNodePg } from '@rocicorp/zero/server/adapters/pg'
|
|
4
|
+
import { zeroNodePg, type NodePgTransaction } from '@rocicorp/zero/server/adapters/pg'
|
|
5
5
|
import { assertString } from '@take-out/helpers'
|
|
6
6
|
import { Pool } from 'pg'
|
|
7
7
|
|
|
@@ -78,6 +78,7 @@ export function createZeroServer<
|
|
|
78
78
|
>({
|
|
79
79
|
createServerActions,
|
|
80
80
|
database,
|
|
81
|
+
pool: externalPool,
|
|
81
82
|
schema,
|
|
82
83
|
models,
|
|
83
84
|
queries,
|
|
@@ -88,9 +89,15 @@ export function createZeroServer<
|
|
|
88
89
|
defaultMutateAuthData = {} as MutateAuthData,
|
|
89
90
|
}: {
|
|
90
91
|
/**
|
|
91
|
-
*
|
|
92
|
+
* Optional pre-built Pool-like object (e.g. PGlite wrapper for Cloudflare Workers).
|
|
93
|
+
* When provided, `database` is not required.
|
|
92
94
|
*/
|
|
93
|
-
|
|
95
|
+
pool?: NodePgTransaction
|
|
96
|
+
/**
|
|
97
|
+
* The DB connection string, same as ZERO_UPSTREAM_DB.
|
|
98
|
+
* Not required when `pool` is provided.
|
|
99
|
+
*/
|
|
100
|
+
database?: string
|
|
94
101
|
schema: Schema
|
|
95
102
|
models: Models
|
|
96
103
|
createServerActions: () => ServerActions
|
|
@@ -128,24 +135,28 @@ export function createZeroServer<
|
|
|
128
135
|
setSchema(schema)
|
|
129
136
|
setEnvironment('server')
|
|
130
137
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
console.error(`[on-zero] pool error`, error.message)
|
|
143
|
-
})
|
|
144
|
-
pool.on('connect', (client) => {
|
|
145
|
-
client.on('error', (error) => {
|
|
146
|
-
console.error(`[on-zero] client error`, error.message)
|
|
138
|
+
let pool: NodePgTransaction
|
|
139
|
+
if (externalPool) {
|
|
140
|
+
pool = externalPool
|
|
141
|
+
} else {
|
|
142
|
+
const dbString = assertString(database, `createZeroServer "database"`)
|
|
143
|
+
const pgPool = new Pool({
|
|
144
|
+
connectionString: dbString,
|
|
145
|
+
// handle self-signed certificates in production
|
|
146
|
+
ssl: dbString.includes('sslmode=require')
|
|
147
|
+
? { rejectUnauthorized: false }
|
|
148
|
+
: undefined,
|
|
147
149
|
})
|
|
148
|
-
|
|
150
|
+
pgPool.on('error', (error) => {
|
|
151
|
+
console.error(`[on-zero] pool error`, error.message)
|
|
152
|
+
})
|
|
153
|
+
pgPool.on('connect', (client) => {
|
|
154
|
+
client.on('error', (error) => {
|
|
155
|
+
console.error(`[on-zero] client error`, error.message)
|
|
156
|
+
})
|
|
157
|
+
})
|
|
158
|
+
pool = pgPool
|
|
159
|
+
}
|
|
149
160
|
|
|
150
161
|
const zeroDb = zeroNodePg(schema, pool)
|
|
151
162
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type NodePgTransaction } from '@rocicorp/zero/server/adapters/pg';
|
|
1
2
|
import type { AdminRoleMode, AsyncAction, AuthData, GenericModels, MutatorContext, QueryBuilder, Transaction } from './types';
|
|
2
3
|
import type { AnyQueryRegistry, HumanReadable, Query, Schema as ZeroSchema } from '@rocicorp/zero';
|
|
3
4
|
type MutateAuthData = Pick<AuthData, 'email' | 'id'> & Partial<AuthData>;
|
|
@@ -23,11 +24,17 @@ export type ValidateMutationArgs = {
|
|
|
23
24
|
};
|
|
24
25
|
export type ValidateQueryFn = (args: ValidateQueryArgs) => void;
|
|
25
26
|
export type ValidateMutationFn = (args: ValidateMutationArgs) => void | Promise<void>;
|
|
26
|
-
export declare function createZeroServer<Schema extends ZeroSchema, Models extends GenericModels, ServerActions extends Record<string, unknown>>({ createServerActions, database, schema, models, queries, mutations: mutationValidators, validateQuery, validateMutation, defaultAllowAdminRole, defaultMutateAuthData, }: {
|
|
27
|
+
export declare function createZeroServer<Schema extends ZeroSchema, Models extends GenericModels, ServerActions extends Record<string, unknown>>({ createServerActions, database, pool: externalPool, schema, models, queries, mutations: mutationValidators, validateQuery, validateMutation, defaultAllowAdminRole, defaultMutateAuthData, }: {
|
|
27
28
|
/**
|
|
28
|
-
*
|
|
29
|
+
* Optional pre-built Pool-like object (e.g. PGlite wrapper for Cloudflare Workers).
|
|
30
|
+
* When provided, `database` is not required.
|
|
29
31
|
*/
|
|
30
|
-
|
|
32
|
+
pool?: NodePgTransaction;
|
|
33
|
+
/**
|
|
34
|
+
* The DB connection string, same as ZERO_UPSTREAM_DB.
|
|
35
|
+
* Not required when `pool` is provided.
|
|
36
|
+
*/
|
|
37
|
+
database?: string;
|
|
31
38
|
schema: Schema;
|
|
32
39
|
models: Models;
|
|
33
40
|
createServerActions: () => ServerActions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createZeroServer.d.ts","sourceRoot":"","sources":["../src/createZeroServer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createZeroServer.d.ts","sourceRoot":"","sources":["../src/createZeroServer.ts"],"names":[],"mappings":"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"}
|