temba 0.49.0 → 0.51.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.
Files changed (40) hide show
  1. package/config/index.d.ts +2 -0
  2. package/config/index.d.ts.map +1 -1
  3. package/config/index.js +4 -0
  4. package/config/index.js.map +1 -1
  5. package/index.d.ts.map +1 -1
  6. package/index.js +11 -2
  7. package/index.js.map +1 -1
  8. package/openapi/spec.d.ts.map +1 -1
  9. package/openapi/spec.js +72 -42
  10. package/openapi/spec.js.map +1 -1
  11. package/package.json +4 -2
  12. package/requestHandlers/delete.d.ts +2 -1
  13. package/requestHandlers/delete.d.ts.map +1 -1
  14. package/requestHandlers/delete.js +9 -1
  15. package/requestHandlers/delete.js.map +1 -1
  16. package/requestHandlers/index.d.ts +2 -1
  17. package/requestHandlers/index.d.ts.map +1 -1
  18. package/requestHandlers/index.js +5 -5
  19. package/requestHandlers/index.js.map +1 -1
  20. package/requestHandlers/patch.d.ts +2 -1
  21. package/requestHandlers/patch.d.ts.map +1 -1
  22. package/requestHandlers/patch.js +5 -1
  23. package/requestHandlers/patch.js.map +1 -1
  24. package/requestHandlers/post.d.ts +2 -1
  25. package/requestHandlers/post.d.ts.map +1 -1
  26. package/requestHandlers/post.js +5 -1
  27. package/requestHandlers/post.js.map +1 -1
  28. package/requestHandlers/put.d.ts +2 -1
  29. package/requestHandlers/put.d.ts.map +1 -1
  30. package/requestHandlers/put.js +5 -1
  31. package/requestHandlers/put.js.map +1 -1
  32. package/resourceHandler.d.ts +2 -1
  33. package/resourceHandler.d.ts.map +1 -1
  34. package/resourceHandler.js +2 -2
  35. package/resourceHandler.js.map +1 -1
  36. package/version.js +1 -1
  37. package/websocket/websocket.d.ts +17 -0
  38. package/websocket/websocket.d.ts.map +1 -0
  39. package/websocket/websocket.js +53 -0
  40. package/websocket/websocket.js.map +1 -0
package/config/index.d.ts CHANGED
@@ -25,6 +25,7 @@ export type Config = {
25
25
  allowDeleteCollection: boolean;
26
26
  etagsEnabled: boolean;
27
27
  openapi: OpenApiConfig;
28
+ webSocket: boolean;
28
29
  isTesting: boolean;
29
30
  implementations: Implementations | null;
30
31
  };
@@ -43,6 +44,7 @@ export type UserConfig = {
43
44
  allowDeleteCollection?: boolean;
44
45
  etags?: boolean;
45
46
  openapi?: OpenApiConfig;
47
+ webSocket?: boolean;
46
48
  isTesting?: boolean;
47
49
  implementations?: Implementations;
48
50
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEzD,KAAK,YAAY,GAAG,MAAM,CAAA;AAE1B,KAAK,gBAAgB,GAAG;IACtB,YAAY,EAAE,YAAY,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,KAAK,SAAS,GAAG,CAAC,YAAY,GAAG,gBAAgB,CAAC,EAAE,CAAA;AAEpD,KAAK,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEtD,MAAM,MAAM,MAAM,GAAG;IACnB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAA;IAC7C,uBAAuB,EAAE,uBAAuB,GAAG,IAAI,CAAA;IACvD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,gBAAgB,EAAE,OAAO,CAAA;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAA;IACjC,qBAAqB,EAAE,OAAO,CAAA;IAC9B,YAAY,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,aAAa,CAAA;IAEtB,SAAS,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAA;CACxC,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,MAAM,CAAA;AAEpC,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,uBAAuB,CAAC,EAAE,uBAAuB,CAAA;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,aAAa,CAAA;IAGvB,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC,CAAA;AAsBD,eAAO,MAAM,UAAU,GAAI,aAAa,UAAU,KAAG,MA8GpD,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,SAAyC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEzD,KAAK,YAAY,GAAG,MAAM,CAAA;AAE1B,KAAK,gBAAgB,GAAG;IACtB,YAAY,EAAE,YAAY,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,KAAK,SAAS,GAAG,CAAC,YAAY,GAAG,gBAAgB,CAAC,EAAE,CAAA;AAEpD,KAAK,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEtD,MAAM,MAAM,MAAM,GAAG;IACnB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAA;IAC7C,uBAAuB,EAAE,uBAAuB,GAAG,IAAI,CAAA;IACvD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,gBAAgB,EAAE,OAAO,CAAA;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAA;IACjC,qBAAqB,EAAE,OAAO,CAAA;IAC9B,YAAY,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,aAAa,CAAA;IACtB,SAAS,EAAE,OAAO,CAAA;IAElB,SAAS,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAA;CACxC,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,MAAM,CAAA;AAEpC,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,uBAAuB,CAAC,EAAE,uBAAuB,CAAA;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IAGnB,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC,CAAA;AAuBD,eAAO,MAAM,UAAU,GAAI,aAAa,UAAU,KAAG,MAkHpD,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,SAAyC,CAAA"}
package/config/index.js CHANGED
@@ -13,6 +13,7 @@ const defaultConfig = {
13
13
  allowDeleteCollection: false,
14
14
  etagsEnabled: false,
15
15
  openapi: true,
16
+ webSocket: false,
16
17
  isTesting: false,
17
18
  implementations: null,
18
19
  };
@@ -98,6 +99,9 @@ export const initConfig = (userConfig) => {
98
99
  if (!isUndefined(userConfig.openapi)) {
99
100
  config.openapi = userConfig.openapi;
100
101
  }
102
+ if (!isUndefined(userConfig.webSocket)) {
103
+ config.webSocket = userConfig.webSocket;
104
+ }
101
105
  return config;
102
106
  };
103
107
  export const isUndefined = (value) => typeof value === 'undefined';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"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"}
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAyF3D,eAAO,MAAM,MAAM,GAAI,aAAa,UAAU;;;EAA6B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAqG3D,eAAO,MAAM,MAAM,GAAI,aAAa,UAAU;;;EAA6B,CAAA"}
package/index.js CHANGED
@@ -10,6 +10,7 @@ import { createRootUrlHandler } from './root/root.js';
10
10
  import { sendResponse } from './responseHandler.js';
11
11
  import { createQueries } from './data/queries.js';
12
12
  import { compileSchemas } from './schema/compile.js';
13
+ import { createWebSocketServer } from './websocket/websocket.js';
13
14
  const removePendingAndTrailingSlashes = (url) => (url ? url.replace(/^\/+|\/+$/g, '') : '');
