@mathrunet/masamune_cloudflare_turso 3.4.4 → 3.5.1
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/CHANGELOG.md +1 -1
- package/README.md +26 -0
- package/dist/functions/turso.js +5 -3
- package/dist/functions/turso.js.map +1 -1
- package/dist/functions/turso_token.js +5 -3
- package/dist/functions/turso_token.js.map +1 -1
- package/dist/lib/database_adapter.d.ts +0 -1
- package/dist/lib/database_adapter.js +1 -8
- package/dist/lib/database_adapter.js.map +1 -1
- package/dist/lib/database_prefix.d.ts +3 -0
- package/dist/lib/database_prefix.js +31 -0
- package/dist/lib/database_prefix.js.map +1 -0
- package/dist/lib/env.js +12 -0
- package/dist/lib/env.js.map +1 -1
- package/dist/lib/http_error.d.ts +4 -0
- package/dist/lib/http_error.js +12 -0
- package/dist/lib/http_error.js.map +1 -0
- package/dist/lib/request.d.ts +1 -4
- package/dist/lib/request.js +26 -25
- package/dist/lib/request.js.map +1 -1
- package/dist/lib/turso_client.js +71 -7
- package/dist/lib/turso_client.js.map +1 -1
- package/dist/lib/types.d.ts +4 -0
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -76,6 +76,7 @@ Cloudflare bindings are also supported and take precedence over options:
|
|
|
76
76
|
- `TURSO_PLATFORM_API_TOKEN`
|
|
77
77
|
- `TURSO_ORGANIZATION`
|
|
78
78
|
- `TURSO_GROUP`
|
|
79
|
+
- `TURSO_SERVER_TOKEN_TTL_SECONDS` (default: `3600`)
|
|
79
80
|
|
|
80
81
|
For production, store the Platform API token as a secret:
|
|
81
82
|
|
|
@@ -83,6 +84,18 @@ For production, store the Platform API token as a secret:
|
|
|
83
84
|
wrangler secret put TURSO_PLATFORM_API_TOKEN
|
|
84
85
|
```
|
|
85
86
|
|
|
87
|
+
Hosted Turso does not accept arbitrary self-signed Ed25519 JWT keys. Both
|
|
88
|
+
client tokens and Worker-side database tokens therefore use the official
|
|
89
|
+
Platform API. Worker-side full-access tokens are always issued with an
|
|
90
|
+
expiration, cached only until 60 seconds before expiry, and refreshed with a
|
|
91
|
+
single in-flight request per database. The old unbounded server token behavior
|
|
92
|
+
is not used.
|
|
93
|
+
|
|
94
|
+
`katana apply` configures the server TTL with
|
|
95
|
+
`cloudflare.turso.server_token_ttl`. Set
|
|
96
|
+
`cloudflare.turso.rotate_legacy_tokens: true` only when you intentionally want
|
|
97
|
+
to invalidate all previously issued tokens in the Turso group.
|
|
98
|
+
|
|
86
99
|
# Endpoints
|
|
87
100
|
|
|
88
101
|
The package exposes Turso through a single provider path.
|
|
@@ -111,6 +124,19 @@ Collection queries can pass `where`, `orderBy`, and `limit`.
|
|
|
111
124
|
/turso/database/main/users?where=[{"type":"equalTo","key":"name","value":"Alice"}]&orderBy=[{"key":"created_at","descending":true}]&limit=20
|
|
112
125
|
```
|
|
113
126
|
|
|
127
|
+
Clients may pass `prefix` to select a separate physical database while keeping
|
|
128
|
+
the logical path used by rules unchanged. Prefixes are trimmed, trailing
|
|
129
|
+
underscores are removed, and exactly one underscore is appended.
|
|
130
|
+
|
|
131
|
+
```text
|
|
132
|
+
/turso/database/main/users?prefix=dev
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
This request authorizes `main/users` and connects to `dev_main`. The token
|
|
136
|
+
endpoint accepts the same value in its JSON body, so CRUD and direct tokens
|
|
137
|
+
always resolve the same physical database. A missing, empty, or underscore-only
|
|
138
|
+
prefix keeps the existing database name.
|
|
139
|
+
|
|
114
140
|
Supported `where` types are `equalTo`, `notEqualTo`, `lessThan`,
|
|
115
141
|
`lessThanOrEqualTo`, `greaterThan`, `greaterThanOrEqualTo`, `whereIn`,
|
|
116
142
|
`whereNotIn`, `isNull`, `isNotNull`, and `like`.
|
package/dist/functions/turso.js
CHANGED
|
@@ -5,6 +5,7 @@ const request_1 = require("../lib/request");
|
|
|
5
5
|
const rules_1 = require("../lib/rules");
|
|
6
6
|
const turso_client_1 = require("../lib/turso_client");
|
|
7
7
|
const env_1 = require("../lib/env");
|
|
8
|
+
const database_prefix_1 = require("../lib/database_prefix");
|
|
8
9
|
module.exports = (hono, options, data) => {
|
|
9
10
|
hono.get("/", async (context) => handleCrud(context, options, "GET"));
|
|
10
11
|
hono.get("/database/:database/:table", async (context) => handleCrud(context, options, "GET"));
|
|
@@ -28,8 +29,9 @@ async function handleCrud(context, options, method) {
|
|
|
28
29
|
resolvedOptions = (0, env_1.resolveTursoWorkersOptionsFromEnv)(context, options);
|
|
29
30
|
request = await (0, request_1.parseCrudRequest)(context);
|
|
30
31
|
const crudRequest = request;
|
|
32
|
+
const databaseOptions = (0, database_prefix_1.applyRequestDatabasePrefix)(resolvedOptions, crudRequest.prefix);
|
|
31
33
|
phase = "connect";
|
|
32
|
-
const connection = await (0, turso_client_1.resolveDatabaseConnection)(crudRequest.database,
|
|
34
|
+
const connection = await (0, turso_client_1.resolveDatabaseConnection)(crudRequest.database, databaseOptions);
|
|
33
35
|
const client = (0, turso_client_1.createTursoClient)(connection);
|
|
34
36
|
const engine = (0, rules_1.createTursoRulesEngine)(resolvedOptions.rules);
|
|
35
37
|
const authentication = context.get("authentication");
|
|
@@ -55,7 +57,7 @@ async function handleCrud(context, options, method) {
|
|
|
55
57
|
if (connection.created) {
|
|
56
58
|
phase = "database-ready";
|
|
57
59
|
await (0, turso_client_1.waitForDatabaseReady)(client);
|
|
58
|
-
(0, turso_client_1.cacheDatabaseConnection)(crudRequest.database,
|
|
60
|
+
(0, turso_client_1.cacheDatabaseConnection)(crudRequest.database, databaseOptions, connection);
|
|
59
61
|
}
|
|
60
62
|
phase = method === "POST" ? "create-table-or-insert" : "execute";
|
|
61
63
|
const response = await (0, crud_1.executeCrud)({
|
|
@@ -69,7 +71,7 @@ async function handleCrud(context, options, method) {
|
|
|
69
71
|
}
|
|
70
72
|
catch (error) {
|
|
71
73
|
if (request && resolvedOptions && (0, turso_client_1.isTransientTursoError)(error)) {
|
|
72
|
-
(0, turso_client_1.clearDatabaseConnectionCache)(request.database, resolvedOptions);
|
|
74
|
+
(0, turso_client_1.clearDatabaseConnectionCache)(request.database, (0, database_prefix_1.applyRequestDatabasePrefix)(resolvedOptions, request.prefix));
|
|
73
75
|
return context.json({
|
|
74
76
|
error: error instanceof Error ? error.message : String(error),
|
|
75
77
|
phase,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turso.js","sourceRoot":"","sources":["../../src/functions/turso.ts"],"names":[],"mappings":";;AAQA,sCAAiE;AACjE,4CAA6D;AAC7D,wCAIsB;AACtB,sDAO6B;AAC7B,oCAA+D;
|
|
1
|
+
{"version":3,"file":"turso.js","sourceRoot":"","sources":["../../src/functions/turso.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ const rules_1 = require("../lib/rules");
|
|
|
5
5
|
const turso_client_1 = require("../lib/turso_client");
|
|
6
6
|
const token_1 = require("../lib/token");
|
|
7
7
|
const env_1 = require("../lib/env");
|
|
8
|
+
const database_prefix_1 = require("../lib/database_prefix");
|
|
8
9
|
module.exports = (hono, options, data) => {
|
|
9
10
|
hono.post("/", async (context) => handleToken(context, options));
|
|
10
11
|
hono.post("/database/:database", async (context) => handleToken(context, options));
|
|
@@ -16,13 +17,14 @@ async function handleToken(context, options) {
|
|
|
16
17
|
try {
|
|
17
18
|
const resolvedOptions = (0, env_1.resolveTursoWorkersOptionsFromEnv)(context, options);
|
|
18
19
|
const request = await (0, request_1.parseTokenRequest)(context);
|
|
20
|
+
const databaseOptions = (0, database_prefix_1.applyRequestDatabasePrefix)(resolvedOptions, request.prefix);
|
|
19
21
|
phase = "connect";
|
|
20
|
-
const connection = await (0, turso_client_1.resolveDatabaseConnection)(request.database,
|
|
22
|
+
const connection = await (0, turso_client_1.resolveDatabaseConnection)(request.database, databaseOptions);
|
|
21
23
|
if (connection.created) {
|
|
22
24
|
phase = "database-ready";
|
|
23
25
|
const client = (0, turso_client_1.createTursoClient)(connection);
|
|
24
26
|
await (0, turso_client_1.waitForDatabaseReady)(client);
|
|
25
|
-
(0, turso_client_1.cacheDatabaseConnection)(request.database,
|
|
27
|
+
(0, turso_client_1.cacheDatabaseConnection)(request.database, databaseOptions, connection);
|
|
26
28
|
}
|
|
27
29
|
phase = "rules";
|
|
28
30
|
const authentication = context.get("authentication");
|
|
@@ -45,7 +47,7 @@ async function handleToken(context, options) {
|
|
|
45
47
|
database: request.database,
|
|
46
48
|
authorization: access.authorization,
|
|
47
49
|
ttlSeconds: request.ttlSeconds,
|
|
48
|
-
options:
|
|
50
|
+
options: databaseOptions,
|
|
49
51
|
})
|
|
50
52
|
: undefined;
|
|
51
53
|
return context.json({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turso_token.js","sourceRoot":"","sources":["../../src/functions/turso_token.ts"],"names":[],"mappings":";;AAEA,4CAA8D;AAC9D,wCAGsB;AACtB,sDAK6B;AAC7B,wCAAkD;AAClD,oCAA+D;
|
|
1
|
+
{"version":3,"file":"turso_token.js","sourceRoot":"","sources":["../../src/functions/turso_token.ts"],"names":[],"mappings":";;AAEA,4CAA8D;AAC9D,wCAGsB;AACtB,sDAK6B;AAC7B,wCAAkD;AAClD,oCAA+D;AAC/D,4DAAoE;AAEpE,MAAM,CAAC,OAAO,GAAG,CACf,IAAU,EACV,OAA4B,EAC5B,IAAgC,EAChC,EAAE;IACF,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACjE,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACnF,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1E,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,KAAK,UAAU,WAAW,CACxB,OAAgB,EAChB,OAA4B;IAE5B,IAAI,KAAK,GAAG,OAAO,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,IAAA,uCAAiC,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,MAAM,IAAA,2BAAiB,EAAC,OAAO,CAAC,CAAC;QACjD,MAAM,eAAe,GAAG,IAAA,4CAA0B,EAChD,eAAe,EACf,OAAO,CAAC,MAAM,CACf,CAAC;QACF,KAAK,GAAG,SAAS,CAAC;QAClB,MAAM,UAAU,GAAG,MAAM,IAAA,wCAAyB,EAChD,OAAO,CAAC,QAAQ,EAChB,eAAe,CAChB,CAAC;QACF,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,KAAK,GAAG,gBAAgB,CAAC;YACzB,MAAM,MAAM,GAAG,IAAA,gCAAiB,EAAC,UAAU,CAAC,CAAC;YAC7C,MAAM,IAAA,mCAAoB,EAAC,MAAM,CAAC,CAAC;YACnC,IAAA,sCAAuB,EAAC,OAAO,CAAC,QAAQ,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;QACzE,CAAC;QACD,KAAK,GAAG,OAAO,CAAC;QAChB,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAsC,CAAC;QAC1F,MAAM,MAAM,GAAG,IAAA,8BAAsB,EAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAA,kCAA0B,EAAC;YAC9C,MAAM;YACN,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,KAAK,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK;YACvC,cAAc;SACf,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,OAAO,CAAC,IAAI,CACjB;gBACE,KAAK,EAAE,QAAQ;aAChB,EACD,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,KAAK,GAAG,aAAa,CAAC;QACtB,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa;YAChC,CAAC,CAAC,MAAM,IAAA,0BAAkB,EAAC;gBACvB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,OAAO,EAAE,eAAe;aACzB,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,OAAO,CAAC,IAAI,CAAC;YAClB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,MAAM;YACtB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE;YAC1C,KAAK;YACL,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO,IAAA,mBAAS,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;AACH,CAAC"}
|
|
@@ -52,7 +52,6 @@ export declare class TursoDatabaseAdapter extends DatabaseAdapterBase {
|
|
|
52
52
|
*/
|
|
53
53
|
readonly options: TursoWorkersOptions;
|
|
54
54
|
private readonly injectedClient;
|
|
55
|
-
private readonly clients;
|
|
56
55
|
private client;
|
|
57
56
|
private resolveOptions;
|
|
58
57
|
getDocument(path: string): Promise<DatabaseDocument | null>;
|
|
@@ -68,19 +68,12 @@ class TursoDatabaseAdapter extends masamune_cloudflare_1.DatabaseAdapterBase {
|
|
|
68
68
|
*/
|
|
69
69
|
options;
|
|
70
70
|
injectedClient;
|
|
71
|
-
clients = new Map();
|
|
72
71
|
async client(database) {
|
|
73
72
|
if (this.injectedClient) {
|
|
74
73
|
return this.injectedClient;
|
|
75
74
|
}
|
|
76
|
-
const cached = this.clients.get(database);
|
|
77
|
-
if (cached) {
|
|
78
|
-
return cached;
|
|
79
|
-
}
|
|
80
75
|
const connection = await (0, turso_client_1.resolveDatabaseConnection)(database, this.resolveOptions());
|
|
81
|
-
|
|
82
|
-
this.clients.set(database, client);
|
|
83
|
-
return client;
|
|
76
|
+
return (0, turso_client_1.createTursoClient)(connection);
|
|
84
77
|
}
|
|
85
78
|
// 接続時にオプションを解決します。オプションで指定されていない項目は
|
|
86
79
|
// `process.env`(nodejs_compatで注入されるWorkersシークレット)から補完します。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database_adapter.js","sourceRoot":"","sources":["../../src/lib/database_adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"database_adapter.js","sourceRoot":"","sources":["../../src/lib/database_adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizeDatabasePrefix = normalizeDatabasePrefix;
|
|
4
|
+
exports.applyRequestDatabasePrefix = applyRequestDatabasePrefix;
|
|
5
|
+
const http_error_1 = require("./http_error");
|
|
6
|
+
function normalizeDatabasePrefix(value) {
|
|
7
|
+
if (value === undefined || value === null) {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
if (typeof value !== "string") {
|
|
11
|
+
throw new http_error_1.HttpError(400, "prefix must be a string.");
|
|
12
|
+
}
|
|
13
|
+
const normalized = value.trim().replace(/_+$/, "");
|
|
14
|
+
if (normalized.length === 0) {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
if (!/^[A-Za-z0-9_-]+$/.test(normalized)) {
|
|
18
|
+
throw new http_error_1.HttpError(400, `Invalid prefix: ${value}`);
|
|
19
|
+
}
|
|
20
|
+
return `${normalized}_`;
|
|
21
|
+
}
|
|
22
|
+
function applyRequestDatabasePrefix(options, prefix) {
|
|
23
|
+
if (!prefix) {
|
|
24
|
+
return options;
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
...options,
|
|
28
|
+
databasePrefix: `${options.databasePrefix ?? ""}${prefix}`,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=database_prefix.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database_prefix.js","sourceRoot":"","sources":["../../src/lib/database_prefix.ts"],"names":[],"mappings":";;AAGA,0DAiBC;AAED,gEAWC;AAjCD,6CAAyC;AAGzC,SAAgB,uBAAuB,CACrC,KAAc;IAEd,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,sBAAS,CAAC,GAAG,EAAE,0BAA0B,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,sBAAS,CAAC,GAAG,EAAE,mBAAmB,KAAK,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,GAAG,UAAU,GAAG,CAAC;AAC1B,CAAC;AAED,SAAgB,0BAA0B,CACxC,OAA4B,EAC5B,MAA0B;IAE1B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO;QACL,GAAG,OAAO;QACV,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,IAAI,EAAE,GAAG,MAAM,EAAE;KAC3D,CAAC;AACJ,CAAC"}
|
package/dist/lib/env.js
CHANGED
|
@@ -8,9 +8,21 @@ function resolveTursoWorkersOptionsFromEnv(context, options) {
|
|
|
8
8
|
organization: firstNonEmpty(env.TURSO_ORGANIZATION, options.organization),
|
|
9
9
|
group: firstNonEmpty(env.TURSO_GROUP, options.group),
|
|
10
10
|
platformApiToken: firstNonEmpty(env.TURSO_PLATFORM_API_TOKEN, options.platformApiToken),
|
|
11
|
+
serverTokenTtlSeconds: firstPositiveInteger(env.TURSO_SERVER_TOKEN_TTL_SECONDS, options.serverTokenTtlSeconds),
|
|
11
12
|
};
|
|
12
13
|
}
|
|
13
14
|
function firstNonEmpty(...values) {
|
|
14
15
|
return values.find((value) => typeof value === "string" && value.length > 0);
|
|
15
16
|
}
|
|
17
|
+
function firstPositiveInteger(envValue, optionValue) {
|
|
18
|
+
if (envValue !== undefined && envValue.trim().length > 0) {
|
|
19
|
+
const parsed = Number(envValue);
|
|
20
|
+
if (Number.isSafeInteger(parsed) && parsed > 0) {
|
|
21
|
+
return parsed;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return Number.isSafeInteger(optionValue) && (optionValue ?? 0) > 0
|
|
25
|
+
? optionValue
|
|
26
|
+
: undefined;
|
|
27
|
+
}
|
|
16
28
|
//# sourceMappingURL=env.js.map
|
package/dist/lib/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/lib/env.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/lib/env.ts"],"names":[],"mappings":";;AAUA,8EAqBC;AArBD,SAAgB,iCAAiC,CAC/C,OAAgB,EAChB,OAA4B;IAE5B,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,CAAoB,CAAC;IACnD,OAAO;QACL,GAAG,OAAO;QACV,YAAY,EAAE,aAAa,CACzB,GAAG,CAAC,kBAAkB,EACtB,OAAO,CAAC,YAAY,CACrB;QACD,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC;QACpD,gBAAgB,EAAE,aAAa,CAC7B,GAAG,CAAC,wBAAwB,EAC5B,OAAO,CAAC,gBAAgB,CACzB;QACD,qBAAqB,EAAE,oBAAoB,CACzC,GAAG,CAAC,8BAA8B,EAClC,OAAO,CAAC,qBAAqB,CAC9B;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,GAAG,MAA8B;IAEjC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAA4B,EAC5B,WAA+B;IAE/B,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC;QAChE,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HttpError = void 0;
|
|
4
|
+
class HttpError extends Error {
|
|
5
|
+
status;
|
|
6
|
+
constructor(status, message) {
|
|
7
|
+
super(message);
|
|
8
|
+
this.status = status;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.HttpError = HttpError;
|
|
12
|
+
//# sourceMappingURL=http_error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http_error.js","sourceRoot":"","sources":["../../src/lib/http_error.ts"],"names":[],"mappings":";;;AAAA,MAAa,SAAU,SAAQ,KAAK;IAEvB;IADX,YACW,MAAc,EACvB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,WAAM,GAAN,MAAM,CAAQ;IAIzB,CAAC;CACF;AAPD,8BAOC"}
|
package/dist/lib/request.d.ts
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { Context } from "hono";
|
|
2
2
|
import { TursoRequestBody, TursoTokenRequestBody } from "./types";
|
|
3
|
-
export
|
|
4
|
-
readonly status: number;
|
|
5
|
-
constructor(status: number, message: string);
|
|
6
|
-
}
|
|
3
|
+
export { HttpError } from "./http_error";
|
|
7
4
|
export declare function parseCrudRequest(context: Context): Promise<Required<Pick<TursoRequestBody, "database" | "table">> & TursoRequestBody>;
|
|
8
5
|
export declare function parseTokenRequest(context: Context): Promise<Required<Pick<TursoTokenRequestBody, "database">> & TursoTokenRequestBody>;
|
|
9
6
|
export declare function validateIdentifier(value: string, label: string): string;
|
package/dist/lib/request.js
CHANGED
|
@@ -7,15 +7,11 @@ exports.validateIdentifier = validateIdentifier;
|
|
|
7
7
|
exports.validateLogicalName = validateLogicalName;
|
|
8
8
|
exports.validateIndexKey = validateIndexKey;
|
|
9
9
|
exports.jsonError = jsonError;
|
|
10
|
+
const database_prefix_1 = require("./database_prefix");
|
|
11
|
+
const http_error_1 = require("./http_error");
|
|
12
|
+
var http_error_2 = require("./http_error");
|
|
13
|
+
Object.defineProperty(exports, "HttpError", { enumerable: true, get: function () { return http_error_2.HttpError; } });
|
|
10
14
|
const identifierPattern = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
11
|
-
class HttpError extends Error {
|
|
12
|
-
status;
|
|
13
|
-
constructor(status, message) {
|
|
14
|
-
super(message);
|
|
15
|
-
this.status = status;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
exports.HttpError = HttpError;
|
|
19
15
|
async function parseCrudRequest(context) {
|
|
20
16
|
const method = context.req.method.toUpperCase();
|
|
21
17
|
const pathDatabase = optionalParam(context, "database");
|
|
@@ -34,6 +30,7 @@ async function parseCrudRequest(context) {
|
|
|
34
30
|
const orderBy = validateOrderBy(body.orderBy ?? []);
|
|
35
31
|
const limit = validateLimit(body.limit);
|
|
36
32
|
const value = body.value === undefined ? undefined : validateValue(body.value);
|
|
33
|
+
const prefix = (0, database_prefix_1.normalizeDatabasePrefix)(body.prefix);
|
|
37
34
|
return {
|
|
38
35
|
...body,
|
|
39
36
|
database,
|
|
@@ -44,6 +41,7 @@ async function parseCrudRequest(context) {
|
|
|
44
41
|
limit,
|
|
45
42
|
value,
|
|
46
43
|
count: body.count === true,
|
|
44
|
+
...(prefix ? { prefix } : {}),
|
|
47
45
|
};
|
|
48
46
|
}
|
|
49
47
|
async function parseTokenRequest(context) {
|
|
@@ -55,7 +53,7 @@ async function parseTokenRequest(context) {
|
|
|
55
53
|
: undefined;
|
|
56
54
|
const targets = (body.targets ?? body.scope)?.map((item) => {
|
|
57
55
|
if (!item || typeof item !== "object") {
|
|
58
|
-
throw new HttpError(400, "targets item must be an object.");
|
|
56
|
+
throw new http_error_1.HttpError(400, "targets item must be an object.");
|
|
59
57
|
}
|
|
60
58
|
const table = validateIdentifier(requiredString(item.table, "targets.table"), "targets.table");
|
|
61
59
|
const operations = validateOperations(item.operations, "targets.operations");
|
|
@@ -64,33 +62,35 @@ async function parseTokenRequest(context) {
|
|
|
64
62
|
operations,
|
|
65
63
|
};
|
|
66
64
|
});
|
|
65
|
+
const prefix = (0, database_prefix_1.normalizeDatabasePrefix)(body.prefix);
|
|
67
66
|
return {
|
|
68
67
|
...body,
|
|
69
68
|
database,
|
|
70
69
|
...(operations ? { operations } : {}),
|
|
71
70
|
...(targets ? { targets, scope: targets } : {}),
|
|
71
|
+
...(prefix ? { prefix } : {}),
|
|
72
72
|
};
|
|
73
73
|
}
|
|
74
74
|
function validateIdentifier(value, label) {
|
|
75
75
|
if (!identifierPattern.test(value)) {
|
|
76
|
-
throw new HttpError(400, `Invalid ${label}: ${value}`);
|
|
76
|
+
throw new http_error_1.HttpError(400, `Invalid ${label}: ${value}`);
|
|
77
77
|
}
|
|
78
78
|
return value;
|
|
79
79
|
}
|
|
80
80
|
function validateLogicalName(value, label) {
|
|
81
81
|
if (!/^[A-Za-z0-9_-]+$/.test(value)) {
|
|
82
|
-
throw new HttpError(400, `Invalid ${label}: ${value}`);
|
|
82
|
+
throw new http_error_1.HttpError(400, `Invalid ${label}: ${value}`);
|
|
83
83
|
}
|
|
84
84
|
return value;
|
|
85
85
|
}
|
|
86
86
|
function validateIndexKey(value) {
|
|
87
87
|
if (value.length === 0 || value.includes("/")) {
|
|
88
|
-
throw new HttpError(400, `Invalid indexKey: ${value}`);
|
|
88
|
+
throw new http_error_1.HttpError(400, `Invalid indexKey: ${value}`);
|
|
89
89
|
}
|
|
90
90
|
return value;
|
|
91
91
|
}
|
|
92
92
|
function jsonError(context, error) {
|
|
93
|
-
if (error instanceof HttpError) {
|
|
93
|
+
if (error instanceof http_error_1.HttpError) {
|
|
94
94
|
return context.json({ error: error.message }, error.status);
|
|
95
95
|
}
|
|
96
96
|
if (error instanceof Error) {
|
|
@@ -108,6 +108,7 @@ function parseGetRequest(context) {
|
|
|
108
108
|
: undefined;
|
|
109
109
|
const limit = query.limit === undefined ? undefined : Number(query.limit);
|
|
110
110
|
return {
|
|
111
|
+
prefix: query.prefix,
|
|
111
112
|
database: query.database,
|
|
112
113
|
table: query.table,
|
|
113
114
|
indexKey: query.indexKey,
|
|
@@ -126,7 +127,7 @@ async function parseJsonBody(context) {
|
|
|
126
127
|
return await context.req.json();
|
|
127
128
|
}
|
|
128
129
|
catch (_) {
|
|
129
|
-
throw new HttpError(400, "Request body must be JSON.");
|
|
130
|
+
throw new http_error_1.HttpError(400, "Request body must be JSON.");
|
|
130
131
|
}
|
|
131
132
|
}
|
|
132
133
|
function parseJsonString(value, label) {
|
|
@@ -134,18 +135,18 @@ function parseJsonString(value, label) {
|
|
|
134
135
|
return JSON.parse(value);
|
|
135
136
|
}
|
|
136
137
|
catch (_) {
|
|
137
|
-
throw new HttpError(400, `${label} must be JSON.`);
|
|
138
|
+
throw new http_error_1.HttpError(400, `${label} must be JSON.`);
|
|
138
139
|
}
|
|
139
140
|
}
|
|
140
141
|
function requiredString(value, label) {
|
|
141
142
|
if (typeof value !== "string" || value.length === 0) {
|
|
142
|
-
throw new HttpError(400, `${label} is required.`);
|
|
143
|
+
throw new http_error_1.HttpError(400, `${label} is required.`);
|
|
143
144
|
}
|
|
144
145
|
return value;
|
|
145
146
|
}
|
|
146
147
|
function validateOperations(operations, label) {
|
|
147
148
|
if (!Array.isArray(operations) || operations.length === 0) {
|
|
148
|
-
throw new HttpError(400, `${label} is required.`);
|
|
149
|
+
throw new http_error_1.HttpError(400, `${label} is required.`);
|
|
149
150
|
}
|
|
150
151
|
return operations.map((operation) => {
|
|
151
152
|
switch (operation) {
|
|
@@ -157,17 +158,17 @@ function validateOperations(operations, label) {
|
|
|
157
158
|
case "delete":
|
|
158
159
|
return operation;
|
|
159
160
|
default:
|
|
160
|
-
throw new HttpError(400, `Unsupported ${label}: ${operation}`);
|
|
161
|
+
throw new http_error_1.HttpError(400, `Unsupported ${label}: ${operation}`);
|
|
161
162
|
}
|
|
162
163
|
});
|
|
163
164
|
}
|
|
164
165
|
function validateWhere(where) {
|
|
165
166
|
if (!Array.isArray(where)) {
|
|
166
|
-
throw new HttpError(400, "where must be an array.");
|
|
167
|
+
throw new http_error_1.HttpError(400, "where must be an array.");
|
|
167
168
|
}
|
|
168
169
|
return where.map((condition) => {
|
|
169
170
|
if (!condition || typeof condition !== "object") {
|
|
170
|
-
throw new HttpError(400, "where condition must be an object.");
|
|
171
|
+
throw new http_error_1.HttpError(400, "where condition must be an object.");
|
|
171
172
|
}
|
|
172
173
|
const type = condition.type ?? "equalTo";
|
|
173
174
|
switch (type) {
|
|
@@ -186,7 +187,7 @@ function validateWhere(where) {
|
|
|
186
187
|
case "arrayContainsAny":
|
|
187
188
|
break;
|
|
188
189
|
default:
|
|
189
|
-
throw new HttpError(400, `Unsupported where condition: ${condition.type}`);
|
|
190
|
+
throw new http_error_1.HttpError(400, `Unsupported where condition: ${condition.type}`);
|
|
190
191
|
}
|
|
191
192
|
const key = validateIdentifier(requiredString(condition.key, "where.key"), "where.key");
|
|
192
193
|
return {
|
|
@@ -198,11 +199,11 @@ function validateWhere(where) {
|
|
|
198
199
|
}
|
|
199
200
|
function validateOrderBy(orderBy) {
|
|
200
201
|
if (!Array.isArray(orderBy)) {
|
|
201
|
-
throw new HttpError(400, "orderBy must be an array.");
|
|
202
|
+
throw new http_error_1.HttpError(400, "orderBy must be an array.");
|
|
202
203
|
}
|
|
203
204
|
return orderBy.map((condition) => {
|
|
204
205
|
if (!condition || typeof condition !== "object") {
|
|
205
|
-
throw new HttpError(400, "orderBy condition must be an object.");
|
|
206
|
+
throw new http_error_1.HttpError(400, "orderBy condition must be an object.");
|
|
206
207
|
}
|
|
207
208
|
return {
|
|
208
209
|
key: validateIdentifier(requiredString(condition.key, "orderBy.key"), "orderBy.key"),
|
|
@@ -215,13 +216,13 @@ function validateLimit(limit) {
|
|
|
215
216
|
return undefined;
|
|
216
217
|
}
|
|
217
218
|
if (!Number.isInteger(limit) || limit <= 0) {
|
|
218
|
-
throw new HttpError(400, "limit must be a positive integer.");
|
|
219
|
+
throw new http_error_1.HttpError(400, "limit must be a positive integer.");
|
|
219
220
|
}
|
|
220
221
|
return limit;
|
|
221
222
|
}
|
|
222
223
|
function validateValue(value) {
|
|
223
224
|
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
224
|
-
throw new HttpError(400, "value must be an object.");
|
|
225
|
+
throw new http_error_1.HttpError(400, "value must be an object.");
|
|
225
226
|
}
|
|
226
227
|
const result = {};
|
|
227
228
|
for (const [key, item] of Object.entries(value)) {
|
package/dist/lib/request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/lib/request.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/lib/request.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/turso_client.js
CHANGED
|
@@ -9,7 +9,10 @@ exports.isTransientTursoError = isTransientTursoError;
|
|
|
9
9
|
const request_1 = require("./request");
|
|
10
10
|
const database_name_1 = require("./database_name");
|
|
11
11
|
const connectionCache = new Map();
|
|
12
|
+
const connectionRefreshes = new Map();
|
|
12
13
|
const readyRetryDelaysMs = [250, 500, 1000, 2000, 4000, 8000];
|
|
14
|
+
const defaultServerTokenTtlSeconds = 3600;
|
|
15
|
+
const tokenRefreshWindowSeconds = 60;
|
|
13
16
|
function createTursoClient(connection) {
|
|
14
17
|
const { createClient } = require("@tursodatabase/serverless/compat");
|
|
15
18
|
return createClient({
|
|
@@ -22,6 +25,9 @@ async function resolveDatabaseConnection(database, options) {
|
|
|
22
25
|
const cacheKey = databaseCacheKey(normalizedDatabase, options);
|
|
23
26
|
const cached = connectionCache.get(cacheKey);
|
|
24
27
|
if (cached) {
|
|
28
|
+
if (shouldRefreshAuthToken(cached)) {
|
|
29
|
+
return refreshDatabaseConnection(normalizedDatabase, cacheKey, cached, options);
|
|
30
|
+
}
|
|
25
31
|
return {
|
|
26
32
|
...cached,
|
|
27
33
|
created: false,
|
|
@@ -39,6 +45,7 @@ function cacheDatabaseConnection(database, options, connection) {
|
|
|
39
45
|
connectionCache.set(databaseCacheKey(normalizedDatabase, options), {
|
|
40
46
|
url: connection.url,
|
|
41
47
|
authToken: connection.authToken,
|
|
48
|
+
authTokenExpiresAt: connection.authTokenExpiresAt,
|
|
42
49
|
created: false,
|
|
43
50
|
});
|
|
44
51
|
}
|
|
@@ -114,28 +121,85 @@ async function ensurePlatformDatabase(databaseName, options) {
|
|
|
114
121
|
if (!url) {
|
|
115
122
|
throw new request_1.HttpError(500, "Turso database URL was not found in Platform API response.");
|
|
116
123
|
}
|
|
117
|
-
const authToken = await createDatabaseToken(baseUrl, databaseName, headers);
|
|
118
|
-
if (!authToken) {
|
|
124
|
+
const authToken = await createDatabaseToken(baseUrl, databaseName, headers, options.serverTokenTtlSeconds);
|
|
125
|
+
if (!authToken.token) {
|
|
119
126
|
throw new request_1.HttpError(500, "Turso database auth token was not found in Platform API response.");
|
|
120
127
|
}
|
|
121
128
|
return {
|
|
122
129
|
url,
|
|
123
|
-
authToken,
|
|
130
|
+
authToken: authToken.token,
|
|
131
|
+
authTokenExpiresAt: authToken.expiresAt,
|
|
124
132
|
created,
|
|
125
133
|
};
|
|
126
134
|
}
|
|
127
|
-
async function createDatabaseToken(baseUrl, databaseName, headers) {
|
|
128
|
-
const
|
|
135
|
+
async function createDatabaseToken(baseUrl, databaseName, headers, ttlSeconds = defaultServerTokenTtlSeconds) {
|
|
136
|
+
const normalizedTtl = normalizeServerTokenTtl(ttlSeconds);
|
|
137
|
+
const response = await fetch(`${baseUrl}/databases/${encodeURIComponent(databaseName)}/auth/tokens` +
|
|
138
|
+
`?expiration=${normalizedTtl}s&authorization=full-access`, {
|
|
129
139
|
method: "POST",
|
|
130
140
|
headers,
|
|
131
|
-
body: JSON.stringify({}),
|
|
132
141
|
});
|
|
133
142
|
if (!response.ok) {
|
|
134
143
|
throw new request_1.HttpError(500, `Failed to create Turso database token: ${response.status}`);
|
|
135
144
|
}
|
|
136
145
|
const body = (await response.json());
|
|
137
146
|
const token = body.jwt ?? body.token;
|
|
138
|
-
return
|
|
147
|
+
return {
|
|
148
|
+
token: typeof token === "string" ? token : undefined,
|
|
149
|
+
expiresAt: Math.floor(Date.now() / 1000) + normalizedTtl,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
async function refreshDatabaseConnection(database, cacheKey, cached, options) {
|
|
153
|
+
const refreshing = connectionRefreshes.get(cacheKey);
|
|
154
|
+
if (refreshing) {
|
|
155
|
+
return refreshing;
|
|
156
|
+
}
|
|
157
|
+
const refresh = (async () => {
|
|
158
|
+
const organizationName = options.organization;
|
|
159
|
+
const platformApiToken = options.platformApiToken;
|
|
160
|
+
if (!organizationName || !platformApiToken) {
|
|
161
|
+
throw new request_1.HttpError(500, "organization and platformApiToken are required to refresh Turso database tokens.");
|
|
162
|
+
}
|
|
163
|
+
const databaseName = await (0, database_name_1.resolvePhysicalDatabaseName)(database, options);
|
|
164
|
+
const baseUrl = `https://api.turso.tech/v1/organizations/${encodeURIComponent(organizationName)}`;
|
|
165
|
+
const token = await createDatabaseToken(baseUrl, databaseName, {
|
|
166
|
+
Authorization: `Bearer ${platformApiToken}`,
|
|
167
|
+
"Content-Type": "application/json",
|
|
168
|
+
}, options.serverTokenTtlSeconds);
|
|
169
|
+
if (!token.token) {
|
|
170
|
+
throw new request_1.HttpError(500, "Turso database auth token was not found in Platform API response.");
|
|
171
|
+
}
|
|
172
|
+
const connection = {
|
|
173
|
+
url: cached.url,
|
|
174
|
+
authToken: token.token,
|
|
175
|
+
authTokenExpiresAt: token.expiresAt,
|
|
176
|
+
created: false,
|
|
177
|
+
};
|
|
178
|
+
connectionCache.set(cacheKey, connection);
|
|
179
|
+
return connection;
|
|
180
|
+
})();
|
|
181
|
+
connectionRefreshes.set(cacheKey, refresh);
|
|
182
|
+
try {
|
|
183
|
+
return await refresh;
|
|
184
|
+
}
|
|
185
|
+
finally {
|
|
186
|
+
if (connectionRefreshes.get(cacheKey) === refresh) {
|
|
187
|
+
connectionRefreshes.delete(cacheKey);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
function shouldRefreshAuthToken(connection) {
|
|
192
|
+
return (connection.authTokenExpiresAt === undefined ||
|
|
193
|
+
connection.authTokenExpiresAt - Math.floor(Date.now() / 1000) <=
|
|
194
|
+
tokenRefreshWindowSeconds);
|
|
195
|
+
}
|
|
196
|
+
function normalizeServerTokenTtl(ttlSeconds) {
|
|
197
|
+
if (ttlSeconds === undefined ||
|
|
198
|
+
!Number.isSafeInteger(ttlSeconds) ||
|
|
199
|
+
ttlSeconds <= tokenRefreshWindowSeconds) {
|
|
200
|
+
return defaultServerTokenTtlSeconds;
|
|
201
|
+
}
|
|
202
|
+
return ttlSeconds;
|
|
139
203
|
}
|
|
140
204
|
function resolveDatabaseGroupName(options) {
|
|
141
205
|
const groupName = firstNonEmpty(options.group, typeof process !== "undefined" ? process.env?.TURSO_GROUP : undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turso_client.js","sourceRoot":"","sources":["../../src/lib/turso_client.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"turso_client.js","sourceRoot":"","sources":["../../src/lib/turso_client.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export type { RulesAccessRule, RulesConfig, RulesEntry, RulesOperation, RulesOpe
|
|
|
4
4
|
export interface TursoDatabaseConnection {
|
|
5
5
|
url: string;
|
|
6
6
|
authToken?: string | undefined;
|
|
7
|
+
authTokenExpiresAt?: number | undefined;
|
|
7
8
|
created?: boolean | undefined;
|
|
8
9
|
}
|
|
9
10
|
export interface TursoWorkersOptions extends WorkersOptions {
|
|
@@ -15,10 +16,12 @@ export interface TursoWorkersOptions extends WorkersOptions {
|
|
|
15
16
|
autoCreateTable?: boolean | undefined;
|
|
16
17
|
autoMigrateAddColumns?: boolean | undefined;
|
|
17
18
|
maxTtlSeconds?: number | undefined;
|
|
19
|
+
serverTokenTtlSeconds?: number | undefined;
|
|
18
20
|
}
|
|
19
21
|
export interface TursoRequestBody {
|
|
20
22
|
database?: string | undefined;
|
|
21
23
|
table?: string | undefined;
|
|
24
|
+
prefix?: string | undefined;
|
|
22
25
|
indexKey?: string | undefined;
|
|
23
26
|
where?: TursoWhereCondition[] | undefined;
|
|
24
27
|
orderBy?: TursoOrderCondition[] | undefined;
|
|
@@ -40,6 +43,7 @@ export type TursoTokenScopeInput = RulesTokenTargetInput;
|
|
|
40
43
|
export type TursoTokenScopeOutput = RulesTokenTargetOutput;
|
|
41
44
|
export interface TursoTokenRequestBody {
|
|
42
45
|
database?: string | undefined;
|
|
46
|
+
prefix?: string | undefined;
|
|
43
47
|
operations?: RulesOperationKey[] | undefined;
|
|
44
48
|
targets?: TursoTokenScopeInput[] | undefined;
|
|
45
49
|
scope?: TursoTokenScopeInput[] | undefined;
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mathrunet/masamune_cloudflare_turso",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.1",
|
|
4
4
|
"description": "Server-side package of the Masamune framework for working with Turso via Cloudflare.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"build": "tsc",
|
|
9
9
|
"prepare": "npm run build",
|
|
10
|
-
"
|
|
10
|
+
"prepublishOnly": "npm run build && npm test",
|
|
11
11
|
"test": "NODE_OPTIONS='--experimental-vm-modules' jest",
|
|
12
12
|
"postversion": "npm run changelog",
|
|
13
13
|
"changelog": "conventional-changelog -p eslint -i CHANGELOG.md -s -r 0 && git add CHANGELOG.md && git commit -m 'chore(release): publish package'",
|
|
14
|
-
"
|
|
14
|
+
"release": "npm publish",
|
|
15
15
|
"minor_update": "npm version minor",
|
|
16
16
|
"major_update": "npm version major",
|
|
17
17
|
"patch_update": "npm version patch"
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"homepage": "https://github.com/mathrunet/node_masamune#readme",
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@mathrunet/masamune": "^3.10.4",
|
|
44
|
-
"@mathrunet/masamune_cloudflare": "^3.3.
|
|
44
|
+
"@mathrunet/masamune_cloudflare": "^3.3.4",
|
|
45
45
|
"@tursodatabase/serverless": "^1.2.3",
|
|
46
46
|
"hono": "^4.12.27",
|
|
47
47
|
"typescript": "^5.9.2"
|