summaryrefslogtreecommitdiffstats
path: root/finished-application/backend/prisma
diff options
context:
space:
mode:
Diffstat (limited to 'finished-application/backend/prisma')
-rw-r--r--finished-application/backend/prisma/datamodel.graphql65
-rw-r--r--finished-application/backend/prisma/prisma.yml6
2 files changed, 71 insertions, 0 deletions
diff --git a/finished-application/backend/prisma/datamodel.graphql b/finished-application/backend/prisma/datamodel.graphql
new file mode 100644
index 0000000..cb8afcb
--- /dev/null
+++ b/finished-application/backend/prisma/datamodel.graphql
@@ -0,0 +1,65 @@
+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)
+}
+
+type Order {
+ id: ID! @unique
+ items: [OrderItem!]!
+ total: Int!
+ user: User!
+ createdAt: DateTime!
+ updatedAt: DateTime!
+ charge: String!
+}
diff --git a/finished-application/backend/prisma/prisma.yml b/finished-application/backend/prisma/prisma.yml
new file mode 100644
index 0000000..2940bab
--- /dev/null
+++ b/finished-application/backend/prisma/prisma.yml
@@ -0,0 +1,6 @@
+datamodel: datamodel.graphql
+endpoint: ${env:PRISMA_ENDPOINT}
+secret: ${env:PRISMA_SECRET}
+hooks:
+ post-deploy:
+ - graphql get-schema -p prisma