-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsupabase-setup.sql
More file actions
138 lines (128 loc) · 4.48 KB
/
Copy pathsupabase-setup.sql
File metadata and controls
138 lines (128 loc) · 4.48 KB
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
-- Sukurti lenteles duomenų bazei
-- Vykdykite šias komandas Supabase SQL redaktoriuje
-- Clients lentelė
CREATE TABLE IF NOT EXISTS clients (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
uid TEXT NOT NULL,
name TEXT,
phone TEXT,
address TEXT,
building_type TEXT,
notes TEXT,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
-- Orders lentelė
CREATE TABLE IF NOT EXISTS orders (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
uid TEXT NOT NULL,
client_id TEXT,
client_name TEXT,
employee_id TEXT,
address TEXT,
lat REAL,
lng REAL,
date TEXT,
time TEXT,
window_count INTEGER,
floor INTEGER,
additional_services JSONB,
total_price REAL,
status TEXT,
estimated_duration INTEGER,
is_recurring BOOLEAN,
recurring_interval INTEGER,
notes TEXT,
photo_before TEXT,
photo_after TEXT,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
-- Expenses lentelė
CREATE TABLE IF NOT EXISTS expenses (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
uid TEXT NOT NULL,
title TEXT,
amount REAL,
date TEXT,
category TEXT,
notes TEXT,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
-- Employees lentelė
CREATE TABLE IF NOT EXISTS employees (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
uid TEXT NOT NULL,
name TEXT,
phone TEXT,
color TEXT,
is_active BOOLEAN DEFAULT true,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
-- Settings lentelė
CREATE TABLE IF NOT EXISTS settings (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
uid TEXT NOT NULL UNIQUE,
price_per_window REAL DEFAULT 2,
price_per_floor REAL DEFAULT 1,
price_balkonai REAL DEFAULT 10,
price_vitrinos REAL DEFAULT 15,
price_terasa REAL DEFAULT 20,
price_kiti REAL DEFAULT 5,
sms_template TEXT,
business_name TEXT,
business_phone TEXT,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
-- Inventory lentelė
CREATE TABLE IF NOT EXISTS inventory (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
uid TEXT NOT NULL,
name TEXT,
quantity INTEGER DEFAULT 0,
min_quantity INTEGER DEFAULT 5,
unit TEXT,
category TEXT,
last_restocked TIMESTAMP WITH TIME ZONE,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
-- Memories lentelė (AI asistento atmintis)
CREATE TABLE IF NOT EXISTS memories (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
uid TEXT NOT NULL,
content TEXT NOT NULL,
category TEXT DEFAULT 'kita',
importance INTEGER DEFAULT 5,
event_date TEXT,
is_active BOOLEAN DEFAULT true,
context TEXT,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
-- Sukurti indeksus greitesniam filtravimui
CREATE INDEX IF NOT EXISTS idx_clients_uid ON clients(uid);
CREATE INDEX IF NOT EXISTS idx_orders_uid ON orders(uid);
CREATE INDEX IF NOT EXISTS idx_expenses_uid ON expenses(uid);
CREATE INDEX IF NOT EXISTS idx_employees_uid ON employees(uid);
CREATE INDEX IF NOT EXISTS idx_settings_uid ON settings(uid);
CREATE INDEX IF NOT EXISTS idx_inventory_uid ON inventory(uid);
CREATE INDEX IF NOT EXISTS idx_memories_uid ON memories(uid);
-- Įjungti RLS (Row Level Security)
ALTER TABLE clients ENABLE ROW LEVEL SECURITY;
ALTER TABLE orders ENABLE ROW LEVEL SECURITY;
ALTER TABLE expenses ENABLE ROW LEVEL SECURITY;
ALTER TABLE employees ENABLE ROW LEVEL SECURITY;
ALTER TABLE settings ENABLE ROW LEVEL SECURITY;
ALTER TABLE inventory ENABLE ROW LEVEL SECURITY;
ALTER TABLE memories ENABLE ROW LEVEL SECURITY;
-- Leisti skaityti/palaikyti visus duomenis
CREATE POLICY "Allow all for clients" ON clients FOR ALL USING (true) WITH CHECK (true);
CREATE POLICY "Allow all for orders" ON orders FOR ALL USING (true) WITH CHECK (true);
CREATE POLICY "Allow all for expenses" ON expenses FOR ALL USING (true) WITH CHECK (true);
CREATE POLICY "Allow all for employees" ON employees FOR ALL USING (true) WITH CHECK (true);
CREATE POLICY "Allow all for settings" ON settings FOR ALL USING (true) WITH CHECK (true);
CREATE POLICY "Allow all for inventory" ON inventory FOR ALL USING (true) WITH CHECK (true);
CREATE POLICY "Allow all for memories" ON memories FOR ALL USING (true) WITH CHECK (true);