feat: integrate Supabase for database operations and migrations

Add support for Supabase database operations, including migrations and queries. Implement new Supabase-related types, actions, and components to handle database interactions. Enhance the prompt system to include Supabase-specific instructions and constraints. Ensure data integrity and security by enforcing row-level security and proper migration practices.
This commit is contained in:
KevIsDev
2025-03-19 23:11:31 +00:00
parent 9fd5f149c9
commit 02974089de
18 changed files with 1316 additions and 12 deletions

View File

@@ -1,6 +1,6 @@
import type { Change } from 'diff';
export type ActionType = 'file' | 'shell';
export type ActionType = 'file' | 'shell' | 'supabase';
export interface BaseAction {
content: string;
@@ -23,7 +23,14 @@ export interface BuildAction extends BaseAction {
type: 'build';
}
export type BoltAction = FileAction | ShellAction | StartAction | BuildAction;
export interface SupabaseAction extends BaseAction {
type: 'supabase';
operation: 'migration' | 'query';
filePath?: string;
projectId?: string;
}
export type BoltAction = FileAction | ShellAction | StartAction | BuildAction | SupabaseAction;
export type BoltActionData = BoltAction | BaseAction;
@@ -35,6 +42,14 @@ export interface ActionAlert {
source?: 'terminal' | 'preview'; // Add source to differentiate between terminal and preview errors
}
export interface SupabaseAlert {
type: string;
title: string;
description: string;
content: string;
source?: 'supabase';
}
export interface FileHistory {
originalContent: string;
lastModified: number;

21
app/types/supabase.ts Normal file
View File

@@ -0,0 +1,21 @@
export interface SupabaseUser {
id: string;
email: string;
role: string;
created_at: string;
last_sign_in_at: string;
}
export interface SupabaseProject {
id: string;
name: string;
organization_id: string;
region: string;
created_at: string;
status: string;
}
export interface SupabaseStats {
projects: SupabaseProject[];
totalProjects: number;
}