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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 351185ae4a546fbe541c76edd5125bb4a0d7cb369c896e277c66eeda2212e7ce
4
- data.tar.gz: 679fe34dd4861bb1627c38cba2fc1e84bfc5a1600e03be35dcedf52dfad3a80e
3
+ metadata.gz: 4303e7447ac07d23ba4075ed7a9ff66a098cf95f2b397fffee3cdd1a6f86a9b1
4
+ data.tar.gz: 5535dc06f87a9fd75490c71eae76a5db211a5a055e84956a2775c14703a9033e
5
5
  SHA512:
6
- metadata.gz: 78190242ee4ba071e54fa5c0f22344fae84819ebd2c80366feabebb727ae363775252a447f2df89fad1735e79c2a4bbd3f5e089058a4f93f9ba1a98698891751
7
- data.tar.gz: 72ab93abf8793848204471e7020ab610c16546b4c9586542456d60d95837f906e4e0d079976ac0acd9d07753d8bc14c4153b1b9239ec205ff77a54144e12cd30
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
- # rubocop:disable Metrics/MethodLength
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
- case basename
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)
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cocina
4
+ module Models
5
+ DOI = Types::String.constrained(
6
+ format: %r{^10\.(25740|80343)/[b-df-hjkmnp-tv-z]{2}[0-9]{3}[b-df-hjkmnp-tv-z]{2}[0-9]{4}$}i
7
+ )
8
+ end
9
+ end
@@ -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
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cocina
4
+ module Models
5
+ Purl = Types::String.constrained(
6
+ format: %r{^http://}i
7
+ )
8
+ end
9
+ 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
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Cocina
4
4
  module Models
5
- VERSION = '0.60.0'
5
+ VERSION = '0.61.3'
6
6
  end
7
7
  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
- description: Stanford persistent URL associated with the resource.
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
- sourceId:
1222
- $ref: '#/components/schemas/SourceId'
1222
+ barcode:
1223
+ $ref: '#/components/schemas/Barcode'
1223
1224
  catalogLinks:
1224
1225
  type: array
1225
1226
  items:
1226
1227
  $ref: '#/components/schemas/CatalogLink'
1227
- barcode:
1228
- $ref: '#/components/schemas/Barcode'
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
- description: Stanford persistent URL associated with the related resource.
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
- description: Same as a Identification, but requires a sourceId.
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
- sourceId:
1709
- $ref: '#/components/schemas/SourceId'
1714
+ barcode:
1715
+ $ref: '#/components/schemas/Barcode'
1710
1716
  catalogLinks:
1711
1717
  type: array
1712
1718
  items:
1713
1719
  $ref: '#/components/schemas/CatalogLink'
1714
- barcode:
1715
- $ref: '#/components/schemas/Barcode'
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.60.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-06-07 00:00:00.000000000 Z
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