cocina-models 0.31.0 → 0.34.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,6 +3,7 @@
3
3
  module Cocina
4
4
  module Models
5
5
  class Sequence < Struct
6
+ attribute :members, Types::Strict::Array.of(Types::Strict::String).meta(omittable: true)
6
7
  # The direction that a sequence of canvases should be displayed to the user
7
8
  attribute :viewingDirection, Types::Strict::String.enum('right-to-left', 'left-to-right').meta(omittable: true)
8
9
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Cocina
4
4
  module Models
5
- VERSION = '0.31.0'
5
+ VERSION = '0.34.1'
6
6
  end
7
7
  end
@@ -96,6 +96,7 @@ components:
96
96
  Access:
97
97
  description: Access metadata
98
98
  type: object
99
+ additionalProperties: false
99
100
  properties:
100
101
  access:
101
102
  description: Access level
@@ -107,8 +108,28 @@ components:
107
108
  - 'citation-only'
108
109
  - 'dark'
109
110
  default: 'dark'
111
+ download:
112
+ description: Download access level for a file
113
+ type: string
114
+ enum:
115
+ - 'world'
116
+ - 'stanford'
117
+ - 'location-based'
118
+ - 'none'
119
+ default: 'none'
120
+ readLocation:
121
+ description: If access is "location-based", which location should have access.
122
+ type: string
123
+ enum:
124
+ - 'spec'
125
+ - 'music'
126
+ - 'ars'
127
+ - 'art'
128
+ - 'hoover'
129
+ - 'm&m'
110
130
  Administrative:
111
131
  type: object
132
+ additionalProperties: false
112
133
  properties:
113
134
  hasAdminPolicy:
114
135
  $ref: '#/components/schemas/Druid'
@@ -121,8 +142,11 @@ components:
121
142
  description: Administrative or Internal project this resource is a part of
122
143
  example: Google Books
123
144
  type: string
145
+ required:
146
+ - hasAdminPolicy
124
147
  AdminPolicy:
125
148
  type: object
149
+ additionalProperties: false
126
150
  properties:
127
151
  type:
128
152
  type: string
@@ -140,13 +164,14 @@ components:
140
164
  description:
141
165
  $ref: '#/components/schemas/Description'
142
166
  required:
167
+ - administrative
143
168
  - externalIdentifier
144
169
  - label
145
170
  - type
146
171
  - version
147
- - administrative
148
172
  AdminPolicyAdministrative:
149
173
  type: object
174
+ additionalProperties: false
150
175
  properties:
151
176
  defaultObjectRights:
152
177
  type: string
@@ -155,10 +180,13 @@ components:
155
180
  type: string
156
181
  hasAdminPolicy:
157
182
  type: string
183
+ required:
184
+ - hasAdminPolicy
158
185
  AppliesTo:
159
186
  description: Property model for indicating the parts, aspects, or versions of the resource to which a
160
187
  descriptive element is applicable.
161
188
  type: object
189
+ additionalProperties: false
162
190
  properties:
163
191
  appliesTo:
164
192
  type: array
@@ -166,6 +194,7 @@ components:
166
194
  $ref: "#/components/schemas/DescriptiveBasicValue"
167
195
  CatalogLink:
168
196
  type: object
197
+ additionalProperties: false
169
198
  required:
170
199
  - catalog
171
200
  - catalogRecordId
@@ -181,6 +210,7 @@ components:
181
210
  Collection:
182
211
  description: A group of Digital Repository Objects that indicate some type of conceptual grouping within the domain that is worth reusing across the system.
183
212
  type: object
213
+ additionalProperties: false
184
214
  properties:
185
215
  type:
186
216
  description: The content type of the Collection. Selected from an established set of values.
@@ -216,6 +246,7 @@ components:
216
246
  - access
217
247
  CollectionIdentification:
218
248
  type: object
249
+ additionalProperties: false
219
250
  properties:
220
251
  catalogLinks:
221
252
  type: array
@@ -225,6 +256,7 @@ components:
225
256
  description: Property model for describing agents contributing in some way to
226
257
  the creation and history of the resource
227
258
  type: object
259
+ additionalProperties: false
228
260
  properties:
229
261
  name:
230
262
  description: Names associated with a contributor.
@@ -246,6 +278,7 @@ components:
246
278
  DescriptiveAdminMetadata:
247
279
  description: Information about this description of the resource.
248
280
  type: object
281
+ additionalProperties: false
249
282
  properties:
250
283
  contributor:
251
284
  type: array
@@ -266,6 +299,7 @@ components:
266
299
  DescriptiveBasicValue:
267
300
  description: Value model for descriptive elements without recursive properties.
268
301
  type: object
