Spaces:
Runtime error
Runtime error
| -- Create the table for storing agent parameters | |
| CREATE TABLE agent_parameters ( | |
| id SERIAL PRIMARY KEY, | |
| tenant_id UUID NOT NULL, | |
| default_learning_rate FLOAT NOT NULL, | |
| default_exploration_rate FLOAT NOT NULL, | |
| agent_types TEXT[] NOT NULL, | |
| agent_specializations TEXT[] NOT NULL, | |
| reward_structure VARCHAR(50) NOT NULL, | |
| max_tokens INT NOT NULL, | |
| created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP | |
| ); | |
| -- Insert initial agent parameters data | |
| INSERT INTO agent_parameters (tenant_id, default_learning_rate, default_exploration_rate, agent_types, agent_specializations, reward_structure, max_tokens) VALUES | |
| ('tenant-1-uuid', 0.1, 0.1, ARRAY['Conversational', 'Retrieval-based'], ARRAY['Sales', 'Support'], 'Fixed', 512); | |
| -- Create the table for storing resource management settings | |
| CREATE TABLE resource_management ( | |
| id SERIAL PRIMARY KEY, | |
| tenant_id UUID NOT NULL, | |
| max_compute_usage INT NOT NULL, | |
| max_storage_usage INT NOT NULL, | |
| cost_per_compute_hour FLOAT NOT NULL, | |
| cost_per_gb_storage FLOAT NOT NULL, | |
| created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP | |
| ); | |
| -- Insert initial resource management data | |
| INSERT INTO resource_management (tenant_id, max_compute_usage, max_storage_usage, cost_per_compute_hour, cost_per_gb_storage) VALUES | |
| ('tenant-1-uuid', 10000, 1000, 0.05, 0.02); | |
| -- Create the table for storing access and permissions settings | |
| CREATE TABLE access_permissions ( | |
| id SERIAL PRIMARY KEY, | |
| tenant_id UUID NOT NULL, | |
| user_roles TEXT[] NOT NULL, | |
| enable_api_access BOOLEAN NOT NULL, | |
| api_rate_limit INT NOT NULL, | |
| enable_logging BOOLEAN NOT NULL, | |
| created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP | |
| ); | |
| -- Insert initial access and permissions data | |
| INSERT INTO access_permissions (tenant_id, user_roles, enable_api_access, api_rate_limit, enable_logging) VALUES | |
| ('tenant-1-uuid', ARRAY['Administrator', 'Developer'], TRUE, 1000, TRUE); | |
| -- Enable Row-Level Security (RLS) for all system settings tables | |
| ALTER TABLE agent_parameters ENABLE ROW LEVEL SECURITY; | |
| ALTER TABLE resource_management ENABLE ROW LEVEL SECURITY; | |
| ALTER TABLE access_permissions ENABLE ROW LEVEL SECURITY; | |
| -- Create RLS policies for agent_parameters | |
| CREATE POLICY "tenant_isolation" ON agent_parameters | |
| FOR ALL | |
| USING (tenant_id = current_setting('app.current_tenant')::uuid); | |
| CREATE POLICY "Enable real-time" ON agent_parameters | |
| FOR SELECT USING (true); | |
| CREATE POLICY "parameters_access" ON agent_parameters | |
| FOR SELECT | |
| USING (auth.uid() = user_id); | |
| -- Create RLS policies for resource_management | |
| CREATE POLICY "tenant_isolation" ON resource_management | |
| FOR ALL | |
| USING (tenant_id = current_setting('app.current_tenant')::uuid); | |
| CREATE POLICY "Enable real-time" ON resource_management | |
| FOR SELECT USING (true); | |
| CREATE POLICY "resource_access" ON resource_management | |
| FOR SELECT | |
| USING (auth.uid() = user_id); | |
| -- Create RLS policies for access_permissions | |
| CREATE POLICY "tenant_isolation" ON access_permissions | |
| FOR ALL | |
| USING (tenant_id = current_setting('app.current_tenant')::uuid); | |
| CREATE POLICY "Enable real-time" ON access_permissions | |
| FOR SELECT USING (true); | |
| CREATE POLICY "permissions_access" ON access_permissions | |
| FOR SELECT | |
| USING (auth.uid() = user_id); | |
| -- Create indexes for optimization | |
| CREATE INDEX idx_agent_parameters_tenant_id ON agent_parameters(tenant_id); | |
| CREATE INDEX idx_resource_management_tenant_id ON resource_management(tenant_id); | |
| CREATE INDEX idx_access_permissions_tenant_id ON access_permissions(tenant_id); |