eletrotupi / tcc/ commit / b2e08e2

api: create sleep records

Pedro Lucas Porcellis porcellis@eletrotupi.com · 5 months ago b2e08e2a1d4ecc40e11fff8dc28b37418463836e Browse files
Parents 6b750ae
Changed files
2
Additions
+26
Deletions
0
/dev/null → api/prisma/migrations/20260504231243_create_sleep_records/migration.sql
1 +
-- CreateTable
2 +
CREATE TABLE "sleep_records" (
3 +
    "id" SERIAL NOT NULL,
4 +
    "average" DOUBLE PRECISION NOT NULL,
5 +
    "date" DATE NOT NULL,
6 +
    "annotations" TEXT,
7 +
    "user_id" INTEGER NOT NULL,
8 +

9 +
    CONSTRAINT "sleep_records_pkey" PRIMARY KEY ("id")
10 +
);
11 +

12 +
-- AddForeignKey
13 +
ALTER TABLE "sleep_records" ADD CONSTRAINT "sleep_records_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
api/prisma/schema.prisma
1 1
generator client {
2 2
  provider = "prisma-client-js"
3 3
  //output   = "../src/generated/prisma"
4 4
}
5 5

20 20

21 21
  moods Mood[]
22 22
  interventions Intervention[]
23 23
  triggers Trigger[]
24 24
  reminders Reminder[]
25 +
  sleepRecords SleepRecord[]
25 26

26 27
  @@map("users")
27 28
}
28 29

29 30
model Mood {
86 87

87 88
  userId Int @map("user_id")
88 89
  user User @relation(fields: [userId], references: [id])
89 90

90 91
  @@map("reminders")
92 +
}
93 +

94 +
model SleepRecord {
95 +
  id Int @id @default(autoincrement())
96 +
  average Float
97 +
  date DateTime @db.Date
98 +
  annotations String? @db.Text
99 +

100 +
  userId Int @map("user_id")
101 +
  user User @relation(fields: [userId], references: [id])
102 +

103 +
  @@map("sleep_records")
91 104
}
92 105

93 106
enum IntensityLevel {
94 107
  LIGHT
95 108
  MODERATE
109 122
  ENVIRONMENTAL
110 123
  EMOTIONAL
111 124
  PHYSICAL
112 125
  OTHER
113 126
}