materio-d9/web/modules/custom/materio_graphql/graphql/materio_extension.base.grap...

253 lines
3.9 KiB
GraphQL

scalar Violation
interface NodeInterface {
id: Int!
uuid: String!
title: String!
path: String!
author: String
bundle: String!
}
interface SearchResultInterface {
id: Int!
uuid: String!
title: String!
path: String!
author: String
bundle: String!
#
short_description: String
body: String
linked_materials: [Materiau]
}
type Materiau implements NodeInterface & SearchResultInterface{
id: Int!
uuid: String!
title: String!
path: String!
author: String
bundle: String!
#
short_description: String
body: String
linked_materials: [Materiau]
#
linked_articles: [Article]
images: [Image]
videos: [VideoLink]
tags: [Tag]
thesaurus: [Thesaurus]
memo: String
attachments: [Filefield]
distributor: [Company]
manufacturer: [Company]
reference: String
samples: [Sample]
note: Note
note_id: Int
# famille: String
# index: Int
}
type Thematique implements NodeInterface & SearchResultInterface {
id: Int!
uuid: String!
title: String!
path: String!
author: String
bundle: String!
#
short_description: String
body: String
linked_materials: [Materiau]
#
images: [Image]
tags: [Tag]
memo: String
}
type Article implements NodeInterface {
id: Int!
uuid: String!
title: String!
path: String!
author: String
bundle: String!
#
body: String
linked_materials: [Materiau]
images: [Image]
videos: [VideoLink]
source: Link
showroom: Showroom
tags: [Tag]
thesaurus: [Thesaurus]
date: Date
memo: String
}
type Note {
id: Int!
contenu: String
target: Int
}
# type SearchResult {
# id: Int!
# uuid: String!
# title: String!
# bundle: String!
# path: String!
# short_description: String
# images: [Image]
# visuels: [Image]
# reference: String
# samples: [Sample]
# }
type Product {
id: Int!
uuid: String!
title: String
bundle: String
body: String
price_description: String
path: String
variations: [Variation]
}
type Variation {
id: Int!
uuid: String!
title: String
description: String
subscription_type: String
sku: String
price: Price
product_id: Int
# list_price
# billing_schedule
# license_expiration
# license_type
# field_multiple
}
type Price {
value: Int
currency: String
}
type Sample {
showroom: Showroom
location: String
}
type Filefield {
file: File!
description: String
}
type File {
fid: String!
uuid: String!
filename: String!
filemime: String!
filesize: String!
url: String!
}
type Link {
url: String
title: String
}
type Showroom {
id: Int!
uuid: String!
name: String!
images: [Image]
email: String
address: Address
phone: String
}
type Company {
id: Int!
uuid: String!
name: String!
description: String
attachments: [Filefield]
memo: String
note: Int
website: Link
departement: String
email: String
address: Address
phone: String
infos: String
}
type Tag {
id: Int!
uuid: String!
name: String!
}
type Thesaurus {
id: Int!
uuid: String!
name: String!
}
type Address {
langcode: String
country_code: String
administrative_area: String
locality: String
dependent_locality: String
postal_code: String
sorting_code: String
address_line1: String
address_line2: String
organization: String
given_name: String
additional_name: String
family_name: String
}
type Date {
start: String
end: String
}
type VideoLink {
url: String
}
type Image {
id: Int!
url: String!
alt: String
style_minicard: ImageStyle
style_minicard_url: String
style_linkedmaterialcard: ImageStyle
style_linkedmaterialcard_url: String
style_cardmedium: ImageStyle
style_cardmedium_url: String
style_cardfull: ImageStyle
style_cardfull_url: String
style_articlecardmedium: ImageStyle
style_articlecardmedium_url: String
style_hd: ImageStyle
style_hd_url: String
}
type ImageStyle {
width: Int
height: Int
url: String
}