-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathModels.go
714 lines (661 loc) · 38.1 KB
/
Models.go
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
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
package aspace
type Accession struct {
URI string `json:"uri,omitempty"`
ExternalIDs []ExternalID `json:"external_ids,omitempty"`
Title string `json:"title,omitempty"`
DisplayString string `json:"display_string,omitempty"`
Slug string `json:"slug,omitempty"`
IsSlugAuto bool `json:"is_slug_auto,omitempty"`
ID0 string `json:"id_0,omitempty"`
ID1 string `json:"id_1,omitempty"`
ID2 string `json:"id_2,omitempty"`
ID3 string `json:"id_3,omitempty"`
ContentDescription string `json:"content_description,omitempty"`
ConditionDescription string `json:"condition_description,omitempty"`
Disposition string `json:"disposition,omitempty"`
Inventory string `json:"inventory,omitempty"`
Provenance string `json:"provenance,omitempty"`
RelatedAccessions []AccessionSiblingRelationship `json:"related_accessions"`
AccessionDate string `json:"accession_date,omitempty"`
Publish bool `json:"publish"`
Classifications []map[string]string `json:"classifications,omitempty"`
Subjects []Subject `json:"subjects,omitempty"`
LinkedEvents []LinkedEvent `json:"linked_events,omitempty"`
Extents []Extent `json:"extents,omitempty"`
Dates []Date `json:"dates,omitempty"`
ExternalDocuments []ExternalDocument `json:"external_documents"`
RightsStatements []RightsStatement `json:"rights_statements"`
CollectionManagement CollectionManagement `json:"collection_management,omitempty"`
UserDefined UserDefined `json:"user_defined,omitempty"`
RelatedResources []map[string]string `json:"related_resources,omitempty"`
Suppressed bool `json:"suppressed"`
AcquisitionType string `json:"acquisition_type,omitempty"`
ResourceType string `json:"resource_type,omitempty"`
RestrictionsApply bool `json:"restrictions_apply,omitempty"`
RetentionRule string `json:"retention_rule,omitempty"`
GeneralNote string `json:"general_note,omitempty"`
AccessRestrictions bool `json:"access_restrictions,omitempty"`
AccessRestrictionsNote string `json:"access_restrictions_note,omitempty"`
UseRestrictions bool `json:"use_restrictions,omitempty"`
UseRestrictionsNote string `json:"use_restrictions_note,omitempty"`
LinkedAgents []LinkedAgent `json:"linked_agents,omitempty"`
Instances []Instance `json:"instances,omitempty"`
LockVersion int `json:"lock_version"`
JSONModelType string `json:"json_model_type"`
Repository LinkedRepository `json:"repository"`
Parent map[string]string `json:"parent,omitempty"`
}
type AccessionSiblingRelationship struct {
JSONModelType string `json:"jsonmodel_type"`
Relator string `json:"relator"`
RelatorType string `json:"relator_type"`
Ref string `json:"ref"`
}
type AdvancedSearch struct {
Field string `json:"field,omitempty"`
Value string `json:"value,omitempty"`
JSONModelType string `json:"jsonmodel_type,omitempty"`
Negated bool `json:"negated,omitempty"`
Literal bool `json:"literal,omitempty"`
}
type Agent struct {
LockVersion int `json:"lock_version,omitempty"`
Publish bool `json:"publish,omitempty"`
IsSlugAuto bool `json:"is_slug_auto,omitempty"`
JSONModelType string `json:"jsonmodel_type"`
AgentContacts []AgentContact `json:"agent_contacts,omitempty"`
LinkedAgentRoles []string `json:"linked_agent_roles,omitempty"`
ExternalDocuments []ExternalDocument `json:"external_documents,omitempty"`
Notes []Note `json:"notes,omitempty"`
UsedWithinRepositories []string `json:"used_within_repositories,omitempty"`
UsedWithinPublishedRepositories []string `json:"used_within_published_repositories,omitempty"`
DatesOfExistence []interface{} `json:"dates_of_existence,omitempty"`
Names []Name `json:"names,omitempty"`
RelatedAgents []RelatedAgent `json:"related_agents,omitempty"`
URI string `json:"uri"`
AgentType string `json:"agent_type"`
IsLinkedToPublishedRecord bool `json:"is_linked_to_published_record"`
DisplayName Name `json:"display_name"`
Title string `json:"title"`
IsUser string `json:"is_user"`
}
type AgentReference struct {
Ref string `json:"ref,omitempty"`
Agent Agent `json:"agent,omitempty"`
}
type AgentContact struct {
LockVersion int `json:"lock_version,omitempty"`
Name string `json:"name,omitempty"`
Address1 string `json:"address_1,omitempty"`
Address2 string `json:"address_2,omitempty"`
Address3 string `json:"address_3,omitempty"`
City string `json:"city,omitempty"`
Region string `json:"region,omitempty"`
Country string `json:"country,omitempty"`
PostCode string `json:"post_code,omitempty"`
Email string `json:"email,omitempty"`
Note string `json:"note,omitempty"`
Salutation string `json:"salutation,omitempty"`
JSONModelType string `json:"jsonmodel_type,omitempty"`
Telephones []interface{} `json:"telephones,omitempty"`
}
type Ancestor struct {
Ref string `json:"ref,omitempty"`
Level string `json:"level,omitempty"`
}
type ArchivalObject struct {
LockVersion int `json:"lock_version"`
Position int `json:"position,omitempty"`
Publish bool `json:"publish,omitempty"`
RefID string `json:"ref_id,omitempty"`
ComponentId string `json:"component_id,omitempty"`
Title string `json:"title,omitempty"`
DisplayString string `json:"display_string,omitempty"`
RestrictionsApply bool `json:"restrictions_apply,omitempty"`
Suppressed bool `json:"suppressed,omitempty"`
IsSlugAuto bool `json:"is_slug_auto,omitempty"`
Level string `json:"level,omitempty"`
JSONModelType string `json:"jsonmodel_type,omitempty"`
ExternalIDs []ExternalID `json:"external_ids,omitempty"`
Subjects []Subject `json:"subjects,omitempty"`
LinkedEvents []map[string]string `json:"linked_events,omitempty"`
Extents []Extent `json:"extents,omitempty"`
LangMaterials []LangMaterial `json:"lang_materials,omitempty"`
Dates []Date `json:"dates,omitempty"`
ExternalDocuments []ExternalDocument `json:"external_documents,omitempty"`
RightsStatements []RightsStatement `json:"rights_statements,omitempty"`
LinkedAgents []LinkedAgent `json:"linked_agents,omitempty"`
Ancestors []Ancestor `json:"ancestors,omitempty"`
Instances []Instance `json:"instances,omitempty"`
Notes []Note `json:"notes,omitempty"`
URI string `json:"uri,omitempty"`
Repository Repository `json:"repository,omitempty"`
Parent map[string]string `json:"parent,omitempty"`
HasUnpublishedAncestors bool `json:"has_unpublished_ancestors,omitempty"`
Resource map[string]string `json:"resource"`
RepresentativeImage FileVersion `json:"representative_image,omitempty"`
ArkName interface{} `json:"ark_name,omitempty"`
}
type Classification struct {
HasClassificationTerms bool `json:"has_classification_terms,omitempty"`
Slug string `json:"slug,omitempty"`
IsSlugAuto bool `json:"is_slug_auto,omitempty"`
JSONModelType string `json:"jsonmodel_type,omitempty"`
}
type CollectionManagement struct {
LockVersion int `json:"lock_version,omitempty"`
JSONModelType string `json:"jsonmodel_type,omitempty"`
URI string `json:"uri,omitempty"`
ProcessingHoursPerFootEstimate string `json:"processing_hours_per_foot_estimate,omitempty"`
ProcessingTotalExtent string `json:"processing_total_extent,omitempty"`
ProcessingTotalExtentType string `json:"processing_total_extent_type,omitempty"`
ProcessingHoursTotal string `json:"processing_hours_total,omitempty"`
ProcessingPlan string `json:"processing_plan,omitempty"`
ProcessingPriority string `json:"processing_priority,omitempty"`
ProcessingFundingSource string `json:"processing_funding_source,omitempty"`
Processors string `json:"processors,omitempty"`
RightsDetermined bool `json:"rights_determined,omitempty"`
ProcessingStatus string `json:"processing_status,omitempty"`
Repository map[string]string `json:"repository,omitempty"`
Parent map[string]string `json:"parent,omitempty"`
ExternalIDs []ExternalID `json:"external_ids,omitempty"`
}
type Date struct {
DateType string `json:"date_type,omitempty"`
Label string `json:"label,omitempty"`
Certainty string `json:"certainty,omitempty"`
Expression string `json:"expression,omitempty"`
Begin string `json:"begin,omitempty"`
End string `json:"end,omitempty"`
Era string `json:"era,omitempty"`
Calendar string `json:"calendar,omitempty"`
JSONModelType string `json:"jsonmodel_type,omitempty"`
}
type Deaccession struct {
Scope string `json:"scope,omitempty"`
Description string `json:"description,omitempty"`
Date Date `json:"date,omitempty"`
Reason string `json:"reason,omitempty"`
Disposition string `json:"disposition,omitempty"`
Notification bool `json:"notification,omitempty"`
Extents []Extent `json:"extents,omitempty"`
JSONModelType string `json:"jsonmodel_type,omitempty"`
}
type DigitalObject struct {
LockVersion *int `json:"lock_version,omitempty"`
DigitalObjectID string `json:"digital_object_id,omitempty"`
Title string `json:"title,omitempty"`
Publish bool `json:"publish"`
Restrictions bool `json:"restrictions"`
Suppressed bool `json:"suppressed"`
IsSlugAuto bool `json:"is_slug_auto"`
JSONModelType string `json:"jsonmodel_type,omitempty"`
ExternalIds []ExternalID `json:"external_ids,omitempty"`
Subjects []SubjectReference `json:"subjects,omitempty"`
LinkedEvents []map[string]string `json:"linked_events,omitempty"`
Extents []Extent `json:"extents,omitempty"`
LangMaterials []LangMaterial `json:"lang_materials,omitempty"`
Dates []Date `json:"dates,omitempty"`
ExternalDocuments []ExternalDocument `json:"external_documents,omitempty"`
RightsStatements []RightsStatement `json:"rights_statements,omitempty"`
LinkedAgents []LinkedAgent `json:"linked_agents,omitempty"`
FileVersions []FileVersion `json:"file_versions,omitempty"`
Notes []interface{} `json:"notes,omitempty"`
LinkedInstances []LinkedInstance `json:"linked_instances,omitempty"`
URI string `json:"uri,omitempty"`
Repository LinkedRepository `json:"repository,omitempty"`
Tree map[string]string `json:"tree,omitempty"`
Level string `json:"level,omitempty"`
Slug string `json:"slug,omitempty"`
DigitalObjectType string `json:"digital_object_type,omitempty"`
UserDefined []UserDefined `json:"user_defined,omitempty"`
CollectionManagement []CollectionManagement `json:"collection_management,omitempty"`
}
type ExternalDocument struct {
Title string `json:"title,omitempty"`
Location string `json:"location,omitempty"`
Publish bool `json:"publish,omitempty"`
JSONModelType string `json:"jsonmodel_type,omitempty"`
}
type ExternalID struct {
ExternalID string `json:"external_id,omitempty"`
Source string `json:"source,omitempty"`
JSONModelType string `json:"jsonmodel_type"`
}
type Extent struct {
Portion string `json:"portion,omitempty"`
Number string `json:"number,omitempty"`
ExtentType string `json:"extent_type,omitempty"`
ContainerSummary string `json:"container_summary"`
PhysicalDetails string `json:"physical_details"`
Dimensions string `json:"dimensions"`
JSONModelType string `json:"jsonmodel_type"`
}
type Event struct {
URI string `json:"uri,omitempty"`
Refid string `json:"refid,omitempty"`
ExternalIDs []ExternalID `json:"external_ids,omitempty"`
ExternalDocuments []ExternalDocument `json:"external_documents,omitempty"`
EventType string `json:"event_type"`
Date Date `json:"date"`
Timestamp string `json:"timestamp,omitempty"`
Outcome string `json:"outcome,omitempty"`
OutcomeNote string `json:"outcome_note,omitempty"`
Suppressed bool `json:"suppressed,omitempty"`
LinkedAgents []LinkedAgent `json:"linked_agents"`
LinkedRecords []LinkedRecord `json:"linked_records"`
LockVersion int `json:"lock_version"`
JSONModelType string `json:"jsonmodel_type"`
Repository LinkedRepository `json:"repository"`
}
type FileVersion struct {
Identifier string `json:"identifier,omitempty"`
LockVersion int `json:"lock_version,omitempty"`
FileURI string `json:"file_uri,omitempty"`
Publish bool `json:"publish"`
FileFormatVersion string `json:"file_format_version,omitempty"`
FileSizeBytes uint64 `json:"file_size_bytes,omitempty"`
Checksum string `json:"checksum,omitempty"`
ChecksumMethod string `json:"checksum_method,omitempty"`
Caption string `json:"caption,omitempty"`
UseStatement string `json:"use_statement,omitempty"`
XLinkActuateAttribute string `json:"xlink_actuate_attribute,omitempty"`
XLinkShowAttribute string `json:"xlink_show_attribute,omitempty"`
FileFormatName string `json:"file_format_name,omitempty"`
JSONModelType string `json:"jsonmodel_type,omitempty"`
IsRepresentative bool `json:"is_representative"`
}
type Instance struct {
InstanceType string `json:"instance_type,omitempty"`
SubContainer SubContainer `json:"sub_container,omitempty"`
DigitalObject map[string]string `json:"digital_object,omitempty"`
IsRepresentative bool `json:"is_representative,omitempty"`
JSONModelType string `json:"jsonmodel_type,omitempty"`
}
type Inherited struct {
Ref string `json:"ref,omitempty"`
Level string `json:"level,omitempty"`
Direct string `json:"direct,omitempty"`
}
type LangMaterial struct {
LanguageAndScript LanguageAndScript `json:"language_and_script,omitempty"`
Notes []NoteLangMaterial `json:"notes,omitempty"`
JSONModelType string `json:"jsonmodel_type,omitempty"`
}
type LanguageAndScript struct {
Language string `json:"language,omitempty"`
Script string `json:"script,omitempty"`
JSONModelType string `json:"jsonmodel_type,omitempty"`
}
type LinkedAgent struct {
Title string `json:"title,omitempty"`
Role string `json:"role,omitempty"`
Terms []Term `json:"terms,omitempty"`
Ref string `json:"ref,omitempty"`
JSONModelType string `json:"jsonmodel_type,omitempty"`
Relator string `json:"relator,omitempty"`
Resolved Agent `json:"_resolved,omitempty"`
Inherited Inherited `json:"_inherited,omitempty"`
}
type LinkedEvent struct {
Ref string `json:"ref,omitempty"`
Resolved Event `json:"_resolved,omitempty"`
}
type LinkedInstance struct {
Ref string `json:"ref,omitempty"`
Resolved Instance `json:"_resolved,omitempty"`
}
type LinkedRecord struct {
Role string `json:"role"`
Ref string `json:"ref"`
Resolved Agent `json:"_resolved,omitempty"`
}
type LinkedRepository struct {
Ref string `json:"ref"`
Resolved Repository `json:"_resolved,omitempty"`
}
type Name struct {
LockVersion int `json:"lock_version,omitempty"`
PrimaryName string `json:"primary_name,omitempty"`
Title string `json:"title,omitempty"`
Prefix string `json:"prefix,omitempty"`
RestOfName string `json:"rest_of_name,omitempty"`
Suffix string `json:"suffix,omitempty"`
FullerForm string `json:"fuller_form,omitempty"`
Number string `json:"number,omitempty"`
Dates string `json:"dates,omitempty"`
Qualifier string `json:"qualifier,omitempty"`
SortName string `json:"sort_name,omitempty"`
Authorized bool `json:"authorized,omitempty"`
IsDisplayName bool `json:"is_display_name,omitempty"`
Source string `json:"source,omitempty"`
Rules string `json:"rules,omitempty"`
NameOrder string `json:"name_order,omitempty"`
JSONModelType string `json:"jsonmodel_type,omitempty"`
UseDates []interface{} `json:"use_dates,omitempty"`
AuthorityID string `json:"authority_id,omitempty"`
SubordinateName1 string `json:"subordinate_name_1,omitempty"`
SubordinateName2 string `json:"subordinate_name_2,omitempty"`
SortNameAutoGenerate bool `json:"sort_name_auto_generate"`
FamilyName string `json:"family_name"`
}
type Note struct {
JSONModelType string `json:"jsonmodel_type,omitempty"`
PersistentID string `json:"persistent_id,omitempty"`
Label string `json:"label,omitempty"`
Type string `json:"type,omitempty"`
Subnotes []interface{} `json:"subnotes,omitempty"`
Content []string `json:"content,omitempty"`
Publish bool `json:"publish,omitempty"`
RightsRestriction map[string]interface{} `json:"rights_restriction,omitempty"`
}
type NoteBibliography struct {
Label string `json:"label,omitempty"`
Publish bool `json:"publish,omitempty"`
PersistentId string `json:"persistent_id,omitempty"`
IngestProblem string `json:"ingest_problem,omitempty"`
LockVersion *int `json:"lock_version,omitempty"`
JSONModelType string `json:"jsonmodel_type"`
Repository LinkedRepository `json:"repository,omitempty"`
Content []string `json:"content,omitempty"`
Items []string `json:"items,omitempty"`
Inherited Inherited `json:"inherited,omitempty"`
}
type NoteDigitalObject struct {
Label string `json:"label,omitempty"`
Publish bool `json:"publish"`
PersistentId string `json:"persistent_id"`
IngestProblem string `json:"ingest_problem,omitempty"`
LockVersion *int `json:"lock_version,omitempty"`
JsonModelType string `json:"jsonmodel_type"`
Repository LinkedRepository `json:"repository,omitempty"`
Content []string `json:"content"`
Type string `json:"type"`
}
type NoteLangMaterial struct {
JSONModelType string `json:"jsonmodel_type,omitempty"`
PersistentID string `json:"persistent_id,omitempty"`
Label string `json:"label,omitempty"`
Type string `json:"type,omitempty"`
Content []string `json:"content,omitempty"`
Publish bool `json:"publish,omitempty"`
}
type NoteRightsStatement struct {
JSONModelType string `json:"jsonmodel_type,omitempty"`
PersistentID string `json:"persistent_id,omitempty"`
Type string `json:"type,omitempty"`
Content []string `json:"content,omitempty"`
Publish bool `json:"publish,omitempty"`
}
type NoteRightsStatementAct struct {
JSONModelType string `json:"jsonmodel_type,omitempty"`
PersistentID string `json:"persistent_id,omitempty"`
Type string `json:"type,omitempty"`
Content []string `json:"content,omitempty"`
Publish bool `json:"publish,omitempty"`
}
type NoteText struct {
JSONModelType string `json:"jsonmodel_type,omitempty"`
Content string `json:"content,omitempty"`
Publish bool `json:"publish,omitempty"`
Title string `json:"title,omitempty"`
}
type RelatedAgent struct {
Relator string `json:"relator,omitempty"`
JSONModelType string `json:"jsonmodel_type,omitempty"`
Description string `json:"description,omitempty"`
Dates Date `json:"dates,omitempty"`
Ref string `json:"ref,omitempty"`
}
type RepositoryReference struct {
Ref string `json:"ref,omitempty"`
Resolved []Repository `json:"resolved,omitempty"`
}
type Repository struct {
URI string `json:"uri"`
RepoCode string `json:"repo_code,omitempty"`
Name string `json:"name,omitempty"`
OrgCode string `json:"org_code,omitempty"`
Country string `json:"country,omitempty"`
ParentInstitutionName string `json:"parent_institution_name,omitempty"`
Description string `json:"description,omitempty"`
URL string `json:",omitempty"`
ImageURL string `json:"image_url,omitempty"`
ContactPersons string `json:"contact_persons,omitempty"`
Publish bool `json:"publish,omitempty"`
DisplayString string `json:"display_string"`
OAIIsDisabled bool `json:"oai_is_disabled,omitempty"`
OAISetsAvailable string `json:"oai_sets_available,omitempty"`
Slug string `json:"slug,omitempty"`
IsSlugAuto bool `json:"is_slug_auto"`
AgentRepresentation AgentReference `json:"agent_representation"`
LockVersion int `json:"lock_version,omitempty"`
JSONModelType string `json:"jsonmodel_type,omitempty"`
}
type Resource struct {
Classifications []Classification `json:"classifications,omitempty"`
CollectionManagement []interface{} `json:"collection_management,omitempty"`
Dates []Date `json:"dates,omitempty"`
Deaccessions []Deaccession `json:"deaccessions,omitempty"`
EADID string `json:"ead_id,omitempty"`
EADLocation string `json:"ead_location,omitempty"`
Extents []Extent `json:"extents,omitempty"`
ExternalArkURL string `json:"external_ark_url"`
ExternalIDs []ExternalID `json:"external_ids,omitempty"`
FindingAidAuthor string `json:"finding_aid_author,omitempty"`
FindingAidDate string `json:"finding_aid_date,omitempty"`
FindingAidDescriptionRules string `json:"finding_aid_description_rules,omitempty"`
FindingAidLanguage string `json:"finding_aid_language,omitempty"`
FindingAidLanguageNote string `json:"finding_aid_language_note,omitempty"`
FindingAidNote string `json:"finding_aid_note"`
FindingAidScript string `json:"finding_aid_script,omitempty"`
FindingAidSponsor string `json:"finding_aid_status,omitempty"`
FindingAidStatus string `json:"finding_aid_sponsor,omitempty"`
FindingAidTitle string `json:"finding_aid_title,omitempty"`
FindingAidEditionStatement string `json:"finding_aid_edition_statement,omitempty"`
FindingAidSeriesStatement string `json:"finding_aid_series_statement,omitempty"`
ID0 string `json:"id_0,omitempty"`
ID1 string `json:"id_1,omitempty"`
ID2 string `json:"id_2,omitempty"`
ID3 string `json:"id_3,omitempty"`
Instances []Instance `json:"instances,omitempty"`
IsSlugAuto bool `json:"is_slug_auto,omitempty"`
Json []byte `json:"json,omitempty"`
JSONModelType string `json:"jsonmodel_type,omitempty"`
LangMaterials []LangMaterial `json:"lang_materials,omitempty"`
Level string `json:"level,omitempty"`
LinkedAgents []LinkedAgent `json:"linked_agents,omitempty"`
LinkedEvents []map[string]string `json:"linked_events,omitempty"`
LockVersion int `json:"lock_version,omitempty"`
Notes []Note `json:"notes,omitempty"`
OtherLevel string `json:"other_level,omitempty"`
Publish bool `json:"publish,omitempty"`
RelatedAccessions []map[string]string `json:"related_accessions,omitempty"`
Repository map[string]string `json:"repository,omitempty"`
RepositoryProcessingNote string `json:"repository_processing_note,omitempty"`
Restrictions bool `json:"restrictions,omitempty"`
ResourceType string `json:"resource_type,omitempty"`
RevisionStatements []RevisionStatement `json:"revision_statements,omitempty"`
RightsStatements []RightsStatement `json:"rights_statements,omitempty"`
Slug string `json:"slug,omitempty"`
Subjects []map[string]string `json:"subjects,omitempty"`
Suppressed bool `json:"suppressed,omitempty"`
Title string `json:"title,omitempty"`
Tree map[string]string `json:"tree,omitempty"`
UserDefined UserDefined `json:"user_defined,omitempty"`
URI string `json:"uri,omitempty"`
}
type LinkedTree struct {
Ref string `json:"ref,omitempty"`
Resolved ResourceTree `json:"_resolved,omitempty"`
}
type PrecomputedWaypoint struct {
Nodes []Node `json:"0,omitempty"`
}
type ResourceTree struct {
Title string `json:"title,omitempty"`
Id int `json:"id,omitempty"`
NodeType string `json:"node_type,omitempty"`
Publish bool `json:"publish,omitempty"`
Suppressed bool `json:"suppressed,omitempty"`
HasChildren bool `json:"has_children,omitempty"`
Children []ResourceTree `json:"children,omitempty"`
RecordURI string `json:"record_uri,omitempty"`
Level string `json:"level,omitempty"`
JSONModelType string `json:"jsonmodel_type,omitempty"`
InstanceTypes []string `json:"instance_types,omitempty"`
Containers []string `json:"containers,omitempty"`
}
type RevisionStatement struct {
Date string `json:"date,omitempty"`
Description string `json:"description,omitempty"`
Publish bool `json:"publish,omitempty"`
JSONModeType string `json:"jsonmodel_type,omitempty"`
URI string `json:"uri,omitempty"`
Repository map[string]string `json:"repository,omitempty"`
}
type RightsStatement struct {
RightsType string `json:"rights_type,omitempty"`
Identifier string `json:"identifier,omitempty"`
Status string `json:"status,omitempty"`
DeterminationDate Date `json:"determination_date,omitempty"`
StartDate string `json:"start_date,omitempty"`
EndDate string `json:"end_date,omitempty"`
LicenseTerms string `json:"license_terms,omitempty"`
StatuteCitation string `json:"statute_citation,omitempty"`
Jurisdiction string `json:"jurisdiction,omitempty"`
OtherRightsBasis string `json:"other_rights_basis,omitempty"`
JSONModelType string `json:"jsonmodel_type,omitempty"`
ExternalDocuments []ExternalDocument `json:"external_documents,omitempty"`
Acts []RightsStatementsAct `json:"acts,omitempty"`
LinkedAgents []LinkedAgent `json:"linked_agents,omitempty"`
Notes []NoteRightsStatement `json:"notes,omitempty"`
}
type RightsStatementsAct struct {
StartDate string `json:"start_date,omitempty"`
EndDate string `json:"end_date,omitempty"`
ActType string `json:"act_type,omitempty"`
Restriction string `json:"restriction,omitempty"`
JSONModelType string `json:"json_model_type,omitempty"`
Notes []NoteRightsStatementAct `json:"notes,omitempty"`
}
type SearchResult struct {
PageSize int `json:"page_size,omitempty"`
FirstPage int `json:"first_page,omitempty"`
LastPage int `json:"last_page,omitempty"`
ThisPage int `json:"this_page,omitempty"`
OffsetFirst int `json:"offset_first,omitempty"`
OffsetLast int `json:"offset_last,omitempty"`
TotalHits int `json:"total_hits,omitempty"`
Results []map[string]interface{} `json:"results,omitempty"`
}
type SubContainer struct {
JSONModel string `json:"jsonmodel_type,omitempty"`
TopContainer map[string]string `json:"top_container,omitempty"`
Type2 string `json:"type_2,omitempty"`
Indicator2 string `json:"indicator_2,omitempty"`
Barcode2 string `json:"barcode_2,omitempty"`
Type3 string `json:"type_3,omitempty"`
Indicator3 string `json:"indicator_3,omitempty"`
DisplayString string `json:"display_string,omitempty"`
Repository interface{} `json:"repository,omitempty"`
}
type Subject struct {
LockVersion int `json:"lock_version,omitempty"`
Title string `json:"title,omitempty"`
IsSlugAuto bool `json:"is_slug_auto,omitempty"`
Source string `json:"source,omitempty"`
JSONModelType string `json:"json_model_type,omitempty"`
ExternalIDs []ExternalID `json:"external_ids,omitempty"`
Publish bool `json:"publish,omitempty"`
UsedWithinRepositories []interface{} `json:"used_within_repositories,omitempty"`
UsedWithinPublishedRepositories []interface{} `json:"used_within_published_repositories,omitempty"`
Terms []Term `json:"terms"`
ExternalDocuments []ExternalDocument `json:"external_documents,omitempty"`
URI string `json:"uri,omitempty"`
Vocabulary string `json:"vocabulary"`
IsLinkedToPublishedRecord bool `json:"is_linked_to_published_record,omitempty"`
}
type SubjectReference struct {
Ref string `json:"ref,omitempty"`
Resolved Subject `json:"_resolved,omitempty"`
}
type Term struct {
ID int
JSONSchemaVersion int `json:"json_schema_version,omitempty"`
VocabID int `json:"vocab_id,omitempty"`
Term string `json:"term,omitempty"`
TermTypeID int `json:"term_type_id,omitempty"`
XForeignKeyX int64 `json:"x_foreign_key_x,omitempty"`
TermType string `json:"term_type,omitempty"`
JSONModelType string `json:"json_model_type,omitempty"`
URI string `json:"uri,omitempty"`
Vocabulary string `json:"vocabulary,omitempty"`
}
type TopContainer struct {
URI string `json:"uri,omitempty"`
Indicator string `json:"indicator"`
Type string `json:"type"`
Barcode string `json:"barcode"`
DisplayString string `json:"display_string"`
LongDisplayString string `json:"long_display_string"`
SubcontainerBarcodes string `json:"subcontainer_barcodes"`
ILSHoldingID string `json:"ils_holding_id,omitempty"`
ILSItemID string `json:"ils_item_id,omitempty"`
ExportToILS string `json:"export_to_ils,omitempty"`
Restricted bool `json:"restricted"`
CreatedForCollection string `json:"created_for_collection,omitempty"`
IsLinkedToPublishedRecord bool `json:"is_linked_to_published_record"`
ActiveRestrictions []interface{} `json:"active_restrictions"`
ContainerLocations []interface{} `json:"container_locations"`
ContainerProfile map[string]string `json:"container_profile"`
Series []interface{} `json:"series"`
Collection []interface{} `json:"collection"`
Repository map[string]string `json:"repository"`
JSONModelType string `json:"json_model_type"`
}
type Node struct {
ChildCount int `json:"child_count,omitempty"`
Waypoints int `json:"waypoints,omitempty"`
WaypointSize int `json:"waypoint_size,omitempty"`
Title string `json:"title,omitempty"`
URI string `json:"uri,omitempty"`
SluggedURL string `json:"slugged_url,omitempty"`
JSONModelType string `json:"jsonmodel_type,omitempty"`
ParsedTitle string `json:"parsed_title,omitempty"`
Suppressed bool `json:"suppresed,omitempty"`
HasDigitalInstance bool `json:"has_digital_instanceint,omitempty"`
Level string `json:"level,omitempty"`
Identifier string `json:"identifier,omitempty"`
PrecomputedWaypoints map[string]PrecomputedWaypoint `json:"precomputed_waypoints,omitempty"`
}
type UserDefined struct {
Boolean1 *bool `json:"boolean_1,omitempty"`
Boolean2 *bool `json:"boolean_2,omitempty"`
Boolean3 *bool `json:"boolean_3,omitempty"`
Integer1 string `json:"integer_1,omitempty"`
Integer2 string `json:"integer_2,omitempty"`
Integer3 string `json:"integer_3,omitempty"`
Real1 string `json:"real_1,omitempty"`
Real2 string `json:"real_2,omitempty"`
Real3 string `json:"real_3,omitempty"`
String1 string `json:"string_1,omitempty"`
String2 string `json:"string_2,omitempty"`
String3 string `json:"string_3,omitempty"`
String4 string `json:"string_4,omitempty"`
Text1 string `json:"text_1,omitempty"`
Text2 string `json:"text_2,omitempty"`
Text3 string `json:"text_3,omitempty"`
Text4 string `json:"text_4,omitempty"`
Text5 string `json:"text_5,omitempty"`
Date1 Date `json:"date_1,omitempty"`
Date2 Date `json:"date_2,omitempty"`
Date3 Date `json:"date_3,omitempty"`
Enum1 string `json:"enum_1,omitempty"`
Enum2 string `json:"enum_2,omitempty"`
Enum3 string `json:"enum_3,omitempty"`
Enum4 string `json:"enum_4,omitempty"`
LockVersion int `json:"lock_version"`
JSONModelType string `json:"jsonmodel_type"`
Repository Repository `json:"repository"`
}