summaryrefslogtreecommitdiffstats
path: root/finished-application/backend/datamodel.graphql
diff options
context:
space:
mode:
authorWes Bos <wesbos@gmail.com>2018-09-14 12:18:12 -0400
committerWes Bos <wesbos@gmail.com>2018-09-14 12:18:12 -0400
commit2d145b026cfdf54a63bef0b9d6324b6785390307 (patch)
treef6c1d8f987437803a5c026e70535bf9ff244e885 /finished-application/backend/datamodel.graphql
parent8a5825d52271d712ec7c8348447d433067e13ef2 (diff)
move finished folder
Diffstat (limited to 'finished-application/backend/datamodel.graphql')
-rw-r--r--finished-application/backend/datamodel.graphql57
1 files changed, 57 insertions, 0 deletions
diff --git a/finished-application/backend/datamodel.graphql b/finished-application/backend/datamodel.graphql
new file mode 100644
index 0000000..ce9ae38
--- /dev/null
+++ b/finished-application/backend/datamodel.graphql
@@ -0,0 +1,57 @@
+enum Permission {
+ ADMIN
+ USER
+ ITEMCREATE
+ ITEMUPDATE
+ ITEMDELETE
+ PERMISSIONUPDATE
+}
+
+type User {
+ id: ID! @unique
+ name: String!
+ email: String! @unique
+ password: String!
+ resetToken: String
+ resetTokenExpiry: String
+ permissions: [Permission]
+ cart: [CartItem!]!
+}
+
+type Item {
+ id: ID! @unique
+ title: String!
+ description: String!
+ image: String
+ largeImage: String
+ price: Int!
+ user: User!
+}
+
+type CartItem {
+ id: ID! @unique
+ quantity: Int! @default(value: 1)
+ item: Item # relationship to Item
+ user: User! # relationship to User
+}
+
+type OrderItem {
+ id: ID! @unique
+ title: String!
+ description: String!
+ image: String!
+ largeImage: String!
+ price: Int!
+ quantity: Int! @default(value: 1)
+ user: User
+}
+
+type Order {
+ id: ID! @unique
+ items: [OrderItem!]!
+ total: Int!
+ user: User!
+ charge: String!
+ createdAt: DateTime!
+ updatedAt: DateTime!
+}