302
+ additionalProperties: false
269
303
  properties:
270
304
  value:
271
305
  description: String value of the descriptive element.
@@ -299,6 +333,7 @@ components:
299
333
  DescriptiveStructuredValue:
300
334
  description: Value model for descriptive elements structured as typed values.
301
335
  type: object
336
+ additionalProperties: false
302
337
  properties:
303
338
  structuredValue:
304
339
  type: array
@@ -307,12 +342,14 @@ components:
307
342
  DescriptiveValue:
308
343
  description: Default value model for descriptive elements.
309
344
  type: object
345
+ additionalProperties: false
310
346
  allOf:
311
347
  - $ref: "#/components/schemas/DescriptiveBasicValue"
312
348
  - $ref: "#/components/schemas/DescriptiveStructuredValue"
313
349
  - $ref: "#/components/schemas/AppliesTo"
314
350
  DescriptiveValueRequired:
315
351
  type: object
352
+ additionalProperties: false
316
353
  allOf:
317
354
  - $ref: "#/components/schemas/DescriptiveValue"
318
355
  - anyOf:
@@ -320,10 +357,11 @@ components:
320
357
  required:
321
358
  - value
322
359
  - type: object
323
- - required:
360
+ required:
324
361
  - structuredValue
325
362
  Description:
326
363
  type: object
364
+ additionalProperties: false
327
365
  properties:
328
366
  title:
329
367
  description: Titles of the resource.
@@ -384,6 +422,7 @@ components:
384
422
  DRO:
385
423
  description: Domain-defined abstraction of a 'work'. Digital Repository Objects' abstraction is describable for our domain’s purposes, i.e. for management needs within our system.
386
424
  type: object
425
+ additionalProperties: false
387
426
  properties:
388
427
  type:
389
428
  description: The content type of the DRO. Selected from an established set of values.
@@ -426,13 +465,15 @@ components:
426
465
  geographic:
427
466
  $ref: '#/components/schemas/Geographic'
428
467
  required:
468
+ - access
469
+ - administrative
429
470
  - externalIdentifier
430
471
  - label
431
472
  - type
432
473
  - version
433
- - access
434
474
  DROAccess:
435
475
  type: object
476
+ additionalProperties: false
436
477
  properties:
437
478
  access:
438
479
  type: string
@@ -447,15 +488,43 @@ components:
447
488
  description: The human readable copyright statement that applies
448
489
  example: Copyright World Trade Organization
449
490
  type: string
491
+ embargo:
492
+ $ref: '#/components/schemas/Embargo'
493
+ download:
494
+ description: >
495
+ Download access level. This is used in the transition from Fedora as
496
+ a way to set a default download level at registration that is copied
497
+ down to all the files.
498
+
499
+ type: string
500
+ enum:
501
+ - 'world'
502
+ - 'stanford'
503
+ - 'location-based'
504
+ - 'none'
505
+ default: 'none'
506
+ readLocation:
507
+ description: >
508
+ If access is "location-based", which location should have access.
509
+ This is used in the transition from Fedora as a way to set a default
510
+ readLocation at registration that is copied down to all the files.
511
+
512
+ type: string
513
+ enum:
514
+ - 'spec'
515
+ - 'music'
516
+ - 'ars'
517
+ - 'art'
518
+ - 'hoover'
519
+ - 'm&m'
450
520
  useAndReproductionStatement:
451
521
  description: The human readable use and reproduction statement that applies
