cocina-models 0.60.0 → 0.61.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -0
- data/lib/cocina/models.rb +11 -19
- data/lib/cocina/models/admin_policy.rb +0 -1
- data/lib/cocina/models/collection.rb +0 -1
- data/lib/cocina/models/collection_identification.rb +1 -1
- data/lib/cocina/models/description.rb +1 -1
- data/lib/cocina/models/doi.rb +9 -0
- data/lib/cocina/models/dro.rb +0 -1
- data/lib/cocina/models/identification.rb +6 -3
- data/lib/cocina/models/purl.rb +9 -0
- data/lib/cocina/models/related_resource.rb +1 -1
- data/lib/cocina/models/request_admin_policy.rb +0 -1
- data/lib/cocina/models/request_collection.rb +0 -1
- data/lib/cocina/models/request_dro.rb +0 -1
- data/lib/cocina/models/request_identification.rb +3 -3
- data/lib/cocina/models/version.rb +1 -1
- data/openapi.yml +64 -58
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4303e7447ac07d23ba4075ed7a9ff66a098cf95f2b397fffee3cdd1a6f86a9b1
|
4
|
+
data.tar.gz: 5535dc06f87a9fd75490c71eae76a5db211a5a055e84956a2775c14703a9033e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ccb5589caceaea881e141bb1c152fffa638b23c095a38cf8d3c767b063cc963727f91dc6f55dbf501f1df5e05e41f6ee501e71ea823bd7858fbbfedc85449e56
|
7
|
+
data.tar.gz: 7352328c35d6c5bb1e479545712b5d5d5355cfa73e06fe6961b7fdf3e47b620641cf0dc265b51c37915758117d86eee8ddf9fae42b7aeaf1287ae694e9a550c1
|
data/README.md
CHANGED
@@ -72,6 +72,7 @@ Once the above listed steps have been completed, all the following applications
|
|
72
72
|
* [sul-dlss/google-books](https://github.com/sul-dlss/google-books/)
|
73
73
|
* [sul-dlss/argo](https://github.com/sul-dlss/argo/)
|
74
74
|
* [sul-dlss/pre-assembly](https://github.com/sul-dlss/pre-assembly/)
|
75
|
+
* [sul-dlss/hydra_etd](https://github.com/sul-dlss/hydra_etd/)
|
75
76
|
* [sul-dlss/hydrus](https://github.com/sul-dlss/hydrus/)
|
76
77
|
* [sul-dlss/happy-heron](https://github.com/sul-dlss/happy-heron/)
|
77
78
|
* [sul-dlss/infrastructure-integration-test](https://github.com/sul-dlss/infrastructure-integration-test/)
|
data/lib/cocina/models.rb
CHANGED
@@ -14,27 +14,19 @@ require 'thor'
|
|
14
14
|
|
15
15
|
# Help Zeitwerk find some of our classes
|
16
16
|
class CocinaModelsInflector < Zeitwerk::Inflector
|
17
|
-
|
17
|
+
INFLECTIONS = {
|
18
|
+
'doi' => 'DOI',
|
19
|
+
'dro' => 'DRO',
|
20
|
+
'request_dro' => 'RequestDRO',
|
21
|
+
'dro_access' => 'DROAccess',
|
22
|
+
'dro_structural' => 'DROStructural',
|
23
|
+
'request_dro_structural' => 'RequestDROStructural',
|
24
|
+
'version' => 'VERSION'
|
25
|
+
}.freeze
|
26
|
+
|
18
27
|
def camelize(basename, _abspath)
|
19
|
-
|
20
|
-
when 'dro'
|
21
|
-
'DRO'
|
22
|
-
when 'request_dro'
|
23
|
-
'RequestDRO'
|
24
|
-
when 'dro_access'
|
25
|
-
'DROAccess'
|
26
|
-
when 'dro_structural'
|
27
|
-
'DROStructural'
|
28
|
-
when 'request_dro_structural'
|
29
|
-
'RequestDROStructural'
|
30
|
-
when 'version'
|
31
|
-
'VERSION'
|
32
|
-
else
|
33
|
-
super
|
34
|
-
end
|
28
|
+
INFLECTIONS.fetch(basename) { super }
|
35
29
|
end
|
36
|
-
|
37
|
-
# rubocop:enable Metrics/MethodLength
|
38
30
|
end
|
39
31
|
|
40
32
|
loader = Zeitwerk::Loader.new
|
@@ -7,7 +7,6 @@ module Cocina
|
|
7
7
|
|
8
8
|
TYPES = ['http://cocina.sul.stanford.edu/models/admin_policy.jsonld'].freeze
|
9
9
|
|
10
|
-
# example: item
|
11
10
|
attribute :type, Types::Strict::String.enum(*AdminPolicy::TYPES)
|
12
11
|
# example: druid:bc123df4567
|
13
12
|
attribute :externalIdentifier, Types::Strict::String
|
@@ -12,7 +12,6 @@ module Cocina
|
|
12
12
|
'http://cocina.sul.stanford.edu/models/series.jsonld'].freeze
|
13
13
|
|
14
14
|
# The content type of the Collection. Selected from an established set of values.
|
15
|
-
# example: item
|
16
15
|
attribute :type, Types::Strict::String.enum(*Collection::TYPES)
|
17
16
|
# example: druid:bc123df4567
|
18
17
|
attribute :externalIdentifier, Types::Strict::String
|
@@ -3,11 +3,11 @@
|
|
3
3
|
module Cocina
|
4
4
|
module Models
|
5
5
|
class CollectionIdentification < Struct
|
6
|
+
attribute :catalogLinks, Types::Strict::Array.of(CatalogLink).meta(omittable: true)
|
6
7
|
# Unique identifier in some other system. This is because a large proportion of what is deposited in SDR, historically and currently, are representations of objects that are also represented in other systems. For example, digitized paper and A/V collections have physical manifestations, and those physical objects are managed in systems that have their own identifiers. Similarly, books have barcodes, archival materials have collection numbers and physical locations, etc. The sourceId allows determining if an item has been deposited before and where to look for the original item if you're looking at its SDR representation. The format is: "namespace:identifier"
|
7
8
|
|
8
9
|
# example: sul:PC0170_s3_Fiesta_Bowl_2012-01-02_210609_2026
|
9
10
|
attribute :sourceId, Types::Strict::String.meta(omittable: true)
|
10
|
-
attribute :catalogLinks, Types::Strict::Array.of(CatalogLink).meta(omittable: true)
|
11
11
|
end
|
12
12
|
end
|
13
13
|
end
|
@@ -12,7 +12,7 @@ module Cocina
|
|
12
12
|
attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
13
13
|
attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
14
14
|
attribute :subject, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
15
|
-
# Stanford persistent URL associated with the resource.
|
15
|
+
# Stanford persistent URL associated with the related resource. Note this is http, not https.
|
16
16
|
attribute :purl, Types::Strict::String.meta(omittable: true)
|
17
17
|
attribute :access, DescriptiveAccessMetadata.optional.meta(omittable: true)
|
18
18
|
attribute :relatedResource, Types::Strict::Array.of(RelatedResource).meta(omittable: true)
|
data/lib/cocina/models/dro.rb
CHANGED
@@ -22,7 +22,6 @@ module Cocina
|
|
22
22
|
'http://cocina.sul.stanford.edu/models/webarchive-seed.jsonld'].freeze
|
23
23
|
|
24
24
|
# The content type of the DRO. Selected from an established set of values.
|
25
|
-
# example: item
|
26
25
|
attribute :type, Types::Strict::String.enum(*DRO::TYPES)
|
27
26
|
# example: druid:bc123df4567
|
28
27
|
attribute :externalIdentifier, Types::Strict::String
|
@@ -3,13 +3,16 @@
|
|
3
3
|
module Cocina
|
4
4
|
module Models
|
5
5
|
class Identification < Struct
|
6
|
+
# A barcode
|
7
|
+
attribute :barcode, Types::Nominal::Any.meta(omittable: true)
|
8
|
+
attribute :catalogLinks, Types::Strict::Array.of(CatalogLink).meta(omittable: true)
|
9
|
+
# Digital Object Identifier (https://www.doi.org)
|
10
|
+
# example: 10.25740/druid:bc123df4567
|
11
|
+
attribute :doi, Types::Strict::String.meta(omittable: true)
|
6
12
|
# Unique identifier in some other system. This is because a large proportion of what is deposited in SDR, historically and currently, are representations of objects that are also represented in other systems. For example, digitized paper and A/V collections have physical manifestations, and those physical objects are managed in systems that have their own identifiers. Similarly, books have barcodes, archival materials have collection numbers and physical locations, etc. The sourceId allows determining if an item has been deposited before and where to look for the original item if you're looking at its SDR representation. The format is: "namespace:identifier"
|
7
13
|
|
8
14
|
# example: sul:PC0170_s3_Fiesta_Bowl_2012-01-02_210609_2026
|
9
15
|
attribute :sourceId, Types::Strict::String.meta(omittable: true)
|
10
|
-
attribute :catalogLinks, Types::Strict::Array.of(CatalogLink).meta(omittable: true)
|
11
|
-
# A barcode
|
12
|
-
attribute :barcode, Types::Nominal::Any.meta(omittable: true)
|
13
16
|
end
|
14
17
|
end
|
15
18
|
end
|
@@ -18,7 +18,7 @@ module Cocina
|
|
18
18
|
attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
19
19
|
attribute :standard, Standard.optional.meta(omittable: true)
|
20
20
|
attribute :subject, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
21
|
-
# Stanford persistent URL associated with the related resource.
|
21
|
+
# Stanford persistent URL associated with the related resource. Note this is http, not https.
|
22
22
|
attribute :purl, Types::Strict::String.meta(omittable: true)
|
23
23
|
attribute :access, DescriptiveAccessMetadata.optional.meta(omittable: true)
|
24
24
|
attribute :relatedResource, Types::Strict::Array.of(RelatedResource).meta(omittable: true)
|
@@ -7,7 +7,6 @@ module Cocina
|
|
7
7
|
|
8
8
|
TYPES = ['http://cocina.sul.stanford.edu/models/admin_policy.jsonld'].freeze
|
9
9
|
|
10
|
-
# example: item
|
11
10
|
attribute :type, Types::Strict::String.enum(*RequestAdminPolicy::TYPES)
|
12
11
|
attribute :label, Types::Strict::String
|
13
12
|
attribute :version, Types::Strict::Integer
|
@@ -11,7 +11,6 @@ module Cocina
|
|
11
11
|
'http://cocina.sul.stanford.edu/models/exhibit.jsonld',
|
12
12
|
'http://cocina.sul.stanford.edu/models/series.jsonld'].freeze
|
13
13
|
|
14
|
-
# example: item
|
15
14
|
attribute :type, Types::Strict::String.enum(*RequestCollection::TYPES)
|
16
15
|
attribute :label, Types::Strict::String
|
17
16
|
attribute :version, Types::Strict::Integer
|
@@ -21,7 +21,6 @@ module Cocina
|
|
21
21
|
'http://cocina.sul.stanford.edu/models/webarchive-binary.jsonld',
|
22
22
|
'http://cocina.sul.stanford.edu/models/webarchive-seed.jsonld'].freeze
|
23
23
|
|
24
|
-
# example: item
|
25
24
|
attribute :type, Types::Strict::String.enum(*RequestDRO::TYPES)
|
26
25
|
attribute :label, Types::Strict::String
|
27
26
|
attribute :version, Types::Strict::Integer
|
@@ -3,13 +3,13 @@
|
|
3
3
|
module Cocina
|
4
4
|
module Models
|
5
5
|
class RequestIdentification < Struct
|
6
|
+
# A barcode
|
7
|
+
attribute :barcode, Types::Nominal::Any.meta(omittable: true)
|
8
|
+
attribute :catalogLinks, Types::Strict::Array.of(CatalogLink).meta(omittable: true)
|
6
9
|
# Unique identifier in some other system. This is because a large proportion of what is deposited in SDR, historically and currently, are representations of objects that are also represented in other systems. For example, digitized paper and A/V collections have physical manifestations, and those physical objects are managed in systems that have their own identifiers. Similarly, books have barcodes, archival materials have collection numbers and physical locations, etc. The sourceId allows determining if an item has been deposited before and where to look for the original item if you're looking at its SDR representation. The format is: "namespace:identifier"
|
7
10
|
|
8
11
|
# example: sul:PC0170_s3_Fiesta_Bowl_2012-01-02_210609_2026
|
9
12
|
attribute :sourceId, Types::Strict::String
|
10
|
-
attribute :catalogLinks, Types::Strict::Array.of(CatalogLink).meta(omittable: true)
|
11
|
-
# A barcode
|
12
|
-
attribute :barcode, Types::Nominal::Any.meta(omittable: true)
|
13
13
|
end
|
14
14
|
end
|
15
15
|
end
|
data/openapi.yml
CHANGED
@@ -176,7 +176,6 @@ components:
|
|
176
176
|
type: string
|
177
177
|
enum:
|
178
178
|
- 'http://cocina.sul.stanford.edu/models/admin_policy.jsonld'
|
179
|
-
example: item
|
180
179
|
externalIdentifier:
|
181
180
|
$ref: '#/components/schemas/Druid'
|
182
181
|
label:
|
@@ -308,12 +307,12 @@ components:
|
|
308
307
|
description: The barcode associated with a business library DRO object, prefixed with 2050
|
309
308
|
type: string
|
310
309
|
pattern: '^2050[0-9]{7}$'
|
311
|
-
example: 20503740296
|
310
|
+
example: '20503740296'
|
312
311
|
LaneMedicalBarcode:
|
313
312
|
description: The barcode associated with a Lane Medical Library DRO object, prefixed with 245
|
314
313
|
type: string
|
315
314
|
pattern: '^245[0-9]{8}$'
|
316
|
-
example: 24503259768
|
315
|
+
example: '24503259768'
|
317
316
|
CatalogLink:
|
318
317
|
type: object
|
319
318
|
additionalProperties: false
|
@@ -328,12 +327,12 @@ components:
|
|
328
327
|
catalogRecordId:
|
329
328
|
description: Record identifier that is unique within the context of the linked record's catalog.
|
330
329
|
type: string
|
331
|
-
example: 11403803
|
330
|
+
example: '11403803'
|
332
331
|
CatkeyBarcode:
|
333
332
|
description: The barcode associated with a DRO object based on catkey, prefixed with 36105
|
334
333
|
type: string
|
335
334
|
pattern: '^[0-9]+-[0-9]+$'
|
336
|
-
example: 6772719-1001
|
335
|
+
example: '6772719-1001'
|
337
336
|
CitationOnlyAccess:
|
338
337
|
type: object
|
339
338
|
properties:
|
@@ -375,7 +374,6 @@ components:
|
|
375
374
|
- 'http://cocina.sul.stanford.edu/models/user-collection.jsonld'
|
376
375
|
- 'http://cocina.sul.stanford.edu/models/exhibit.jsonld'
|
377
376
|
- 'http://cocina.sul.stanford.edu/models/series.jsonld'
|
378
|
-
example: item
|
379
377
|
externalIdentifier:
|
380
378
|
$ref: '#/components/schemas/Druid'
|
381
379
|
label:
|
@@ -426,12 +424,12 @@ components:
|
|
426
424
|
type: object
|
427
425
|
additionalProperties: false
|
428
426
|
properties:
|
429
|
-
sourceId:
|
430
|
-
$ref: '#/components/schemas/SourceId'
|
431
427
|
catalogLinks:
|
432
428
|
type: array
|
433
429
|
items:
|
434
430
|
$ref: '#/components/schemas/CatalogLink'
|
431
|
+
sourceId:
|
432
|
+
$ref: '#/components/schemas/SourceId'
|
435
433
|
Contributor:
|
436
434
|
description: Property model for describing agents contributing in some way to
|
437
435
|
the creation and history of the resource.
|
@@ -582,9 +580,7 @@ components:
|
|
582
580
|
items:
|
583
581
|
$ref: "#/components/schemas/DescriptiveValue"
|
584
582
|
purl:
|
585
|
-
|
586
|
-
type: string
|
587
|
-
format: uri
|
583
|
+
$ref: "#/components/schemas/Purl"
|
588
584
|
access:
|
589
585
|
$ref: "#/components/schemas/DescriptiveAccessMetadata"
|
590
586
|
relatedResource:
|
@@ -879,6 +875,12 @@ components:
|
|
879
875
|
$ref: '#/components/schemas/Standard'
|
880
876
|
# description: An alphabet or other notation used to represent a
|
881
877
|
# language or other symbolic system of the descriptive element value.
|
878
|
+
DOI:
|
879
|
+
type: string
|
880
|
+
description: Digital Object Identifier (https://www.doi.org)
|
881
|
+
# The prod and test prefixes are permitted
|
882
|
+
pattern: '^10\.(25740|80343)\/[b-df-hjkmnp-tv-z]{2}[0-9]{3}[b-df-hjkmnp-tv-z]{2}[0-9]{4}$'
|
883
|
+
example: '10.25740/bc123df4567'
|
882
884
|
DRO:
|
883
885
|
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.
|
884
886
|
type: object
|
@@ -903,7 +905,6 @@ components:
|
|
903
905
|
- 'http://cocina.sul.stanford.edu/models/track.jsonld'
|
904
906
|
- 'http://cocina.sul.stanford.edu/models/webarchive-binary.jsonld'
|
905
907
|
- 'http://cocina.sul.stanford.edu/models/webarchive-seed.jsonld'
|
906
|
-
example: item
|
907
908
|
externalIdentifier:
|
908
909
|
$ref: '#/components/schemas/Druid'
|
909
910
|
label:
|
@@ -953,36 +954,36 @@ components:
|
|
953
954
|
description: The license governing reuse of the DRO. Should be an IRI for known licenses (i.e. CC, RightsStatement.org URI, etc.).
|
954
955
|
type: string
|
955
956
|
enum:
|
956
|
-
- https://www.gnu.org/licenses/agpl.txt
|
957
|
-
- https://www.apache.org/licenses/LICENSE-2.0
|
958
|
-
- https://opensource.org/licenses/BSD-2-Clause
|
959
|
-
- https://opensource.org/licenses/BSD-3-Clause
|
960
|
-
- https://creativecommons.org/licenses/by/4.0/legalcode
|
961
|
-
- https://creativecommons.org/licenses/by-nc/4.0/legalcode
|
962
|
-
- https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode
|
963
|
-
- https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode
|
964
|
-
- https://creativecommons.org/licenses/by-nd/4.0/legalcode
|
965
|
-
- https://creativecommons.org/licenses/by-sa/4.0/legalcode
|
966
|
-
- https://creativecommons.org/publicdomain/zero/1.0/legalcode
|
967
|
-
- https://opensource.org/licenses/cddl1
|
968
|
-
- https://www.eclipse.org/legal/epl-2.0
|
969
|
-
- https://www.gnu.org/licenses/gpl-3.0-standalone.html
|
970
|
-
- https://www.isc.org/downloads/software-support-policy/isc-license/
|
971
|
-
- https://www.gnu.org/licenses/lgpl-3.0-standalone.html
|
972
|
-
- https://opensource.org/licenses/MIT
|
973
|
-
- https://www.mozilla.org/MPL/2.0/
|
974
|
-
- https://opendatacommons.org/licenses/by/1-0/
|
975
|
-
- http://opendatacommons.org/licenses/odbl/1.0/ # Non cannonical, but in some of our data
|
976
|
-
- https://opendatacommons.org/licenses/odbl/1-0/
|
977
|
-
- https://creativecommons.org/publicdomain/mark/1.0/
|
978
|
-
- https://opendatacommons.org/licenses/pddl/1-0/
|
979
|
-
- https://creativecommons.org/licenses/by/3.0/legalcode
|
980
|
-
- https://creativecommons.org/licenses/by-sa/3.0/legalcode
|
981
|
-
- https://creativecommons.org/licenses/by-nd/3.0/legalcode
|
982
|
-
- https://creativecommons.org/licenses/by-nc/3.0/legalcode
|
983
|
-
- https://creativecommons.org/licenses/by-nc-sa/3.0/legalcode
|
984
|
-
- https://creativecommons.org/licenses/by-nc-nd/3.0/legalcode
|
985
|
-
- http://cocina.sul.stanford.edu/licenses/none # Only used in some legacy ETDs and not actually permitted per the Project Chimera docs.
|
957
|
+
- 'https://www.gnu.org/licenses/agpl.txt'
|
958
|
+
- 'https://www.apache.org/licenses/LICENSE-2.0'
|
959
|
+
- 'https://opensource.org/licenses/BSD-2-Clause'
|
960
|
+
- 'https://opensource.org/licenses/BSD-3-Clause'
|
961
|
+
- 'https://creativecommons.org/licenses/by/4.0/legalcode'
|
962
|
+
- 'https://creativecommons.org/licenses/by-nc/4.0/legalcode'
|
963
|
+
- 'https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode'
|
964
|
+
- 'https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode'
|
965
|
+
- 'https://creativecommons.org/licenses/by-nd/4.0/legalcode'
|
966
|
+
- 'https://creativecommons.org/licenses/by-sa/4.0/legalcode'
|
967
|
+
- 'https://creativecommons.org/publicdomain/zero/1.0/legalcode'
|
968
|
+
- 'https://opensource.org/licenses/cddl1'
|
969
|
+
- 'https://www.eclipse.org/legal/epl-2.0'
|
970
|
+
- 'https://www.gnu.org/licenses/gpl-3.0-standalone.html'
|
971
|
+
- 'https://www.isc.org/downloads/software-support-policy/isc-license/'
|
972
|
+
- 'https://www.gnu.org/licenses/lgpl-3.0-standalone.html'
|
973
|
+
- 'https://opensource.org/licenses/MIT'
|
974
|
+
- 'https://www.mozilla.org/MPL/2.0/'
|
975
|
+
- 'https://opendatacommons.org/licenses/by/1-0/'
|
976
|
+
- 'http://opendatacommons.org/licenses/odbl/1.0/' # Non cannonical, but in some of our data
|
977
|
+
- 'https://opendatacommons.org/licenses/odbl/1-0/'
|
978
|
+
- 'https://creativecommons.org/publicdomain/mark/1.0/'
|
979
|
+
- 'https://opendatacommons.org/licenses/pddl/1-0/'
|
980
|
+
- 'https://creativecommons.org/licenses/by/3.0/legalcode'
|
981
|
+
- 'https://creativecommons.org/licenses/by-sa/3.0/legalcode'
|
982
|
+
- 'https://creativecommons.org/licenses/by-nd/3.0/legalcode'
|
983
|
+
- 'https://creativecommons.org/licenses/by-nc/3.0/legalcode'
|
984
|
+
- 'https://creativecommons.org/licenses/by-nc-sa/3.0/legalcode'
|
985
|
+
- 'https://creativecommons.org/licenses/by-nc-nd/3.0/legalcode'
|
986
|
+
- 'http://cocina.sul.stanford.edu/licenses/none' # Only used in some legacy ETDs and not actually permitted per the Project Chimera docs.
|
986
987
|
DROStructural:
|
987
988
|
description: Structural metadata
|
988
989
|
type: object
|
@@ -1218,14 +1219,16 @@ components:
|
|
1218
1219
|
type: object
|
1219
1220
|
additionalProperties: false
|
1220
1221
|
properties:
|
1221
|
-
|
1222
|
-
$ref: '#/components/schemas/
|
1222
|
+
barcode:
|
1223
|
+
$ref: '#/components/schemas/Barcode'
|
1223
1224
|
catalogLinks:
|
1224
1225
|
type: array
|
1225
1226
|
items:
|
1226
1227
|
$ref: '#/components/schemas/CatalogLink'
|
1227
|
-
|
1228
|
-
$ref: '#/components/schemas/
|
1228
|
+
doi:
|
1229
|
+
$ref: '#/components/schemas/DOI'
|
1230
|
+
sourceId:
|
1231
|
+
$ref: '#/components/schemas/SourceId'
|
1229
1232
|
Language:
|
1230
1233
|
description: Languages, scripts, symbolic systems, and notations used in all
|
1231
1234
|
or part of a resource or its descriptive metadata.
|
@@ -1389,6 +1392,12 @@ components:
|
|
1389
1392
|
width:
|
1390
1393
|
description: Width in pixels
|
1391
1394
|
type: integer
|
1395
|
+
Purl:
|
1396
|
+
description: Stanford persistent URL associated with the related resource. Note this is http, not https.
|
1397
|
+
type: string
|
1398
|
+
format: uri
|
1399
|
+
# Canonical URI is http, even though this redirects to https.
|
1400
|
+
pattern: '^http:\/\/'
|
1392
1401
|
RelatedResource:
|
1393
1402
|
description: Other resource associated with the described resource.
|
1394
1403
|
type: object
|
@@ -1450,9 +1459,7 @@ components:
|
|
1450
1459
|
items:
|
1451
1460
|
$ref: "#/components/schemas/DescriptiveValue"
|
1452
1461
|
purl:
|
1453
|
-
|
1454
|
-
type: string
|
1455
|
-
format: uri
|
1462
|
+
$ref: "#/components/schemas/Purl"
|
1456
1463
|
access:
|
1457
1464
|
$ref: "#/components/schemas/DescriptiveAccessMetadata"
|
1458
1465
|
relatedResource:
|
@@ -1505,7 +1512,6 @@ components:
|
|
1505
1512
|
type: string
|
1506
1513
|
enum:
|
1507
1514
|
- 'http://cocina.sul.stanford.edu/models/admin_policy.jsonld'
|
1508
|
-
example: item
|
1509
1515
|
label:
|
1510
1516
|
type: string
|
1511
1517
|
version:
|
@@ -1532,7 +1538,6 @@ components:
|
|
1532
1538
|
- 'http://cocina.sul.stanford.edu/models/user-collection.jsonld'
|
1533
1539
|
- 'http://cocina.sul.stanford.edu/models/exhibit.jsonld'
|
1534
1540
|
- 'http://cocina.sul.stanford.edu/models/series.jsonld'
|
1535
|
-
example: item
|
1536
1541
|
label:
|
1537
1542
|
type: string
|
1538
1543
|
version:
|
@@ -1574,7 +1579,6 @@ components:
|
|
1574
1579
|
- 'http://cocina.sul.stanford.edu/models/track.jsonld'
|
1575
1580
|
- 'http://cocina.sul.stanford.edu/models/webarchive-binary.jsonld'
|
1576
1581
|
- 'http://cocina.sul.stanford.edu/models/webarchive-seed.jsonld'
|
1577
|
-
example: item
|
1578
1582
|
label:
|
1579
1583
|
type: string
|
1580
1584
|
version:
|
@@ -1701,18 +1705,20 @@ components:
|
|
1701
1705
|
items:
|
1702
1706
|
$ref: '#/components/schemas/RequestFile'
|
1703
1707
|
RequestIdentification:
|
1704
|
-
|
1708
|
+
# Doesn't permit a DOI because our DOIs all use the DRUID as part of the DOI.
|
1709
|
+
# You have to register the object in order to get the DRUID before you can mint a DOI
|
1710
|
+
description: Same as a Identification, but requires a sourceId and doesn't permit a DOI.
|
1705
1711
|
type: object
|
1706
1712
|
additionalProperties: false
|
1707
1713
|
properties:
|
1708
|
-
|
1709
|
-
$ref: '#/components/schemas/
|
1714
|
+
barcode:
|
1715
|
+
$ref: '#/components/schemas/Barcode'
|
1710
1716
|
catalogLinks:
|
1711
1717
|
type: array
|
1712
1718
|
items:
|
1713
1719
|
$ref: '#/components/schemas/CatalogLink'
|
1714
|
-
|
1715
|
-
$ref: '#/components/schemas/
|
1720
|
+
sourceId:
|
1721
|
+
$ref: '#/components/schemas/SourceId'
|
1716
1722
|
required:
|
1717
1723
|
- sourceId
|
1718
1724
|
Sequence:
|
@@ -1796,7 +1802,7 @@ components:
|
|
1796
1802
|
description: The standard barcode associated with a DRO object, prefixed with 36105
|
1797
1803
|
type: string
|
1798
1804
|
pattern: '^36105[0-9]{9}$'
|
1799
|
-
example: 36105010362304
|
1805
|
+
example: '36105010362304'
|
1800
1806
|
Title:
|
1801
1807
|
type: object
|
1802
1808
|
additionalProperties: false
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocina-models
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.61.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Coyne
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-07-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -284,6 +284,7 @@ files:
|
|
284
284
|
- lib/cocina/models/descriptive_structured_value.rb
|
285
285
|
- lib/cocina/models/descriptive_value.rb
|
286
286
|
- lib/cocina/models/descriptive_value_language.rb
|
287
|
+
- lib/cocina/models/doi.rb
|
287
288
|
- lib/cocina/models/dro.rb
|
288
289
|
- lib/cocina/models/dro_access.rb
|
289
290
|
- lib/cocina/models/dro_structural.rb
|
@@ -303,6 +304,7 @@ files:
|
|
303
304
|
- lib/cocina/models/location_based_download_access.rb
|
304
305
|
- lib/cocina/models/message_digest.rb
|
305
306
|
- lib/cocina/models/presentation.rb
|
307
|
+
- lib/cocina/models/purl.rb
|
306
308
|
- lib/cocina/models/related_resource.rb
|
307
309
|
- lib/cocina/models/release_tag.rb
|
308
310
|
- lib/cocina/models/request_admin_policy.rb
|