@hotfusion/modeller 0.0.11 → 0.0.15

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.
Files changed (121) hide show
  1. package/README.md +99 -0
  2. package/dist/adapters/cipher.js +51 -0
  3. package/dist/adapters/cipher.js.map +1 -0
  4. package/dist/connector.js +81 -41
  5. package/dist/connector.js.map +1 -1
  6. package/dist/core.js +2 -48
  7. package/dist/core.js.map +1 -1
  8. package/dist/index.js +9 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/model.js +27 -50
  11. package/dist/model.js.map +1 -1
  12. package/dist/oidc/adapter.js +177 -0
  13. package/dist/oidc/adapter.js.map +1 -0
  14. package/dist/oidc/adapters/cipher.js +51 -0
  15. package/dist/oidc/adapters/cipher.js.map +1 -0
  16. package/dist/oidc/client.js +66 -0
  17. package/dist/oidc/client.js.map +1 -0
  18. package/dist/oidc/code.js +37 -0
  19. package/dist/oidc/code.js.map +1 -0
  20. package/dist/oidc/default.config.js +200 -0
  21. package/dist/oidc/default.config.js.map +1 -0
  22. package/dist/oidc/federation.js +51 -0
  23. package/dist/oidc/federation.js.map +1 -0
  24. package/dist/oidc/grant.js +37 -0
  25. package/dist/oidc/grant.js.map +1 -0
  26. package/dist/oidc/interaction.js +36 -0
  27. package/dist/oidc/interaction.js.map +1 -0
  28. package/dist/oidc/oidc.config.js +79 -0
  29. package/dist/oidc/oidc.config.js.map +1 -0
  30. package/dist/oidc/schemas/client.schema.json +62 -0
  31. package/dist/oidc/schemas/code.schema.json +16 -0
  32. package/dist/oidc/schemas/grant.schema.json +13 -0
  33. package/dist/oidc/schemas/interaction.schema.json +26 -0
  34. package/dist/oidc/schemas/session.schema.json +14 -0
  35. package/dist/oidc/schemas/token.schema.json +16 -0
  36. package/dist/oidc/schemas/user.schema.json +44 -0
  37. package/dist/oidc/session.js +36 -0
  38. package/dist/oidc/session.js.map +1 -0
  39. package/dist/oidc/session.token.js +24 -0
  40. package/dist/oidc/session.token.js.map +1 -0
  41. package/dist/oidc/token.js +23 -0
  42. package/dist/oidc/token.js.map +1 -0
  43. package/dist/oidc/user.js +95 -0
  44. package/dist/oidc/user.js.map +1 -0
  45. package/dist/oidc/utils.js +154 -0
  46. package/dist/oidc/utils.js.map +1 -0
  47. package/dist/server.js +722 -113
  48. package/dist/server.js.map +1 -1
  49. package/dist/types/adapters/cipher.d.ts +12 -0
  50. package/dist/types/adapters/cipher.d.ts.map +1 -0
  51. package/dist/types/connector.d.ts +13 -1
  52. package/dist/types/connector.d.ts.map +1 -1
  53. package/dist/types/core.d.ts +2 -2
  54. package/dist/types/core.d.ts.map +1 -1
  55. package/dist/types/index.d.ts +4 -0
  56. package/dist/types/index.d.ts.map +1 -1
  57. package/dist/types/model.d.ts +26 -2
  58. package/dist/types/model.d.ts.map +1 -1
  59. package/dist/types/oidc/adapter.d.ts +16 -0
  60. package/dist/types/oidc/adapter.d.ts.map +1 -0
  61. package/dist/types/oidc/adapters/cipher.d.ts +12 -0
  62. package/dist/types/oidc/adapters/cipher.d.ts.map +1 -0
  63. package/dist/types/oidc/client.d.ts +3 -0
  64. package/dist/types/oidc/client.d.ts.map +1 -0
  65. package/dist/types/oidc/code.d.ts +3 -0
  66. package/dist/types/oidc/code.d.ts.map +1 -0
  67. package/dist/types/oidc/default.config.d.ts +33 -0
  68. package/dist/types/oidc/default.config.d.ts.map +1 -0
  69. package/dist/types/oidc/federation.d.ts +3 -0
  70. package/dist/types/oidc/federation.d.ts.map +1 -0
  71. package/dist/types/oidc/grant.d.ts +3 -0
  72. package/dist/types/oidc/grant.d.ts.map +1 -0
  73. package/dist/types/oidc/interaction.d.ts +3 -0
  74. package/dist/types/oidc/interaction.d.ts.map +1 -0
  75. package/dist/types/oidc/oidc.config.d.ts +7 -0
  76. package/dist/types/oidc/oidc.config.d.ts.map +1 -0
  77. package/dist/types/oidc/session.d.ts +3 -0
  78. package/dist/types/oidc/session.d.ts.map +1 -0
  79. package/dist/types/oidc/session.token.d.ts +3 -0
  80. package/dist/types/oidc/session.token.d.ts.map +1 -0
  81. package/dist/types/oidc/token.d.ts +3 -0
  82. package/dist/types/oidc/token.d.ts.map +1 -0
  83. package/dist/types/oidc/user.d.ts +3 -0
  84. package/dist/types/oidc/user.d.ts.map +1 -0
  85. package/dist/types/oidc/utils.d.ts +56 -0
  86. package/dist/types/oidc/utils.d.ts.map +1 -0
  87. package/dist/types/server.d.ts +8 -3
  88. package/dist/types/server.d.ts.map +1 -1
  89. package/dist/types/types.d.ts +264 -0
  90. package/dist/types/utils/bundler.d.ts.map +1 -1
  91. package/dist/types/utils/display.d.ts +23 -0
  92. package/dist/types/utils/display.d.ts.map +1 -0
  93. package/dist/utils/_secret.key +1 -1
  94. package/dist/utils/bundler.js +47 -8
  95. package/dist/utils/bundler.js.map +1 -1
  96. package/dist/utils/display.js +207 -0
  97. package/dist/utils/display.js.map +1 -0
  98. package/package.json +30 -7
  99. package/dist/View.js +0 -3
  100. package/dist/View.js.map +0 -1
  101. package/dist/extensions/oidc/client.js +0 -221
  102. package/dist/extensions/oidc/client.js.map +0 -1
  103. package/dist/extensions/oidc/index.js +0 -192
  104. package/dist/extensions/oidc/index.js.map +0 -1
  105. package/dist/types/View.d.ts +0 -2
  106. package/dist/types/View.d.ts.map +0 -1
  107. package/dist/types/extensions/oidc/client.d.ts +0 -32
  108. package/dist/types/extensions/oidc/client.d.ts.map +0 -1
  109. package/dist/types/extensions/oidc/index.d.ts +0 -20
  110. package/dist/types/extensions/oidc/index.d.ts.map +0 -1
  111. package/dist/types/extensions/oidc/oidc.d.ts +0 -20
  112. package/dist/types/extensions/oidc/oidc.d.ts.map +0 -1
  113. package/dist/types/extensions/oidc.d.ts +0 -20
  114. package/dist/types/extensions/oidc.d.ts.map +0 -1
  115. package/dist/utils/entry.js +0 -13
  116. package/docs/CORE.md +0 -191
  117. package/docs/ERRORS.md +0 -90
  118. package/docs/MODEL.md +0 -296
  119. package/docs/PATTERNS.md +0 -182
  120. package/docs/SERVER.md +0 -88
  121. package/docs/UTILITIES.md +0 -111
