Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide a public view of the data model for the access team #589

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
293 changes: 293 additions & 0 deletions openapi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1427,6 +1427,299 @@ components:
width:
description: Width in pixels
type: integer
PublicAccess:
type: object
oneOf:
- $ref: '#/components/schemas/CitationOnlyAccess'
- $ref: '#/components/schemas/ControlledDigitalLendingAccess'
- $ref: '#/components/schemas/LocationBasedAccess'
- $ref: '#/components/schemas/LocationBasedDownloadAccess'
- $ref: '#/components/schemas/StanfordAccess'
- $ref: '#/components/schemas/WorldAccess'
PublicAdministrative:
type: object
additionalProperties: false
properties:
releaseTags:
description: Tags for release
type: array
items:
$ref: '#/components/schemas/ReleaseTag'
PublicCollection:
description: A published representation of a group of Digital Repository Objects that indicate some type of conceptual grouping within the domain that is worth reusing across the system.
type: object
additionalProperties: false
properties:
cocinaVersion:
$ref: '#/components/schemas/CocinaVersion'
type:
description: The content type of the Collection. Selected from an established set of values.
type: string
enum:
- 'https://cocina.sul.stanford.edu/models/collection'
- 'https://cocina.sul.stanford.edu/models/curated-collection'
- 'https://cocina.sul.stanford.edu/models/user-collection'
- 'https://cocina.sul.stanford.edu/models/exhibit'
- 'https://cocina.sul.stanford.edu/models/series'
externalIdentifier:
$ref: '#/components/schemas/Druid'
label:
description: Primary processing label (can be same as title) for a Collection.
type: string
version:
description: Version for the Collection within SDR.
type: integer
access:
$ref: '#/components/schemas/PublicCollectionAccess'
administrative:
$ref: '#/components/schemas/Administrative'
description:
$ref: '#/components/schemas/Description'
identification:
$ref: '#/components/schemas/CollectionIdentification'
required:
- cocinaVersion
- description
- externalIdentifier
- label
- type
- version
- access
- administrative
- identification
PublicCollectionAccess:
description: Access metadata for collections
type: object
additionalProperties: false
properties:
view:
description: Access level
type: string
enum:
- 'world'
default: 'world'
copyright:
$ref: "#/components/schemas/Copyright"
useAndReproductionStatement:
$ref: "#/components/schemas/UseAndReproductionStatement"
license:
$ref: "#/components/schemas/License"
PublicDRO:
description: The public representation of a DRO for publishing to purl.
type: object
additionalProperties: false
properties:
cocinaVersion:
$ref: '#/components/schemas/CocinaVersion'
type:
description: The content type of the DRO. Selected from an established set of values.
type: string
enum:
- 'https://cocina.sul.stanford.edu/models/object'
- 'https://cocina.sul.stanford.edu/models/3d'
- 'https://cocina.sul.stanford.edu/models/agreement'
- 'https://cocina.sul.stanford.edu/models/book'
- 'https://cocina.sul.stanford.edu/models/document'
- 'https://cocina.sul.stanford.edu/models/geo'
- 'https://cocina.sul.stanford.edu/models/image'
- 'https://cocina.sul.stanford.edu/models/page'
- 'https://cocina.sul.stanford.edu/models/photograph'
- 'https://cocina.sul.stanford.edu/models/manuscript'
- 'https://cocina.sul.stanford.edu/models/map'
- 'https://cocina.sul.stanford.edu/models/media'
- 'https://cocina.sul.stanford.edu/models/track'
- 'https://cocina.sul.stanford.edu/models/webarchive-binary'
- 'https://cocina.sul.stanford.edu/models/webarchive-seed'
externalIdentifier:
$ref: '#/components/schemas/Druid'
label:
description: Primary processing label (can be same as title) for a DRO.
type: string
version:
description: Version for the DRO within SDR.
type: integer
access:
$ref: '#/components/schemas/PublicDROAccess'
administrative:
$ref: '#/components/schemas/PublicAdministrative'
description:
$ref: '#/components/schemas/Description'
identification:
$ref: '#/components/schemas/Identification'
structural:
$ref: '#/components/schemas/PublicStructural'
geographic:
$ref: '#/components/schemas/Geographic'
required:
- cocinaVersion
- access
- administrative
- description
- externalIdentifier
- label
- type
- version
- identification
- structural
PublicDROAccess:
type: object
additionalProperties: false
allOf:
- $ref: "#/components/schemas/PublicAccess"
- type: object
properties:
copyright:
$ref: "#/components/schemas/Copyright"
embargo:
$ref: '#/components/schemas/Embargo'
useAndReproductionStatement:
$ref: "#/components/schemas/UseAndReproductionStatement"
license:
$ref: "#/components/schemas/License"
PublicFile:
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.
type: object
additionalProperties: false
properties:
type:
description: The content type of the File.
type: string
enum:
- 'https://cocina.sul.stanford.edu/models/file'
externalIdentifier:
description: Identifier for the resource within the SDR architecture but outside of the repository. UUID. Constant across resource versions. What clients will use calling the repository.
type: string
label:
description: Primary processing label (can be same as title) for a File.
type: string
filename:
description: Filename for a file. Can be same as label.
type: string
size:
description: Size of the File (binary) in bytes.
type: integer
version:
description: Version for the File within SDR.
type: integer
hasMimeType:
description: MIME Type of the File.
type: string
use:
description: Use for the File.
type: string
hasMessageDigests:
type: array
items:
$ref: '#/components/schemas/MessageDigest'
access:
$ref: '#/components/schemas/PublicFileAccess'
administrative:
$ref: '#/components/schemas/FileAdministrative'
presentation:
$ref: '#/components/schemas/Presentation'
required:
- externalIdentifier
- label
- filename
- type
- version
- access
- administrative
- hasMessageDigests
PublicFileAccess:
description: Access metadata for published files
type: object
additionalProperties: false
oneOf:
- $ref: '#/components/schemas/ControlledDigitalLendingAccess'
- $ref: '#/components/schemas/LocationBasedAccess'
- $ref: '#/components/schemas/LocationBasedDownloadAccess'
- $ref: '#/components/schemas/StanfordAccess'
- $ref: '#/components/schemas/WorldAccess'
PublicFileSet:
description: Relevant groupings of publically displayable Files.
type: object
additionalProperties: false
properties:
type:
description: The content type of the Fileset.
type: string
enum:
- 'https://cocina.sul.stanford.edu/models/resources/audio'
- 'https://cocina.sul.stanford.edu/models/resources/attachment'
- 'https://cocina.sul.stanford.edu/models/resources/document'
- 'https://cocina.sul.stanford.edu/models/resources/file'
- 'https://cocina.sul.stanford.edu/models/resources/image'
- 'https://cocina.sul.stanford.edu/models/resources/media'
- 'https://cocina.sul.stanford.edu/models/resources/object'
- 'https://cocina.sul.stanford.edu/models/resources/page'
- 'https://cocina.sul.stanford.edu/models/resources/preview'
- 'https://cocina.sul.stanford.edu/models/resources/3d'
- 'https://cocina.sul.stanford.edu/models/resources/thumb'
- 'https://cocina.sul.stanford.edu/models/resources/video'
externalIdentifier:
type: string
label:
description: Primary processing label for a Fileset.
type: string
version:
description: Version for the Fileset within SDR.
type: integer
structural:
$ref: '#/components/schemas/PublicFileSetStructural'
required:
- externalIdentifier
- label
- type
- version
- structural
PublicFileSetStructural:
description: Structural metadata
type: object
additionalProperties: false
properties:
contains:
type: array
items:
$ref: '#/components/schemas/PublicFile'
PublicStructural:
description: Structural metadata
type: object
additionalProperties: false
properties:
contains:
description: Filesets that contain the digital representations (Files)
type: array
items:
$ref: '#/components/schemas/PublicFileSet'
hasMemberOrders:
description: Provided sequences or orderings of members, including some metadata about each sequence (i.e. sequence label, sequence type, if the sequence is primary, etc.).
type: array
items:
$ref: '#/components/schemas/Sequence'
isConstituentOf:
description: Virtual objects that this DRO is a member of
type: array
items:
$ref: '#/components/schemas/PublicVirtualObject'
isMemberOf:
description: Collections that this DRO is a member of
type: array
items:
$ref: '#/components/schemas/Druid'
PublicVirtualObject:
description: Summary of virtual object data.
type: object
additionalProperties: false
properties:
externalIdentifier:
$ref: '#/components/schemas/Druid'
displayTitle:
type: string
catalogLinks:
type: array
items:
$ref: '#/components/schemas/CatalogLink'
Purl:
description: Stanford persistent URL associated with the related resource.
type: string
Expand Down