diff --git a/data/schema.graphql b/data/schema.graphql index 918043d515c..3479828a45b 100644 --- a/data/schema.graphql +++ b/data/schema.graphql @@ -1825,11 +1825,15 @@ type Artist implements EntityWithFilterArtworksConnectionInterface & Node & Sear last: String location: String marketingCollections( + after: String + before: String category: String + first: Int isFeaturedArtistContent: Boolean + last: Int size: Int slugs: [String!] - ): [MarketingCollection] + ): [MarketingCollection!]! meta(page: ArtistPage = ABOUT): ArtistMeta! middle: String name: String @@ -9630,7 +9634,10 @@ type Fair implements EntityWithFilterArtworksConnectionInterface & Node { links(format: Format): String location: Location marketingCollectionSlugs: [String]! - marketingCollections(size: Int): [MarketingCollection]! + marketingCollections( + # Number of artworks to return + size: Int + ): [MarketingCollection]! mobileImage: Image name: String organizer: FairOrganizer @@ -11967,7 +11974,11 @@ type MarketPriceInsightsEdge { node: MarketPriceInsights } -type MarketingCollection { +type MarketingCollection implements Node { + artistIds: [String] + artworkIds: [String] + + # Artworks Elastic Search results artworksConnection( acquireable: Boolean additionalGeneIDs: [String] @@ -11997,13 +12008,19 @@ type MarketingCollection { input: FilterArtworksInput inquireableOnly: Boolean keyword: String + + # When true, will only return exact keyword match keywordMatchExact: Boolean last: Int locationCities: [String] majorPeriods: [String] + + # When true, will only return `marketable` works (not nude or provocative). marketable: Boolean marketingCollectionID: String materialsTerms: [String] + + # A string from the list of allocations, or * to denote all mediums medium: String offerable: Boolean page: Int @@ -12015,53 +12032,59 @@ type MarketingCollection { priceRange: String saleID: ID size: Int + + # Filter results by Artwork sizes sizes: [ArtworkSizes] sort: String tagID: String width: String ): FilterArtworksConnection category: String! - createdAt: ISO8601DateTime! - credit: String + createdAt( + format: String - # HTML description, derived from the markdown description + # A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones + timezone: String + ): String + credit: String description: String descriptionMarkdown: String featuredArtistExclusionIds: [String!]! + geneIds: [String] headerImage: String - # Unique ID for this marketing collection + # A globally unique ID. id: ID! - # Unique ID for this marketing collection + # A type-specific ID likely used as a database ID. internalID: ID! - - # Returns true if this collection has linked collections with members isDepartment: Boolean! isFeaturedArtistContent: Boolean! + keyword: String + + # Linked Collections linkedCollections: [MarketingCollectionGroup!]! priceGuidance: Float query: MarketingCollectionQuery! - # Returns collections by the same artist if more than 4 exist, otherwise returns collections from the same category - relatedCollections(size: Int = 10): [MarketingCollection!]! - - # ID of an artwork with highest merchandis ability + # Related Collections + relatedCollections( + # The number of Related Marketing Collections to return + size: Int = 10 + ): [MarketingCollection!]! representativeArtworkID: String - - # Show featured artists section in header. Defaults to true showFeaturedArtists: Boolean! - - # Show artworks rail in header. Defaults to true showHeaderArtworksRail: Boolean! slug: String! thumbnail: String - @deprecated( - reason: "If querying via Metaphysics use thumbnailImage instead." - ) thumbnailImage: Image title: String! - updatedAt: ISO8601DateTime! + updatedAt( + format: String + + # A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones + timezone: String + ): String } type MarketingCollectionCategory { @@ -12134,6 +12157,13 @@ type MarketingCollectionsRailHomeViewSection implements GenericHomeViewSection & ): MarketingCollectionConnection } +enum MarketingCollectionsSorts { + CREATED_AT_ASC + CREATED_AT_DESC + UPDATED_AT_ASC + UPDATED_AT_DESC +} + union Match = Article | Artist @@ -16399,6 +16429,8 @@ type Query { # The ID of the Credit Card id: String! ): CreditCard + + # Curated Marketing Collections curatedMarketingCollections(size: Int): [MarketingCollection] # A list of trending artists. Inferred from a manually curated collection of trending artworks. @@ -16612,19 +16644,29 @@ type Query { # Get price insights for a market. marketPriceInsights(artistId: ID!, medium: String!): MarketPriceInsights + + # Marketing Categories marketingCategories: [MarketingCollectionCategory!]! - # Find a marketing collection by ID or slug - marketingCollection(slug: String!): MarketingCollection + # Marketing Collection + marketingCollection( + # The slug or ID of the Marketing Collection + slug: String! + ): MarketingCollection - # An array of marketing collections. Defaults to returning all available collections if no args are passed + # A list of MarketingCollections marketingCollections( + after: String artistID: String + before: String category: String + first: Int isFeaturedArtistContent: Boolean + last: Int size: Int - slugs: [String!] - ): [MarketingCollection!] + slugs: [String] + sort: MarketingCollectionsSorts + ): [MarketingCollection!]! # A Search for Artists matchArtist( @@ -21156,6 +21198,9 @@ type Viewer { id: String! ): CreditCard + # Curated Marketing Collections + curatedMarketingCollections(size: Int): [MarketingCollection] + # A list of trending artists. Inferred from a manually curated collection of trending artworks. curatedTrendingArtists( # Returns the items in the list that come after the specified cursor. @@ -21364,13 +21409,29 @@ type Viewer { job(id: ID!): Job! jobs: [Job!]! markdown(content: String!): MarkdownContent + + # Marketing Categories + marketingCategories: [MarketingCollectionCategory!]! + + # Marketing Collection + marketingCollection( + # The slug or ID of the Marketing Collection + slug: String! + ): MarketingCollection + + # A list of MarketingCollections marketingCollections( + after: String artistID: String + before: String category: String + first: Int isFeaturedArtistContent: Boolean + last: Int size: Int - slugs: [String!] - ): [MarketingCollection] + slugs: [String] + sort: MarketingCollectionsSorts + ): [MarketingCollection!]! # A Search for Artists matchArtist( diff --git a/src/__generated__/ArtQuizTrendingCollections_viewer.graphql.ts b/src/__generated__/ArtQuizTrendingCollections_viewer.graphql.ts index 4aa1a50ba4b..01f20b10165 100644 --- a/src/__generated__/ArtQuizTrendingCollections_viewer.graphql.ts +++ b/src/__generated__/ArtQuizTrendingCollections_viewer.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<310e955ad964a985e86c57fd9b39fcd4>> + * @generated SignedSource<<39e29f79f8e8df8ad23436358feb360b>> * @lightSyntaxTransform * @nogrep */ @@ -14,7 +14,7 @@ export type ArtQuizTrendingCollections_viewer$data = { readonly marketingCollections: ReadonlyArray<{ readonly internalID: string; readonly " $fragmentSpreads": FragmentRefs<"ArtQuizTrendingCollection_collection">; - } | null | undefined> | null | undefined; + }>; readonly " $fragmentType": "ArtQuizTrendingCollections_viewer"; }; export type ArtQuizTrendingCollections_viewer$key = { diff --git a/src/__generated__/MarketingFeaturedArtworksRail_viewer.graphql.ts b/src/__generated__/MarketingFeaturedArtworksRail_viewer.graphql.ts index f353bff26f9..0266d031126 100644 --- a/src/__generated__/MarketingFeaturedArtworksRail_viewer.graphql.ts +++ b/src/__generated__/MarketingFeaturedArtworksRail_viewer.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<95f1b3de199128e9b1264f890edd8db6>> + * @generated SignedSource<<53097f48e71d4f490beacbb560d234c5>> * @lightSyntaxTransform * @nogrep */ @@ -20,7 +20,7 @@ export type MarketingFeaturedArtworksRail_viewer$data = { } | null | undefined; } | null | undefined> | null | undefined; } | null | undefined; - } | null | undefined> | null | undefined; + }>; readonly " $fragmentType": "MarketingFeaturedArtworksRail_viewer"; }; export type MarketingFeaturedArtworksRail_viewer$key = { diff --git a/src/__generated__/collectRoutes_ArtworkFilterQuery.graphql.ts b/src/__generated__/collectRoutes_ArtworkFilterQuery.graphql.ts index c261e37bb60..cc2b45c65a1 100644 --- a/src/__generated__/collectRoutes_ArtworkFilterQuery.graphql.ts +++ b/src/__generated__/collectRoutes_ArtworkFilterQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<7934ba4c6fbd23179e74d4c09ee039d3>> + * @generated SignedSource<<3d700f42d8ecdf300a8fb1c1d8ca3c59>> * @lightSyntaxTransform * @nogrep */ @@ -75,7 +75,7 @@ export type collectRoutes_ArtworkFilterQuery$data = { } | null | undefined; readonly marketingCollections: ReadonlyArray<{ readonly " $fragmentSpreads": FragmentRefs<"Collect_marketingCollections">; - }> | null | undefined; + }>; readonly viewer: { readonly artworksConnection: { readonly aggregations: ReadonlyArray<{