package/README.md CHANGED
@@ -78,6 +78,105 @@ const server = new Server(3030);
78
78
  server.registerModel('system', 'users', users);
79
79
  await server.start();
80
80
  ```
81
+ ### Testing the API
82
+
83
+ Once the server is running, all CRUD endpoints are available at `http://localhost:3030/{scope}/{model}/{operation}`. Using the `users` model registered under the `system` scope from the example above:
84
+
85
+ #### Insert a user
86
+
87
+ ```bash
88
+ curl -X POST http://localhost:3030/system/users/insert \
89
+ -H "Content-Type: application/json" \
90
+ -d '{ "email": "alex@example.com", "name": "Alex" }'
91
+ ```
92
+
93
+ ```js
94
+ const res = await fetch('http://localhost:3030/system/users/insert', {
95
+ method: 'POST',
96
+ headers: { 'Content-Type': 'application/json' },
97
+ body: JSON.stringify({ email: 'alex@example.com', name: 'Alex' })
98
+ });
99
+ const data = await res.json();
100
+ // { ok: true, entry: { _id: 'abc123', email: 'alex@example.com', name: 'Alex', role: 'user' } }
101
+ ```
102
+
103
+ ---
104
+
105
+ #### Get a user
106
+
107
+ ```bash
108
+ curl "http://localhost:3030/system/users/get?email=alex%40example.com"
109
+ ```
110
+
111
+ ```js
112
+ const res = await fetch('http://localhost:3030/system/users/get?email=alex%40example.com');
113
+ const data = await res.json();
114
+ // { ok: true, entry: { _id: 'abc123', email: 'alex@example.com', name: 'Alex', role: 'user' } }
115
+ ```
116
+
117
+ ---
118
+
119
+ #### List users
120
+
121
+ ```bash
122
+ curl "http://localhost:3030/system/users/list"
123
+ ```
124
+
125
+ ```js
126
+ const res = await fetch('http://localhost:3030/system/users/list');
127
+ const data = await res.json();
128
+ // { ok: true, entry: [{ _id: 'abc123', email: 'alex@example.com', name: 'Alex', role: 'user' }] }
129
+ ```
130
+
131
+ ---
132
+
133
+ #### Update a user
134
+
135
+ ```bash
136
+ curl -X PUT http://localhost:3030/system/users/update \
137
+ -H "Content-Type: application/json" \
138
+ -d '{ "_id": "abc123", "name": "Alexander" }'
139
+ ```
140
+
141
+ ```js
142
+ const res = await fetch('http://localhost:3030/system/users/update', {
143
+ method: 'PUT',
144
+ headers: { 'Content-Type': 'application/json' },
145
+ body: JSON.stringify({ _id: 'abc123', name: 'Alexander' })
146
+ });
147
+ const data = await res.json();
148
+ // { ok: true, entry: { _id: 'abc123', email: 'alex@example.com', name: 'Alexander', role: 'user' } }
149
+ ```
150
+
151
+ ---
152
+
153
+ #### Delete a user
154
+
155
+ ```bash
156
+ curl -X DELETE http://localhost:3030/system/users/delete \
157
+ -H "Content-Type: application/json" \
158
+ -d '{ "_id": "abc123" }'
159
+ ```
160
+
161
+ ```js
162
+ const res = await fetch('http://localhost:3030/system/users/delete', {
163
+ method: 'DELETE',
164
+ headers: { 'Content-Type': 'application/json' },
165
+ body: JSON.stringify({ _id: 'abc123' })
166
+ });
167
+ const data = await res.json();
168
+ // { ok: true, entry: { _id: 'abc123' } }
169
+ ```
170
+
171
+ ---
172
+
173
+ #### Error response
174
+
175
+ If a request fails validation or a required field is missing:
176
+
177
+ ```json
178
+ { "ok": false, "error": "Validation error: email is required" }
179
+ ```
81
180
 
