Remove hasura and hasura-auth (#134)

* Remove hasura and hasura-auth

* Move all models to prisma

* Start implementing graphql

* chore: clean package json

* chore: make the code build

* chore: get initial graphql.tsx file

* feature: use typegql as qgl server

* refactor: small refactoring

* refactor: clean tests

* bugfix: make all filters not case sensitive

* chore: remove unused imports

---------

Co-authored-by: Sammy Teillet <sammy.teillet@gmail.com>
This commit is contained in:
Charles Bochet
2023-05-24 17:20:15 +02:00
committed by GitHub
parent 7192457d0a
commit 5d06398d2e
177 changed files with 12215 additions and 7040 deletions

View File

@ -2,29 +2,96 @@ generator client {
provider = "prisma-client-js"
}
generator typegraphql {
provider = "typegraphql-prisma"
output = "../../node_modules/@generated/type-graphql"
}
datasource db {
provider = "postgresql"
url = env("SERVER_DATABASE_URL")
}
model User {
id String @id
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
deletedAt DateTime?
lastSeen DateTime?
disabled Boolean @default(false)
displayName String
email String @unique
avatarUrl String?
locale String
phoneNumber String?
passwordHash String?
emailVerified Boolean @default(false)
metadata Json?
WorkspaceMember WorkspaceMember?
companies Company[]
@@map("users")
}
model Workspace {
id String @id
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
deletedAt DateTime?
domainName String @unique
displayName String
WorkspaceMember WorkspaceMember[]
companies Company[]
people Person[]
@@map("workspaces")
}
model WorkspaceMember {
id String @id
created_at DateTime @default(now())
updated_at DateTime @updatedAt
deleted_at DateTime?
user_id String @unique
workspace_id String
id String @id
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
deletedAt DateTime?
userId String @unique
user User @relation(fields: [userId], references: [id])
workspaceId String
workspace Workspace @relation(fields: [workspaceId], references: [id])
@@map("workspace_members")
}
model Workspace {
id String @id
created_at DateTime @default(now())
updated_at DateTime @updatedAt
deleted_at DateTime?
domain_name String @unique
display_name String
model Company {
id String @id
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
deletedAt DateTime?
name String
domainName String
address String
employees Int?
accountOwnerId String?
accountOwner User? @relation(fields: [accountOwnerId], references: [id])
people Person[]
workspaceId String
workspace Workspace @relation(fields: [workspaceId], references: [id])
@@map("workspaces")
@@map("companies")
}
model Person {
id String @id
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
deletedAt DateTime?
firstname String
lastname String
email String
phone String
city String
companyId String?
company Company? @relation(fields: [companyId], references: [id])
workspaceId String
workspace Workspace @relation(fields: [workspaceId], references: [id])
@@map("people")
}