switch db to mongodb, add new model for resources
This commit is contained in:
		| @@ -1,56 +0,0 @@ | ||||
| -- CreateTable | ||||
| CREATE TABLE "Account" ( | ||||
|     "id" TEXT NOT NULL PRIMARY KEY, | ||||
|     "userId" TEXT NOT NULL, | ||||
|     "type" TEXT NOT NULL, | ||||
|     "provider" TEXT NOT NULL, | ||||
|     "providerAccountId" TEXT NOT NULL, | ||||
|     "refresh_token" TEXT, | ||||
|     "access_token" TEXT, | ||||
|     "expires_at" INTEGER, | ||||
|     "token_type" TEXT, | ||||
|     "scope" TEXT, | ||||
|     "id_token" TEXT, | ||||
|     "session_state" TEXT, | ||||
|     CONSTRAINT "Account_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE CASCADE ON UPDATE CASCADE | ||||
| ); | ||||
|  | ||||
| -- CreateTable | ||||
| CREATE TABLE "Session" ( | ||||
|     "id" TEXT NOT NULL PRIMARY KEY, | ||||
|     "sessionToken" TEXT NOT NULL, | ||||
|     "userId" TEXT NOT NULL, | ||||
|     "expires" DATETIME NOT NULL, | ||||
|     CONSTRAINT "Session_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE CASCADE ON UPDATE CASCADE | ||||
| ); | ||||
|  | ||||
| -- CreateTable | ||||
| CREATE TABLE "User" ( | ||||
|     "id" TEXT NOT NULL PRIMARY KEY, | ||||
|     "name" TEXT, | ||||
|     "email" TEXT, | ||||
|     "emailVerified" DATETIME, | ||||
|     "image" TEXT | ||||
| ); | ||||
|  | ||||
| -- CreateTable | ||||
| CREATE TABLE "VerificationToken" ( | ||||
|     "identifier" TEXT NOT NULL, | ||||
|     "token" TEXT NOT NULL, | ||||
|     "expires" DATETIME NOT NULL | ||||
| ); | ||||
|  | ||||
| -- CreateIndex | ||||
| CREATE UNIQUE INDEX "Account_provider_providerAccountId_key" ON "Account"("provider", "providerAccountId"); | ||||
|  | ||||
| -- CreateIndex | ||||
| CREATE UNIQUE INDEX "Session_sessionToken_key" ON "Session"("sessionToken"); | ||||
|  | ||||
| -- CreateIndex | ||||
| CREATE UNIQUE INDEX "User_email_key" ON "User"("email"); | ||||
|  | ||||
| -- CreateIndex | ||||
| CREATE UNIQUE INDEX "VerificationToken_token_key" ON "VerificationToken"("token"); | ||||
|  | ||||
| -- CreateIndex | ||||
| CREATE UNIQUE INDEX "VerificationToken_identifier_token_key" ON "VerificationToken"("identifier", "token"); | ||||
| @@ -1,3 +0,0 @@ | ||||
| # Please do not edit this file manually | ||||
| # It should be added in your version-control system (i.e. Git) | ||||
| provider = "sqlite" | ||||
| @@ -6,7 +6,7 @@ generator client { | ||||
| } | ||||
|  | ||||
| datasource db { | ||||
|     provider = "sqlite" | ||||
|     provider = "mongodb" | ||||
|     // NOTE: When using postgresql, mysql or sqlserver, uncomment the @db.Text annotations in model Account below | ||||
|     // Further reading: | ||||
|     // https://next-auth.js.org/adapters/prisma#create-the-prisma-schema | ||||
| @@ -14,10 +14,51 @@ datasource db { | ||||
|     url      = env("DATABASE_URL") | ||||
| } | ||||
|  | ||||
| enum Platform { | ||||
|     APP_IOS | ||||
|     APP_ANDROID | ||||
|     WEBSITE | ||||
|     PDF | ||||
| } | ||||
|  | ||||
| enum Skill { | ||||
|     ENVIRONMENT | ||||
|     PHONEMES | ||||
|     WORDS | ||||
|     SENTENCES | ||||
|     DISCOURSE | ||||
|     MUSIC | ||||
|     BACKGROUND | ||||
| } | ||||
|  | ||||
| enum SkillLevel { | ||||
|     BEGINNER | ||||
|     INTERMEDIATE | ||||
|     ADVANCED | ||||
| } | ||||
|  | ||||
| type RangeInput { | ||||
|     min Int | ||||
|     max Int | ||||
| } | ||||
|  | ||||
| model AuditoryResource { | ||||
|     id           String @id @default(auto()) @map("_id") @db.ObjectId | ||||
|     icon         String | ||||
|     name         String | ||||
|     description  String | ||||
|     manufacturer String | ||||
|     format       Platform | ||||
|     ages         RangeInput | ||||
|     skills       Skill[] | ||||
|     skill_level  SkillLevel | ||||
|     cost         Float | ||||
| } | ||||
|  | ||||
| // Necessary for Next auth | ||||
| model Account { | ||||
|     id                String  @id @default(cuid()) | ||||
|     userId            String | ||||
|     id                String  @id @default(auto()) @map("_id") @db.ObjectId | ||||
|     userId            String  @db.ObjectId | ||||
|     type              String | ||||
|     provider          String | ||||
|     providerAccountId String | ||||
| @@ -34,15 +75,15 @@ model Account { | ||||
| } | ||||
|  | ||||
| model Session { | ||||
|     id           String   @id @default(cuid()) | ||||
|     id           String   @id @default(auto()) @map("_id") @db.ObjectId | ||||
|     sessionToken String   @unique | ||||
|     userId       String | ||||
|     userId       String   @db.ObjectId | ||||
|     expires      DateTime | ||||
|     user         User     @relation(fields: [userId], references: [id], onDelete: Cascade) | ||||
| } | ||||
|  | ||||
| model User { | ||||
|     id            String    @id @default(cuid()) | ||||
|     id            String    @id @default(auto()) @map("_id") @db.ObjectId | ||||
|     name          String? | ||||
|     email         String?   @unique | ||||
|     emailVerified DateTime? | ||||
| @@ -52,6 +93,7 @@ model User { | ||||
| } | ||||
|  | ||||
| model VerificationToken { | ||||
|     id         String @id @default(auto()) @map("_id") @db.ObjectId | ||||
|     identifier String | ||||
|     token      String   @unique | ||||
|     expires    DateTime | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Brandon Egger
					Brandon Egger