summaryrefslogtreecommitdiffstats
path: root/finished-application/backend/prisma/datamodel.graphql
blob: d652dc403f1da37d6eb2042bd63e811f648356bc (plain)
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
enum Permission {
  ADMIN
  USER
  ITEMCREATE
  ITEMUPDATE
  ITEMDELETE
  PERMISSIONUPDATE
}

type User {
  id: ID! @unique
  email: String! @unique
  password: String!
  name: String!
  orders: [Order!]!
  resetToken: String
  resetTokenExpiry: String
  cart: [CartItem!]!
  createdAt: DateTime!
  updatedAt: DateTime!
  permissions: [Permission!]!
}

type CartItem {
  id: ID! @unique
  quantity: Int! @default(value: 1)
  item: Item # Relationship to an Item
  user: User! # Relationship to a user
  createdAt: DateTime!
  updatedAt: DateTime!
}

type Item {
  id: ID! @unique
  title: String!
  description: String!
  image: String
  largeImage: String
  price: Int!
  createdAt: DateTime!
  updatedAt: DateTime!
  user: User! # Relationship to a user
}

type OrderItem {
  id: ID! @unique
  title: String!
  description: String!
  image: String
  largeImage: String
  price: Int!
  createdAt: DateTime!
  updatedAt: DateTime!
  quantity: Int! @default(value: 1)
  user: User
}

type Order {
  id: ID! @unique
  items: [OrderItem!]!
  total: Int!
  user: User!
  createdAt: DateTime!
  updatedAt: DateTime!
  charge: String!
}