sqlite-hub-client 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -8
- package/dist/adapters/http.d.ts +3 -3
- package/dist/adapters/http.js +3 -10
- package/dist/adapters/index.js +1 -5
- package/dist/adapters/types.js +1 -2
- package/dist/database.js +1 -5
- package/dist/index.d.ts +1 -10
- package/dist/index.js +8 -23
- package/package.json +8 -1
package/README.md
CHANGED
|
@@ -14,16 +14,12 @@ npm install sqlite-hub-client
|
|
|
14
14
|
```ts
|
|
15
15
|
import { connect } from "sqlite-hub-client";
|
|
16
16
|
|
|
17
|
-
// Using a per-DB service secret (recommended for services)
|
|
18
17
|
const db = connect({
|
|
19
|
-
url:
|
|
20
|
-
token: process.env.SQLITE_HUB_SERVICE_SECRET, // service_secret
|
|
21
|
-
db:
|
|
18
|
+
url: process.env.SQLITE_HUB_URL, // e.g. https://my-app.up.railway.app
|
|
19
|
+
token: process.env.SQLITE_HUB_SERVICE_SECRET, // service_secret from admin Settings
|
|
20
|
+
db: "my-service",
|
|
22
21
|
});
|
|
23
22
|
|
|
24
|
-
// Or use the global admin token (dev / admin tooling)
|
|
25
|
-
// token: process.env.SQLITE_HUB_ADMIN_TOKEN
|
|
26
|
-
|
|
27
23
|
// Create table
|
|
28
24
|
await db.createTable("users", [
|
|
29
25
|
{ name: "id", type: "INTEGER", primaryKey: true, autoIncrement: true },
|
|
@@ -97,7 +93,7 @@ const result = await db.exec("PRAGMA table_info(users)");
|
|
|
97
93
|
| Option | Type | Required | Description |
|
|
98
94
|
| --------- | -------- | -------- | ----------------------------------------------------------------------------------------------- |
|
|
99
95
|
| `url` | `string` | ✅ | Base URL of your sqlite-hub deployment |
|
|
100
|
-
| `token` | `string` | ✅ | Per-DB `service_secret`
|
|
96
|
+
| `token` | `string` | ✅ | Per-DB `service_secret` — generate one in the admin dashboard under Settings → Service secret |
|
|
101
97
|
| `db` | `string` | ✅ | Name of the database to operate on |
|
|
102
98
|
| `timeout` | `number` | ❌ | Request timeout in ms (default: `10000`) |
|
|
103
99
|
|
package/dist/adapters/http.d.ts
CHANGED
|
@@ -3,9 +3,9 @@ export interface HttpAdapterOptions {
|
|
|
3
3
|
/** Base URL of the sqlite-hub deployment, e.g. https://my-app.up.railway.app */
|
|
4
4
|
url: string;
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* Per-DB `service_secret` for this database.
|
|
7
|
+
* Generate one in the sqlite-hub admin dashboard under Settings → Service secret.
|
|
8
|
+
* Sent as `Authorization: Bearer <token>` on every request.
|
|
9
9
|
*/
|
|
10
10
|
token: string;
|
|
11
11
|
/** Name of the database to operate on */
|
package/dist/adapters/http.js
CHANGED
|
@@ -1,19 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.HttpAdapter = void 0;
|
|
7
|
-
const fetch_1 = __importDefault(require("@pingpong-js/fetch"));
|
|
1
|
+
import pingpong from "@pingpong-js/fetch";
|
|
8
2
|
/**
|
|
9
3
|
* Adapter that executes SQL via the sqlite-hub HTTP API
|
|
10
4
|
* (POST /api/db/:name/exec).
|
|
11
5
|
*/
|
|
12
|
-
class HttpAdapter {
|
|
6
|
+
export class HttpAdapter {
|
|
13
7
|
constructor(options) {
|
|
14
8
|
this.options = options;
|
|
15
9
|
this.dbPath = `/api/db/${encodeURIComponent(options.db)}/exec`;
|
|
16
|
-
this.http =
|
|
10
|
+
this.http = pingpong.create({
|
|
17
11
|
baseURL: options.url.replace(/\/$/, ""),
|
|
18
12
|
timeout: options.timeout ?? 10000,
|
|
19
13
|
headers: {
|
|
@@ -35,4 +29,3 @@ class HttpAdapter {
|
|
|
35
29
|
return res.data;
|
|
36
30
|
}
|
|
37
31
|
}
|
|
38
|
-
exports.HttpAdapter = HttpAdapter;
|
package/dist/adapters/index.js
CHANGED
|
@@ -1,5 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HttpAdapter = void 0;
|
|
4
|
-
var http_js_1 = require("./http.js");
|
|
5
|
-
Object.defineProperty(exports, "HttpAdapter", { enumerable: true, get: function () { return http_js_1.HttpAdapter; } });
|
|
1
|
+
export { HttpAdapter } from "./http.js";
|
package/dist/adapters/types.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
export {};
|
package/dist/database.js
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Database = void 0;
|
|
4
1
|
// ── SQL builder helpers ─────────────────────────────────────────────────────
|
|
5
2
|
function buildWhere(where) {
|
|
6
3
|
const keys = Object.keys(where);
|
|
@@ -24,7 +21,7 @@ function isExecResult(r) {
|
|
|
24
21
|
* Accepts any `IAdapter` — currently `HttpAdapter`, extensible to direct
|
|
25
22
|
* SQLite (via better-sqlite3 or sql.js) without changing business code.
|
|
26
23
|
*/
|
|
27
|
-
class Database {
|
|
24
|
+
export class Database {
|
|
28
25
|
constructor(adapter) {
|
|
29
26
|
this.adapter = adapter;
|
|
30
27
|
}
|
|
@@ -229,4 +226,3 @@ class Database {
|
|
|
229
226
|
return result;
|
|
230
227
|
}
|
|
231
228
|
}
|
|
232
|
-
exports.Database = Database;
|
package/dist/index.d.ts
CHANGED
|
@@ -9,18 +9,9 @@ import { Database } from "./database.js";
|
|
|
9
9
|
* Create a Database connected to a sqlite-hub service over HTTP.
|
|
10
10
|
*
|
|
11
11
|
* @example
|
|
12
|
-
* // Using a per-DB service secret (recommended for services)
|
|
13
12
|
* const db = connect({
|
|
14
13
|
* url: process.env.SQLITE_HUB_URL,
|
|
15
|
-
* token: process.env.SQLITE_HUB_SERVICE_SECRET,
|
|
16
|
-
* db: "my-service",
|
|
17
|
-
* });
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* // Using the global admin token (dev / admin tooling)
|
|
21
|
-
* const db = connect({
|
|
22
|
-
* url: process.env.SQLITE_HUB_URL,
|
|
23
|
-
* token: process.env.SQLITE_HUB_ADMIN_TOKEN,
|
|
14
|
+
* token: process.env.SQLITE_HUB_SERVICE_SECRET, // service_secret from admin Settings
|
|
24
15
|
* db: "my-service",
|
|
25
16
|
* });
|
|
26
17
|
*/
|
package/dist/index.js
CHANGED
|
@@ -1,34 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.HttpAdapter = exports.Database = void 0;
|
|
4
|
-
exports.connect = connect;
|
|
5
|
-
var database_js_1 = require("./database.js");
|
|
6
|
-
Object.defineProperty(exports, "Database", { enumerable: true, get: function () { return database_js_1.Database; } });
|
|
7
|
-
var http_js_1 = require("./adapters/http.js");
|
|
8
|
-
Object.defineProperty(exports, "HttpAdapter", { enumerable: true, get: function () { return http_js_1.HttpAdapter; } });
|
|
1
|
+
export { Database } from "./database.js";
|
|
2
|
+
export { HttpAdapter } from "./adapters/http.js";
|
|
9
3
|
// ── Convenience factory ──────────────────────────────────────────────────────
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
import { HttpAdapter } from "./adapters/http.js";
|
|
5
|
+
import { Database } from "./database.js";
|
|
12
6
|
/**
|
|
13
7
|
* Create a Database connected to a sqlite-hub service over HTTP.
|
|
14
8
|
*
|
|
15
9
|
* @example
|
|
16
|
-
* // Using a per-DB service secret (recommended for services)
|
|
17
10
|
* const db = connect({
|
|
18
11
|
* url: process.env.SQLITE_HUB_URL,
|
|
19
|
-
* token: process.env.SQLITE_HUB_SERVICE_SECRET,
|
|
20
|
-
* db: "my-service",
|
|
21
|
-
* });
|
|
22
|
-
*
|
|
23
|
-
* @example
|
|
24
|
-
* // Using the global admin token (dev / admin tooling)
|
|
25
|
-
* const db = connect({
|
|
26
|
-
* url: process.env.SQLITE_HUB_URL,
|
|
27
|
-
* token: process.env.SQLITE_HUB_ADMIN_TOKEN,
|
|
12
|
+
* token: process.env.SQLITE_HUB_SERVICE_SECRET, // service_secret from admin Settings
|
|
28
13
|
* db: "my-service",
|
|
29
14
|
* });
|
|
30
15
|
*/
|
|
31
|
-
function connect(options) {
|
|
32
|
-
return new
|
|
16
|
+
export function connect(options) {
|
|
17
|
+
return new Database(new HttpAdapter(options));
|
|
33
18
|
}
|
|
34
|
-
|
|
19
|
+
export default connect;
|
package/package.json
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sqlite-hub-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "High-level SQLite client for sqlite-hub — HTTP adapter included, direct SQLite coming soon",
|
|
5
|
+
"type": "module",
|
|
5
6
|
"main": "dist/index.js",
|
|
6
7
|
"types": "dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
7
14
|
"files": ["dist", "README.md"],
|
|
8
15
|
"scripts": {
|
|
9
16
|
"build": "tsc"
|