-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathsource-record-storage-records.raml
199 lines (193 loc) · 6.73 KB
/
source-record-storage-records.raml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
#%RAML 1.0
title: Source Record Storage Record API
version: v2.0
protocols: [ HTTP, HTTPS ]
baseUri: http://localhost
documentation:
- title: Source Record Storage Record API
content: API for managing records
types:
errorRecord: !include raml-storage/schemas/mod-source-record-storage/errorRecord.json
errorRecordCollection: !include raml-storage/schemas/mod-source-record-storage/errorRecordCollection.json
parsedRecordDto: !include raml-storage/schemas/dto/parsedRecordDto.json
parsedRecord: !include raml-storage/schemas/mod-source-record-storage/parsedRecord.json
parsedRecordCollection: !include raml-storage/schemas/mod-source-record-storage/parsedRecordCollection.json
rawRecord: !include raml-storage/schemas/mod-source-record-storage/rawRecord.json
rawRecordCollection: !include raml-storage/schemas/mod-source-record-storage/rawRecordCollection.json
record: !include raml-storage/schemas/dto/record.json
recordCollection: !include raml-storage/schemas/dto/recordCollection.json
dataImportEventTypes: !include raml-storage/schemas/common/dataImportEventTypes.json
dataImportEventPayload: !include raml-storage/schemas/common/dataImportEventPayload.json
marcData: !include raml-storage/schemas/mod-data-import-converter-storage/mapping-profile-detail/marcData.json
errors: !include raml-storage/raml-util/schemas/errors.schema
mappingMetadataDto: !include raml-storage/schemas/dto/mappingMetadataDto.json
bibAuthorityLinksUpdate: !include raml-storage/schemas/mod-entities-links/bibAuthorityLinksUpdate.json
marcBibUpdate: !include raml-storage/schemas/mod-source-record-storage/marcBibUpdate.json
linkUpdateReport: !include raml-storage/schemas/mod-source-record-storage/linkUpdateReport.json
recordMatchingDto: !include raml-storage/schemas/dto/recordMatchingRqDto.json
recordsIdentifiersCollection: !include raml-storage/schemas/dto/recordsIdentifiersCollection.json
traits:
validate: !include raml-storage/raml-util/traits/validation.raml
pageable: !include raml-storage/raml-util/traits/pageable.raml
resourceTypes:
collection: !include raml-storage/raml-util/rtypes/collection.raml
collection-item: !include raml-storage/raml-util/rtypes/item-collection.raml
/source-storage/records:
displayName: Records
description: API for managing Records
type:
collection:
schemaCollection: recordCollection
schemaItem: record
exampleCollection: !include raml-storage/examples/mod-source-record-storage/recordCollection.sample
exampleItem: !include raml-storage/examples/mod-source-record-storage/record.sample
post:
is: [validate]
get:
is: [
pageable,
validate
]
queryParameters:
snapshotId:
description: Filter by Snapshot Id
type: string
example: "e5ddbbdc-90b3-498f-bb8f-49367ca4c142"
required: false
recordType:
description: Filter by Record Type
type: string
example: MARC_BIB
default: MARC_BIB
state:
description: Filter by State
type: string
example: ACTUAL
required: false
orderBy:
description: Sort Records
type: string[]
example: ["order,ASC"]
required: false
/matching:
displayName: Matched Records identifiers
post:
description: Collection of pairs of marc record ID to external entity ID (instance, holdings, authority)
is: [validate]
body:
application/json:
description: Request to search marc records identifiers
type: recordMatchingDto
responses:
200:
body:
application/json:
type: recordsIdentifiersCollection
500:
description: "Internal server error"
body:
text/plain:
example: "Internal server error"
/{id}:
displayName: Record
description: Get, Delete or Update a specific Record
type:
collection-item:
schema: record
exampleItem: !include raml-storage/examples/mod-source-record-storage/record.sample
put:
is: [validate]
responses:
200:
body:
application/json:
type: record
delete:
queryParameters:
idType:
description: Type of Id for Record lookup
type: string
example: INSTANCE
default: SRS_RECORD
responses:
204:
/formatted:
displayName: Formatted Record
get:
description: Get Record with formatted content
queryParameters:
idType:
description: Type of Id for Record lookup
type: string
example: INSTANCE
default: RECORD
responses:
200:
body:
application/json:
type: record
400:
description: "Bad request"
body:
text/plain:
example: "Bad request"
404:
description: "Not found"
body:
text/plain:
example: "Not found"
500:
description: "Internal server error"
body:
text/plain:
example: "Internal server error"
/suppress-from-discovery:
displayName: Suppress From Discovery
put:
description: Update Record suppress from discovery additional information
queryParameters:
idType:
description: Type of Id for Record lookup
type: string
example: INSTANCE
default: RECORD
suppress:
description: Whether to suppress or unsuppress from discovery
example: false
type: boolean
default: true
responses:
200:
body:
text/plain: !!null
400:
description: "Bad request"
body:
text/plain:
example: "Bad request"
422:
description: "Unprocessable Entity"
body:
application/json:
type: errors
500:
description: "Internal server error"
body:
text/plain:
example: "Internal server error"
/generation:
displayName: Generation
is: [validate]
put:
description: Updates a specific Record with incremented generation and state ACTUAL by matched id
body:
application/json:
type: record
example:
strict: false
value: !include raml-storage/examples/mod-source-record-storage/record.sample
responses:
200:
body:
application/json:
type: record