fmea-api-mcp-server 1.1.50 → 1.1.52
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/data/changelog.json +310 -0
- package/data/endpoint-lookup.json +1 -1
- package/data/search-index.oxy +1 -1
- package/dist/index.js +1 -1
- package/dist/services/search/OramaSearchService.js +28 -1
- package/dist/synonyms.js +17 -2
- package/endpoints/v2/additional-info/core.json +20 -139
- package/endpoints/v2/additional-info-excel/core.json +48 -0
- package/endpoints/v2/api-key-excel/core.json +72 -0
- package/endpoints/v2/api-keys/core.json +16 -0
- package/endpoints/v2/apikey-log-excel/core.json +88 -0
- package/endpoints/v2/classification-excel/core.json +40 -0
- package/endpoints/v2/classifications/core.json +11 -2
- package/endpoints/v2/condition-library-excel/core.json +34 -0
- package/endpoints/v2/division-excel/core.json +40 -0
- package/endpoints/v2/divisions/core.json +37 -0
- package/endpoints/v2/evaluation/core.json +20 -3
- package/endpoints/v2/evaluation-excel/core.json +48 -0
- package/endpoints/v2/notice-excel/core.json +40 -0
- package/endpoints/v2/notices/core.json +45 -0
- package/endpoints/v2/process-symbol-excel/core.json +90 -0
- package/endpoints/v2/revisions/core.json +185 -0
- package/endpoints/v2/synonym-excel/core.json +2 -2
- package/endpoints/v2/synonyms/core.json +1 -1
- package/endpoints/v2/user-excel/core.json +64 -0
- package/endpoints/v2/worksheet-template-excel/core.json +56 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -453,8 +453,12 @@ export class OramaSearchService {
|
|
|
453
453
|
resource = potentialResources[0].type;
|
|
454
454
|
}
|
|
455
455
|
// [Heuristic] Compound resource detection:
|
|
456
|
+
// "worksheet" + "template" + "excel" → prefer 'worksheet-template-excel' [R40]
|
|
457
|
+
if (lower.includes('worksheet') && lower.includes('template') && lower.includes('excel')) {
|
|
458
|
+
resource = 'worksheet-template-excel';
|
|
459
|
+
}
|
|
456
460
|
// "worksheet" + "excel" → prefer 'worksheet-excel' over either alone
|
|
457
|
-
if (lower.includes('worksheet') && lower.includes('excel')) {
|
|
461
|
+
else if (lower.includes('worksheet') && lower.includes('excel')) {
|
|
458
462
|
resource = 'worksheet-excel';
|
|
459
463
|
}
|
|
460
464
|
// [R19] "failure mode" + "diagram" (without "block") → prefer fmm-diagram
|
|
@@ -473,6 +477,29 @@ export class OramaSearchService {
|
|
|
473
477
|
if (resource === 'synonym' && (action === 'export' || action === 'import' || lower.includes('excel'))) {
|
|
474
478
|
resource = 'synonym-excel';
|
|
475
479
|
}
|
|
480
|
+
// [R40] Resource + export/excel/xlsx/spreadsheet → prefer dedicated '-excel' resource type
|
|
481
|
+
// Note: 'import' excluded to avoid false triggers (e.g. upload image → classification-excel)
|
|
482
|
+
const excelResources = [
|
|
483
|
+
'additional-info', 'api-key', 'apikey-log', 'classification',
|
|
484
|
+
'division', 'evaluation', 'notice', 'process-symbol', 'user', 'worksheet-template',
|
|
485
|
+
];
|
|
486
|
+
const hasExcelSignal = action === 'export' || lower.includes('excel') || lower.includes('xlsx') || lower.includes('spreadsheet');
|
|
487
|
+
if (hasExcelSignal) {
|
|
488
|
+
for (const base of excelResources) {
|
|
489
|
+
if (resource === base) {
|
|
490
|
+
resource = `${base}-excel`;
|
|
491
|
+
break;
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
// significance-criteria + excel signal → evaluation-excel
|
|
495
|
+
if (resource === 'significance-criteria') {
|
|
496
|
+
resource = 'evaluation-excel';
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
// [R40] 'revision' resource is always a MONITOR operation (change/edit history)
|
|
500
|
+
if (resource === 'revision') {
|
|
501
|
+
action = 'MONITOR';
|
|
502
|
+
}
|
|
476
503
|
// [R19] "get X by Y ID" is a specific read, not a list
|
|
477
504
|
if (action === 'list' && /\bby\b.*\bid\b/i.test(lower)) {
|
|
478
505
|
action = 'read';
|
package/dist/synonyms.js
CHANGED
|
@@ -31,12 +31,12 @@ export const RESOURCE_ALIASES = {
|
|
|
31
31
|
'user': ['person', 'account', 'profile'], // Removed 'member' from here to avoid conflict
|
|
32
32
|
'member': ['member', 'project member', 'team'], // [R13] Distinct resource type matching indexer
|
|
33
33
|
'document': ['file', 'attachment', 'upload', 'paperwork', 'files'], // [R13] Added plural 'files'
|
|
34
|
-
'api-key': ['key', 'secret', 'credential', 'authenticate', 'client auth', 'client credential'], // [R15] [R22] Added
|
|
34
|
+
'api-key': ['key', 'secret', 'credential', 'authenticate', 'client auth', 'client credential', 'api key'], // [R15] [R22] [R40] Added 'api key' for explicit phrase match
|
|
35
35
|
'worksheet-template': ['template', 'sheet structure', 'configuration'], // [R18] [R26] Added 'configuration' for template setup queries
|
|
36
36
|
'action-status-template': ['status template', 'action status'], // [R15]
|
|
37
37
|
'join-request': ['join', 'invite', 'add user', 'member request', 'pending', 'join request'], // [R16]
|
|
38
38
|
'fmm-diagram': ['fmm', 'fmm diagram', 'failure mode diagram', 'causal diagram'], // [R19] Dedicated FMM diagram resource
|
|
39
|
-
'excel': ['excel', '
|
|
39
|
+
'excel': ['excel', 'csv'], // [R16] Removed 'spreadsheet' — it's a trigger for resource-specific excel export heuristics
|
|
40
40
|
'worksheet-excel': ['worksheet excel', 'excel worksheet', 'worksheet export', 'worksheet download'], // Worksheet Excel import/export
|
|
41
41
|
'block-diagrams-excel': ['block diagram export', 'block excel', 'diagram export', 'export block', 'export diagram', 'export'], // [R22] Block Diagram Excel export
|
|
42
42
|
'synonym': ['synonyms', 'synonym', 'synonym group', 'synonym dictionary', 'term group'], // [R34] Enhanced synonym aliases
|
|
@@ -63,6 +63,19 @@ export const RESOURCE_ALIASES = {
|
|
|
63
63
|
'board': ['board comment', 'board discussion', 'discussion board', 'comment thread', 'review comment', 'discussion', 'comment board'], // [R39] Board comments/discussion
|
|
64
64
|
'notice': ['notice', 'notices', 'announcement', 'bulletin', 'notification'], // [R32] Notice CRUD and visibility
|
|
65
65
|
'tree-search': ['tree search', 'tree query', 'structure search', 'pattern search', 'subtree match', 'anchor pattern', 'context completion', 'reference node', 'rebuild index', 'reindex'], // [R35] Tree search query and index rebuild
|
|
66
|
+
// [R40] New Excel export endpoints
|
|
67
|
+
'additional-info-excel': ['additional info excel', 'additional information excel', 'export additional info', 'additional info export', 'additional fields spreadsheet'],
|
|
68
|
+
'api-key-excel': ['api key excel', 'api keys excel', 'export api keys', 'api key export', 'keys spreadsheet'],
|
|
69
|
+
'apikey-log-excel': ['api key log excel', 'api key audit excel', 'export api key logs', 'api key audit export', 'key log spreadsheet', 'api key audit', 'api key log', 'api key usage log', 'apikey audit log'],
|
|
70
|
+
'classification-excel': ['classification excel', 'export classification', 'classification export', 'classification groups excel'],
|
|
71
|
+
'division-excel': ['division excel', 'export divisions', 'divisions excel', 'division export', 'divisions spreadsheet'],
|
|
72
|
+
'evaluation-excel': ['evaluation excel', 'evaluation export', 'export evaluation', 'criteria excel', 'evaluation criteria excel'],
|
|
73
|
+
'notice-excel': ['notice excel', 'notices excel', 'export notices', 'notice export', 'announcements excel'],
|
|
74
|
+
'process-symbol-excel': ['process symbol excel', 'process symbols excel', 'export process symbols', 'process symbol export'],
|
|
75
|
+
'user-excel': ['user excel', 'users excel', 'export users', 'user list excel', 'users spreadsheet', 'user list spreadsheet'],
|
|
76
|
+
'worksheet-template-excel': ['worksheet template excel', 'template excel', 'export worksheet templates', 'worksheet templates spreadsheet'],
|
|
77
|
+
// [R40] Revision history
|
|
78
|
+
'revision': ['revision history', 'change history', 'change log', 'edit history', 'project history', 'version history', 'audit history', 'revisions'],
|
|
66
79
|
};
|
|
67
80
|
export const SYNONYM_GROUPS = {
|
|
68
81
|
// Read / Retrieve
|
|
@@ -86,6 +99,8 @@ export const SYNONYM_GROUPS = {
|
|
|
86
99
|
// Delete
|
|
87
100
|
"delete": ["remove", "destroy", "clear", "erase", "drop", "cancel", "archive", "unlink"],
|
|
88
101
|
"remove": ["delete", "detach", "discard", "exclude", "strip"],
|
|
102
|
+
"bulk": ["batch", "multiple", "mass", "many", "group", "several"], // [R40] bulk → batch for batch-delete endpoints
|
|
103
|
+
"several": ["multiple", "batch", "bulk", "many", "group"], // [R40] several → batch
|
|
89
104
|
// Processing / Execution (New)
|
|
90
105
|
"parse": ["parsing", "read", "decode", "interpret", "analyze", "extract", "scan"],
|
|
91
106
|
"parsing": ["parse", "reading", "decoding", "interpreting", "analyzing"],
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
"method": "GET",
|
|
112
112
|
"operationId": "getAttributesByFmeaType",
|
|
113
113
|
"summary": "List attributes by FMEA type",
|
|
114
|
-
"description": "Returns all additional information attributes (with items) for the given FMEA type.",
|
|
114
|
+
"description": "Returns all additional information attributes (with items) for the given FMEA type. Supports optional keyword search on attribute label or item label.",
|
|
115
115
|
"tags": [
|
|
116
116
|
"Additional Info Template"
|
|
117
117
|
],
|
|
@@ -131,6 +131,14 @@
|
|
|
131
131
|
"CPLAN"
|
|
132
132
|
]
|
|
133
133
|
}
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"name": "q",
|
|
137
|
+
"in": "query",
|
|
138
|
+
"description": "Keyword filter applied to attribute label or item label (max 100 chars)",
|
|
139
|
+
"schema": {
|
|
140
|
+
"type": "string"
|
|
141
|
+
}
|
|
134
142
|
}
|
|
135
143
|
],
|
|
136
144
|
"requestBody": null,
|
|
@@ -140,73 +148,7 @@
|
|
|
140
148
|
"content": {
|
|
141
149
|
"application/json": {
|
|
142
150
|
"schema": {
|
|
143
|
-
"type": "
|
|
144
|
-
"items": {
|
|
145
|
-
"type": "object",
|
|
146
|
-
"properties": {
|
|
147
|
-
"id": {
|
|
148
|
-
"type": "integer"
|
|
149
|
-
},
|
|
150
|
-
"fmeaType": {
|
|
151
|
-
"type": "string",
|
|
152
|
-
"enum": [
|
|
153
|
-
"DESIGN",
|
|
154
|
-
"PROCESS",
|
|
155
|
-
"EQUIPMENT",
|
|
156
|
-
"FA",
|
|
157
|
-
"FTA",
|
|
158
|
-
"CPLAN"
|
|
159
|
-
]
|
|
160
|
-
},
|
|
161
|
-
"label": {
|
|
162
|
-
"type": "string"
|
|
163
|
-
},
|
|
164
|
-
"typeId": {
|
|
165
|
-
"type": "integer"
|
|
166
|
-
},
|
|
167
|
-
"type": {
|
|
168
|
-
"type": "string",
|
|
169
|
-
"enum": [
|
|
170
|
-
"TEXT",
|
|
171
|
-
"DATE",
|
|
172
|
-
"SELECT",
|
|
173
|
-
"LIST"
|
|
174
|
-
]
|
|
175
|
-
},
|
|
176
|
-
"typeAlias": {
|
|
177
|
-
"type": "string"
|
|
178
|
-
},
|
|
179
|
-
"displayOrder": {
|
|
180
|
-
"type": "integer"
|
|
181
|
-
},
|
|
182
|
-
"options": {
|
|
183
|
-
"type": "object"
|
|
184
|
-
},
|
|
185
|
-
"items": {
|
|
186
|
-
"type": "array",
|
|
187
|
-
"items": {
|
|
188
|
-
"type": "object",
|
|
189
|
-
"properties": {
|
|
190
|
-
"id": {
|
|
191
|
-
"type": "integer"
|
|
192
|
-
},
|
|
193
|
-
"label": {
|
|
194
|
-
"type": "string"
|
|
195
|
-
},
|
|
196
|
-
"itemType": {
|
|
197
|
-
"type": "string"
|
|
198
|
-
},
|
|
199
|
-
"displayOrder": {
|
|
200
|
-
"type": "integer"
|
|
201
|
-
},
|
|
202
|
-
"options": {
|
|
203
|
-
"type": "object"
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
}
|
|
151
|
+
"type": "object"
|
|
210
152
|
}
|
|
211
153
|
}
|
|
212
154
|
}
|
|
@@ -316,7 +258,7 @@
|
|
|
316
258
|
"method": "GET",
|
|
317
259
|
"operationId": "getFieldsByFmeaType",
|
|
318
260
|
"summary": "List fields by FMEA type",
|
|
319
|
-
"description": "Returns all additional information fields for the given FMEA type.",
|
|
261
|
+
"description": "Returns all additional information fields for the given FMEA type. Supports optional keyword search on field label.",
|
|
320
262
|
"tags": [
|
|
321
263
|
"Additional Info Template"
|
|
322
264
|
],
|
|
@@ -336,6 +278,14 @@
|
|
|
336
278
|
"CPLAN"
|
|
337
279
|
]
|
|
338
280
|
}
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
"name": "q",
|
|
284
|
+
"in": "query",
|
|
285
|
+
"description": "Keyword filter applied to field label (max 100 chars)",
|
|
286
|
+
"schema": {
|
|
287
|
+
"type": "string"
|
|
288
|
+
}
|
|
339
289
|
}
|
|
340
290
|
],
|
|
341
291
|
"requestBody": null,
|
|
@@ -345,76 +295,7 @@
|
|
|
345
295
|
"content": {
|
|
346
296
|
"application/json": {
|
|
347
297
|
"schema": {
|
|
348
|
-
"type": "
|
|
349
|
-
"items": {
|
|
350
|
-
"type": "object",
|
|
351
|
-
"properties": {
|
|
352
|
-
"id": {
|
|
353
|
-
"type": "integer"
|
|
354
|
-
},
|
|
355
|
-
"fmeaType": {
|
|
356
|
-
"type": "string",
|
|
357
|
-
"enum": [
|
|
358
|
-
"DESIGN",
|
|
359
|
-
"PROCESS",
|
|
360
|
-
"EQUIPMENT",
|
|
361
|
-
"FA",
|
|
362
|
-
"FTA",
|
|
363
|
-
"CPLAN"
|
|
364
|
-
]
|
|
365
|
-
},
|
|
366
|
-
"label": {
|
|
367
|
-
"type": "string"
|
|
368
|
-
},
|
|
369
|
-
"typeId": {
|
|
370
|
-
"type": "integer"
|
|
371
|
-
},
|
|
372
|
-
"type": {
|
|
373
|
-
"type": "string",
|
|
374
|
-
"enum": [
|
|
375
|
-
"TEXT",
|
|
376
|
-
"DATE",
|
|
377
|
-
"SELECT",
|
|
378
|
-
"LIST"
|
|
379
|
-
]
|
|
380
|
-
},
|
|
381
|
-
"typeAlias": {
|
|
382
|
-
"type": "string"
|
|
383
|
-
},
|
|
384
|
-
"displayOrder": {
|
|
385
|
-
"type": "integer"
|
|
386
|
-
},
|
|
387
|
-
"attributeId": {
|
|
388
|
-
"type": "integer"
|
|
389
|
-
},
|
|
390
|
-
"attributeLabel": {
|
|
391
|
-
"type": "string"
|
|
392
|
-
},
|
|
393
|
-
"options": {
|
|
394
|
-
"type": "array",
|
|
395
|
-
"items": {
|
|
396
|
-
"type": "object",
|
|
397
|
-
"properties": {
|
|
398
|
-
"fieldId": {
|
|
399
|
-
"type": "integer"
|
|
400
|
-
},
|
|
401
|
-
"name": {
|
|
402
|
-
"type": "string"
|
|
403
|
-
},
|
|
404
|
-
"value": {
|
|
405
|
-
"type": "string"
|
|
406
|
-
},
|
|
407
|
-
"attributeId": {
|
|
408
|
-
"type": "integer"
|
|
409
|
-
},
|
|
410
|
-
"itemId": {
|
|
411
|
-
"type": "integer"
|
|
412
|
-
}
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
|
-
}
|
|
416
|
-
}
|
|
417
|
-
}
|
|
298
|
+
"type": "object"
|
|
418
299
|
}
|
|
419
300
|
}
|
|
420
301
|
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"category": "Additional Info Excel",
|
|
3
|
+
"version": "v2",
|
|
4
|
+
"description": "",
|
|
5
|
+
"endpoints": [
|
|
6
|
+
{
|
|
7
|
+
"path": "/api/v2/additional-info-excel/export",
|
|
8
|
+
"method": "GET",
|
|
9
|
+
"operationId": "export",
|
|
10
|
+
"summary": "Export additional info fields to Excel",
|
|
11
|
+
"description": "Exports additional information fields to an XLSX file and returns a download URI. Supports optional FMEA type filter and keyword search on field label. Requires admin permission.",
|
|
12
|
+
"tags": [
|
|
13
|
+
"AdditionalInfoExcel"
|
|
14
|
+
],
|
|
15
|
+
"parameters": [
|
|
16
|
+
{
|
|
17
|
+
"name": "fmeaType",
|
|
18
|
+
"in": "query",
|
|
19
|
+
"description": "FMEA type filter (e.g. stress|design|process). Required.",
|
|
20
|
+
"schema": {
|
|
21
|
+
"type": "string"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "q",
|
|
26
|
+
"in": "query",
|
|
27
|
+
"description": "Keyword filter for exported rows (max 100 chars)",
|
|
28
|
+
"schema": {
|
|
29
|
+
"type": "string"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
"requestBody": null,
|
|
34
|
+
"responses": {
|
|
35
|
+
"default": {
|
|
36
|
+
"description": "default response",
|
|
37
|
+
"content": {
|
|
38
|
+
"application/json": {
|
|
39
|
+
"schema": {
|
|
40
|
+
"type": "object"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"category": "Api Key Excel",
|
|
3
|
+
"version": "v2",
|
|
4
|
+
"description": "",
|
|
5
|
+
"endpoints": [
|
|
6
|
+
{
|
|
7
|
+
"path": "/api/v2/admin/api-key-excel/export",
|
|
8
|
+
"method": "GET",
|
|
9
|
+
"operationId": "export_1",
|
|
10
|
+
"summary": "Export all API keys to Excel",
|
|
11
|
+
"description": "Exports all API keys to an XLSX file and returns a download URI. Supports filtering by user ID, active status, expiry state, and keyword search. Only accessible via session (JWT) authentication; API key auth is rejected. Requires admin permission.",
|
|
12
|
+
"tags": [
|
|
13
|
+
"Admin - API Key Excel"
|
|
14
|
+
],
|
|
15
|
+
"parameters": [
|
|
16
|
+
{
|
|
17
|
+
"name": "userid",
|
|
18
|
+
"in": "query",
|
|
19
|
+
"description": "Filter by user ID (optional, exact match)",
|
|
20
|
+
"schema": {
|
|
21
|
+
"type": "string"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "isActive",
|
|
26
|
+
"in": "query",
|
|
27
|
+
"description": "Filter by active status: true=active only, false=inactive only",
|
|
28
|
+
"schema": {
|
|
29
|
+
"type": "boolean"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "expiredOnly",
|
|
34
|
+
"in": "query",
|
|
35
|
+
"description": "If true, return only expired keys",
|
|
36
|
+
"schema": {
|
|
37
|
+
"type": "boolean"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "q",
|
|
42
|
+
"in": "query",
|
|
43
|
+
"description": "Keyword search on key name or key prefix (max 100 characters)",
|
|
44
|
+
"schema": {
|
|
45
|
+
"type": "string"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"requestBody": null,
|
|
50
|
+
"responses": {
|
|
51
|
+
"default": {
|
|
52
|
+
"description": "default response",
|
|
53
|
+
"content": {
|
|
54
|
+
"application/json": {
|
|
55
|
+
"schema": {
|
|
56
|
+
"type": "object",
|
|
57
|
+
"properties": {
|
|
58
|
+
"fileName": {
|
|
59
|
+
"type": "string"
|
|
60
|
+
},
|
|
61
|
+
"downloadUri": {
|
|
62
|
+
"type": "string"
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
}
|
|
@@ -172,6 +172,14 @@
|
|
|
172
172
|
"default": 20,
|
|
173
173
|
"format": "int32"
|
|
174
174
|
}
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"name": "q",
|
|
178
|
+
"in": "query",
|
|
179
|
+
"description": "Keyword search on key name or key prefix (max 100 characters)",
|
|
180
|
+
"schema": {
|
|
181
|
+
"type": "string"
|
|
182
|
+
}
|
|
175
183
|
}
|
|
176
184
|
],
|
|
177
185
|
"responses": {
|
|
@@ -323,6 +331,14 @@
|
|
|
323
331
|
"default": 20,
|
|
324
332
|
"format": "int32"
|
|
325
333
|
}
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
"name": "q",
|
|
337
|
+
"in": "query",
|
|
338
|
+
"description": "Keyword search on reason field (max 100 characters)",
|
|
339
|
+
"schema": {
|
|
340
|
+
"type": "string"
|
|
341
|
+
}
|
|
326
342
|
}
|
|
327
343
|
],
|
|
328
344
|
"responses": {
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
{
|
|
2
|
+
"category": "Apikey Log Excel",
|
|
3
|
+
"version": "v2",
|
|
4
|
+
"description": "",
|
|
5
|
+
"endpoints": [
|
|
6
|
+
{
|
|
7
|
+
"path": "/api/v2/admin/apikey-log-excel/export",
|
|
8
|
+
"method": "GET",
|
|
9
|
+
"operationId": "export_2",
|
|
10
|
+
"summary": "Export API key audit logs to Excel",
|
|
11
|
+
"description": "Exports API key admin audit logs to an XLSX file and returns a download URI. Supports filtering by admin user ID, target user ID, action type, date range, and keyword search. Only accessible via session (JWT) authentication; API key auth is rejected. Requires admin permission.",
|
|
12
|
+
"tags": [
|
|
13
|
+
"Admin - API Key Log Excel"
|
|
14
|
+
],
|
|
15
|
+
"parameters": [
|
|
16
|
+
{
|
|
17
|
+
"name": "adminUserid",
|
|
18
|
+
"in": "query",
|
|
19
|
+
"description": "Filter by the admin who performed the action (optional, exact match)",
|
|
20
|
+
"schema": {
|
|
21
|
+
"type": "string"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "targetUserid",
|
|
26
|
+
"in": "query",
|
|
27
|
+
"description": "Filter by the user whose key was affected (optional, exact match)",
|
|
28
|
+
"schema": {
|
|
29
|
+
"type": "string"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "action",
|
|
34
|
+
"in": "query",
|
|
35
|
+
"description": "Filter by action type (e.g. CREATE, DEACTIVATE, BULK_DEACTIVATE)",
|
|
36
|
+
"schema": {
|
|
37
|
+
"type": "string"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "startDate",
|
|
42
|
+
"in": "query",
|
|
43
|
+
"description": "Start date for the log query range (YYYYMMDD, inclusive)",
|
|
44
|
+
"schema": {
|
|
45
|
+
"type": "string"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "endDate",
|
|
50
|
+
"in": "query",
|
|
51
|
+
"description": "End date for the log query range (YYYYMMDD, inclusive)",
|
|
52
|
+
"schema": {
|
|
53
|
+
"type": "string"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"name": "q",
|
|
58
|
+
"in": "query",
|
|
59
|
+
"description": "Keyword search on admin user ID or target user ID (max 100 characters)",
|
|
60
|
+
"schema": {
|
|
61
|
+
"type": "string"
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
],
|
|
65
|
+
"requestBody": null,
|
|
66
|
+
"responses": {
|
|
67
|
+
"default": {
|
|
68
|
+
"description": "default response",
|
|
69
|
+
"content": {
|
|
70
|
+
"application/json": {
|
|
71
|
+
"schema": {
|
|
72
|
+
"type": "object",
|
|
73
|
+
"properties": {
|
|
74
|
+
"fileName": {
|
|
75
|
+
"type": "string"
|
|
76
|
+
},
|
|
77
|
+
"downloadUri": {
|
|
78
|
+
"type": "string"
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"category": "Classification Excel",
|
|
3
|
+
"version": "v2",
|
|
4
|
+
"description": "",
|
|
5
|
+
"endpoints": [
|
|
6
|
+
{
|
|
7
|
+
"path": "/api/v2/classification-excel/export",
|
|
8
|
+
"method": "GET",
|
|
9
|
+
"operationId": "export_3",
|
|
10
|
+
"summary": "Export classification groups and items to Excel",
|
|
11
|
+
"description": "Exports all classification groups and their items to an XLSX file and returns a download URI. Supports optional keyword search filter on group title or item title. Requires admin permission.",
|
|
12
|
+
"tags": [
|
|
13
|
+
"ClassificationExcel"
|
|
14
|
+
],
|
|
15
|
+
"parameters": [
|
|
16
|
+
{
|
|
17
|
+
"name": "q",
|
|
18
|
+
"in": "query",
|
|
19
|
+
"description": "Keyword filter for exported rows (max 100 chars)",
|
|
20
|
+
"schema": {
|
|
21
|
+
"type": "string"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"requestBody": null,
|
|
26
|
+
"responses": {
|
|
27
|
+
"default": {
|
|
28
|
+
"description": "default response",
|
|
29
|
+
"content": {
|
|
30
|
+
"application/json": {
|
|
31
|
+
"schema": {
|
|
32
|
+
"type": "object"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
}
|
|
@@ -129,11 +129,20 @@
|
|
|
129
129
|
"method": "GET",
|
|
130
130
|
"operationId": "getAllGroups",
|
|
131
131
|
"summary": "List all classification groups",
|
|
132
|
-
"description": "Returns all classification groups with their nested items. Each group contains items with symbol type (text or image) and optional image URL.",
|
|
132
|
+
"description": "Returns all classification groups with their nested items. Each group contains items with symbol type (text or image) and optional image URL. Supports optional keyword search on group title or item title.",
|
|
133
133
|
"tags": [
|
|
134
134
|
"Classification"
|
|
135
135
|
],
|
|
136
|
-
"parameters": [
|
|
136
|
+
"parameters": [
|
|
137
|
+
{
|
|
138
|
+
"name": "q",
|
|
139
|
+
"in": "query",
|
|
140
|
+
"description": "Keyword filter applied to group title or item title (max 100 chars)",
|
|
141
|
+
"schema": {
|
|
142
|
+
"type": "string"
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
],
|
|
137
146
|
"requestBody": null,
|
|
138
147
|
"responses": {
|
|
139
148
|
"default": {
|
|
@@ -69,6 +69,40 @@
|
|
|
69
69
|
}
|
|
70
70
|
},
|
|
71
71
|
"x-dependency-warning": "REQUIRES PRIOR FILE UPLOAD via [POST /api/v2/files]. The {uuid} parameter is the file identifier returned by the upload endpoint."
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"path": "/api/v2/condition-library-excel/export",
|
|
75
|
+
"method": "GET",
|
|
76
|
+
"operationId": "export_11",
|
|
77
|
+
"summary": "Export condition library to Excel",
|
|
78
|
+
"description": "Exports condition library of specified type to an XLSX file.",
|
|
79
|
+
"tags": [
|
|
80
|
+
"Condition Library Excel"
|
|
81
|
+
],
|
|
82
|
+
"parameters": [
|
|
83
|
+
{
|
|
84
|
+
"name": "type",
|
|
85
|
+
"in": "query",
|
|
86
|
+
"description": "Condition library type (stress/design/process)",
|
|
87
|
+
"required": true,
|
|
88
|
+
"schema": {
|
|
89
|
+
"type": "string"
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
],
|
|
93
|
+
"requestBody": null,
|
|
94
|
+
"responses": {
|
|
95
|
+
"default": {
|
|
96
|
+
"description": "default response",
|
|
97
|
+
"content": {
|
|
98
|
+
"application/json": {
|
|
99
|
+
"schema": {
|
|
100
|
+
"type": "object"
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
72
106
|
}
|
|
73
107
|
]
|
|
74
108
|
}
|