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:
@@ -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
21
app/types/supabase.ts
Normal 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;
|
||||
}
|
||||
Reference in New Issue
Block a user