@betterportal/hello-view 10.1.61 → 10.1.63

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 (39) hide show
  1. package/lib/bp-contracts/org.betterportal.hello-view.json +639 -629
  2. package/lib/plugins/service-betterportal-hello-view/.bp-generated/registry.d.ts.map +1 -1
  3. package/lib/plugins/service-betterportal-hello-view/.bp-generated/registry.js +13 -48
  4. package/lib/plugins/service-betterportal-hello-view/.bp-generated/registry.js.map +1 -1
  5. package/lib/plugins/service-betterportal-hello-view/bp-routes/about/GET.d.ts +2 -0
  6. package/lib/plugins/service-betterportal-hello-view/bp-routes/about/GET.d.ts.map +1 -1
  7. package/lib/plugins/service-betterportal-hello-view/bp-routes/about/GET.js +2 -0
  8. package/lib/plugins/service-betterportal-hello-view/bp-routes/about/GET.js.map +1 -1
  9. package/lib/plugins/service-betterportal-hello-view/bp-routes/about/index.d.ts +1 -1
  10. package/lib/plugins/service-betterportal-hello-view/bp-routes/about/index.d.ts.map +1 -1
  11. package/lib/plugins/service-betterportal-hello-view/bp-routes/about/index.js +1 -1
  12. package/lib/plugins/service-betterportal-hello-view/bp-routes/about/index.js.map +1 -1
  13. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/GET.d.ts +2 -0
  14. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/GET.d.ts.map +1 -1
  15. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/GET.js +2 -0
  16. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/GET.js.map +1 -1
  17. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/index.d.ts +1 -1
  18. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/index.d.ts.map +1 -1
  19. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/index.js +1 -1
  20. package/lib/plugins/service-betterportal-hello-view/bp-routes/delayed/index.js.map +1 -1
  21. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/GET.d.ts +3 -1
  22. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/GET.d.ts.map +1 -1
  23. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/GET.js +3 -1
  24. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/GET.js.map +1 -1
  25. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/index.d.ts +1 -1
  26. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/index.d.ts.map +1 -1
  27. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/index.js +1 -1
  28. package/lib/plugins/service-betterportal-hello-view/bp-routes/hello/index.js.map +1 -1
  29. package/lib/plugins/service-betterportal-hello-view/bp-routes/landing/GET.d.ts +2 -0
  30. package/lib/plugins/service-betterportal-hello-view/bp-routes/landing/GET.d.ts.map +1 -1
  31. package/lib/plugins/service-betterportal-hello-view/bp-routes/landing/GET.js +2 -0
  32. package/lib/plugins/service-betterportal-hello-view/bp-routes/landing/GET.js.map +1 -1
  33. package/lib/plugins/service-betterportal-hello-view/bp-routes/landing/index.d.ts +1 -1
  34. package/lib/plugins/service-betterportal-hello-view/bp-routes/landing/index.d.ts.map +1 -1
  35. package/lib/plugins/service-betterportal-hello-view/bp-routes/landing/index.js +1 -1
  36. package/lib/plugins/service-betterportal-hello-view/bp-routes/landing/index.js.map +1 -1
  37. package/lib/schemas/service-betterportal-hello-view.json +1 -1
  38. package/lib/schemas/service-betterportal-hello-view.plugin.json +1 -1
  39. package/package.json +3 -3
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "manifest": {
3
- "protocolVersion": 1,
3
+ "protocolVersion": 2,
4
4
  "pluginId": "org.betterportal.hello-view",
5
5
  "title": "BetterPortal Hello View Example",
6
6
  "description": "Example business service showing API-first view negotiation.",
7
- "version": "10.1.61",
7
+ "version": "10.1.63",
8
8
  "category": "service",
9
9
  "deploymentModes": [
10
10
  "self-hosted"
@@ -33,169 +33,174 @@
33
33
  "description": "Overview of BetterPortal architecture and design principles.",
34
34
  "path": "/about",
35
35
  "pathVariants": [],
36
- "methods": [
37
- "GET"
38
- ],
39
36
  "paramsSchema": {},
40
- "querySchema": {
41
- "anyvaliVersion": "1.0",
42
- "schemaVersion": "1.1",
43
- "root": {
44
- "kind": "object",
45
- "properties": {},
46
- "required": [],
47
- "unknownKeys": "strip"
48
- },
49
- "definitions": {},
50
- "extensions": {}
51
- },
52
- "headersSchema": {
53
- "anyvaliVersion": "1.0",
54
- "schemaVersion": "1.1",
55
- "root": {
56
- "kind": "object",
57
- "properties": {},
58
- "required": [],
59
- "unknownKeys": "strip"
60
- },
61
- "definitions": {},
62
- "extensions": {}
63
- },
64
- "bodySchema": {
65
- "anyvaliVersion": "1.0",
66
- "schemaVersion": "1.1",
67
- "root": {
68
- "kind": "object",
69
- "properties": {},
70
- "required": [],
71
- "unknownKeys": "strip"
72
- },
73
- "definitions": {},
74
- "extensions": {}
75
- },
76
- "jsonResponseSchema": {
77
- "anyvaliVersion": "1.0",
78
- "schemaVersion": "1.1",
79
- "root": {
80
- "kind": "object",
81
- "properties": {
82
- "title": {
83
- "kind": "string",
84
- "minLength": 1
37
+ "operations": [
38
+ {
39
+ "operationId": "about.view",
40
+ "method": "GET",
41
+ "title": "About BetterPortal",
42
+ "description": "Overview of BetterPortal architecture and design principles.",
43
+ "querySchema": {
44
+ "anyvaliVersion": "1.0",
45
+ "schemaVersion": "1.1",
46
+ "root": {
47
+ "kind": "object",
48
+ "properties": {},
49
+ "required": [],
50
+ "unknownKeys": "strip"
85
51
  },
86
- "intro": {
87
- "kind": "string",
88
- "minLength": 1
52
+ "definitions": {},
53
+ "extensions": {}
54
+ },
55
+ "headersSchema": {
56
+ "anyvaliVersion": "1.0",
57
+ "schemaVersion": "1.1",
58
+ "root": {
59
+ "kind": "object",
60
+ "properties": {},
61
+ "required": [],
62
+ "unknownKeys": "strip"
89
63
  },
90
- "sections": {
91
- "kind": "array",
92
- "items": {
93
- "kind": "object",
94
- "properties": {
95
- "title": {
96
- "kind": "string",
97
- "minLength": 1
98
- },
99
- "text": {
100
- "kind": "string",
101
- "minLength": 1
64
+ "definitions": {},
65
+ "extensions": {}
66
+ },
67
+ "bodySchema": {
68
+ "anyvaliVersion": "1.0",
69
+ "schemaVersion": "1.1",
70
+ "root": {
71
+ "kind": "object",
72
+ "properties": {},
73
+ "required": [],
74
+ "unknownKeys": "strip"
75
+ },
76
+ "definitions": {},
77
+ "extensions": {}
78
+ },
79
+ "jsonResponseSchema": {
80
+ "anyvaliVersion": "1.0",
81
+ "schemaVersion": "1.1",
82
+ "root": {
83
+ "kind": "object",
84
+ "properties": {
85
+ "title": {
86
+ "kind": "string",
87
+ "minLength": 1
88
+ },
89
+ "intro": {
90
+ "kind": "string",
91
+ "minLength": 1
92
+ },
93
+ "sections": {
94
+ "kind": "array",
95
+ "items": {
96
+ "kind": "object",
97
+ "properties": {
98
+ "title": {
99
+ "kind": "string",
100
+ "minLength": 1
101
+ },
102
+ "text": {
103
+ "kind": "string",
104
+ "minLength": 1
105
+ }
106
+ },
107
+ "required": [
108
+ "title",
109
+ "text"
110
+ ],
111
+ "unknownKeys": "strip"
102
112
  }
103
113
  },
104
- "required": [
105
- "title",
106
- "text"
107
- ],
108
- "unknownKeys": "strip"
109
- }
110
- },
111
- "principles": {
112
- "kind": "array",
113
- "items": {
114
- "kind": "object",
115
- "properties": {
116
- "title": {
117
- "kind": "string",
118
- "minLength": 1
119
- },
120
- "text": {
121
- "kind": "string",
122
- "minLength": 1
114
+ "principles": {
115
+ "kind": "array",
116
+ "items": {
117
+ "kind": "object",
118
+ "properties": {
119
+ "title": {
120
+ "kind": "string",
121
+ "minLength": 1
122
+ },
123
+ "text": {
124
+ "kind": "string",
125
+ "minLength": 1
126
+ }
127
+ },
128
+ "required": [
129
+ "title",
130
+ "text"
131
+ ],
132
+ "unknownKeys": "strip"
123
133
  }
124
134
  },
125
- "required": [
126
- "title",
127
- "text"
128
- ],
129
- "unknownKeys": "strip"
130
- }
135
+ "landingHref": {
136
+ "kind": "string",
137
+ "minLength": 1
138
+ }
139
+ },
140
+ "required": [
141
+ "title",
142
+ "intro",
143
+ "sections",
144
+ "principles",
145
+ "landingHref"
146
+ ],
147
+ "unknownKeys": "strip"
131
148
  },
132
- "landingHref": {
133
- "kind": "string",
134
- "minLength": 1
135
- }
149
+ "definitions": {},
150
+ "extensions": {}
136
151
  },
137
- "required": [
138
- "title",
139
- "intro",
140
- "sections",
141
- "principles",
142
- "landingHref"
143
- ],
144
- "unknownKeys": "strip"
145
- },
146
- "definitions": {},
147
- "extensions": {}
148
- },
149
- "metadataResponseSchema": {},
150
- "renderable": true,
151
- "html": {
152
- "renderers": {
153
- "bootstrap5": {
154
- "defaultRenderer": "default",
155
- "renderModes": [
156
- "page"
157
- ],
158
- "slots": [
159
- "main"
160
- ],
161
- "renderers": [
162
- {
163
- "id": "default",
164
- "title": "Default Content",
165
- "slotId": "main",
152
+ "metadataResponseSchema": {},
153
+ "renderable": true,
154
+ "html": {
155
+ "renderers": {
156
+ "bootstrap5": {
157
+ "defaultRenderer": "default",
166
158
  "renderModes": [
167
- "page",
168
- "fragment"
159
+ "page"
160
+ ],
161
+ "slots": [
162
+ "main"
163
+ ],
164
+ "renderers": [
165
+ {
166
+ "id": "default",
167
+ "title": "Default Content",
168
+ "slotId": "main",
169
+ "renderModes": [
170
+ "page",
171
+ "fragment"
172
+ ]
173
+ }
169
174
  ]
170
175
  }
176
+ }
177
+ },
178
+ "auth": {
179
+ "required": false,
180
+ "callers": [
181
+ "user"
182
+ ],
183
+ "permissions": []
184
+ },
185
+ "sitemap": {
186
+ "kind": "default"
187
+ },
188
+ "robots": [],
189
+ "dependencies": [],
190
+ "apiContracts": [],
191
+ "demoScenarios": [],
192
+ "cacheHints": {
193
+ "ttlSeconds": 300,
194
+ "varyBy": [
195
+ "accept",
196
+ "origin",
197
+ "referer",
198
+ ":origin",
199
+ ":referer"
171
200
  ]
172
201
  }
173
202
  }
174
- },
175
- "auth": {
176
- "required": false,
177
- "callers": [
178
- "user"
179
- ],
180
- "permissions": []
181
- },
182
- "sitemap": {
183
- "kind": "default"
184
- },
185
- "robots": [],
186
- "dependencies": [],
187
- "apiContracts": [],
188
- "demoScenarios": [],
189
- "cacheHints": {
190
- "ttlSeconds": 300,
191
- "varyBy": [
192
- "accept",
193
- "origin",
194
- "referer",
195
- ":origin",
196
- ":referer"
197
- ]
198
- }
203
+ ]
199
204
  },
200
205
  {
201
206
  "viewId": "delayed.index",
@@ -203,45 +208,109 @@
203
208
  "description": "Example streaming view: items arrive one by one as a slow data source produces them. JSON buffers, NDJSON streams frames, HTML streams rendered rows over SSE.",
204
209
  "path": "/delayed",
205
210
  "pathVariants": [],
206
- "methods": [
207
- "GET"
208
- ],
209
211
  "paramsSchema": {},
210
- "querySchema": {
211
- "anyvaliVersion": "1.0",
212
- "schemaVersion": "1.1",
213
- "root": {
214
- "kind": "object",
215
- "properties": {
216
- "count": {
217
- "kind": "string",
218
- "default": "5"
212
+ "operations": [
213
+ {
214
+ "operationId": "delayed.stream",
215
+ "method": "GET",
216
+ "title": "Delayed Stream",
217
+ "description": "Example streaming view: items arrive one by one as a slow data source produces them. JSON buffers, NDJSON streams frames, HTML streams rendered rows over SSE.",
218
+ "querySchema": {
219
+ "anyvaliVersion": "1.0",
220
+ "schemaVersion": "1.1",
221
+ "root": {
222
+ "kind": "object",
223
+ "properties": {
224
+ "count": {
225
+ "kind": "string",
226
+ "default": "5"
227
+ },
228
+ "delayMs": {
229
+ "kind": "string",
230
+ "default": "400"
231
+ }
232
+ },
233
+ "required": [
234
+ "count",
235
+ "delayMs"
236
+ ],
237
+ "unknownKeys": "strip"
219
238
  },
220
- "delayMs": {
221
- "kind": "string",
222
- "default": "400"
223
- }
239
+ "definitions": {},
240
+ "extensions": {}
224
241
  },
225
- "required": [
226
- "count",
227
- "delayMs"
228
- ],
229
- "unknownKeys": "strip"
230
- },
231
- "definitions": {},
232
- "extensions": {}
233
- },
234
- "headersSchema": {},
235
- "bodySchema": {},
236
- "jsonResponseSchema": {
237
- "anyvaliVersion": "1.0",
238
- "schemaVersion": "1.1",
239
- "root": {
240
- "kind": "object",
241
- "properties": {
242
- "items": {
243
- "kind": "array",
244
- "items": {
242
+ "headersSchema": {},
243
+ "bodySchema": {},
244
+ "jsonResponseSchema": {
245
+ "anyvaliVersion": "1.0",
246
+ "schemaVersion": "1.1",
247
+ "root": {
248
+ "kind": "object",
249
+ "properties": {
250
+ "items": {
251
+ "kind": "array",
252
+ "items": {
253
+ "kind": "object",
254
+ "properties": {
255
+ "id": {
256
+ "kind": "string",
257
+ "minLength": 1
258
+ },
259
+ "label": {
260
+ "kind": "string",
261
+ "minLength": 1
262
+ },
263
+ "elapsedMs": {
264
+ "kind": "int",
265
+ "min": 0
266
+ }
267
+ },
268
+ "required": [
269
+ "id",
270
+ "label",
271
+ "elapsedMs"
272
+ ],
273
+ "unknownKeys": "strip"
274
+ },
275
+ "default": []
276
+ },
277
+ "summary": {
278
+ "kind": "optional",
279
+ "inner": {
280
+ "kind": "object",
281
+ "properties": {
282
+ "total": {
283
+ "kind": "int",
284
+ "min": 0
285
+ },
286
+ "totalMs": {
287
+ "kind": "int",
288
+ "min": 0
289
+ }
290
+ },
291
+ "required": [
292
+ "total",
293
+ "totalMs"
294
+ ],
295
+ "unknownKeys": "strip"
296
+ }
297
+ }
298
+ },
299
+ "required": [
300
+ "items"
301
+ ],
302
+ "unknownKeys": "strip"
303
+ },
304
+ "definitions": {},
305
+ "extensions": {}
306
+ },
307
+ "metadataResponseSchema": {},
308
+ "renderable": true,
309
+ "streaming": {
310
+ "itemSchema": {
311
+ "anyvaliVersion": "1.0",
312
+ "schemaVersion": "1.1",
313
+ "root": {
245
314
  "kind": "object",
246
315
  "properties": {
247
316
  "id": {
@@ -264,11 +333,13 @@
264
333
  ],
265
334
  "unknownKeys": "strip"
266
335
  },
267
- "default": []
336
+ "definitions": {},
337
+ "extensions": {}
268
338
  },
269
- "summary": {
270
- "kind": "optional",
271
- "inner": {
339
+ "summarySchema": {
340
+ "anyvaliVersion": "1.0",
341
+ "schemaVersion": "1.1",
342
+ "root": {
272
343
  "kind": "object",
273
344
  "properties": {
274
345
  "total": {
@@ -285,120 +356,59 @@
285
356
  "totalMs"
286
357
  ],
287
358
  "unknownKeys": "strip"
288
- }
289
- }
290
- },
291
- "required": [
292
- "items"
293
- ],
294
- "unknownKeys": "strip"
295
- },
296
- "definitions": {},
297
- "extensions": {}
298
- },
299
- "metadataResponseSchema": {},
300
- "renderable": true,
301
- "streaming": {
302
- "itemSchema": {
303
- "anyvaliVersion": "1.0",
304
- "schemaVersion": "1.1",
305
- "root": {
306
- "kind": "object",
307
- "properties": {
308
- "id": {
309
- "kind": "string",
310
- "minLength": 1
311
- },
312
- "label": {
313
- "kind": "string",
314
- "minLength": 1
315
- },
316
- "elapsedMs": {
317
- "kind": "int",
318
- "min": 0
319
- }
320
- },
321
- "required": [
322
- "id",
323
- "label",
324
- "elapsedMs"
325
- ],
326
- "unknownKeys": "strip"
327
- },
328
- "definitions": {},
329
- "extensions": {}
330
- },
331
- "summarySchema": {
332
- "anyvaliVersion": "1.0",
333
- "schemaVersion": "1.1",
334
- "root": {
335
- "kind": "object",
336
- "properties": {
337
- "total": {
338
- "kind": "int",
339
- "min": 0
340
359
  },
341
- "totalMs": {
342
- "kind": "int",
343
- "min": 0
344
- }
345
- },
346
- "required": [
347
- "total",
348
- "totalMs"
349
- ],
350
- "unknownKeys": "strip"
360
+ "definitions": {},
361
+ "extensions": {}
362
+ }
351
363
  },
352
- "definitions": {},
353
- "extensions": {}
354
- }
355
- },
356
- "html": {
357
- "renderers": {
358
- "bootstrap5": {
359
- "defaultRenderer": "default",
360
- "renderModes": [
361
- "page",
362
- "fragment"
363
- ],
364
- "slots": [
365
- "main"
366
- ],
367
- "renderers": [
368
- {
369
- "id": "default",
370
- "title": "Default Content",
371
- "slotId": "main",
364
+ "html": {
365
+ "renderers": {
366
+ "bootstrap5": {
367
+ "defaultRenderer": "default",
372
368
  "renderModes": [
373
369
  "page",
374
370
  "fragment"
371
+ ],
372
+ "slots": [
373
+ "main"
374
+ ],
375
+ "renderers": [
376
+ {
377
+ "id": "default",
378
+ "title": "Default Content",
379
+ "slotId": "main",
380
+ "renderModes": [
381
+ "page",
382
+ "fragment"
383
+ ]
384
+ }
375
385
  ]
376
386
  }
387
+ }
388
+ },
389
+ "auth": {
390
+ "required": false,
391
+ "callers": [
392
+ "user"
393
+ ],
394
+ "permissions": []
395
+ },
396
+ "sitemap": {
397
+ "kind": "default"
398
+ },
399
+ "robots": [],
400
+ "dependencies": [],
401
+ "apiContracts": [],
402
+ "demoScenarios": [],
403
+ "cacheHints": {
404
+ "ttlSeconds": 0,
405
+ "varyBy": [
406
+ "accept",
407
+ "origin"
377
408
  ]
378
409
  }
379
410
  }
380
- },
381
- "auth": {
382
- "required": false,
383
- "callers": [
384
- "user"
385
- ],
386
- "permissions": []
387
- },
388
- "sitemap": {
389
- "kind": "default"
390
- },
391
- "robots": [],
392
- "dependencies": [],
393
- "apiContracts": [],
394
- "demoScenarios": [],
395
- "cacheHints": {
396
- "ttlSeconds": 0,
397
- "varyBy": [
398
- "accept",
399
- "origin"
400
- ]
401
- }
411
+ ]
402
412
  },
403
413
  {
404
414
  "viewId": "hello.index",
@@ -406,175 +416,158 @@
406
416
  "description": "Example BetterPortal view with JSON, HTML, and metadata representations.",
407
417
  "path": "/hello",
408
418
  "pathVariants": [],
409
- "methods": [
410
- "GET"
411
- ],
412
419
  "paramsSchema": {},
413
- "querySchema": {
414
- "anyvaliVersion": "1.0",
415
- "schemaVersion": "1.1",
416
- "root": {
417
- "kind": "object",
418
- "properties": {
419
- "name": {
420
- "kind": "string",
421
- "minLength": 1,
422
- "default": "World"
423
- }
420
+ "operations": [
421
+ {
422
+ "operationId": "hello.view",
423
+ "method": "GET",
424
+ "title": "Hello View",
425
+ "description": "Example BetterPortal view with JSON, HTML, and metadata representations.",
426
+ "querySchema": {
427
+ "anyvaliVersion": "1.0",
428
+ "schemaVersion": "1.1",
429
+ "root": {
430
+ "kind": "object",
431
+ "properties": {
432
+ "name": {
433
+ "kind": "string",
434
+ "minLength": 1,
435
+ "default": "World"
436
+ }
437
+ },
438
+ "required": [
439
+ "name"
440
+ ],
441
+ "unknownKeys": "strip"
442
+ },
443
+ "definitions": {},
444
+ "extensions": {}
424
445
  },
425
- "required": [
426
- "name"
427
- ],
428
- "unknownKeys": "strip"
429
- },
430
- "definitions": {},
431
- "extensions": {}
432
- },
433
- "headersSchema": {
434
- "anyvaliVersion": "1.0",
435
- "schemaVersion": "1.1",
436
- "root": {
437
- "kind": "object",
438
- "properties": {},
439
- "required": [],
440
- "unknownKeys": "strip"
441
- },
442
- "definitions": {},
443
- "extensions": {}
444
- },
445
- "bodySchema": {
446
- "anyvaliVersion": "1.0",
447
- "schemaVersion": "1.1",
448
- "root": {
449
- "kind": "object",
450
- "properties": {},
451
- "required": [],
452
- "unknownKeys": "strip"
453
- },
454
- "definitions": {},
455
- "extensions": {}
456
- },
457
- "jsonResponseSchema": {
458
- "anyvaliVersion": "1.0",
459
- "schemaVersion": "1.1",
460
- "root": {
461
- "kind": "object",
462
- "properties": {
463
- "greeting": {
464
- "kind": "string",
465
- "minLength": 1
466
- }
446
+ "headersSchema": {},
447
+ "bodySchema": {},
448
+ "jsonResponseSchema": {
449
+ "anyvaliVersion": "1.0",
450
+ "schemaVersion": "1.1",
451
+ "root": {
452
+ "kind": "object",
453
+ "properties": {
454
+ "greeting": {
455
+ "kind": "string",
456
+ "minLength": 1
457
+ }
458
+ },
459
+ "required": [
460
+ "greeting"
461
+ ],
462
+ "unknownKeys": "strip"
463
+ },
464
+ "definitions": {},
465
+ "extensions": {}
467
466
  },
468
- "required": [
469
- "greeting"
470
- ],
471
- "unknownKeys": "strip"
472
- },
473
- "definitions": {},
474
- "extensions": {}
475
- },
476
- "metadataResponseSchema": {},
477
- "renderable": true,
478
- "html": {
479
- "renderers": {
480
- "bootstrap5": {
481
- "defaultRenderer": "default",
482
- "renderModes": [
483
- "page",
484
- "fragment"
485
- ],
486
- "slots": [
487
- "main",
488
- "nav.clock",
489
- "nav.profile"
490
- ],
491
- "renderers": [
492
- {
493
- "id": "default",
494
- "title": "Default Content",
495
- "slotId": "main",
467
+ "metadataResponseSchema": {},
468
+ "renderable": true,
469
+ "html": {
470
+ "renderers": {
471
+ "bootstrap5": {
472
+ "defaultRenderer": "default",
496
473
  "renderModes": [
497
474
  "page",
498
475
  "fragment"
476
+ ],
477
+ "slots": [
478
+ "main",
479
+ "nav.clock",
480
+ "nav.profile"
481
+ ],
482
+ "renderers": [
483
+ {
484
+ "id": "default",
485
+ "title": "Default Content",
486
+ "slotId": "main",
487
+ "renderModes": [
488
+ "page",
489
+ "fragment"
490
+ ]
491
+ },
492
+ {
493
+ "id": "nav.clock",
494
+ "title": "nav.clock",
495
+ "slotId": "nav.clock",
496
+ "renderModes": [
497
+ "fragment"
498
+ ]
499
+ },
500
+ {
501
+ "id": "nav.profile",
502
+ "title": "nav.profile",
503
+ "slotId": "nav.profile",
504
+ "renderModes": [
505
+ "fragment"
506
+ ]
507
+ }
499
508
  ]
500
509
  },
501
- {
502
- "id": "nav.clock",
503
- "title": "nav.clock",
504
- "slotId": "nav.clock",
505
- "renderModes": [
506
- "fragment"
507
- ]
508
- },
509
- {
510
- "id": "nav.profile",
511
- "title": "nav.profile",
512
- "slotId": "nav.profile",
510
+ "embedded": {
511
+ "defaultRenderer": "default",
513
512
  "renderModes": [
514
- "fragment"
513
+ "page"
514
+ ],
515
+ "slots": [
516
+ "main"
517
+ ],
518
+ "renderers": [
519
+ {
520
+ "id": "default",
521
+ "title": "Default Content",
522
+ "slotId": "main",
523
+ "renderModes": [
524
+ "page",
525
+ "fragment"
526
+ ]
527
+ }
515
528
  ]
516
529
  }
517
- ]
530
+ }
518
531
  },
519
- "embedded": {
520
- "defaultRenderer": "default",
521
- "renderModes": [
522
- "page"
532
+ "auth": {
533
+ "required": false,
534
+ "callers": [
535
+ "user"
523
536
  ],
524
- "slots": [
525
- "main"
526
- ],
527
- "renderers": [
528
- {
529
- "id": "default",
530
- "title": "Default Content",
531
- "slotId": "main",
532
- "renderModes": [
533
- "page",
534
- "fragment"
535
- ]
537
+ "permissions": []
538
+ },
539
+ "sitemap": {
540
+ "kind": "default"
541
+ },
542
+ "robots": [],
543
+ "dependencies": [],
544
+ "apiContracts": [],
545
+ "demoScenarios": [
546
+ {
547
+ "id": "default",
548
+ "title": "Default Greeting",
549
+ "match": {
550
+ "query": {
551
+ "name": "World"
552
+ }
553
+ },
554
+ "response": {
555
+ "greeting": "Hello, Demo User"
536
556
  }
537
- ]
538
- }
539
- }
540
- },
541
- "auth": {
542
- "required": false,
543
- "callers": [
544
- "user"
545
- ],
546
- "permissions": []
547
- },
548
- "sitemap": {
549
- "kind": "default"
550
- },
551
- "robots": [],
552
- "dependencies": [],
553
- "apiContracts": [],
554
- "demoScenarios": [
555
- {
556
- "id": "default",
557
- "title": "Default Greeting",
558
- "match": {
559
- "query": {
560
- "name": "World"
561
557
  }
562
- },
563
- "response": {
564
- "greeting": "Hello, Demo User"
558
+ ],
559
+ "cacheHints": {
560
+ "ttlSeconds": 60,
561
+ "varyBy": [
562
+ "accept",
563
+ "origin",
564
+ "referer",
565
+ ":origin",
566
+ ":referer"
567
+ ]
565
568
  }
566
569
  }
567
- ],
568
- "cacheHints": {
569
- "ttlSeconds": 60,
570
- "varyBy": [
571
- "accept",
572
- "origin",
573
- "referer",
574
- ":origin",
575
- ":referer"
576
- ]
577
- }
570
+ ]
578
571
  },
579
572
  {
580
573
  "viewId": "landing.index",
@@ -582,199 +575,204 @@
582
575
  "description": "Landing page for BetterPortal, the service-oriented portal framework.",
583
576
  "path": "/landing",
584
577
  "pathVariants": [],
585
- "methods": [
586
- "GET"
587
- ],
588
578
  "paramsSchema": {},
589
- "querySchema": {
590
- "anyvaliVersion": "1.0",
591
- "schemaVersion": "1.1",
592
- "root": {
593
- "kind": "object",
594
- "properties": {},
595
- "required": [],
596
- "unknownKeys": "strip"
597
- },
598
- "definitions": {},
599
- "extensions": {}
600
- },
601
- "headersSchema": {
602
- "anyvaliVersion": "1.0",
603
- "schemaVersion": "1.1",
604
- "root": {
605
- "kind": "object",
606
- "properties": {},
607
- "required": [],
608
- "unknownKeys": "strip"
609
- },
610
- "definitions": {},
611
- "extensions": {}
612
- },
613
- "bodySchema": {
614
- "anyvaliVersion": "1.0",
615
- "schemaVersion": "1.1",
616
- "root": {
617
- "kind": "object",
618
- "properties": {},
619
- "required": [],
620
- "unknownKeys": "strip"
621
- },
622
- "definitions": {},
623
- "extensions": {}
624
- },
625
- "jsonResponseSchema": {
626
- "anyvaliVersion": "1.0",
627
- "schemaVersion": "1.1",
628
- "root": {
629
- "kind": "object",
630
- "properties": {
631
- "headline": {
632
- "kind": "string",
633
- "minLength": 1
579
+ "operations": [
580
+ {
581
+ "operationId": "landing.view",
582
+ "method": "GET",
583
+ "title": "BetterPortal",
584
+ "description": "Landing page for BetterPortal, the service-oriented portal framework.",
585
+ "querySchema": {
586
+ "anyvaliVersion": "1.0",
587
+ "schemaVersion": "1.1",
588
+ "root": {
589
+ "kind": "object",
590
+ "properties": {},
591
+ "required": [],
592
+ "unknownKeys": "strip"
634
593
  },
635
- "subheading": {
636
- "kind": "string",
637
- "minLength": 1
594
+ "definitions": {},
595
+ "extensions": {}
596
+ },
597
+ "headersSchema": {
598
+ "anyvaliVersion": "1.0",
599
+ "schemaVersion": "1.1",
600
+ "root": {
601
+ "kind": "object",
602
+ "properties": {},
603
+ "required": [],
604
+ "unknownKeys": "strip"
638
605
  },
639
- "summary": {
640
- "kind": "string",
641
- "minLength": 1
606
+ "definitions": {},
607
+ "extensions": {}
608
+ },
609
+ "bodySchema": {
610
+ "anyvaliVersion": "1.0",
611
+ "schemaVersion": "1.1",
612
+ "root": {
613
+ "kind": "object",
614
+ "properties": {},
615
+ "required": [],
616
+ "unknownKeys": "strip"
642
617
  },
643
- "highlights": {
644
- "kind": "array",
645
- "items": {
646
- "kind": "object",
647
- "properties": {
648
- "title": {
649
- "kind": "string",
650
- "minLength": 1
651
- },
652
- "text": {
653
- "kind": "string",
654
- "minLength": 1
618
+ "definitions": {},
619
+ "extensions": {}
620
+ },
621
+ "jsonResponseSchema": {
622
+ "anyvaliVersion": "1.0",
623
+ "schemaVersion": "1.1",
624
+ "root": {
625
+ "kind": "object",
626
+ "properties": {
627
+ "headline": {
628
+ "kind": "string",
629
+ "minLength": 1
630
+ },
631
+ "subheading": {
632
+ "kind": "string",
633
+ "minLength": 1
634
+ },
635
+ "summary": {
636
+ "kind": "string",
637
+ "minLength": 1
638
+ },
639
+ "highlights": {
640
+ "kind": "array",
641
+ "items": {
642
+ "kind": "object",
643
+ "properties": {
644
+ "title": {
645
+ "kind": "string",
646
+ "minLength": 1
647
+ },
648
+ "text": {
649
+ "kind": "string",
650
+ "minLength": 1
651
+ }
652
+ },
653
+ "required": [
654
+ "title",
655
+ "text"
656
+ ],
657
+ "unknownKeys": "strip"
655
658
  }
656
659
  },
657
- "required": [
658
- "title",
659
- "text"
660
- ],
661
- "unknownKeys": "strip"
662
- }
663
- },
664
- "capabilities": {
665
- "kind": "array",
666
- "items": {
667
- "kind": "object",
668
- "properties": {
669
- "title": {
670
- "kind": "string",
671
- "minLength": 1
672
- },
673
- "text": {
674
- "kind": "string",
675
- "minLength": 1
660
+ "capabilities": {
661
+ "kind": "array",
662
+ "items": {
663
+ "kind": "object",
664
+ "properties": {
665
+ "title": {
666
+ "kind": "string",
667
+ "minLength": 1
668
+ },
669
+ "text": {
670
+ "kind": "string",
671
+ "minLength": 1
672
+ }
673
+ },
674
+ "required": [
675
+ "title",
676
+ "text"
677
+ ],
678
+ "unknownKeys": "strip"
676
679
  }
677
680
  },
678
- "required": [
679
- "title",
680
- "text"
681
- ],
682
- "unknownKeys": "strip"
683
- }
684
- },
685
- "audiences": {
686
- "kind": "array",
687
- "items": {
688
- "kind": "object",
689
- "properties": {
690
- "title": {
691
- "kind": "string",
692
- "minLength": 1
693
- },
694
- "text": {
695
- "kind": "string",
696
- "minLength": 1
681
+ "audiences": {
682
+ "kind": "array",
683
+ "items": {
684
+ "kind": "object",
685
+ "properties": {
686
+ "title": {
687
+ "kind": "string",
688
+ "minLength": 1
689
+ },
690
+ "text": {
691
+ "kind": "string",
692
+ "minLength": 1
693
+ }
694
+ },
695
+ "required": [
696
+ "title",
697
+ "text"
698
+ ],
699
+ "unknownKeys": "strip"
697
700
  }
698
701
  },
699
- "required": [
700
- "title",
701
- "text"
702
- ],
703
- "unknownKeys": "strip"
704
- }
702
+ "aboutHref": {
703
+ "kind": "string",
704
+ "minLength": 1
705
+ }
706
+ },
707
+ "required": [
708
+ "headline",
709
+ "subheading",
710
+ "summary",
711
+ "highlights",
712
+ "capabilities",
713
+ "audiences",
714
+ "aboutHref"
715
+ ],
716
+ "unknownKeys": "strip"
705
717
  },
706
- "aboutHref": {
707
- "kind": "string",
708
- "minLength": 1
709
- }
718
+ "definitions": {},
719
+ "extensions": {}
710
720
  },
711
- "required": [
712
- "headline",
713
- "subheading",
714
- "summary",
715
- "highlights",
716
- "capabilities",
717
- "audiences",
718
- "aboutHref"
719
- ],
720
- "unknownKeys": "strip"
721
- },
722
- "definitions": {},
723
- "extensions": {}
724
- },
725
- "metadataResponseSchema": {},
726
- "renderable": true,
727
- "html": {
728
- "renderers": {
729
- "bootstrap5": {
730
- "defaultRenderer": "default",
731
- "renderModes": [
732
- "page"
733
- ],
734
- "slots": [
735
- "main"
736
- ],
737
- "renderers": [
738
- {
739
- "id": "default",
740
- "title": "Default Content",
741
- "slotId": "main",
721
+ "metadataResponseSchema": {},
722
+ "renderable": true,
723
+ "html": {
724
+ "renderers": {
725
+ "bootstrap5": {
726
+ "defaultRenderer": "default",
742
727
  "renderModes": [
743
- "page",
744
- "fragment"
728
+ "page"
729
+ ],
730
+ "slots": [
731
+ "main"
732
+ ],
733
+ "renderers": [
734
+ {
735
+ "id": "default",
736
+ "title": "Default Content",
737
+ "slotId": "main",
738
+ "renderModes": [
739
+ "page",
740
+ "fragment"
741
+ ]
742
+ }
745
743
  ]
746
744
  }
745
+ }
746
+ },
747
+ "auth": {
748
+ "required": false,
749
+ "callers": [
750
+ "user"
751
+ ],
752
+ "permissions": []
753
+ },
754
+ "sitemap": {
755
+ "kind": "default"
756
+ },
757
+ "robots": [],
758
+ "dependencies": [],
759
+ "chrome": {
760
+ "fullScreen": true
761
+ },
762
+ "apiContracts": [],
763
+ "demoScenarios": [],
764
+ "cacheHints": {
765
+ "ttlSeconds": 300,
766
+ "varyBy": [
767
+ "accept",
768
+ "origin",
769
+ "referer",
770
+ ":origin",
771
+ ":referer"
747
772
  ]
748
773
  }
749
774
  }
750
- },
751
- "auth": {
752
- "required": false,
753
- "callers": [
754
- "user"
755
- ],
756
- "permissions": []
757
- },
758
- "sitemap": {
759
- "kind": "default"
760
- },
761
- "robots": [],
762
- "dependencies": [],
763
- "chrome": {
764
- "fullScreen": true
765
- },
766
- "apiContracts": [],
767
- "demoScenarios": [],
768
- "cacheHints": {
769
- "ttlSeconds": 300,
770
- "varyBy": [
771
- "accept",
772
- "origin",
773
- "referer",
774
- ":origin",
775
- ":referer"
776
- ]
777
- }
775
+ ]
778
776
  }
779
777
  ],
780
778
  "configSchemas": [
@@ -880,8 +878,11 @@
880
878
  "viewId": "about.index",
881
879
  "path": "/about",
882
880
  "pathVariants": [],
883
- "methods": [
884
- "GET"
881
+ "operations": [
882
+ {
883
+ "operationId": "about.view",
884
+ "method": "GET"
885
+ }
885
886
  ],
886
887
  "paramNames": [],
887
888
  "renderers": [
@@ -895,8 +896,11 @@
895
896
  "viewId": "delayed.index",
896
897
  "path": "/delayed",
897
898
  "pathVariants": [],
898
- "methods": [
899
- "GET"
899
+ "operations": [
900
+ {
901
+ "operationId": "delayed.stream",
902
+ "method": "GET"
903
+ }
900
904
  ],
901
905
  "paramNames": [],
902
906
  "renderers": [
@@ -910,8 +914,11 @@
910
914
  "viewId": "hello.index",
911
915
  "path": "/hello",
912
916
  "pathVariants": [],
913
- "methods": [
914
- "GET"
917
+ "operations": [
918
+ {
919
+ "operationId": "hello.view",
920
+ "method": "GET"
921
+ }
915
922
  ],
916
923
  "paramNames": [],
917
924
  "renderers": [
@@ -949,8 +956,11 @@
949
956
  "viewId": "landing.index",
950
957
  "path": "/landing",
951
958
  "pathVariants": [],
952
- "methods": [
953
- "GET"
959
+ "operations": [
960
+ {
961
+ "operationId": "landing.view",
962
+ "method": "GET"
963
+ }
954
964
  ],
955
965
  "paramNames": [],
956
966
  "renderers": [