215 lines
3.2 KiB
GraphQL
215 lines
3.2 KiB
GraphQL
scalar Violation
|
|
|
|
interface NodeInterface {
|
|
id: Int!
|
|
path: String!
|
|
}
|
|
|
|
type Materiau implements NodeInterface {
|
|
id: Int!
|
|
uuid: String!
|
|
title: String!
|
|
path: String!
|
|
author: String
|
|
body: String
|
|
short_description: String
|
|
linked_materials: [Materiau]
|
|
linked_articles: [Article]
|
|
images: [Image]
|
|
videos: [VideoLink]
|
|
tags: [Tag]
|
|
thesaurus: [Thesaurus]
|
|
memo: String
|
|
attachments: [Filefield]
|
|
distributor: [Company]
|
|
manufacturer: [Company]
|
|
# famille: String
|
|
# index: Int
|
|
reference: String
|
|
samples: [Sample]
|
|
}
|
|
|
|
type Article implements NodeInterface {
|
|
id: Int!
|
|
uuid: String!
|
|
title: String!
|
|
path: String!
|
|
author: String
|
|
body: String
|
|
linked_materials: [Materiau]
|
|
images: [Image]
|
|
videos: [VideoLink]
|
|
source: Link
|
|
showroom: Showroom
|
|
tags: [Tag]
|
|
thesaurus: [Thesaurus]
|
|
date: Date
|
|
memo: String
|
|
}
|
|
|
|
type Thematique implements NodeInterface {
|
|
id: Int!
|
|
uuid: String!
|
|
title: String!
|
|
path: String!
|
|
author: String
|
|
body: String
|
|
linked_materials: [Materiau]
|
|
images: [Image]
|
|
tags: [Tag]
|
|
memo: String
|
|
}
|
|
|
|
type SearchResult {
|
|
id: Int!
|
|
uuid: String!
|
|
title: String!
|
|
bundle: String!
|
|
path: String!
|
|
short_description: String
|
|
images: [Image]
|
|
visuels: [Image]
|
|
reference: String
|
|
}
|
|
|
|
type Product {
|
|
id: Int!
|
|
uuid: String!
|
|
title: String
|
|
bundle: String
|
|
body: 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_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
|
|
}
|