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.
Publication.content
● Link
object
The link to the latest content file.
Publication.cover
● Link
object
The link to the latest representation of the cover.
Publication.sample
● Link
object
The link to the latest downloadable version of a freely-available sample.
Publication.onlineSample
● Link
object
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.
Publication.related
● [RelationshipLink!]
list object
The list of links related to this publication. To help with the transition to the File Store.
Publication.contentSignedURL
● ContentSignedLink
object
A time limited signed URL of the latest content file.
Publication.contentSignedURL.expires
●DateTime!
non-null scalarWhen 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
inputOrdering 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
inputOrdering 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 scalarThe 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 scalarWhen 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 scalarWhen 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 scalarWhen 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 scalarWhen 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 scalarWhen 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 scalarWhen 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