/
schema.js
82 lines (72 loc) · 1.48 KB
/
schema.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
const { gql } = require('apollo-server')
module.exports = gql`
type Story {
id: Int!
author: Author!
audio: File!
images: [File!]
title: String!
slug: String
description: String
location: String
series: String
tags: [String!]
publishedAt: Date
}
input StoryInput {
title: String!
audio: FileInput!
images: [FileInput!]
description: String
location: String
series: String
tags: [String!]
publishedAt: String
}
input StoryUpdateInput {
title: String
audio: FileUpdateInput
images: [FileUpdateInput!]
description: String
location: String
series: String
tags: [String!]
publishedAt: String
}
type Author {
id: Int!
name: String!
slug: String!
stories: [Story!]
}
type File {
id: Int!
filename: String!
originalFilename: String!
mimetype: String
}
input FileInput {
filename: String!
originalFilename: String!
}
input FileUpdateInput {
id: Int
filename: String!
originalFilename: String!
}
scalar Date
type Query {
stories: [Story]
storyById(id: Int!): Story
storyBySlug(slug: String!): Story
storiesByAuthorSlug(slug: String!): [Story]
authors: [Author]
author(id: Int!): Author
}
type Mutation {
addStory(input: StoryInput!): Story
updateStory(id: Int!, input: StoryUpdateInput!): Story
deleteStory(id: Int!): Story
updateAuthorName(id: Int!, name: String!): Author
}
`