@objectstack/plugin-msw 1.0.0 → 1.0.1
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/CHANGELOG.md +10 -0
- package/dist/msw-plugin.d.ts +12 -0
- package/dist/msw-plugin.js +38 -0
- package/package.json +6 -6
- package/src/msw-plugin.ts +43 -0
package/CHANGELOG.md
CHANGED
package/dist/msw-plugin.d.ts
CHANGED
|
@@ -218,6 +218,18 @@ export declare class ObjectStackServer {
|
|
|
218
218
|
error: string;
|
|
219
219
|
};
|
|
220
220
|
}>;
|
|
221
|
+
static saveMetaItem(type: string, name: string, item: any): Promise<{
|
|
222
|
+
status: number;
|
|
223
|
+
data: {
|
|
224
|
+
success: boolean;
|
|
225
|
+
message?: string | undefined;
|
|
226
|
+
};
|
|
227
|
+
} | {
|
|
228
|
+
status: number;
|
|
229
|
+
data: {
|
|
230
|
+
error: string;
|
|
231
|
+
};
|
|
232
|
+
}>;
|
|
221
233
|
}
|
|
222
234
|
/**
|
|
223
235
|
* MSW Plugin for ObjectStack
|
package/dist/msw-plugin.js
CHANGED
|
@@ -251,6 +251,32 @@ export class ObjectStackServer {
|
|
|
251
251
|
static async createUser(data) {
|
|
252
252
|
return this.createData('user', data);
|
|
253
253
|
}
|
|
254
|
+
static async saveMetaItem(type, name, item) {
|
|
255
|
+
if (!this.protocol) {
|
|
256
|
+
throw new Error('ObjectStackServer not initialized. Call ObjectStackServer.init() first.');
|
|
257
|
+
}
|
|
258
|
+
this.logger?.debug?.('MSW: Saving metadata', { type, name });
|
|
259
|
+
try {
|
|
260
|
+
// Check if protocol supports saveMetaItem (it might be added recently)
|
|
261
|
+
if (!this.protocol.saveMetaItem) {
|
|
262
|
+
throw new Error('Protocol does not support saveMetaItem');
|
|
263
|
+
}
|
|
264
|
+
const result = await this.protocol.saveMetaItem({ type, name, item });
|
|
265
|
+
this.logger?.info?.('MSW: Metadata saved', { type, name });
|
|
266
|
+
return {
|
|
267
|
+
status: 200,
|
|
268
|
+
data: result
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
catch (error) {
|
|
272
|
+
this.logger?.error?.('MSW: Save metadata failed', error, { type, name });
|
|
273
|
+
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
274
|
+
return {
|
|
275
|
+
status: 400,
|
|
276
|
+
data: { error: message }
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
}
|
|
254
280
|
}
|
|
255
281
|
ObjectStackServer.protocol = null;
|
|
256
282
|
ObjectStackServer.logger = null;
|
|
@@ -397,6 +423,18 @@ export class MSWPlugin {
|
|
|
397
423
|
return HttpResponse.json({ error: message }, { status: 404 });
|
|
398
424
|
}
|
|
399
425
|
}),
|
|
426
|
+
// Save Metadata
|
|
427
|
+
http.put(`${baseUrl}/meta/:type/:name`, async ({ params, request }) => {
|
|
428
|
+
try {
|
|
429
|
+
const body = await request.json();
|
|
430
|
+
const result = await ObjectStackServer.saveMetaItem(params.type, params.name, body);
|
|
431
|
+
return HttpResponse.json(result.data, { status: result.status });
|
|
432
|
+
}
|
|
433
|
+
catch (error) {
|
|
434
|
+
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
435
|
+
return HttpResponse.json({ error: message }, { status: 400 });
|
|
436
|
+
}
|
|
437
|
+
}),
|
|
400
438
|
// Data endpoints
|
|
401
439
|
http.get(`${baseUrl}/data/:object`, async ({ params, request }) => {
|
|
402
440
|
try {
|
package/package.json
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@objectstack/plugin-msw",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "MSW (Mock Service Worker) Plugin for ObjectStack Runtime",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"peerDependencies": {
|
|
9
|
-
"@objectstack/runtime": "^1.0.
|
|
9
|
+
"@objectstack/runtime": "^1.0.1"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"msw": "^2.0.0",
|
|
13
|
-
"@objectstack/spec": "1.0.
|
|
14
|
-
"@objectstack/types": "1.0.
|
|
15
|
-
"@objectstack/objectql": "1.0.
|
|
13
|
+
"@objectstack/spec": "1.0.1",
|
|
14
|
+
"@objectstack/types": "1.0.1",
|
|
15
|
+
"@objectstack/objectql": "1.0.1"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"@types/node": "^25.1.0",
|
|
19
19
|
"typescript": "^5.0.0",
|
|
20
20
|
"vitest": "^4.0.18",
|
|
21
|
-
"@objectstack/runtime": "1.0.
|
|
21
|
+
"@objectstack/runtime": "1.0.1"
|
|
22
22
|
},
|
|
23
23
|
"scripts": {
|
|
24
24
|
"build": "tsc",
|
package/src/msw-plugin.ts
CHANGED
|
@@ -303,6 +303,33 @@ export class ObjectStackServer {
|
|
|
303
303
|
static async createUser(data: any) {
|
|
304
304
|
return this.createData('user', data);
|
|
305
305
|
}
|
|
306
|
+
static async saveMetaItem(type: string, name: string, item: any) {
|
|
307
|
+
if (!this.protocol) {
|
|
308
|
+
throw new Error('ObjectStackServer not initialized. Call ObjectStackServer.init() first.');
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
this.logger?.debug?.('MSW: Saving metadata', { type, name });
|
|
312
|
+
try {
|
|
313
|
+
// Check if protocol supports saveMetaItem (it might be added recently)
|
|
314
|
+
if (!this.protocol.saveMetaItem) {
|
|
315
|
+
throw new Error('Protocol does not support saveMetaItem');
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
const result = await this.protocol.saveMetaItem({ type, name, item });
|
|
319
|
+
this.logger?.info?.('MSW: Metadata saved', { type, name });
|
|
320
|
+
return {
|
|
321
|
+
status: 200,
|
|
322
|
+
data: result
|
|
323
|
+
};
|
|
324
|
+
} catch (error) {
|
|
325
|
+
this.logger?.error?.('MSW: Save metadata failed', error, { type, name });
|
|
326
|
+
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
327
|
+
return {
|
|
328
|
+
status: 400,
|
|
329
|
+
data: { error: message }
|
|
330
|
+
};
|
|
331
|
+
}
|
|
332
|
+
}
|
|
306
333
|
}
|
|
307
334
|
|
|
308
335
|
/**
|
|
@@ -471,6 +498,22 @@ export class MSWPlugin implements Plugin {
|
|
|
471
498
|
}
|
|
472
499
|
}),
|
|
473
500
|
|
|
501
|
+
// Save Metadata
|
|
502
|
+
http.put(`${baseUrl}/meta/:type/:name`, async ({ params, request }) => {
|
|
503
|
+
try {
|
|
504
|
+
const body = await request.json();
|
|
505
|
+
const result = await ObjectStackServer.saveMetaItem(
|
|
506
|
+
params.type as string,
|
|
507
|
+
params.name as string,
|
|
508
|
+
body
|
|
509
|
+
);
|
|
510
|
+
return HttpResponse.json(result.data, { status: result.status });
|
|
511
|
+
} catch (error) {
|
|
512
|
+
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
513
|
+
return HttpResponse.json({ error: message }, { status: 400 });
|
|
514
|
+
}
|
|
515
|
+
}),
|
|
516
|
+
|
|
474
517
|
// Data endpoints
|
|
475
518
|
http.get(`${baseUrl}/data/:object`, async ({ params, request }) => {
|
|
476
519
|
try {
|