452
522
  example: Property rights reside with the repository. Literary rights reside with the creators of the documents or their heirs. To obtain permission to publish or reproduce, please contact the Public Services Librarian of the Dept. of Special Collections (http://library.stanford.edu/spc).
453
523
  type: string
454
- embargo:
455
- $ref: '#/components/schemas/Embargo'
456
524
  DROStructural:
457
525
  description: Structural metadata
458
526
  type: object
527
+ additionalProperties: false
459
528
  properties:
460
529
  contains:
461
530
  description: Filesets that contain the digital representations (Files)
@@ -478,6 +547,7 @@ components:
478
547
  example: 'druid:bc123df4567'
479
548
  Embargo:
480
549
  type: object
550
+ additionalProperties: false
481
551
  properties:
482
552
  releaseDate:
483
553
  description: Date when the Collection is released from an embargo.
@@ -503,35 +573,39 @@ components:
503
573
  Event:
504
574
  description: Property model for describing events in the history of the resource.
505
575
  type: object
506
- properties:
507
- type:
508
- description: Description of the event (creation, publication, etc.).
509
- type: string
510
- date:
511
- description: Dates associated with the event.
512
- type: array
513
- items:
514
- $ref: "#/components/schemas/DescriptiveValue"
515
- contributor:
516
- description: Contributors associated with the event.
517
- type: array
518
- items:
519
- $ref: "#/components/schemas/Contributor"
520
- location:
521
- description: Locations associated with the event.
522
- type: array
523
- items:
524
- $ref: "#/components/schemas/DescriptiveValue"
525
- note:
526
- description: Other information about the event.
527
- type: array
528
- items:
529
- $ref: "#/components/schemas/DescriptiveValue"
576
+ additionalProperties: false
530
577
  allOf:
531
578
  - $ref: "#/components/schemas/DescriptiveStructuredValue"
579
+ - type: object
580
+ additionalProperties: false
581
+ properties:
582
+ type:
583
+ description: Description of the event (creation, publication, etc.).
584
+ type: string
585
+ date:
586
+ description: Dates associated with the event.
587
+ type: array
588
+ items:
589
+ $ref: "#/components/schemas/DescriptiveValue"
590
+ contributor:
591
+ description: Contributors associated with the event.
592
+ type: array
593
+ items:
594
+ $ref: "#/components/schemas/Contributor"
595
+ location:
596
+ description: Locations associated with the event.
597
+ type: array
598
+ items:
599
+ $ref: "#/components/schemas/DescriptiveValue"
600
+ note:
601
+ description: Other information about the event.
602
+ type: array
603
+ items:
604
+ $ref: "#/components/schemas/DescriptiveValue"
532
605
  File:
533
606
  description: Binaries that are the basis of what our domain manages. Binaries here do not include metadata files generated for the domain's own management purposes.
534
607
  type: object
608
+ additionalProperties: false
535
609
  properties:
536
610
  type:
537
611
  description: The content type of the File.
@@ -572,6 +646,7 @@ components:
572
646
  required:
573
647
  - externalIdentifier
574
648
  - label
649
+ - filename
575
650
  - type
576
651
  - version
577
652
  - access
@@ -579,6 +654,7 @@ components:
579
654
  - hasMessageDigests
580
655
  FileAdministrative:
581
656
  type: object
657
+ additionalProperties: false
582
658
  properties:
583
659
  sdrPreserve:
584
660
  type: boolean
@@ -592,6 +668,7 @@ components:
592
668
  FileSet:
593
669
  description: Relevant groupings of Files. Also called a File Grouping.
594
670
  type: object
671
+ additionalProperties: false
595
672
  properties:
596
673
  type:
597
674
  description: The content type of the Fileset.
@@ -616,6 +693,7 @@ components:
616
693
  FileSetStructural:
617
694
  description: Structural metadata
618
695
  type: object
696
+ additionalProperties: false
619
697
  properties:
620
698
  contains:
621
699
  type: array
@@ -624,6 +702,7 @@ components:
624
702
  Geographic:
625
703
  description: Geographic metadata
626
704
  type: object
705
+ additionalProperties: false
627
706
  properties:
628
707
  iso19139:
629
708
  description: Geographic ISO 19139 XML metadata
@@ -632,9 +711,17 @@ components:
632
711
  - iso19139
633
712
  Identification:
634
713
  type: object
714
+ additionalProperties: false
635
715
  properties:
636
716
  sourceId:
637
717
  type: string
718
+ description: >
719
+ Unique identifier in some other system. This is because a large proportion of what is deposited in SDR,
720
+ historically and currently, are representations of objects that are also represented in other systems.
721
+ For example, digitized paper and A/V collections have physical manifestations, and those physical objects are managed
722
+ in systems that have their own identifiers. Similarly, books have barcodes, archival materials have collection numbers
723
+ and physical locations, etc. The sourceId allows determining if an item has been deposited before and where to
724
+ look for the original item if you're looking at its SDR representation.
638
725
  example: 'sul:PC0170_s3_Fiesta_Bowl_2012-01-02_210609_2026'
639
726
  catalogLinks:
640
727
  type: array
@@ -643,6 +730,7 @@ components:
643
730
  MessageDigest:
644
731
  description: The output of the message digest algorithm.
645
732
  type: object
733
+ additionalProperties: false
646
734
  properties:
647
735
  type:
648
736
  description: The algorithm that was used
@@ -659,6 +747,7 @@ components:
659
747
  Presentation:
660
748
  description: Presentation data for the File.
661
749
  type: object
750
+ additionalProperties: false
662
751
  properties:
663
752
  height:
664
753
  description: Height in pixels
@@ -669,6 +758,7 @@ components:
669
758
  ReleaseTag:
670
759
  description: A tag that indicates the item or collection should be released.
671
760
  type: object
761
+ additionalProperties: false
672
762
  required:
673
763
  - release
674
764
  properties:
@@ -696,6 +786,7 @@ components:
696
786
  RequestAdminPolicy:
697
787
  description: Same as an AdminPolicy, but doesn't have an externalIdentifier as one will be created
698
788
  type: object
789
+ additionalProperties: false
699
790
  properties:
700
791
  type:
701
792
  type: string
@@ -711,13 +802,14 @@ components:
711
802
  description:
712
803
  $ref: '#/components/schemas/Description'
713
804
  required:
805
+ - administrative
714
806
  - label
715
807
  - type
716
808
  - version
717
- - administrative
718
809
  RequestCollection:
719
810
  description: Same as a Collection, but doesn't have an externalIdentifier as one will be created
720
811
  type: object
812
+ additionalProperties: false
721
813
  properties:
722
814
  type:
723
815
  type: string
@@ -741,13 +833,15 @@ components:
741
833
  identification:
742
834
  $ref: '#/components/schemas/CollectionIdentification'
743
835
  required:
836
+ - access
837
+ - administrative
744
838
  - label
745
839
  - type
746
840
  - version
747
- - access
748
841
  RequestDRO:
749
842
  description: A request to create a DRO. This has the same general structure as a DRO but doesn't have externalIdentifier and doesn't require the access subschema. If no access subschema is provided, these values will be inherited from the AdminPolicy.
750
843
  type: object
844
+ additionalProperties: false
751
845
  properties:
752
846
  type:
753
847
  type: string
@@ -779,18 +873,21 @@ components:
779
873
  description:
780
874
  $ref: '#/components/schemas/Description'
781
875
  identification:
782
- $ref: '#/components/schemas/Identification'
876
+ $ref: '#/components/schemas/RequestIdentification'
783
877
  structural:
784
878
  $ref: '#/components/schemas/RequestDROStructural'
785
879
  geographic:
786
880
  $ref: '#/components/schemas/Geographic'
787
881
  required:
882
+ - administrative
883
+ - identification
788
884
  - label
789
885
  - type
790
886
  - version
791
887
  RequestDROStructural:
792
888
  description: Structural metadata
793
889
  type: object
890
+ additionalProperties: false
794
891
  properties:
795
892
  contains:
796
893
  type: array
@@ -806,6 +903,7 @@ components:
806
903
  type: string
807
904
  RequestFile:
808
905
  type: object
906
+ additionalProperties: false
809
907
  properties:
810
908
  type:
811
909
  type: string
@@ -845,6 +943,7 @@ components:
845
943
  - hasMessageDigests
846
944
  RequestFileSet:
847
945
  type: object
946
+ additionalProperties: false
848
947
  properties:
849
948
  type:
850
949
  type: string
@@ -864,15 +963,43 @@ components:
864
963
  RequestFileSetStructural:
865
964
  description: Structural metadata
866
965
  type: object
966
+ additionalProperties: false
867
967
  properties:
868
968
  contains:
869
969
  type: array
870
970
  items:
871
971
  $ref: '#/components/schemas/RequestFile'
972
+ RequestIdentification:
973
+ description: Same as a Identification, but requires a sourceId.
974
+ type: object
975
+ additionalProperties: false
976
+ properties:
977
+ sourceId:
978
+ type: string
979
+ description: >
980
+ Unique identifier in some other system. This is because a large proportion of what is deposited in SDR,
981
+ historically and currently, are representations of objects that are also represented in other systems.
982
+ For example, digitized paper and A/V collections have physical manifestations, and those physical objects are managed
983
+ in systems that have their own identifiers. Similarly, books have barcodes, archival materials have collection numbers
984
+ and physical locations, etc. The sourceId allows determining if an item has been deposited before and where to
985
+ look for the original item if you're looking at its SDR representation.
986
+ example: 'sul:PC0170_s3_Fiesta_Bowl_2012-01-02_210609_2026'
987
+ catalogLinks:
988
+ type: array
989
+ items:
990
+ $ref: '#/components/schemas/CatalogLink'
991
+ required:
992
+ - sourceId
872
993
  Sequence:
873
994
  description: A sequence or ordering of resources within a Collection or Object.
874
995
  type: object
996
+ additionalProperties: false
875
997
  properties:
998
+ members:
999
+ description: "Identifiers for Members in their stated Order for the Sequence."
1000
+ type: array
1001
+ items:
1002
+ type: string
876
1003
  viewingDirection:
877
1004
  description: The direction that a sequence of canvases should be displayed to the user
878
1005
  type: string
@@ -883,6 +1010,7 @@ components:
883
1010
  description: Property model for indicating the vocabulary, authority, or other
884
1011
  origin for a term, code, or identifier.
885
1012
  type: object
1013
+ additionalProperties: false
886
1014
  properties:
887
1015
  code:
888
1016
  description: Code representing the value source.