82
181
  ---
83
182
 
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CipherAdapter = void 0;
4
+ const core_1 = require("../core");
5
+ const cipher_1 = require("@hotfusion/cipher");
6
+ class CipherAdapter extends core_1.Adapter {
7
+ cipher;
8
+ ready;
9
+ id;
10
+ constructor(id) {
11
+ super(id);
12
+ this.id = id;
13
+ // Password resolved inside Cipher from:
14
+ // 1. VAULT_PASSWORD env var
15
+ // 2. --password=xxx CLI arg
16
+ this.cipher = new cipher_1.Cipher({
17
+ path: `./vault/${id}`,
18
+ password: process.env.VAULT_PASSWORD || '',
19
+ //@ts-ignore
20
+ locked: false,
21
+ readonly: false,
22
+ }, [{ name: id, schema: {} }, { name: 'trash', schema: {} }]);
23
+ this.ready = this.cipher.ready();
24
+ }
25
+ async sync(id, doc) {
26
+ await this.ready;
27
+ const col = this.cipher.collection(id);
28
+ const key = { id: doc._id.toString() };
29
+ const existing = col.find(key);
30
+ if (existing) {
31
+ await col.update(key, doc);
32
+ }
33
+ else {
34
+ await col.insert(key, doc);
35
+ }
36
+ }
37
+ async pull() {
38
+ await this.ready;
39
+ const col = this.cipher.collection(this.id);
40
+ return col.list()
41
+ .map((entry) => {
42
+ const id = Object.values(entry.key)[0];
43
+ if (!id)
44
+ return null;
45
+ return col.unseal(id);
46
+ })
47
+ .filter(Boolean);
48
+ }
49
+ }
50
+ exports.CipherAdapter = CipherAdapter;
51
+ //# sourceMappingURL=cipher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cipher.js","sourceRoot":"","sources":["../../src/adapters/cipher.ts"],"names":[],"mappings":";;;AAAA,kCAAkC;AAGlC,8CAA4C;AAE5C,MAAa,aAAc,SAAQ,cAAO;IAC9B,MAAM,CAAU;IAChB,KAAK,CAAkB;IACvB,EAAE,CAAc;IAExB,YAAY,EAAU;QAClB,KAAK,CAAC,EAAE,CAAC,CAAC;QACV,IAAI,CAAC,EAAE,GAAO,EAAE,CAAC;QACjB,wCAAwC;QACxC,8BAA8B;QAC9B,8BAA8B;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC;YACrB,IAAI,EAAO,WAAW,EAAE,EAAE;YAC1B,QAAQ,EAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE;YAC3C,YAAY;YACZ,MAAM,EAAK,KAAK;YAChB,QAAQ,EAAG,KAAK;SACnB,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAU,EAAE,GAA0C;QAC7D,MAAM,IAAI,CAAC,KAAK,CAAC;QACjB,MAAM,GAAG,GAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAQ,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE/B,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACN,MAAM,IAAI,CAAC,KAAK,CAAC;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,GAAG,CAAC,IAAI,EAAE;aACZ,GAAG,CAAC,CAAC,KAAS,EAAE,EAAE;YACf,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC;YACrB,OAAO,GAAG,CAAC,MAAM,CAAC,EAAS,CAAC,CAAC;QACjC,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;CACJ;AA7CD,sCA6CC"}
package/dist/connector.js CHANGED
@@ -5,7 +5,7 @@ exports.Connector = void 0;
5
5
  const socket_io_client_1 = require("socket.io-client");