14
15
  const handleOptionsRequest = (res) => sendResponse(res)({
15
16
  statusCode: 204,
@@ -21,9 +22,17 @@ const createServer = async (userConfig) => {
21
22
  const { log, logLevel } = initLogger(process.env.LOG_LEVEL);
22
23
  const queries = createQueries(config.connectionString, log);
23
24
  const schemas = compileSchemas(config.schemas);
24
- const handleResource = await createResourceHandler(queries, schemas, config);
25
25
  const httpLogger = getHttpLogger(logLevel);
26
- const server = httpCreateServer((req, res) => {
26
+ // Create the server first without the request handler
27
+ const server = httpCreateServer();
28
+ // Initialize WebSocket server if enabled (must be after server creation)
29
+ const broadcast = config.webSocket
30
+ ? createWebSocketServer(server)
31
+ : null;
32
+ // Now create the resource handler with the broadcast function
33
+ const handleResource = await createResourceHandler(queries, schemas, config, broadcast);
34
+ // Set up the request handler
35
+ server.on('request', (req, res) => {
27
36
  const implementations = getDefaultImplementations(config);
28
37
  httpLogger(req, res, (err) => {
29
38
  if (err)
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../../src/openapi/spec.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAEvC,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,CAAA;AAogBpC,eAAO,MAAM,OAAO,GAClB,QAAQ,MAAM,EACd,SAAS;IACP,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,aAAa,CAAA;CACtB,WAgEF,CAAA"}
1
+ {"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../../src/openapi/spec.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAEvC,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,CAAA;AAsiBpC,eAAO,MAAM,OAAO,GAClB,QAAQ,MAAM,EACd,SAAS;IACP,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,aAAa,CAAA;CACtB,WA+DF,CAAA"}
package/openapi/spec.js CHANGED
@@ -46,8 +46,35 @@ const defaultErrorResponseBodySchema = {
46
46
  },
47
47
  required: ['message'],
48
48
  };
49
- const getPathParameters = (resourceInfo, id = false) => {
49
+ /**
50
+ * Helper to define the ETag header for responses
51
+ */
52
+ const getEtagHeader = () => ({
53
+ ETag: {
54
+ description: 'The entity tag for the resource.',
55
+ schema: {
56
+ type: 'string',
57
+ },
58
+ },
59
+ });
60
+ const getPathParameters = (config, resourceInfo, id = false) => {
50
61
  const { resource, singularResourceLowerCase } = resourceInfo;
62
+ let parameters = [];
63
+ // If ETags are enabled, add If-None-Match as an optional header parameter
64
+ if (config.etagsEnabled) {
65
+ parameters = [
66
+ ...parameters,
67
+ {
68
+ name: 'If-None-Match',
69
+ in: 'header',
70
+ required: false,
71
+ schema: {
72
+ type: 'string',
73
+ },
74
+ description: 'The entity tag (ETag) previously returned. Used for conditional requests.',
75
+ },
76
+ ];
77
+ }
51
78
  const resourceParameter = {
52
79
  name: 'resource',
53
80
  in: 'path',
@@ -66,7 +93,6 @@ const getPathParameters = (resourceInfo, id = false) => {
66
93
  },
67
94
  description: `The ID of the ${singularResourceLowerCase}.`,
68
95
  };
69
- let parameters = [];
70
96
  if (resource === anyResource) {
71
97
  parameters = [...parameters, resourceParameter];
72
98
  }
@@ -99,7 +125,6 @@ const buildOpenApiSpec = (config, server, resourceInfos) => {
99
125
  name: 'Apache 2.0',
100
126
  url: 'http://www.apache.org/licenses/LICENSE-2.0.html',
101
127
  })
102
- // For convenience, we use a generic server URL, relative to where the docs are served from.
103
128
  .addServer({
104
129
  url: server,
105
130
  });
@@ -130,7 +155,6 @@ const buildOpenApiSpec = (config, server, resourceInfos) => {
130
155
  });
131
156
  resourceInfos.forEach((resourceInfo) => {
132
157
  const { resource, pluralResourceLowerCase, pluralResourceUpperCase, singularResourceLowerCase, singularResourceUpperCase, } = resourceInfo;
133
- // Add the tag for this resource
134
158
  builder.addTag(resourceInfo.tag);
135
159
  const nullFieldsRemark = () => config.returnNullFields
136
160
  ? ''
@@ -138,17 +162,19 @@ const buildOpenApiSpec = (config, server, resourceInfos) => {
138
162
  const postRequestSchema = config.schemas?.[resource]
139
163
  ?.post;
140
164
  const responseSchema = getResponseBodySchema(postRequestSchema);
165
+ // Conditional headers based on config
166
+ const responseHeaders = config.etagsEnabled ? getEtagHeader() : undefined;
141
167
  // GET, HEAD, POST on a collection
142
168
  builder.addPath(`/${resource}`, {
143
169
  get: {
144
- // description: `List all ${pluralResourceLowerCase}.`,
145
170
  description: `List all ${pluralResourceLowerCase}.`,
146
171
  summary: `List all ${pluralResourceLowerCase}`,
147
172
  operationId: `getAll${pluralResourceUpperCase}`,
148
- parameters: getPathParameters(resourceInfo),
173
+ parameters: getPathParameters(config, resourceInfo),
149
174
  responses: {
150
175
  '200': {
151
176
  description: `List of all ${pluralResourceLowerCase}.${nullFieldsRemark()}`,
177
+ headers: responseHeaders,
152
178
  content: {
153
179
  'application/json': {
154
180
  schema: {
@@ -165,10 +191,11 @@ const buildOpenApiSpec = (config, server, resourceInfos) => {
165
191
  summary: `HTTP headers for all ${pluralResourceLowerCase}`,
166
192
  description: `Returns HTTP headers for all ${pluralResourceLowerCase}.`,
167
193
  operationId: `getAll${pluralResourceUpperCase}Headers`,
168
- parameters: getPathParameters(resourceInfo),
194
+ parameters: getPathParameters(config, resourceInfo),
169
195
  responses: {
170
196
  '200': {
171
197
  description: `HTTP headers for all ${pluralResourceLowerCase}.`,
198
+ headers: responseHeaders,
172
199
  },
173
200
  },
174
201
  tags: [resourceInfo.tag.name],
@@ -177,11 +204,12 @@ const buildOpenApiSpec = (config, server, resourceInfos) => {
177
204
  summary: `Create a new ${singularResourceLowerCase}`,
178
205
  description: `Create a new ${singularResourceLowerCase}.`,
179
206
  operationId: `create${singularResourceUpperCase}`,
180
- parameters: getPathParameters(resourceInfo),
207
+ parameters: getPathParameters(config, resourceInfo),
181
208
  requestBody: getRequestBodySchema(postRequestSchema),
182
209
  responses: {
183
210
  '201': {
184
211
  description: `The ${singularResourceLowerCase} was created. The created ${singularResourceLowerCase} is returned in the response.${nullFieldsRemark()}`,
212
+ headers: responseHeaders,
185
213
  content: {
186
214
  'application/json': {
187
215
  schema: responseSchema,
@@ -207,55 +235,54 @@ const buildOpenApiSpec = (config, server, resourceInfos) => {
207
235
  tags: [resourceInfo.tag.name],
208
236
  },
209
237
  });
210
- // DELETE on a collection if configured
211
- if (config.allowDeleteCollection) {
212
- builder.addPath(`/${resource}`, {
213
- delete: {
214
- summary: `Delete all ${pluralResourceLowerCase}`,
215
- description: `Delete all ${pluralResourceLowerCase}.`,
216
- operationId: `deleteAll${pluralResourceUpperCase}`,
217
- parameters: getPathParameters(resourceInfo),
218
- responses: {
238
+ // DELETE on a collection
239
+ builder.addPath(`/${resource}`, {
240
+ delete: {
241
+ summary: `Delete all ${pluralResourceLowerCase}`,
242
+ description: config.allowDeleteCollection
243
+ ? `Delete all ${pluralResourceLowerCase}.`
244
+ : 'Deleting whole collections is disabled. Enable by setting `allowDeleteCollection` to `true`.',
245
+ operationId: `deleteAll${pluralResourceUpperCase}`,
246
+ parameters: getPathParameters(config, resourceInfo),
247
+ responses: config.allowDeleteCollection
248
+ ? {
219
249
  '204': {
220
250
  description: `All ${pluralResourceLowerCase} were deleted.`,
221
251
  },
222
- },
223
- tags: [resourceInfo.tag.name],
224
- },
225
- });
226
- }
227
- else {
228
- builder.addPath(`/${resource}`, {
229
- delete: {
230
- summary: `Delete all ${pluralResourceLowerCase}`,
231
- description: 'Deleting whole collections is disabled. Enable by setting `allowDeleteCollection` to `true`.',
232
- operationId: `deleteAll${pluralResourceUpperCase}`,
233
- parameters: getPathParameters(resourceInfo),
234
- responses: {
252
+ }
253
+ : {
235
254
  '405': {
236
255
  description: `Method not allowed`,
237
256
  },
238
257
  },
239
- tags: [resourceInfo.tag.name],
240
- },
241
- });
242
- }
258
+ tags: [resourceInfo.tag.name],
259
+ },
260
+ });
243
261
  // GET, HEAD, POST, PUT, PATCH, DELETE on an ID
244
262
  builder.addPath(`/${resource}/{${singularResourceLowerCase}Id}`, {
245
263
  get: {
246
264
  summary: `Find ${indefinite(singularResourceLowerCase)} by ID`,
247
265
  description: `Find ${indefinite(singularResourceLowerCase)} by ID.`,
248
266
  operationId: `get${singularResourceUpperCase}ById`,
249
- parameters: getPathParameters(resourceInfo, true),
267
+ parameters: getPathParameters(config, resourceInfo, true),
250
268
  responses: {
251
269
  '200': {
252
270
  description: `The ${singularResourceLowerCase} with the ${singularResourceLowerCase}Id.${nullFieldsRemark()}`,
271
+ headers: responseHeaders,
253
272
  content: {
254
273
  'application/json': {
255
274
  schema: responseSchema,
256
275
  },
257
276
  },
258
277
  },
278
+ ...(config.etagsEnabled
279
+ ? {
280
+ '304': {
281
+ description: 'The resource has not been modified.',
282
+ headers: responseHeaders,
283
+ },
284
+ }
285
+ : {}),
259
286
  '404': {
260
287
  description: `The ${singularResourceLowerCase}Id was not found.`,
261
288
  content: {
@@ -271,10 +298,11 @@ const buildOpenApiSpec = (config, server, resourceInfos) => {
271
298
  summary: `HTTP headers for the ${singularResourceLowerCase} by ID`,
272
299
  description: `Returns HTTP headers for the ${singularResourceLowerCase} by ID.`,
273
300
  operationId: `get${singularResourceUpperCase}ByIdHeaders`,
274
- parameters: getPathParameters(resourceInfo, true),
301
+ parameters: getPathParameters(config, resourceInfo, true),
275
302
  responses: {
276
303
  '200': {
277
304
  description: `HTTP headers for the ${singularResourceLowerCase} with the ${singularResourceLowerCase}Id.`,
305
+ headers: responseHeaders,
278
306
  },
279
307
  '404': {
280
308
  description: `The ${singularResourceLowerCase}Id was not found.`,
@@ -286,7 +314,7 @@ const buildOpenApiSpec = (config, server, resourceInfos) => {
286
314
  summary: `Create a new ${singularResourceLowerCase} with id`,
287
315
  description: `Create a new ${singularResourceLowerCase}, specifying your own id.`,
288
316
  operationId: `create${singularResourceUpperCase}WithId`,
289
- parameters: getPathParameters(resourceInfo, true),
317
+ parameters: getPathParameters(config, resourceInfo, true),
290
318
  requestBody: {
291
319
  content: {
292
320
  'application/json': {
@@ -299,6 +327,7 @@ const buildOpenApiSpec = (config, server, resourceInfos) => {
299
327
  responses: {
300
328
  '201': {
301
329
  description: `The ${singularResourceLowerCase} was created. The created ${singularResourceLowerCase} is returned in the response.${nullFieldsRemark()}`,
330
+ headers: responseHeaders,
302
331
  content: {
303
332
  'application/json': {
304
333
  schema: {
@@ -358,11 +387,12 @@ const buildOpenApiSpec = (config, server, resourceInfos) => {
358
387
  summary: `Replace ${indefinite(singularResourceLowerCase)}`,
359
388
  description: `Replace ${indefinite(singularResourceLowerCase)}.`,
360
389
  operationId: `replace${singularResourceUpperCase}`,
361
- parameters: getPathParameters(resourceInfo, true),
390
+ parameters: getPathParameters(config, resourceInfo, true),
362
391
  requestBody: getRequestBodySchema(config.schemas?.[resource]?.put),
363
392
  responses: {
364
393
  '200': {
365
394
  description: `The ${singularResourceLowerCase} was replaced. The replaced ${singularResourceLowerCase} is returned in the response.${nullFieldsRemark()}`,
395
+ headers: responseHeaders,
366
396
  content: {
367
397
  'application/json': {
368
398
  schema: responseSchema,
@@ -404,11 +434,12 @@ const buildOpenApiSpec = (config, server, resourceInfos) => {
404
434
  summary: `Update ${indefinite(singularResourceLowerCase)}`,
405
435
  description: `Update ${indefinite(singularResourceLowerCase)}.`,
406
436
  operationId: `update${singularResourceUpperCase}`,
407
- parameters: getPathParameters(resourceInfo, true),
437
+ parameters: getPathParameters(config, resourceInfo, true),
408
438
  requestBody: getRequestBodySchema(config.schemas?.[resource]?.patch),
409
439
  responses: {
410
440
  '200': {
411
441
  description: `The ${singularResourceLowerCase} was updated. The updated ${singularResourceLowerCase} is returned in the response.${nullFieldsRemark()}`,
442
+ headers: responseHeaders,
412
443
  content: {
413
444
  'application/json': {
414
445
  schema: responseSchema,
@@ -450,7 +481,7 @@ const buildOpenApiSpec = (config, server, resourceInfos) => {
450
481
  summary: `Delete ${indefinite(singularResourceLowerCase)}`,
451
482
  description: `Delete ${indefinite(singularResourceLowerCase)}.`,
452
483
  operationId: `delete${singularResourceUpperCase}`,
453
- parameters: getPathParameters(resourceInfo, true),
484
+ parameters: getPathParameters(config, resourceInfo, true),
454
485
  responses: {
455
486
  '204': {
456
487
  description: `The ${singularResourceLowerCase} was deleted.`,
@@ -512,7 +543,6 @@ export const getSpec = (config, request) => {
512
543
  server += `/${config.apiPrefix}/`;
513
544
  const spec = buildOpenApiSpec(config, server, resourceInfos);
514
545
  const builder = new OpenApiBuilder(typeof config.openapi === 'object' ? deepmerge(spec, config.openapi) : spec);
515
- const specje = request.format === 'json' ? builder.getSpecAsJson() : builder.getSpecAsYaml();
516
- return specje;
546
+ return request.format === 'json' ? builder.getSpecAsJson() : builder.getSpecAsYaml();
517
547
  };
518
548
  //# sourceMappingURL=spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spec.js","sourceRoot":"","sources":["../../../src/openapi/spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spec.js","sourceRoot":"","sources":["../../../src/openapi/spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "temba",
3
- "version": "0.49.0",
3
+ "version": "0.51.0",
4
4
  "description": "Create a simple REST API with zero coding in less than 30 seconds (seriously).",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",
@@ -25,6 +25,7 @@
25
25
  "@types/indefinite": "2.3.4",
26
26
  "@types/morgan": "1.9.10",
27
27
  "@types/supertest": "6.0.3",
28
+ "@types/ws": "^8.18.1",
28
29
  "@typescript-eslint/eslint-plugin": "8.46.3",
29
30
  "@typescript-eslint/parser": "8.46.3",
30
31
  "eslint": "9.39.1",
@@ -49,6 +50,7 @@
49
50
  "lowdb": "7.0.1",
50
51
  "mime": "4.1.0",
51
52
  "morgan": "1.10.1",
52
- "openapi3-ts": "4.5.0"
53
+ "openapi3-ts": "4.5.0",
54
+ "ws": "^8.19.0"
53
55
  }
54
56
  }
@@ -1,7 +1,8 @@
1
1
  import type { Queries } from '../data/types.js';
2
2
  import type { RequestInterceptor } from '../requestInterceptor/types.js';
3
3
  import type { DeleteRequest } from './types.js';
4
- export declare const createDeleteRoutes: (queries: Queries, allowDeleteCollection: boolean, requestInterceptor: RequestInterceptor | null, etagsEnabled: boolean) => (req: DeleteRequest) => Promise<{
4
+ import type { BroadcastFunction } from '../websocket/websocket.js';
5
+ export declare const createDeleteRoutes: (queries: Queries, allowDeleteCollection: boolean, requestInterceptor: RequestInterceptor | null, etagsEnabled: boolean, broadcast: BroadcastFunction | null) => (req: DeleteRequest) => Promise<{
5
6
  statusCode: number;
6
7
  body: import("./types.js").Body | undefined;
7
8
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAG5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,eAAO,MAAM,kBAAkB,GAC7B,SAAS,OAAO,EAChB,uBAAuB,OAAO,EAC9B,oBAAoB,kBAAkB,GAAG,IAAI,EAC7C,cAAc,OAAO,WAEY,aAAa;;;;;;;;;;;EAgF/C,CAAA"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAG5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,eAAO,MAAM,kBAAkB,GAC7B,SAAS,OAAO,EAChB,uBAAuB,OAAO,EAC9B,oBAAoB,kBAAkB,GAAG,IAAI,EAC7C,cAAc,OAAO,EACrB,WAAW,iBAAiB,GAAG,IAAI,WAEF,aAAa;;;;;;;;;;;EA0F/C,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { etag } from '../etags/etags.js';
2
2
  import { interceptDeleteRequest } from '../requestInterceptor/interceptRequest.js';
3
- export const createDeleteRoutes = (queries, allowDeleteCollection, requestInterceptor, etagsEnabled) => {
3
+ export const createDeleteRoutes = (queries, allowDeleteCollection, requestInterceptor, etagsEnabled, broadcast) => {
4
4
  const handleDelete = async (req) => {
5
5
  const { headers, resource, id } = req;
6
6
  if (requestInterceptor?.delete) {
@@ -36,6 +36,10 @@ export const createDeleteRoutes = (queries, allowDeleteCollection, requestInterc
36
36
  }
37
37
  }
38
38
  await queries.deleteById(resource, id);
39
+ // Broadcast to WebSocket clients if enabled
40
+ if (broadcast) {
41
+ broadcast(resource, 'DELETE', { id });
42
+ }
39
43
  }
40
44
  else {
41
45
  // Even when deleting a non existing item, we still need an etag.
@@ -67,6 +71,10 @@ export const createDeleteRoutes = (queries, allowDeleteCollection, requestInterc
67
71
  }
68
72
  }
69
73
  await queries.deleteAll(resource);
74
+ // Broadcast to WebSocket clients if enabled
75
+ if (broadcast) {
76
+ broadcast(resource, 'DELETE_ALL');
77
+ }
70
78
  }
71
79
  return { statusCode: 204 };
72
80
  };
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/requestHandlers/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAI/E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,OAAgB,EAChB,qBAA8B,EAC9B,kBAA6C,EAC7C,YAAqB,EACrB,EAAE;IACF,MAAM,YAAY,GAAG,KAAK,EAAE,GAAkB,EAAE,EAAE;QAChD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;QAErC,IAAI,kBAAkB,EAAE,MAAM,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,eAAe,GAAG,MAAM,sBAAsB,CAClD,kBAAkB,CAAC,MAAM,EACzB,OAAO,EACP,QAAQ,EACR,EAAE,CACH,CAAA;gBAED,gEAAgE;gBAChE,IAAI,eAAe,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACxC,OAAO;wBACL,UAAU,EAAE,eAAe,CAAC,MAAM;wBAClC,IAAI,EAAE,eAAe,CAAC,IAAI;qBAC3B,CAAA;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,OAAO;oBACL,UAAU,EAAE,GAAG;oBACf,IAAI,EAAE,EAAE,OAAO,EAAG,KAAe,CAAC,OAAO,EAAE;iBAC5C,CAAA;YACH,CAAC;QACH,CAAC;QAED,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YAChD,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;oBAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC1B,OAAO;4BACL,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE;gCACJ,OAAO,EAAE,qBAAqB;6BAC/B;yBACF,CAAA;oBACH,CAAC;gBACH,CAAC;gBAED,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YACxC,CAAC;iBAAM,CAAC;gBACN,iEAAiE;gBACjE,2FAA2F;gBAC3F,IAAI,YAAY,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBAC9B,OAAO;wBACL,UAAU,EAAE,GAAG;wBACf,IAAI,EAAE;4BACJ,OAAO,EAAE,qBAAqB;yBAC/B;qBACF,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC3B,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,CAAA;YAC5B,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC7C,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC3B,OAAO;wBACL,UAAU,EAAE,GAAG;wBACf,IAAI,EAAE;4BACJ,OAAO,EAAE,qBAAqB;yBAC/B;qBACF,CAAA;gBACH,CAAC;YACH,CAAC;YAED,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QACnC,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,CAAA;IAC5B,CAAC,CAAA;IAED,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/requestHandlers/delete.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import type { Config } from '../config/index.js';
2
2
  import type { CompiledSchemas } from '../schema/types.js';
3
3
  import type { Queries } from '../data/types.js';
4
- export declare const getRequestHandler: (queries: Queries, schemas: CompiledSchemas, config: Config) => Promise<{
4
+ import type { BroadcastFunction } from '../websocket/websocket.js';
5
+ export declare const getRequestHandler: (queries: Queries, schemas: CompiledSchemas, config: Config, broadcast: BroadcastFunction | null) => Promise<{
5
6
  handleGet: (req: import("./types.js").GetRequest) => Promise<{
6
7
  statusCode: number;
7
8
  headers: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAe5C,eAAO,MAAM,iBAAiB,GAC5B,SAAS,OAAO,EAChB,SAAS,eAAe,EACxB,QAAQ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4Df,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAe/D,eAAO,MAAM,iBAAiB,GAC5B,SAAS,OAAO,EAChB,SAAS,eAAe,EACxB,QAAQ,MAAM,EACd,WAAW,iBAAiB,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+DpC,CAAA"}
@@ -14,13 +14,13 @@ const withErrorHandling = (handler) => {
14
14
  }
15
15
  };
16
16
  };
17
- export const getRequestHandler = async (queries, schemas, config) => {
17
+ export const getRequestHandler = async (queries, schemas, config, broadcast) => {
18
18
  const { requestInterceptor, responseBodyInterceptor, returnNullFields, allowDeleteCollection, etagsEnabled, } = config;
19
19
  const handleGet = withErrorHandling(createGetRoutes(queries, requestInterceptor, responseBodyInterceptor, returnNullFields, etagsEnabled));
20
- const handlePost = withErrorHandling(createPostRoutes(queries, requestInterceptor, returnNullFields, schemas.post));
21
- const handlePut = withErrorHandling(createPutRoutes(queries, requestInterceptor, returnNullFields, schemas.put, etagsEnabled));
22
- const handlePatch = withErrorHandling(createPatchRoutes(queries, requestInterceptor, returnNullFields, schemas.patch, etagsEnabled));
23
- const handleDelete = withErrorHandling(createDeleteRoutes(queries, allowDeleteCollection, requestInterceptor, etagsEnabled));
20
+ const handlePost = withErrorHandling(createPostRoutes(queries, requestInterceptor, returnNullFields, schemas.post, broadcast));
21
+ const handlePut = withErrorHandling(createPutRoutes(queries, requestInterceptor, returnNullFields, schemas.put, etagsEnabled, broadcast));
22
+ const handlePatch = withErrorHandling(createPatchRoutes(queries, requestInterceptor, returnNullFields, schemas.patch, etagsEnabled, broadcast));
23
+ const handleDelete = withErrorHandling(createDeleteRoutes(queries, allowDeleteCollection, requestInterceptor, etagsEnabled, broadcast));
24
24
  return {
25
25
  handleGet,
26
26
  handlePost,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/requestHandlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAK7C,oDAAoD;AACpD,MAAM,iBAAiB,GAAG,CACxB,OAA6C,EACL,EAAE;IAC1C,OAAO,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;QAC/B,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAG,KAAe,CAAC,OAAO,EAAE,EAAa,CAAA;QACpF,CAAC;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACpC,OAAgB,EAChB,OAAwB,EACxB,MAAc,EACd,EAAE;IACF,MAAM,EACJ,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,GACb,GAAG,MAAM,CAAA;IAEV,MAAM,SAAS,GAAG,iBAAiB,CACjC,eAAe,CACb,OAAO,EACP,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,YAAY,CACb,CACF,CAAA;IAED,MAAM,UAAU,GAAG,iBAAiB,CAClC,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,CAC9E,CAAA;IAED,MAAM,SAAS,GAAG,iBAAiB,CACjC,eAAe,CACb,OAAO,EACP,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,CAAC,GAAG,EACX,YAAY,CACb,CACF,CAAA;IAED,MAAM,WAAW,GAAG,iBAAiB,CACnC,iBAAiB,CACf,OAAO,EACP,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,CAAC,KAAK,EACb,YAAY,CACb,CACF,CAAA;IAED,MAAM,YAAY,GAAG,iBAAiB,CACpC,kBAAkB,CAChB,OAAO,EACP,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,CACb,CACF,CAAA;IAED,OAAO;QACL,SAAS;QACT,UAAU;QACV,SAAS;QACT,WAAW;QACX,YAAY;KACb,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/requestHandlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAM7C,oDAAoD;AACpD,MAAM,iBAAiB,GAAG,CACxB,OAA6C,EACL,EAAE;IAC1C,OAAO,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;QAC/B,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAG,KAAe,CAAC,OAAO,EAAE,EAAa,CAAA;QACpF,CAAC;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACpC,OAAgB,EAChB,OAAwB,EACxB,MAAc,EACd,SAAmC,EACnC,EAAE;IACF,MAAM,EACJ,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,GACb,GAAG,MAAM,CAAA;IAEV,MAAM,SAAS,GAAG,iBAAiB,CACjC,eAAe,CACb,OAAO,EACP,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,YAAY,CACb,CACF,CAAA;IAED,MAAM,UAAU,GAAG,iBAAiB,CAClC,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CACzF,CAAA;IAED,MAAM,SAAS,GAAG,iBAAiB,CACjC,eAAe,CACb,OAAO,EACP,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,CAAC,GAAG,EACX,YAAY,EACZ,SAAS,CACV,CACF,CAAA;IAED,MAAM,WAAW,GAAG,iBAAiB,CACnC,iBAAiB,CACf,OAAO,EACP,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,CAAC,KAAK,EACb,YAAY,EACZ,SAAS,CACV,CACF,CAAA;IAED,MAAM,YAAY,GAAG,iBAAiB,CACpC,kBAAkB,CAChB,OAAO,EACP,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,SAAS,CACV,CACF,CAAA;IAED,OAAO;QACL,SAAS;QACT,UAAU;QACV,SAAS;QACT,WAAW;QACX,YAAY;KACb,CAAA;AACH,CAAC,CAAA"}
@@ -2,7 +2,8 @@ import type { ValidateFunctionPerResource } from '../schema/types.js';
2
2
  import type { PatchRequest } from './types.js';
3
3
  import type { Queries } from '../data/types.js';
4
4
  import type { RequestInterceptor } from '../requestInterceptor/types.js';
5
- export declare const createPatchRoutes: (queries: Queries, requestInterceptor: RequestInterceptor | null, returnNullFields: boolean, schemas: ValidateFunctionPerResource | null, etagsEnabled: boolean) => (req: PatchRequest) => Promise<{
5
+ import type { BroadcastFunction } from '../websocket/websocket.js';
6
+ export declare const createPatchRoutes: (queries: Queries, requestInterceptor: RequestInterceptor | null, returnNullFields: boolean, schemas: ValidateFunctionPerResource | null, etagsEnabled: boolean, broadcast: BroadcastFunction | null) => (req: PatchRequest) => Promise<{
6
7
  statusCode: number;
7
8
  body: {
8
9
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/patch.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAGrE,eAAO,MAAM,iBAAiB,GAC5B,SAAS,OAAO,EAChB,oBAAoB,kBAAkB,GAAG,IAAI,EAC7C,kBAAkB,OAAO,EACzB,SAAS,2BAA2B,GAAG,IAAI,EAC3C,cAAc,OAAO,WAEW,YAAY;;;;;;;;EAoE7C,CAAA"}
1
+ {"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/patch.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAErE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,eAAO,MAAM,iBAAiB,GAC5B,SAAS,OAAO,EAChB,oBAAoB,kBAAkB,GAAG,IAAI,EAC7C,kBAAkB,OAAO,EACzB,SAAS,2BAA2B,GAAG,IAAI,EAC3C,cAAc,OAAO,EACrB,WAAW,iBAAiB,GAAG,IAAI,WAEH,YAAY;;;;;;;;EAyE7C,CAAA"}
@@ -2,7 +2,7 @@ import { interceptPatchRequest } from '../requestInterceptor/interceptRequest.js
2
2
  import { validate } from '../schema/validate.js';
3
3
  import { removeNullFields } from './utils.js';
4
4
  import { etag } from '../etags/etags.js';
5
- export const createPatchRoutes = (queries, requestInterceptor, returnNullFields, schemas, etagsEnabled) => {
5
+ export const createPatchRoutes = (queries, requestInterceptor, returnNullFields, schemas, etagsEnabled, broadcast) => {
6
6
  const handlePatch = async (req) => {
7
7
  const { headers, resource, id } = req;
8
8
  let { body } = req;
@@ -49,6 +49,10 @@ export const createPatchRoutes = (queries, requestInterceptor, returnNullFields,
49
49
  }
50
50
  item = { ...item, ...body, id };
51
51
  const updatedItem = await queries.update(resource, item);
52
+ // Broadcast to WebSocket clients if enabled
53
+ if (broadcast) {
54
+ broadcast(resource, 'UPDATE', updatedItem);
55
+ }
52
56
  return {
53
57
  statusCode: 200,
54
58
  body: returnNullFields ? updatedItem : removeNullFields(updatedItem),
@@ -1 +1 @@
1
- {"version":3,"file":"patch.js","sourceRoot":"","sources":["../../../src/requestHandlers/patch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAA;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAK1C,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAErC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAgB,EAChB,kBAA6C,EAC7C,gBAAyB,EACzB,OAA2C,EAC3C,YAAqB,EACrB,EAAE;IACF,MAAM,WAAW,GAAG,KAAK,EAAE,GAAiB,EAAE,EAAE;QAC9C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;QACrC,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAA;QAElB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC5D,IAAI,gBAAgB,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACvC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAA;QAC9E,CAAC;QAED,IAAI,kBAAkB,EAAE,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,eAAe,GAAG,MAAM,qBAAqB,CACjD,kBAAkB,CAAC,KAAK,EACxB,OAAO,EACP,QAAQ,EACR,EAAE,EACF,IAAI,CACL,CAAA;gBAED,IAAI,eAAe,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACxC,OAAO;wBACL,UAAU,EAAE,eAAe,CAAC,MAAM;wBAClC,IAAI,EAAE,eAAe,CAAC,IAAI;qBAC3B,CAAA;gBACH,CAAC;gBAED,IAAI,GAAG,eAAe,CAAC,IAAI,IAAI,IAAI,CAAA;YACrC,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,OAAO;oBACL,UAAU,EAAE,GAAG;oBACf,IAAI,EAAE,EAAE,OAAO,EAAG,KAAe,CAAC,OAAO,EAAE;iBAC5C,CAAA;YACH,CAAC;QACH,CAAC;QAED,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QAE9C,IAAI,CAAC,IAAI;YACP,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE;oBACJ,OAAO,EAAE,OAAO,EAAE,aAAa;iBAChC;aACF,CAAA;QAEH,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;YAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO;oBACL,UAAU,EAAE,GAAG;oBACf,IAAI,EAAE;wBACJ,OAAO,EAAE,qBAAqB;qBAC/B;iBACF,CAAA;YACH,CAAC;QACH,CAAC;QAED,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAI,IAAe,EAAE,EAAE,EAAE,CAAA;QAE3C,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAExD,OAAO;YACL,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC;SACrE,CAAA;IACH,CAAC,CAAA;IAED,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA"}
1
+ {"version":3,"file":"patch.js","sourceRoot":"","sources":["../../../src/requestHandlers/patch.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,8 @@ import type { ValidateFunctionPerResource } from '../schema/types.js';
2
2
  import type { PostRequest } from './types.js';
3
3
  import type { Queries } from '../data/types.js';
4
4
  import type { RequestInterceptor } from '../requestInterceptor/types.js';
5
- export declare const createPostRoutes: (queries: Queries, requestInterceptor: RequestInterceptor | null, returnNullFields: boolean, schemas: ValidateFunctionPerResource) => (req: PostRequest) => Promise<{
5
+ import type { BroadcastFunction } from '../websocket/websocket.js';
6
+ export declare const createPostRoutes: (queries: Queries, requestInterceptor: RequestInterceptor | null, returnNullFields: boolean, schemas: ValidateFunctionPerResource, broadcast: BroadcastFunction | null) => (req: PostRequest) => Promise<{
6
7
  statusCode: number;
7
8
  body: {
8
9
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/post.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAiB,OAAO,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAErE,eAAO,MAAM,gBAAgB,GAC3B,SAAS,OAAO,EAChB,oBAAoB,kBAAkB,GAAG,IAAI,EAC7C,kBAAkB,OAAO,EACzB,SAAS,2BAA2B,WAEL,WAAW;;;;;;;;;;;;;;;;;;EA+D3C,CAAA"}
1
+ {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/post.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAiB,OAAO,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,eAAO,MAAM,gBAAgB,GAC3B,SAAS,OAAO,EAChB,oBAAoB,kBAAkB,GAAG,IAAI,EAC7C,kBAAkB,OAAO,EACzB,SAAS,2BAA2B,EACpC,WAAW,iBAAiB,GAAG,IAAI,WAEJ,WAAW;;;;;;;;;;;;;;;;;;EAoE3C,CAAA"}
@@ -2,7 +2,7 @@ import { format } from 'url';
2
2
  import { interceptPostRequest } from '../requestInterceptor/interceptRequest.js';
3
3
  import { removeNullFields } from './utils.js';
4
4
  import { validate } from '../schema/validate.js';
5
- export const createPostRoutes = (queries, requestInterceptor, returnNullFields, schemas) => {
5
+ export const createPostRoutes = (queries, requestInterceptor, returnNullFields, schemas, broadcast) => {
6
6
  const handlePost = async (req) => {
7
7
  const { headers, protocol, host, resource, id } = req;
8
8
  let { body } = req;
@@ -39,6 +39,10 @@ export const createPostRoutes = (queries, requestInterceptor, returnNullFields,
39
39
  };
40
40
  }
41
41
  const newItem = await queries.create(resource, id, body);
42
+ // Broadcast to WebSocket clients if enabled
43
+ if (broadcast) {
44
+ broadcast(resource, 'CREATE', newItem);
45
+ }
42
46
  return {
43
47
  headers: {
44
48
  Location: format({
@@ -1 +1 @@
1
- {"version":3,"file":"post.js","sourceRoot":"","sources":["../../../src/requestHandlers/post.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAM7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAgB,EAChB,kBAA6C,EAC7C,gBAAyB,EACzB,OAAoC,EACpC,EAAE;IACF,MAAM,UAAU,GAAG,KAAK,EAAE,GAAgB,EAAE,EAAE;QAC5C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;QACrD,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAA;QAElB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC1D,IAAI,gBAAgB,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACvC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAA;QAC9E,CAAC;QAED,IAAI,kBAAkB,EAAE,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAChD,kBAAkB,CAAC,IAAI,EACvB,OAAO,EACP,QAAQ,EACR,EAAE,EACF,IAAI,CACL,CAAA;gBAED,IAAI,eAAe,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACxC,OAAO;wBACL,UAAU,EAAE,eAAe,CAAC,MAAM;wBAClC,IAAI,EAAE,eAAe,CAAC,IAAI;qBAC3B,CAAA;gBACH,CAAC;gBAED,IAAI,GAAG,eAAe,CAAC,IAAI,IAAI,IAAI,CAAA;YACrC,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,OAAO;oBACL,UAAU,EAAE,GAAG;oBACf,IAAI,EAAE,EAAE,OAAO,EAAG,KAAe,CAAC,OAAO,EAAE;iBAC5C,CAAA;YACH,CAAC;QACH,CAAC;QAED,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YAEhD,IAAI,IAAI;gBACN,OAAO;oBACL,UAAU,EAAE,GAAG;oBACf,IAAI,EAAE;wBACJ,OAAO,EAAE,OAAO,EAAE,kBAAkB;qBACrC;iBACF,CAAA;QACL,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAqB,CAAC,CAAA;QAEzE,OAAO;YACL,OAAO,EAAE;gBACP,QAAQ,EAAE,MAAM,CAAC;oBACf,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,IAAI;oBACV,QAAQ,EAAE,GAAG,QAAQ,IAAI,OAAO,CAAC,EAAE,EAAE;iBACtC,CAAC;aACH;YACD,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC;SAC7D,CAAA;IACH,CAAC,CAAA;IAED,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA"}
1
+ {"version":3,"file":"post.js","sourceRoot":"","sources":["../../../src/requestHandlers/post.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAO7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAgB,EAChB,kBAA6C,EAC7C,gBAAyB,EACzB,OAAoC,EACpC,SAAmC,EACnC,EAAE;IACF,MAAM,UAAU,GAAG,KAAK,EAAE,GAAgB,EAAE,EAAE;QAC5C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;QACrD,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAA;QAElB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC1D,IAAI,gBAAgB,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACvC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAA;QAC9E,CAAC;QAED,IAAI,kBAAkB,EAAE,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAChD,kBAAkB,CAAC,IAAI,EACvB,OAAO,EACP,QAAQ,EACR,EAAE,EACF,IAAI,CACL,CAAA;gBAED,IAAI,eAAe,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACxC,OAAO;wBACL,UAAU,EAAE,eAAe,CAAC,MAAM;wBAClC,IAAI,EAAE,eAAe,CAAC,IAAI;qBAC3B,CAAA;gBACH,CAAC;gBAED,IAAI,GAAG,eAAe,CAAC,IAAI,IAAI,IAAI,CAAA;YACrC,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,OAAO;oBACL,UAAU,EAAE,GAAG;oBACf,IAAI,EAAE,EAAE,OAAO,EAAG,KAAe,CAAC,OAAO,EAAE;iBAC5C,CAAA;YACH,CAAC;QACH,CAAC;QAED,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YAEhD,IAAI,IAAI;gBACN,OAAO;oBACL,UAAU,EAAE,GAAG;oBACf,IAAI,EAAE;wBACJ,OAAO,EAAE,OAAO,EAAE,kBAAkB;qBACrC;iBACF,CAAA;QACL,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAqB,CAAC,CAAA;QAEzE,4CAA4C;QAC5C,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;QACxC,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP,QAAQ,EAAE,MAAM,CAAC;oBACf,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,IAAI;oBACV,QAAQ,EAAE,GAAG,QAAQ,IAAI,OAAO,CAAC,EAAE,EAAE;iBACtC,CAAC;aACH;YACD,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC;SAC7D,CAAA;IACH,CAAC,CAAA;IAED,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA"}
@@ -2,7 +2,8 @@ import type { ValidateFunctionPerResource } from '../schema/types.js';
2
2
  import type { PutRequest } from './types.js';
3
3
  import type { Queries } from '../data/types.js';
4
4
  import type { RequestInterceptor } from '../requestInterceptor/types.js';
5
- export declare const createPutRoutes: (queries: Queries, requestInterceptor: RequestInterceptor | null, returnNullFields: boolean, schemas: ValidateFunctionPerResource | null, etagsEnabled: boolean) => (req: PutRequest) => Promise<{
5
+ import type { BroadcastFunction } from '../websocket/websocket.js';
6
+ export declare const createPutRoutes: (queries: Queries, requestInterceptor: RequestInterceptor | null, returnNullFields: boolean, schemas: ValidateFunctionPerResource | null, etagsEnabled: boolean, broadcast: BroadcastFunction | null) => (req: PutRequest) => Promise<{
6
7
  statusCode: number;
7
8
  body: {
8
9
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"put.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/put.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAGrE,eAAO,MAAM,eAAe,GAC1B,SAAS,OAAO,EAChB,oBAAoB,kBAAkB,GAAG,IAAI,EAC7C,kBAAkB,OAAO,EACzB,SAAS,2BAA2B,GAAG,IAAI,EAC3C,cAAc,OAAO,WAES,UAAU;;;;;;;;EAoEzC,CAAA"}
1
+ {"version":3,"file":"put.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/put.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAErE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,eAAO,MAAM,eAAe,GAC1B,SAAS,OAAO,EAChB,oBAAoB,kBAAkB,GAAG,IAAI,EAC7C,kBAAkB,OAAO,EACzB,SAAS,2BAA2B,GAAG,IAAI,EAC3C,cAAc,OAAO,EACrB,WAAW,iBAAiB,GAAG,IAAI,WAEL,UAAU;;;;;;;;EAyEzC,CAAA"}
@@ -2,7 +2,7 @@ import { interceptPutRequest } from '../requestInterceptor/interceptRequest.js';
2
2
  import { validate } from '../schema/validate.js';
3
3
  import { removeNullFields } from './utils.js';
4
4
  import { etag } from '../etags/etags.js';
5
- export const createPutRoutes = (queries, requestInterceptor, returnNullFields, schemas, etagsEnabled) => {
5
+ export const createPutRoutes = (queries, requestInterceptor, returnNullFields, schemas, etagsEnabled, broadcast) => {
6
6
  const handlePut = async (req) => {
7
7
  const { headers, resource, id } = req;
8
8
  let { body } = req;
@@ -49,6 +49,10 @@ export const createPutRoutes = (queries, requestInterceptor, returnNullFields, s
49
49
  }
50
50
  item = { ...body, id };
51
51
  const replacedItem = await queries.replace(resource, item);
52
+ // Broadcast to WebSocket clients if enabled
53
+ if (broadcast) {
54
+ broadcast(resource, 'UPDATE', replacedItem);
55
+ }
52
56
  return {
53
57
  statusCode: 200,
54
58
  body: returnNullFields ? replacedItem : removeNullFields(replacedItem),
@@ -1 +1 @@
1
- {"version":3,"file":"put.js","sourceRoot":"","sources":["../../../src/requestHandlers/put.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAK1C,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAErC,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAgB,EAChB,kBAA6C,EAC7C,gBAAyB,EACzB,OAA2C,EAC3C,YAAqB,EACrB,EAAE;IACF,MAAM,SAAS,GAAG,KAAK,EAAE,GAAe,EAAE,EAAE;QAC1C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;QACrC,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAA;QAElB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC5D,IAAI,gBAAgB,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACvC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAA;QAC9E,CAAC;QAED,IAAI,kBAAkB,EAAE,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAC/C,kBAAkB,CAAC,GAAG,EACtB,OAAO,EACP,QAAQ,EACR,EAAE,EACF,IAAI,CACL,CAAA;gBAED,IAAI,eAAe,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACxC,OAAO;wBACL,UAAU,EAAE,eAAe,CAAC,MAAM;wBAClC,IAAI,EAAE,eAAe,CAAC,IAAI;qBAC3B,CAAA;gBACH,CAAC;gBAED,IAAI,GAAG,eAAe,CAAC,IAAI,IAAI,IAAI,CAAA;YACrC,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,OAAO;oBACL,UAAU,EAAE,GAAG;oBACf,IAAI,EAAE,EAAE,OAAO,EAAG,KAAe,CAAC,OAAO,EAAE;iBAC5C,CAAA;YACH,CAAC;QACH,CAAC;QAED,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QAE9C,IAAI,CAAC,IAAI;YACP,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE;oBACJ,OAAO,EAAE,OAAO,EAAE,aAAa;iBAChC;aACF,CAAA;QAEH,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;YAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO;oBACL,UAAU,EAAE,GAAG;oBACf,IAAI,EAAE;wBACJ,OAAO,EAAE,qBAAqB;qBAC/B;iBACF,CAAA;YACH,CAAC;QACH,CAAC;QAED,IAAI,GAAG,EAAE,GAAI,IAAe,EAAE,EAAE,EAAE,CAAA;QAElC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAE1D,OAAO;YACL,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC;SACvE,CAAA;IACH,CAAC,CAAA;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
1
+ {"version":3,"file":"put.js","sourceRoot":"","sources":["../../../src/requestHandlers/put.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAK1C,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAGrC,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAgB,EAChB,kBAA6C,EAC7C,gBAAyB,EACzB,OAA2C,EAC3C,YAAqB,EACrB,SAAmC,EACnC,EAAE;IACF,MAAM,SAAS,GAAG,KAAK,EAAE,GAAe,EAAE,EAAE;QAC1C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;QACrC,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAA;QAElB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC5D,IAAI,gBAAgB,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACvC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAA;QAC9E,CAAC;QAED,IAAI,kBAAkB,EAAE,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAC/C,kBAAkB,CAAC,GAAG,EACtB,OAAO,EACP,QAAQ,EACR,EAAE,EACF,IAAI,CACL,CAAA;gBAED,IAAI,eAAe,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACxC,OAAO;wBACL,UAAU,EAAE,eAAe,CAAC,MAAM;wBAClC,IAAI,EAAE,eAAe,CAAC,IAAI;qBAC3B,CAAA;gBACH,CAAC;gBAED,IAAI,GAAG,eAAe,CAAC,IAAI,IAAI,IAAI,CAAA;YACrC,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,OAAO;oBACL,UAAU,EAAE,GAAG;oBACf,IAAI,EAAE,EAAE,OAAO,EAAG,KAAe,CAAC,OAAO,EAAE;iBAC5C,CAAA;YACH,CAAC;QACH,CAAC;QAED,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QAE9C,IAAI,CAAC,IAAI;YACP,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE;oBACJ,OAAO,EAAE,OAAO,EAAE,aAAa;iBAChC;aACF,CAAA;QAEH,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;YAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO;oBACL,UAAU,EAAE,GAAG;oBACf,IAAI,EAAE;wBACJ,OAAO,EAAE,qBAAqB;qBAC/B;iBACF,CAAA;YACH,CAAC;QACH,CAAC;QAED,IAAI,GAAG,EAAE,GAAI,IAAe,EAAE,EAAE,EAAE,CAAA;QAElC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAE1D,4CAA4C;QAC5C,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;QAC7C,CAAC;QAED,OAAO;YACL,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC;SACvE,CAAA;IACH,CAAC,CAAA;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
@@ -2,5 +2,6 @@ import type { IncomingMessage, ServerResponse } from 'http';
2
2
  import type { Config } from './config/index.js';
3
3
  import type { Queries } from './data/types.js';
4
4
  import type { CompiledSchemas } from './schema/types.js';
5
- export declare const createResourceHandler: (queries: Queries, schemas: CompiledSchemas, config: Config) => Promise<(req: IncomingMessage, res: ServerResponse<IncomingMessage>) => Promise<void> | undefined>;
5
+ import type { BroadcastFunction } from './websocket/websocket.js';
6
+ export declare const createResourceHandler: (queries: Queries, schemas: CompiledSchemas, config: Config, broadcast: BroadcastFunction | null) => Promise<(req: IncomingMessage, res: ServerResponse<IncomingMessage>) => Promise<void> | undefined>;
6
7
  //# sourceMappingURL=resourceHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resourceHandler.d.ts","sourceRoot":"","sources":["../../src/resourceHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAY3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAuErD,eAAO,MAAM,qBAAqB,GAChC,SAAS,OAAO,EAChB,SAAS,eAAe,EACxB,QAAQ,MAAM,mBAuKD,eAAe,OAAO,cAAc,CAAC,eAAe,CAAC,+BAOnE,CAAA"}
1
+ {"version":3,"file":"resourceHandler.d.ts","sourceRoot":"","sources":["../../src/resourceHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAY3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAuE9D,eAAO,MAAM,qBAAqB,GAChC,SAAS,OAAO,EAChB,SAAS,eAAe,EACxB,QAAQ,MAAM,EACd,WAAW,iBAAiB,GAAG,IAAI,mBAuKtB,eAAe,OAAO,cAAc,CAAC,eAAe,CAAC,+BAOnE,CAAA"}
@@ -52,7 +52,7 @@ const convertToDeleteRequest = (requestInfo) => {
52
52
  etag: requestInfo.etag ?? null,
53
53
  };
54
54
  };
55
- export const createResourceHandler = async (queries, schemas, config) => {
55
+ export const createResourceHandler = async (queries, schemas, config, broadcast) => {
56
56
  const getUrlInfo = (baseUrl) => {
57
57
  const url = config.apiPrefix ? baseUrl.replace(config.apiPrefix, '') : baseUrl;
58
58
  return parseUrl(url);
@@ -125,7 +125,7 @@ export const createResourceHandler = async (queries, schemas, config) => {
125
125
  const response = await handleRequest(convertedRequest);
126
126
  sendResponse(httpResponse)(response);
127
127
  };
128
- const requestHandler = await getRequestHandler(queries, schemas, config);
128
+ const requestHandler = await getRequestHandler(queries, schemas, config, broadcast);
129
129
  const getHandler = async (httpRequest, httpResponse) => {
130
130
  await handle(httpRequest, httpResponse, validateResource, convertToGetRequest, requestHandler.handleGet);
131
131
  };
@@ -1 +1 @@
1
- {"version":3,"file":"resourceHandler.js","sourceRoot":"","sources":["../../src/resourceHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resourceHandler.js","sourceRoot":"","sources":["../../src/resourceHandler.ts"],"names":[],"mappings":"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"}
package/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const version = 'v0.49.0'
1
+ export const version = 'v0.51.0'
2
2
 
@@ -0,0 +1,17 @@
1
+ import type { Server as HttpServer } from 'http';
2
+ export type BroadcastAction = 'CREATE' | 'UPDATE' | 'DELETE' | 'DELETE_ALL';
3
+ export type BroadcastPayload = {
4
+ resource: string;
5
+ action: 'CREATE' | 'UPDATE' | 'DELETE';
6
+ data: object | {
7
+ id: string;
8
+ };
9
+ } | {
10
+ resource: string;
11
+ action: 'DELETE_ALL';
12
+ };
13
+ export type BroadcastFunction = (resource: string, action: BroadcastAction, data?: object | {
14
+ id: string;
15
+ }) => void;
16
+ export declare const createWebSocketServer: (httpServer: HttpServer) => BroadcastFunction;
17
+ //# sourceMappingURL=websocket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../src/websocket/websocket.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAmB,MAAM,MAAM,CAAA;AAGjE,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAA;AAE3E,MAAM,MAAM,gBAAgB,GACxB;IACE,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACtC,IAAI,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;CAC9B,GACD;IACE,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,YAAY,CAAA;CACrB,CAAA;AAEL,MAAM,MAAM,iBAAiB,GAAG,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,eAAe,EACvB,IAAI,CAAC,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,KAC3B,IAAI,CAAA;AAET,eAAO,MAAM,qBAAqB,GAAI,YAAY,UAAU,KAAG,iBAqD9D,CAAA"}
@@ -0,0 +1,53 @@
1
+ import { WebSocketServer, WebSocket } from 'ws';
2
+ import { parse } from 'url';
3
+ export const createWebSocketServer = (httpServer) => {
4
+ const wss = new WebSocketServer({ noServer: true });
5
+ // Handle upgrade requests
6
+ httpServer.on('upgrade', (request, socket, head) => {
7
+ const { pathname } = parse(request.url || '');
8
+ // WebSockets handshakes MUST be GET requests
9
+ if (pathname === '/ws' && request.method === 'GET') {
10
+ wss.handleUpgrade(request, socket, head, (ws) => {
11
+ wss.emit('connection', ws, request);
12
+ });
13
+ }
14
+ else {
15
+ // Not our path or invalid method for a handshake
16
+ socket.destroy();
17
+ }
18
+ });
19
+ // Broadcast function that sends messages to all connected clients
20
+ const broadcast = (resource, action, data) => {
21
+ let payload;
22
+ if (action === 'DELETE_ALL') {
23
+ payload = {
24
+ resource,
25
+ action,
26
+ };
27
+ }
28
+ else {
29
+ if (!data) {
30
+ throw new Error(`Data is required for action: ${action}`);
31
+ }
32
+ payload = {
33
+ resource,
34
+ action,
35
+ data,
36
+ };
37
+ }
38
+ try {
39
+ const message = JSON.stringify(payload);
40
+ wss.clients.forEach((client) => {
41
+ if (client.readyState === WebSocket.OPEN) {
42
+ client.send(message);
43
+ }
44
+ });
45
+ }
46
+ catch (error) {
47
+ // Log error but don't crash the server if data is non-serializable
48
+ console.error('Failed to stringify WebSocket payload:', error);
49
+ }
50
+ };
51
+ return broadcast;
52
+ };
53
+ //# sourceMappingURL=websocket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/websocket/websocket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,CAAA;AAqB3B,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,UAAsB,EAAqB,EAAE;IACjF,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAEnD,0BAA0B;IAC1B,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAwB,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QAClE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;QAE7C,6CAA6C;QAC7C,IAAI,QAAQ,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACnD,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE;gBAC9C,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;YACrC,CAAC,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,iDAAiD;YACjD,MAAM,CAAC,OAAO,EAAE,CAAA;QAClB,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,kEAAkE;IAClE,MAAM,SAAS,GAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QAC9D,IAAI,OAAyB,CAAA;QAE7B,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,OAAO,GAAG;gBACR,QAAQ;gBACR,MAAM;aACP,CAAA;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,EAAE,CAAC,CAAA;YAC3D,CAAC;YACD,OAAO,GAAG;gBACR,QAAQ;gBACR,MAAM;gBACN,IAAI;aACL,CAAA;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YAEvC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC7B,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;oBACzC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACtB,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,mEAAmE;YACnE,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAA;QAChE,CAAC;IACH,CAAC,CAAA;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}