forked from FoloUp/FoloUp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsupabase_schema.sql
84 lines (78 loc) · 2.23 KB
/
supabase_schema.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
-- Create enum type for plan
CREATE TYPE plan AS ENUM ('free', 'pro', 'free_trial_over');
-- Create tables
CREATE TABLE organization (
id TEXT PRIMARY KEY DEFAULT uuid_generate_v4(),
created_at TIMESTAMP WITH TIME ZONE DEFAULT TIMEZONE('utc', NOW()),
name TEXT,
image_url TEXT,
allowed_responses_count INTEGER,
plan plan
);
CREATE TABLE "user" (
id TEXT PRIMARY KEY,
created_at TIMESTAMP WITH TIME ZONE DEFAULT TIMEZONE('utc', NOW()),
email TEXT,
organization_id TEXT REFERENCES organization(id)
);
CREATE TABLE interviewer (
id SERIAL PRIMARY KEY,
created_at TIMESTAMP WITH TIME ZONE DEFAULT TIMEZONE('utc', NOW()),
agent_id TEXT,
name TEXT NOT NULL,
description TEXT NOT NULL,
image TEXT NOT NULL,
audio TEXT,
empathy INTEGER NOT NULL,
exploration INTEGER NOT NULL,
rapport INTEGER NOT NULL,
speed INTEGER NOT NULL
);
CREATE TABLE interview (
id TEXT PRIMARY KEY,
created_at TIMESTAMP WITH TIME ZONE DEFAULT TIMEZONE('utc', NOW()),
name TEXT,
description TEXT,
objective TEXT,
organization_id TEXT REFERENCES organization(id),
user_id TEXT REFERENCES "user"(id),
interviewer_id INTEGER REFERENCES interviewer(id),
is_active BOOLEAN DEFAULT true,
is_anonymous BOOLEAN DEFAULT false,
is_archived BOOLEAN DEFAULT false,
logo_url TEXT,
theme_color TEXT,
url TEXT,
readable_slug TEXT,
questions JSONB,
quotes JSONB[],
insights TEXT[],
respondents TEXT[],
question_count INTEGER,
response_count INTEGER,
time_duration TEXT
);
CREATE TABLE response (
id SERIAL PRIMARY KEY,
created_at TIMESTAMP WITH TIME ZONE DEFAULT TIMEZONE('utc', NOW()),
interview_id TEXT REFERENCES interview(id),
name TEXT,
email TEXT,
call_id TEXT,
candidate_status TEXT,
duration INTEGER,
details JSONB,
analytics JSONB,
is_analysed BOOLEAN DEFAULT false,
is_ended BOOLEAN DEFAULT false,
is_viewed BOOLEAN DEFAULT false,
tab_switch_count INTEGER
);
CREATE TABLE feedback (
id SERIAL PRIMARY KEY,
created_at TIMESTAMP WITH TIME ZONE DEFAULT TIMEZONE('utc', NOW()),
interview_id TEXT REFERENCES interview(id),
email TEXT,
feedback TEXT,
satisfaction INTEGER
);