@hotfusion/modeller 0.0.2 → 0.0.4

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/server.js CHANGED
@@ -240,20 +240,22 @@ class Server extends eventemitter3_1.EventEmitter {
240
240
  catch { }
241
241
  socket.emit(`upload:resume:${uploadId}`, { fromChunk });
242
242
  });
243
- // Client announces upload metadata
244
- socket.on('upload:start', async ({ uploadId, id, scope, method, meta, totalChunks }) => {
245
- meta = { ...meta, id, scope, method };
246
- const { mkdirSync } = await import('node:fs');
247
- mkdirSync(`${uploadTmp}/${uploadId}`, { recursive: true });
243
+ // Client announces upload metadata — make this synchronous so chunks can't race it
244
+ socket.on('upload:start', ({ uploadId, id, scope, method, meta, totalChunks }) => {
245
+ const fullMeta = { ...meta, id, scope, method };
246
+ // Synchronous mkdir no awaits before uploads.set()
247
+ const fs = require('node:fs');
248
+ fs.mkdirSync(`${uploadTmp}/${uploadId}`, { recursive: true });
248
249
  const received = new Set();
249
250
  try {
250
- const { readdirSync } = require('node:fs');
251
- readdirSync(`${uploadTmp}/${uploadId}`)
251
+ fs.readdirSync(`${uploadTmp}/${uploadId}`)
252
252
  .forEach((f) => { const n = parseInt(f); if (!isNaN(n))
253
253
  received.add(n); });
254
254
  }
255
255
  catch { }
256
- uploads.set(uploadId, { meta, totalChunks, received });
256
+ uploads.set(uploadId, { meta: fullMeta, totalChunks, received });
257
+ // Ack so client knows it's safe to send chunks
258
+ socket.emit(`upload:started:${uploadId}`);
257
259
  });
258
260
  // Client sends a raw binary chunk
259
261
  socket.on('upload:chunk', async ({ uploadId, index, data }) => {
@@ -266,16 +268,13 @@ class Server extends eventemitter3_1.EventEmitter {
266
268
  const { writeFile, readFile, rm } = await import('node:fs/promises');
267
269
  await writeFile(`${uploadTmp}/${uploadId}/${index}`, data);
268
270
  upload.received.add(index);
269
- // Ack so client sends next chunk
270
271
  socket.emit(`upload:ack:${uploadId}:${index}`);
271
- // All chunks received — reassemble and call handler
272
272
  if (upload.received.size === upload.totalChunks) {
273
273
  const chunks = [];
274
274
  for (let i = 0; i < upload.totalChunks; i++) {
275
275
  chunks.push(await readFile(`${uploadTmp}/${uploadId}/${i}`));
276
276
  }
277
277
  const buffer = Buffer.concat(chunks);
278
- // Clean up tmp
279
278
  await rm(`${uploadTmp}/${uploadId}`, { recursive: true, force: true });
280
279
  uploads.delete(uploadId);
281
280
  let meta = {};
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../src/connector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../src/connector.ts"],"names":[],"mappings":"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"}
package/docs/CORE.md ADDED
@@ -0,0 +1,191 @@
1
+ # Core Layer
2
+
3
+ `Core` is the in-memory data primitive. It holds documents, validates them against a schema, supports indexed lookups, mingo queries, and an optional persistence adapter. Everything in this doc is inherited by `Model`, so you can ignore Core if you only ever use `Model` — but understanding it explains where the behavior comes from.
4
+
5
+ > [← Back to README](../README.md)
6
+
7
+ ---
8
+
9
+ ## Table of Contents
10
+
11
+ - [Schema](#schema)
12
+ - [Validator](#validator)
13
+ - [CRUD primitives](#crud-primitives)
14
+ - [Indexes](#indexes)
15
+ - [Adapter](#adapter)
16
+ - [Trash](#trash)
17
+
18
+ ---
19
+
20
+ ## Schema
21
+
22
+ Schemas are JSON Schema (AJV-compatible) plus a few Modeller-specific keywords:
23
+
24
+ | Keyword | Effect |
25
+ |-------------|-------------------------------------------------------------------------|
26
+ | `unique` | Enforces uniqueness across all documents on `insert` / `update`. |
27
+ | `private` | Field stripped from read responses unless `{ private: true }` is set. |
28
+ | `index` | Builds an in-memory index on the field for fast lookups. |
29
+ | `protected` | Reserved for transport-layer protection (consumed by `Server`). |
30
+ | `hidden` | Hint for client rendering. Not enforced. |
31
+ | `default` | Standard JSON Schema default. |
32
+ | `model` | Async FK-style validation against another model by id. |
33
+
34
+ ### `$ref` resolution
35
+
36
+ `$ref` resolves against `$defs` / `definitions` first, then against any `schemes` passed to the constructor (via `$id` match).
37
+
38
+ A `$ref` may also carry a query string:
39
+
40
+ ```
41
+ "someModel?key=_id&label=name&search=name,email&columns=name,role&min=1&max=5&unique"
42
+ ```
43
+
44
+ This rewrites the property into a model reference with display metadata (`key`, `label`, `search`, `columns`) — used by client tooling to render pickers. For `type: 'array'`, `min` / `max` / `unique` become `minItems` / `maxItems` / `uniqueItemProperties`.
45
+
46
+ ### Inspecting the schema
47
+
48
+ ```ts
49
+ model.getSchema(); // public — strips `private` fields
50
+ model.getSchema({ private: true }); // full
51
+ ```
52
+
53
+ ---
54
+
55
+ ## Validator
56
+
57
+ AJV with `allErrors`, `strict: false`, `ajv-formats`, and `ajv-errors`. Two custom formats are registered:
58
+
59
+ - `phone` — `+?[0-9 \-()]{7,10}`
60
+ - `password` — at least 8 chars, mixed case, digit, symbol
61
+
62
+ And one custom keyword:
63
+
64
+ - `model` (async) — value must reference an existing document in the named model. Used for FK-style references.
65
+
66
+ ```ts
67
+ properties: {
68
+ ownerId: { type: 'string', model: 'users.email' }
69
+ }
70
+ ```
71
+
72
+ ---
73
+
74
+ ## CRUD primitives
75
+
76
+ All CRUD methods are async. They throw `{ code, ... }` on failure (see [Errors](./ERRORS.md)).
77
+
78
+ ### `insert(key?, ...patches, opts?)`
79
+
80
+ Merges `key` and any patch objects into a single document, validates, assigns a BSON `ObjectId`, and stores it.
81
+
82
+ ```ts
83
+ await users.insert({ email: 'a@b.com' }, { name: 'Alex' });
84
+ await users.insert({ email: 'admin@b.com' }, { role: 'admin' }, { private: true });
85
+ ```
86
+
87
+ Returns the inserted document. `private: true` includes `private` fields in the response.
88
+
89
+ ### `update(key, updates, opts?)`
90
+
91
+ Finds a document by `key` (mingo query), shallow-merges `updates`, re-validates, and saves.
92
+
93
+ ```ts
94
+ await users.update({ _id }, { name: 'Alex H.' });
95
+ ```
96
+
97
+ Returns the merged document, or `null` if no match.
98
+
99
+ ### `delete(key)`
100
+
101
+ Removes the matching document. If an adapter is configured and `trash` is not disabled, the document is moved to the trash bin.
102
+
103
+ ```ts
104
+ await users.delete({ _id }); // → { _id } or null
105
+ ```
106
+
107
+ ### `get(key, opts?)`
108
+
109
+ Returns a single document or `null`.
110
+
111
+ ```ts
112
+ await users.get({ email: 'a@b.com' });
113
+ await users.get({ _id }, { private: true });
114
+ ```
115
+
116
+ ### `list(query?, opts?)`
117
+
118
+ Paginated, **exact-match** mingo query.
119
+
120
+ ```ts
121
+ await users.list({ role: 'admin' }, { start: 0, count: 25, private: false });
122
+ ```
123
+
124
+ Default `count` is 10.
125
+
126
+ ### `find(query?, opts?)`
127
+
128
+ Like `list`, but **strings match as case-insensitive substrings**. Non-string values match exactly. Returns an array.
129
+
130
+ ```ts
131
+ await users.find({ name: 'al' }, { max: 10 });
132
+ // → [{ name: 'Alex' }, { name: 'Albert' }, ...]
133
+ ```
134
+
135
+ Default `max` is 10.
136
+
137
+ > **`list` vs `find`** — `list` is for paginated, exact-match queries (admin views, dashboards). `find` is for autocomplete and search. `list` fires hooks; `find` does not.
138
+
139
+ ---
140
+
141
+ ## Indexes
142
+
143
+ Any property with `index: <number>` in its schema gets a per-field hash index built and maintained automatically. Indexes are used internally to keep large collections fast.
144
+
145
+ ```ts
146
+ properties: {
147
+ email : { type: 'string', index: 1 }
148
+ }
149
+ ```
150
+
151
+ ---
152
+
153
+ ## Adapter
154
+
155
+ Models are in-memory by default. Provide an `Adapter` subclass to persist on every write and rehydrate on `pull()`.
156
+
157
+ ```ts
158
+ import { Adapter, Model } from '@hotfusion/modeller';
159
+
160
+ class FileAdapter extends Adapter {
161
+ async sync(id, doc) { /* called on every write */ }
162
+ async pull() { /* return array of docs to load */ return []; }
163
+ }
164
+
165
+ const users = new Model('users', schema, { adapter: FileAdapter });
166
+ await users.pull(); // hydrate before serving traffic
167
+ ```
168
+
169
+ The Adapter contract:
170
+
171
+ ```ts
172
+ class Adapter {
173
+ constructor(id: string) {}
174
+ async sync(id: string, doc: { _id: string, ... }): Promise<void>;
175
+ async pull(): Promise<any[]>;
176
+ }
177
+ ```
178
+
179
+ Modeller calls `sync` on every `insert`, `update`, and `delete` — including trash moves. `pull()` is called manually when you want to rehydrate.
180
+
181
+ ---
182
+
183
+ ## Trash
184
+
185
+ When an adapter is configured, deleted documents go to an in-memory trash bin keyed by `_id`. The bin supports `restore`, `has`, `get`, `permanentDelete`, `empty`, `size`, `list({ start, count })`, `find(query)`, `findAll(query)`. Every trash operation also calls `adapter.sync('trash', doc)` so it can be persisted.
186
+
187
+ Pass `{ trash: false }` in model options to disable.
188
+
189
+ ---
190
+
191
+ > **Next:** [Model layer →](./MODEL.md)
package/docs/ERRORS.md ADDED
@@ -0,0 +1,90 @@
1
+ # Errors
2
+
3
+ All errors thrown by Modeller are plain objects with a `code` field. They aren't `Error` instances — catch them as plain objects and branch on `code`.
4
+
5
+ > [← Back to README](../README.md)
6
+
7
+ ---
8
+
9
+ ## Error codes
10
+
11
+ | Code | Source | Extra fields |
12
+ |---------------------|-------------------------------------------------|-------------------------|
13
+ | `VALIDATION_ERROR` | AJV failed on `insert` / `update` / event args. | `errors` (AJV errors[]) |
14
+ | `UNIQUE_VIOLATION` | A `unique` field collided. | `field` |
15
+ | `METHOD_NOT_FOUND` | `call('id', ...)` with unregistered id. | `id` |
16
+ | `UPLOAD_NOT_FOUND` | `callUpload('id', ...)` with unregistered id. | `id` |
17
+ | `STREAM_NOT_FOUND` | `callStream('id', ...)` with unregistered id. | `id` |
18
+ | `EVENT_NOT_FOUND` | `subscription.dispatch('id', ...)` mismatch. | `id` |
19
+
20
+ ---
21
+
22
+ ## Catching
23
+
24
+ ```ts
25
+ try {
26
+ await users.insert({ email: 'bad' });
27
+ } catch (err) {
28
+ switch (err.code) {
29
+ case 'VALIDATION_ERROR':
30
+ console.log('AJV errors:', err.errors);
31
+ break;
32
+ case 'UNIQUE_VIOLATION':
33
+ console.log('duplicate field:', err.field);
34
+ break;
35
+ default:
36
+ throw err;
37
+ }
38
+ }
39
+ ```
40
+
41
+ ---
42
+
43
+ ## Validation error shape
44
+
45
+ `VALIDATION_ERROR` carries the raw AJV error array on `errors`. Each entry has `instancePath`, `keyword`, `message`, `params`, and `schemaPath`.
46
+
47
+ ```ts
48
+ {
49
+ code: 'VALIDATION_ERROR',
50
+ errors: [
51
+ {
52
+ instancePath : '/email',
53
+ keyword : 'format',
54
+ message : 'must match format "email"',
55
+ params : { format: 'email' },
56
+ schemaPath : '#/properties/email/format'
57
+ }
58
+ ]
59
+ }
60
+ ```
61
+
62
+ `ajv-errors` is enabled, so per-field custom messages declared via `errorMessage` in the schema show up in `message`.
63
+
64
+ ---
65
+
66
+ ## Hooks and errors
67
+
68
+ A non-scheduled hook that throws aborts the operation. The thrown value is logged at `error` level via the [logger](./MODEL.md#logging) and re-thrown to the caller. Throw a plain object with a `code` to keep error handling consistent:
69
+
70
+ ```ts
71
+ users.hook({
72
+ id: 'check-quota',
73
+ on: 'before:insert',
74
+ callback: async ({ data }) => {
75
+ if (await overQuota(data)) throw { code: 'QUOTA_EXCEEDED' };
76
+ }
77
+ });
78
+ ```
79
+
80
+ Scheduled hooks (those with `schedule: <ms>`) are fire-and-forget. Errors from them are logged but not propagated.
81
+
82
+ ---
83
+
84
+ ## Workers and errors
85
+
86
+ Worker handler errors are caught and logged at `error` level. They never crash the interval — the worker keeps ticking. If you want a worker to stop on failure, call `model.stop('worker-id')` from inside the handler's catch block.
87
+
88
+ ---
89
+
90
+ > **Related:** [Core →](./CORE.md) · [Model →](./MODEL.md)