6
6
  const eventemitter3_1 = require("eventemitter3");
7
7
  const core_1 = require("./core");
8
- // ── HttpClient ────────────────────────────────────────────────────────────────
8
+ // ?? HttpClient ????????????????????????????????????????????????????????????????
9
9
  class HttpClient {
10
10
  baseUrl;
11
11
  token;
@@ -23,35 +23,39 @@ class HttpClient {
23
23
  async request(method, path, body) {
24
24
  const url = new URL(`${this.baseUrl}/${path.replace(/^\//, "")}`);
25
25
  const init = { method, headers: this.headers };
26
- if (method === 'GET' || method === 'DELETE') {
26
+ console.log(body);
27
+ if (method === 'GET') {
27
28
  if (body)
28
- Object.entries(body).forEach(([k, v]) => url.searchParams.set(k, String(v)));
29
+ Object.entries(body).forEach(([k, v]) => url.searchParams.set(k, typeof v === 'object' ? JSON.stringify(v) : String(v)));
29
30
  }
30
31
  else {
31
32
  init.body = JSON.stringify(body ?? {});
32
33
  }
33
34
  try {
34
35
  const res = await fetch(url.toString(), init);
36
+ console.log('res:', res);
35
37
  if (!res.ok) {
36
- let message = `${method} ${url} → ${res.status} ${res.statusText}`;
37
- try {
38
- const data = await res.json();
39
- if (data?.error)
40
- message = typeof data.error === 'string' ? data.error : JSON.stringify(data.error);
38
+ const data = await res.json().catch(() => null);
39
+ if (data?.error) {
40
+ const err = new Error(data.details?.errors?.[0] ?? data.details?.message ?? data.error);
41
+ err.details = data.details;
42
+ err.code = data.details?.code ?? data.error;
43
+ throw err;
41
44
  }
42
- catch { }
43
- throw new Error(message);
45
+ throw new Error(`${method} ${url} ? ${res.status} ${res.statusText}`);
44
46
  }
47
+ if (res.redirected)
48
+ return { redirected: true };
45
49
  return await res.json();
46
50
  }
47
51
  catch (e) {
48
- throw new Error(e.message);
52
+ throw e;
49
53
  }
50
54
  }
51
55
  async get(path) { return this.request('GET', path); }
52
56
  async post(path, body) { return this.request('POST', path, body); }
53
57
  }
54
- // ── Connector ─────────────────────────────────────────────────────────────────
58
+ // ?? Connector ?????????????????????????????????????????????????????????????????
55
59
  class Connector {
56
60
  _socket;
57
61
  _http;
@@ -65,14 +69,14 @@ class Connector {
65
69
  this._http = new HttpClient(new URL(uri).origin);
66
70
  core_1.Validator.models = [];
67
71
  }
68
- // ── Emitter ───────────────────────────────────────────────────────────────
72
+ // ?? Emitter ???????????????????????????????????????????????????????????????
69
73
  operationMap() {
70
74
  return [...this._operationMap.entries()].map(([key, value]) => ({ key, value }));
71
75
  }
72
76
  on(event, listener) { this._emitter.on(event, listener); return this; }
73
77
  off(event, listener) { this._emitter.off(event, listener); return this; }
74
78
  once(event, listener) { this._emitter.once(event, listener); return this; }
75
- // ── Socket events ─────────────────────────────────────────────────────────
79
+ // ?? Socket events ?????????????????????????????????????????????????????????
76
80
  _eventCall(id, scope, query, event, args) {
77
81
  return new Promise((resolve, reject) => {
78
82
  const callId = Math.random().toString(36).slice(2) + Date.now();
@@ -89,7 +93,7 @@ class Connector {
89
93
  this[id][scope][event] = (args) => this._eventCall(id, scope, query, event, args);
90
94
  });
91
95
  }
92
- // ── Subscribe / Unsubscribe ───────────────────────────────────────────────
96
+ // ?? Subscribe / Unsubscribe ???????????????????????????????????????????????
93
97
  subscribe(id, scope, query = {}, listener) {
94
98
  const reqId = Math.random().toString(36).slice(2) + Date.now();
95
99
  this._socket.emit('subscribe', { id, scope, query, reqId });
@@ -131,11 +135,13 @@ class Connector {
131
135
  this._socket.off(keyedChannel);
132
136
  return this;
133
137
  }
134
- // ── Connect / Disconnect ──────────────────────────────────────────────────
138
+ // ?? Connect / Disconnect ??????????????????????????????????????????????????
135
139
  async connect() {
136
140
  const origin = new URL(this._uri).origin;
137
141
  const metaRes = await fetch(`${origin}/@metadata`);
138
142
  this._metadata = await metaRes.json();
143
+ console.log(this._metadata);
144
+ this._oidc = this._metadata?.oidc ?? [];
139
145
  const mountExt = (ext) => {
140
146
  ext.operations?.forEach((op) => {
141
147
  this._operationMap.set(op.path, { method: op.method, schema: op.schema });
@@ -171,7 +177,7 @@ class Connector {
171
177
  });
172
178
  }
173
179
  disconnect() { this._socket?.disconnect(); }
174
- // ── HTTP ──────────────────────────────────────────────────────────────────
180
+ // ?? HTTP ??????????????????????????????????????????????????????????????????
175
181
  async operation(path, body, options) {
176
182
  if (body && (options?.stream || this._findFiles(body).length)) {
177
183
  body = await this.upload(options?.stream?.path ?? 'system/filesystem/stream', body, options?.stream?.meta ?? {}, options?.stream?.onProgress);
@@ -194,28 +200,13 @@ class Connector {
194
200
  const normalised = `/${path.replace(/\./g, '/').replace(/^\//, '')}`;
195
201
  return this._operationMap.get(normalised)?.schema ?? null;
196
202
  }
197
- // ── Auth ──────────────────────────────────────────────────────────────────
203
+ // ?? Auth ??????????????????????????????????????????????????????????????????
198
204
  async authenticate(email, password) {
199
- const { token } = await this._http.post('auth/login', { email, password });
205
+ const { token } = await this._http.post('auth/authorization/signin', { email, password });
200
206
  this._http.setToken(token);
201
207
  return token;
202
208
  }
203
- authorize(providerId) {
204
- return new Promise((resolve, reject) => {
205
- const url = `${new URL(this._uri).origin}/auth/${providerId}`;
206
- const popup = window.open(url, '_blank', 'width=500,height=700');
207
- if (!popup)
208
- return reject(new Error('Popup blocked'));
209
- const handler = (e) => {
210
- if (e.data?.type === 'oidc:login:success') {
211
- window.removeEventListener('message', handler);
212
- resolve();
213
- }
214
- };
215
- window.addEventListener('message', handler);
216
- });
217
- }
218
- // ── Upload / Stream ───────────────────────────────────────────────────────
209
+ // ?? Upload / Stream ???????????????????????????????????????????????????????
219
210
  async upload(path, fields, meta = {}, onProgress) {
220
211
  const fileEntries = this._findFiles(fields);
221
212
  if (fileEntries.length) {
@@ -244,7 +235,6 @@ class Connector {
244
235
  const uploadId = Math.random().toString(36).slice(2) + Date.now();
245
236
  const buffer = await file.arrayBuffer();
246
237
  const totalChunks = Math.ceil(buffer.byteLength / CHUNK_SIZE);
247
- // Arm complete/error listeners up front
248
238
  const completePromise = new Promise((resolve, reject) => {
249
239
  const onComplete = (data) => { cleanup(); resolve(data); };
250
240
  const onError = (err) => { cleanup(); reject(new Error(typeof err === 'string' ? err : (err?.message ?? String(err)))); };
@@ -258,7 +248,6 @@ class Connector {
258
248
  this._socket.once(`upload:error:${uploadId}`, onError);
259
249
  });
260
250
  try {
261
- // 1. Send start, WAIT for server to ack it's ready
262
251
  const startedWait = waitFor(`upload:started:${uploadId}`, ACK_TIMEOUT_MS);
263
252
  this._socket.emit('upload:start', {
264
253
  uploadId,
@@ -270,9 +259,7 @@ class Connector {
270
259
  });
271
260
  await startedWait;
272
261
  onProgress?.(0, totalChunks, file);
273
- // Show initial 0% progress
274
262
  onProgress?.(0, totalChunks, file);
275
- // 2. Now safe to send chunks
276
263
  for (let i = 0; i < totalChunks; i++) {
277
264
  const chunk = buffer.slice(i * CHUNK_SIZE, (i + 1) * CHUNK_SIZE);
278
265
  const ack = waitFor(`upload:ack:${uploadId}:${i}`, ACK_TIMEOUT_MS);
@@ -290,7 +277,7 @@ class Connector {
290
277
  }
291
278
  return results;
292
279
  }
293
- // ── Private helpers ───────────────────────────────────────────────────────
280
+ // ?? Private helpers ???????????????????????????????????????????????????????
294
281
  _findFiles(obj, path = []) {
295
282
  const results = [];
296
283
  if (Array.isArray(obj)) {
@@ -317,10 +304,63 @@ class Connector {
317
304
  current = current[path[i]];
318
305
  current[path[path.length - 1]] = value;
319
306
  }
320
- // ── Getters ───────────────────────────────────────────────────────────────
307
+ // ?? Getters ???????????????????????????????????????????????????????????????
321
308
  get socket() { return this._socket; }
322
309
  get metadata() { return this._metadata; }
323
310
  getMetadata() { return this._http.get('@metadata'); }
311
+ // ?? OIDC
312
+ _oidc = [];
313
+ oidc = {
314
+ authorize: async (popup = false) => {
315
+ const entry = this._oidc[0];
316
+ if (!entry)
317
+ throw new Error('No OIDC provider found');
318
+ const verifier = crypto.randomUUID().replace(/-/g, '') + crypto.randomUUID().replace(/-/g, '');
319
+ const encoded = new TextEncoder().encode(verifier);
320
+ const hash = await crypto.subtle.digest('SHA-256', encoded);
321
+ const challenge = btoa(String.fromCharCode(...new Uint8Array(hash)))
322
+ .replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '');
323
+ sessionStorage.setItem('pkce_verifier', verifier);
324
+ const origin = new URL(this._uri).origin;
325
+ const authUrl = `${origin}/auth?client_id=${entry.path}-default` +
326
+ `&redirect_uri=${origin}/${entry.path}/callback` +
327
+ `&response_type=code` +
328
+ `&scope=openid%20email%20profile%20offline_access` +
329
+ `&code_challenge=${challenge}` +
330
+ `&code_challenge_method=S256`;
331
+ if (popup) {
332
+ const win = window.open(authUrl, '_blank', 'width=500,height=700');
333
+ if (!win)
334
+ throw new Error('Popup blocked');
335
+ }
336
+ else {
337
+ window.location.href = authUrl;
338
+ }
339
+ },
340
+ providers: (mountPath) => {
341
+ const entry = mountPath
342
+ ? this._oidc.find(o => o.path === mountPath)
343
+ : this._oidc[0];
344
+ return entry?.federation ?? [];
345
+ },
346
+ signup: (uid, email, password) => {
347
+ const mount = this._oidc[0]?.endpoints.signup.replace(':uid', uid);
348
+ return this._http.post(mount, { email, password });
349
+ },
350
+ signin: (uid, email, password) => {
351
+ console.log('this._oidc:', this._oidc);
352
+ const mount = this._oidc[0]?.endpoints.signin.replace(':uid', uid);
353
+ return this._http.post(mount, { username: email, password });
354
+ },
355
+ federate: (uid, provider) => {
356
+ const mount = this._oidc[0]?.endpoints.federate.replace(':uid', uid).replace(':provider', provider);
357
+ const form = document.createElement('form');
358
+ form.method = 'POST';
359
+ form.action = mount;
360
+ document.body.appendChild(form);
361
+ form.submit();
362
+ },
363
+ };
324
364
  }
325
365
  exports.Connector = Connector;
326
366
  //# sourceMappingURL=connector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connector.js","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connector.js","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"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"}
package/dist/core.js CHANGED
@@ -11,7 +11,6 @@ const ajv_1 = require("ajv");
11
11
  const ajv_formats_1 = __importDefault(require("ajv-formats"));
12
12
  const ajv_errors_1 = __importDefault(require("ajv-errors"));
13
13
  class Validator extends eventemitter3_1.EventEmitter {
14
- // static _mounted = false
15
14
  static models = [];
16
15
  _schema;
17
16
  _validator;
@@ -35,6 +34,7 @@ class Validator extends eventemitter3_1.EventEmitter {
35
34
  ajv_errors_1.default.default(this._ajv);
36
35
  this._ajv.addFormat('phone', { type: 'string', validate: (v) => /^\+?[0-9\s\-()]{7,10}$/.test(v) });
37
36
  this._ajv.addFormat('password', { type: 'number', validate: (v) => v.length >= 8 && /[A-Z]/.test(v) && /[a-z]/.test(v) && /\d/.test(v) && /[^A-Za-z0-9]/.test(v) });
37
+ this._ajv.addFormat('files', { type: 'string', validate: () => true });
38
38
  this._ajv.addKeyword({
39
39
  keyword: "model",
40
40
  async: true,
@@ -43,7 +43,6 @@ class Validator extends eventemitter3_1.EventEmitter {
43
43
  const model = Validator.models.find((x) => x.id === schema.split('.')[0]);
44
44
  if (!model)
45
45
  return true;
46
- // if it's a real Model instance with get()
47
46
  if (typeof model.get === 'function') {
48
47
  const values = Array.isArray(value) ? value : [value];
49
48
  for (const v of values) {
@@ -53,31 +52,6 @@ class Validator extends eventemitter3_1.EventEmitter {
53
52
  }
54
53
  return true;
55
54
  }
56
- // if it's just metadata, skip validation
57
- return true;
58
- /*let model
59
- = Modeller.models.find(x => x.getId() === schema.model);
60
-
61
- try{
62
- if(model && user){
63
- // try to get the foreign items, if one of them was not found, throws an error
64
- let values = value?.map?value:[value];
65
-
66
- // loop through each value
67
- for(let i = 0; i < values.length; i++){
68
- // most of the cases the item would be {_id:ObjectId}
69
- let { _id } = await model.get(user,{[schema.key]:values[i]});
70
- let { _id } = await model.get(user,{[schema.key]:values[i]});
71
-
72
- // if no _id found or _id not match with value, means not found
73
- if(!_id || String(_id) !== values[i])
74
- throw new Error(`no _id returned from model [${model.getId()}] on GET when providing value ${JSON.stringify({[schema.key]:values[i]})}`);
75
- }
76
- }
77
- }catch(e){
78
- console.error(e)
79
- return false;
80
- }*/
81
55
  return true;
82
56
  }
83
57
  });
@@ -95,6 +69,7 @@ class Validator extends eventemitter3_1.EventEmitter {
95
69
  catch (e) {
96
70
  return e.errors;
97
71
  }
72
+ // false means no errors so !validate() it passed otherwise you get []
98
73
  return false;
99
74
  }
100
75
  }
@@ -205,7 +180,6 @@ class Core {
205
180
  const qIdx = ref.indexOf('?');
206
181
  const N = qIdx >= 0 ? ref.slice(0, qIdx) : ref;
207
182
  const Q = qIdx >= 0 ? ref.slice(qIdx + 1) : '';
208
- // try schemes lookup (legacy $id match)
209
183
  const S = schemes.find(y => y.$id === N);
210
184
  if (S && !Q) {
211
185
  schema.properties[x] = this.mergeSchema(S, schemes);
@@ -382,16 +356,6 @@ class Core {
382
356
  return null;
383
357
  return priv ? match[1] : this.stripPrivateFields(match[1]);
384
358
  }
385
- // ── list ──────────────────────────────────────────────────────────────────
386
- //
387
- // Returns a paginated array of documents filtered by an exact mingo query.
388
- // All fields in the query must match exactly (no partial/substring matching).
389
- //
390
- // list(query?, { start?, count?, private? })
391
- //
392
- // Example:
393
- // await modeller.list({ name: 'Microsoft' }, { start: 0, count: 10 })
394
- // // [{ name: 'Microsoft', ... }]
395
359
  async list(query = {}, options = {}) {
396
360
  const { start = 0, count = 10, private: priv = false } = options;
397
361
  let docs = Array.from(this.data.values());
@@ -402,16 +366,6 @@ class Core {
402
366
  docs = docs.slice(start, start + count);
403
367
  return priv ? docs : docs.map(d => this.stripPrivateFields(d));
404
368
  }
405
- // ── find ──────────────────────────────────────────────────────────────────
406
- //
407
- // Returns an array of documents with partial/substring matching for strings.
408
- // Non-string values are matched exactly.
409
- //
410
- // find(query, { max?, private? })
411
- //
412
- // Example:
413
- // await modeller.find({ name: 'Micro' }, { max: 10 })
414
- // // [{ name: 'Microsoft' }, { name: 'Microbit' }, ...]
415
369
  async find(query = {}, { max = 10, private: priv = false } = {}) {
416
370
  const results = [];
417
371
  const test = (doc) => {