Skip to main content

Publication

A publication is a work that can be shared and consumed in a particular format.

type Publication implements Node {
id: ID!
content: Link
cover: Link
sample: Link
onlineSample: Link
protections: [Protection!]!
fulfillmentMethods: [FulfillmentMethod!]!
related: [RelationshipLink!]
contentSignedURL(
expires: DateTime!
webReaderProtection: Boolean
): ContentSignedLink
files(
orderBy: FileOrder
filterBy: FileFilter
first: Int
after: String
last: Int
before: String
): FileConnection!
archivedFiles(
orderBy: FileOrder
filterBy: FileFilter
first: Int
after: String
last: Int
before: String
): FileConnection!
licenses(
namespaceIds: [ID!]
filterBy: LicenseFilter
orderBy: LicenseOrder
first: Int
after: String
): LicenseConnection!
isbn: PublicationIdentifier!
created: DateTime!
updated: DateTime!
extractedMetadata: PublicationMetadata
metadata: PublicationMetadata
webReaderSignedURL(
expires: DateTime!
): URI!
newWebReaderSignedURL(
expires: DateTime!
): URI!
webReaderStagingSignedURL(
expires: DateTime!
): URI!
newWebReaderStagingSignedURL(
expires: DateTime!
): URI!
webReaderPreProdSignedURL(
expires: DateTime!
): URI!
newWebReaderPreProdSignedURL(
expires: DateTime!
): URI!
uploadUrl(
input: PublicationUploadUrlInput!
): URI!
namespaceId: ID!
namespace: Namespace
customAttributes: [Attribute!]!
}

Fields

Publication.id ● ID! non-null scalar

The ID of the publication, as an URI.

The link to the latest content file.

The link to the latest representation of the cover.

The link to the latest downloadable version of a freely-available sample.

The link to the latest online-readable version of a freely-available sample of the publication.

Publication.protections ● [Protection!]! non-null object

The list of the latest protections that have been applied to this publication.

Publication.fulfillmentMethods ● [FulfillmentMethod!]! non-null enum

The list of methods the content can be accessed with.

The list of links related to this publication. To help with the transition to the File Store.

A time limited signed URL of the latest content file.

Publication.contentSignedURL.expires ● DateTime! non-null scalar

When should that link expire. It should always be in the future.

Publication.contentSignedURL.webReaderProtection ● Boolean scalar

Whether or not to use the WebReader protection (only accepts range requests and binary-not the content). False by default.

Publication.files ● FileConnection! non-null object

A list of files for the publication.

Publication.files.orderBy ● FileOrder input

Ordering options for the files.

Publication.files.filterBy ● FileFilter input

Filtering options for the files.

Publication.files.first ● Int scalar

Returns the first n elements from the list.

Publication.files.after ● String scalar

Returns the elements in the list that come after the specified cursor.

Publication.files.last ● Int scalar

Returns the last n elements from the list.

Publication.files.before ● String scalar

Returns the elements in the list that come before the specified cursor.

Publication.archivedFiles ● FileConnection! non-null object

A list of archived files for the publication.

Publication.archivedFiles.orderBy ● FileOrder input

Ordering options for the files.

Publication.archivedFiles.filterBy ● FileFilter input

Filtering options for the archived files.

Publication.archivedFiles.first ● Int scalar

Returns the first n elements from the list.

Publication.archivedFiles.after ● String scalar

Returns the elements in the list that come after the specified cursor.

Publication.archivedFiles.last ● Int scalar

Returns the last n elements from the list.

Publication.archivedFiles.before ● String scalar

Returns the elements in the list that come before the specified cursor.

Publication.licenses ● LicenseConnection! non-null object

Get the licenses for this publication.

Publication.licenses.namespaceIds ● [ID!] list scalar

The namespaces to consider for the licenses' target.

Publication.licenses.filterBy ● LicenseFilter input

Filtering options for the licenses.

Publication.licenses.orderBy ● LicenseOrder input

Ordering options for the licenses.

Publication.licenses.first ● Int scalar

Returns the first n elements from the list.

Publication.licenses.after ● String scalar

Returns the elements in the list that come after the specified cursor.

Publication.isbn ● PublicationIdentifier! non-null scalar

The publicly-assigned identifier for this publication.

Publication.created ● DateTime! non-null scalar

The date and time at which the publication was first created.

Publication.updated ● DateTime! non-null scalar

The date and time at which the publication was last updated.

Publication.extractedMetadata ● PublicationMetadata object

The metadata that was automatically extracted from this publication.

Publication.metadata ● PublicationMetadata object

The metadata that was registered to this publication. If null, this publication should be considered still partially created.

Publication.webReaderSignedURL ● URI! non-null scalar

Returns a link for a web-reader session that is valid only until the expiration date.

Publication.webReaderSignedURL.expires ● DateTime! non-null scalar

When the reading session shoud expire. (notice that the web reader url itself might have a shorter lifetime!)

Publication.newWebReaderSignedURL ● URI! non-null scalar

Returns a link for the web-reader session that is valid only until the expiration date. NOTE: this should replace 'webReaderSignedURL' after transition to web reader is completed.

Publication.newWebReaderSignedURL.expires ● DateTime! non-null scalar

When the reading session shoud expire.

Publication.webReaderStagingSignedURL ● URI! non-null scalar

Returns a link for the web-reader session that is valid only until the expiration date, IN STAGING. NOTE: for testing purposes.

Publication.webReaderStagingSignedURL.expires ● DateTime! non-null scalar

When the reading session shoud expire.

Publication.newWebReaderStagingSignedURL ● URI! non-null scalar

Returns a link for the web-reader session that is valid only until the expiration date, IN STAGING. NOTE: for testing purposes.

Publication.newWebReaderStagingSignedURL.expires ● DateTime! non-null scalar

When the reading session shoud expire.

Publication.webReaderPreProdSignedURL ● URI! non-null scalar

Returns a link for the web-reader session that is valid only until the expiration date, IN PRE-PROD. NOTE: for testing purposes.

Publication.webReaderPreProdSignedURL.expires ● DateTime! non-null scalar

When the reading session shoud expire.

Publication.newWebReaderPreProdSignedURL ● URI! non-null scalar

Returns a link for the web-reader session that is valid only until the expiration date, IN PRE-PROD. NOTE: for testing purposes.

Publication.newWebReaderPreProdSignedURL.expires ● DateTime! non-null scalar

When the reading session shoud expire.

Publication.uploadUrl ● URI! non-null scalar

Get a signed URL to upload different resources associated with this publication.

Publication.uploadUrl.input ● PublicationUploadUrlInput! non-null input

Publication.namespaceId ● ID! non-null scalar

The ID of the publication's namespace.

Publication.namespace ● Namespace object

The publication's namespace.

Publication.customAttributes ● [Attribute!]! non-null object

A list of non typed attributes.

Interfaces

Node interface

An object with an ID.

Returned by

publication query ● publicationByISBN query ● publicationByISBNForNamespaces query ● publicationsByISBNs query ● pushPublicationMetadata mutation

Member of

CreatePublicationFromISBNPayload object ● CreatePublicationFromMetadataPayload object ● License object ● PublicationEdge object ● Share object ● UpdatePublicationMetadataPayload object

Implemented by

Entity union