@kelceyp/caw-server 0.0.12 → 0.0.13
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/main.js +51 -11
- package/dist/main.js.map +3 -3
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -45146,10 +45146,51 @@ import path3 from "path";
|
|
|
45146
45146
|
import Database from "better-sqlite3";
|
|
45147
45147
|
import fs2 from "fs";
|
|
45148
45148
|
import path2 from "path";
|
|
45149
|
-
|
|
45150
|
-
|
|
45151
|
-
|
|
45152
|
-
|
|
45149
|
+
var SCHEMA = `
|
|
45150
|
+
-- CAW Document Store Schema
|
|
45151
|
+
|
|
45152
|
+
-- Store metadata (one row per store+type combo)
|
|
45153
|
+
CREATE TABLE IF NOT EXISTS store_meta (
|
|
45154
|
+
store_code TEXT NOT NULL,
|
|
45155
|
+
type TEXT NOT NULL,
|
|
45156
|
+
seq INTEGER NOT NULL DEFAULT 0,
|
|
45157
|
+
PRIMARY KEY (store_code, type)
|
|
45158
|
+
);
|
|
45159
|
+
|
|
45160
|
+
-- All document-like objects
|
|
45161
|
+
CREATE TABLE IF NOT EXISTS documents (
|
|
45162
|
+
id TEXT PRIMARY KEY,
|
|
45163
|
+
type TEXT NOT NULL,
|
|
45164
|
+
path TEXT NOT NULL,
|
|
45165
|
+
container_id TEXT,
|
|
45166
|
+
metadata TEXT,
|
|
45167
|
+
published_version_id TEXT,
|
|
45168
|
+
draft_content TEXT,
|
|
45169
|
+
draft_updated_at TEXT,
|
|
45170
|
+
created_at TEXT NOT NULL,
|
|
45171
|
+
updated_at TEXT NOT NULL,
|
|
45172
|
+
deleted_at TEXT,
|
|
45173
|
+
UNIQUE(type, path),
|
|
45174
|
+
FOREIGN KEY (container_id) REFERENCES documents(id),
|
|
45175
|
+
FOREIGN KEY (published_version_id) REFERENCES versions(id)
|
|
45176
|
+
);
|
|
45177
|
+
|
|
45178
|
+
CREATE INDEX IF NOT EXISTS documents_container_id_idx ON documents(container_id);
|
|
45179
|
+
CREATE INDEX IF NOT EXISTS documents_type_idx ON documents(type);
|
|
45180
|
+
|
|
45181
|
+
-- Version history (append-only, immutable)
|
|
45182
|
+
CREATE TABLE IF NOT EXISTS versions (
|
|
45183
|
+
id TEXT PRIMARY KEY,
|
|
45184
|
+
document_id TEXT NOT NULL,
|
|
45185
|
+
version_number INTEGER NOT NULL,
|
|
45186
|
+
content TEXT,
|
|
45187
|
+
created_at TEXT NOT NULL,
|
|
45188
|
+
UNIQUE(document_id, version_number),
|
|
45189
|
+
FOREIGN KEY (document_id) REFERENCES documents(id)
|
|
45190
|
+
);
|
|
45191
|
+
|
|
45192
|
+
CREATE INDEX IF NOT EXISTS versions_document_id_idx ON versions(document_id);
|
|
45193
|
+
`;
|
|
45153
45194
|
var now = () => new Date().toISOString();
|
|
45154
45195
|
var openDatabase = (filepath) => {
|
|
45155
45196
|
const dir = path2.dirname(filepath);
|
|
@@ -45159,8 +45200,7 @@ var openDatabase = (filepath) => {
|
|
|
45159
45200
|
const db = new Database(filepath);
|
|
45160
45201
|
db.pragma("foreign_keys = ON");
|
|
45161
45202
|
db.pragma("journal_mode = WAL");
|
|
45162
|
-
|
|
45163
|
-
db.exec(schema);
|
|
45203
|
+
db.exec(SCHEMA);
|
|
45164
45204
|
return db;
|
|
45165
45205
|
};
|
|
45166
45206
|
var db_default = { openDatabase, now };
|
|
@@ -45383,16 +45423,16 @@ var StoreDemux_default = { create: create13 };
|
|
|
45383
45423
|
|
|
45384
45424
|
// src/main.js
|
|
45385
45425
|
import path4 from "path";
|
|
45386
|
-
import { fileURLToPath
|
|
45387
|
-
var
|
|
45388
|
-
var
|
|
45426
|
+
import { fileURLToPath } from "url";
|
|
45427
|
+
var __filename2 = fileURLToPath(import.meta.url);
|
|
45428
|
+
var __dirname2 = path4.dirname(__filename2);
|
|
45389
45429
|
var port = process.env.CAW_PORT;
|
|
45390
45430
|
if (!port) {
|
|
45391
45431
|
console.error("ERROR: CAW_PORT environment variable is required");
|
|
45392
45432
|
console.error("Run via pm2 or set CAW_PORT manually: CAW_PORT=3131 node dist/main.js");
|
|
45393
45433
|
process.exit(1);
|
|
45394
45434
|
}
|
|
45395
|
-
var staticPath = process.env.STATIC_PATH || path4.join(
|
|
45435
|
+
var staticPath = process.env.STATIC_PATH || path4.join(__dirname2, "public_html");
|
|
45396
45436
|
var store = ProjectStore_default.create();
|
|
45397
45437
|
var storeDemux = StoreDemux_default.create();
|
|
45398
45438
|
var sessionManager = SessionManager_default.create();
|
|
@@ -45415,4 +45455,4 @@ ${signal} received, shutting down gracefully...`);
|
|
|
45415
45455
|
process.on("SIGINT", () => shutdown("SIGINT"));
|
|
45416
45456
|
process.on("SIGTERM", () => shutdown("SIGTERM"));
|
|
45417
45457
|
|
|
45418
|
-
//# debugId=
|
|
45458
|
+
//# debugId=E38D26E27888DE0E64756E2164756E21
|