Added metadata reconciliation types
Some checks failed
Docker Image CI / build (push) Has been cancelled

This commit is contained in:
2026-04-14 07:09:40 -04:00
parent bf7e57a274
commit a70d469c36

View File

@@ -111,17 +111,80 @@ export const typeDefs = gql`
userOverride: Boolean
}
# Array metadata field with provenance
type MetadataArrayField {
values: [String!]!
# Creator with role and provenance
# id: external ID from the source (e.g. Metron creator ID)
type Creator {
id: String
name: String!
role: String!
provenance: Provenance!
}
# Global Trade Item Number (ISBN + UPC) with provenance
type GTINField {
isbn: String
upc: String
provenance: Provenance!
userOverride: Boolean
}
# Creator with role and provenance
type Creator {
# External source identifier with provenance
# Matches Metron IDS[] and ComicVine/GCD equivalent IDs
type ExternalID {
source: MetadataSource!
externalId: String!
primary: Boolean
provenance: Provenance!
}
# Universe with optional designation (e.g. "Earth-616") and provenance
type UniverseField {
id: String
name: String!
role: String!
designation: String
provenance: Provenance!
}
# Story arc with position tracking
# number: this issue's position within the arc
type StoryArcField {
id: String
name: String!
number: Int
provenance: Provenance!
}
# Price in a specific country/currency
type PriceField {
country: String!
amount: Float!
currency: String
provenance: Provenance!
}
# Reprint reference
type ReprintField {
id: String
description: String!
provenance: Provenance!
}
# External URL with primary flag
type URLField {
url: String!
primary: Boolean
provenance: Provenance!
}
# Structured series-level metadata
# Separate from the series name field to avoid flattening rich series data
type SeriesInfo {
sortName: String
startYear: Int
issueCount: Int
volumeCount: Int
language: String
alternativeNames: [MetadataField!]
provenance: Provenance!
}
@@ -132,18 +195,28 @@ export const typeDefs = gql`
series: MetadataField
volume: MetadataField
issueNumber: MetadataField
collectionTitle: MetadataField
# Structured series info (sort name, start year, issue count, etc.)
seriesInfo: SeriesInfo
# Publication info
publisher: MetadataField
imprint: MetadataField
publicationDate: MetadataField
coverDate: MetadataField
storeDate: MetadataField
language: MetadataField
# Content
description: MetadataField
storyArcs: [MetadataField!]
notes: MetadataField
stories: [MetadataField!]
storyArcs: [StoryArcField!]
characters: [MetadataField!]
teams: [MetadataField!]
locations: [MetadataField!]
universes: [UniverseField!]
# Creators
creators: [Creator!]
@@ -157,11 +230,25 @@ export const typeDefs = gql`
pageCount: MetadataField
format: MetadataField
# Commercial
prices: [PriceField!]
gtin: GTINField
# Reprints
reprints: [ReprintField!]
# Ratings
communityRating: MetadataField
# Cover
coverImage: MetadataField
# External references
externalIDs: [ExternalID!]
urls: [URLField!]
# Tracking
lastModified: MetadataField
}
# Raw file details