Spaces:
Runtime error
Runtime error
CREATE TABLE users ( | |
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), | |
email VARCHAR(255) UNIQUE NOT NULL, | |
password_hash TEXT NOT NULL, | |
role VARCHAR(50) NOT NULL, | |
tenant_id UUID NOT NULL, | |
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP | |
); | |
CREATE TABLE agents ( | |
id SERIAL PRIMARY KEY, | |
user_id UUID REFERENCES users(id), | |
tenant_id UUID NOT NULL, | |
name VARCHAR(255) NOT NULL, | |
type VARCHAR(50) NOT NULL, | |
status VARCHAR(50) NOT NULL, | |
description TEXT, | |
avatar_url TEXT, | |
llm_base VARCHAR(50), | |
prompt TEXT, | |
knowledge_base_url TEXT, | |
learning_rate FLOAT, | |
exploration_rate FLOAT, | |
training_iterations INT, | |
batch_size INT, | |
max_tokens INT, | |
temperature FLOAT, | |
top_p FLOAT, | |
frequency_penalty FLOAT, | |
presence_penalty FLOAT, | |
stop_sequences TEXT, | |
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP | |
); | |
ALTER TABLE users ENABLE ROW LEVEL SECURITY; | |
ALTER TABLE agents ENABLE ROW LEVEL SECURITY; | |
CREATE POLICY "tenant_isolation" ON users | |
FOR ALL | |
USING (tenant_id = current_setting('app.current_tenant')::uuid); | |
CREATE POLICY "tenant_isolation" ON agents | |
FOR ALL | |
USING (tenant_id = current_setting('app.current_tenant')::uuid); | |
CREATE POLICY "Enable real-time" ON users | |
FOR SELECT USING (true); | |
CREATE POLICY "Enable real-time" ON agents | |
FOR SELECT USING (true); | |
CREATE POLICY "user_access" ON users | |
FOR SELECT | |
USING (auth.uid() = id); | |
CREATE POLICY "agent_access" ON agents | |
FOR SELECT | |
USING (auth.uid() = user_id); | |
CREATE INDEX idx_users_tenant_id ON users(tenant_id); | |
CREATE INDEX idx_agents_tenant_id ON agents(tenant_id); |