diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 6e2063b..27be59b 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -21,7 +21,7 @@ jobs: - uses: actions/checkout@v4 - uses: supabase/setup-cli@v1 with: - version: latest + version: 2.33.0 - run: supabase db start - run: supabase db lint @@ -40,14 +40,13 @@ jobs: runs-on: ubuntu-latest env: SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_ACCESS_TOKEN }} - SUPABASE_DB_PASSWORD: ${{ github.base_ref == 'main' && secrets.PRODUCTION_DB_PASSWORD || secrets.STAGING_DB_PASSWORD }} SUPABASE_PROJECT_ID: ${{ github.base_ref == 'main' && secrets.PRODUCTION_PROJECT_ID || secrets.STAGING_PROJECT_ID }} steps: - uses: actions/checkout@v4 - uses: supabase/setup-cli@v1 with: - version: latest + version: 2.33.0 - run: supabase link --project-ref $SUPABASE_PROJECT_ID - run: supabase db push --dry-run diff --git a/.github/workflows/preview.yaml b/.github/workflows/preview.yaml index 2e2caeb..7d6e3a2 100644 --- a/.github/workflows/preview.yaml +++ b/.github/workflows/preview.yaml @@ -55,13 +55,12 @@ jobs: if: github.event.action != 'closed' env: SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_ACCESS_TOKEN }} - SUPABASE_DB_PASSWORD: ${{ needs.apply.outputs.db_pass }} steps: - uses: actions/checkout@v4 - uses: supabase/setup-cli@v1 with: - version: latest + version: 2.33.0 - uses: nick-fields/retry@v3 with: diff --git a/.github/workflows/production.yaml b/.github/workflows/production.yaml index cde4239..a26ba86 100644 --- a/.github/workflows/production.yaml +++ b/.github/workflows/production.yaml @@ -11,14 +11,13 @@ jobs: runs-on: ubuntu-latest env: SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_ACCESS_TOKEN }} - SUPABASE_DB_PASSWORD: ${{ secrets.PRODUCTION_DB_PASSWORD }} SUPABASE_PROJECT_ID: ${{ secrets.PRODUCTION_PROJECT_ID }} steps: - uses: actions/checkout@v4 - uses: supabase/setup-cli@v1 with: - version: latest + version: 2.33.0 - run: supabase link --project-ref $SUPABASE_PROJECT_ID - run: supabase db push diff --git a/.github/workflows/staging.yaml b/.github/workflows/staging.yaml index 11f499a..84c2d8e 100644 --- a/.github/workflows/staging.yaml +++ b/.github/workflows/staging.yaml @@ -11,14 +11,13 @@ jobs: runs-on: ubuntu-latest env: SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_ACCESS_TOKEN }} - SUPABASE_DB_PASSWORD: ${{ secrets.STAGING_DB_PASSWORD }} SUPABASE_PROJECT_ID: ${{ secrets.STAGING_PROJECT_ID }} steps: - uses: actions/checkout@v4 - uses: supabase/setup-cli@v1 with: - version: latest + version: 2.33.0 - run: supabase link --project-ref $SUPABASE_PROJECT_ID - run: supabase db push diff --git a/types.gen.ts b/types.gen.ts index 9e7f8a6..3aced46 100644 --- a/types.gen.ts +++ b/types.gen.ts @@ -76,6 +76,7 @@ export type Database = { owner: string | null owner_id: string | null public: boolean | null + type: Database["storage"]["Enums"]["buckettype"] updated_at: string | null } Insert: { @@ -88,6 +89,7 @@ export type Database = { owner?: string | null owner_id?: string | null public?: boolean | null + type?: Database["storage"]["Enums"]["buckettype"] updated_at?: string | null } Update: { @@ -100,10 +102,112 @@ export type Database = { owner?: string | null owner_id?: string | null public?: boolean | null + type?: Database["storage"]["Enums"]["buckettype"] updated_at?: string | null } Relationships: [] } + buckets_analytics: { + Row: { + created_at: string + format: string + id: string + type: Database["storage"]["Enums"]["buckettype"] + updated_at: string + } + Insert: { + created_at?: string + format?: string + id: string + type?: Database["storage"]["Enums"]["buckettype"] + updated_at?: string + } + Update: { + created_at?: string + format?: string + id?: string + type?: Database["storage"]["Enums"]["buckettype"] + updated_at?: string + } + Relationships: [] + } + iceberg_namespaces: { + Row: { + bucket_id: string + created_at: string + id: string + name: string + updated_at: string + } + Insert: { + bucket_id: string + created_at?: string + id?: string + name: string + updated_at?: string + } + Update: { + bucket_id?: string + created_at?: string + id?: string + name?: string + updated_at?: string + } + Relationships: [ + { + foreignKeyName: "iceberg_namespaces_bucket_id_fkey" + columns: ["bucket_id"] + isOneToOne: false + referencedRelation: "buckets_analytics" + referencedColumns: ["id"] + }, + ] + } + iceberg_tables: { + Row: { + bucket_id: string + created_at: string + id: string + location: string + name: string + namespace_id: string + updated_at: string + } + Insert: { + bucket_id: string + created_at?: string + id?: string + location: string + name: string + namespace_id: string + updated_at?: string + } + Update: { + bucket_id?: string + created_at?: string + id?: string + location?: string + name?: string + namespace_id?: string + updated_at?: string + } + Relationships: [ + { + foreignKeyName: "iceberg_tables_bucket_id_fkey" + columns: ["bucket_id"] + isOneToOne: false + referencedRelation: "buckets_analytics" + referencedColumns: ["id"] + }, + { + foreignKeyName: "iceberg_tables_namespace_id_fkey" + columns: ["namespace_id"] + isOneToOne: false + referencedRelation: "iceberg_namespaces" + referencedColumns: ["id"] + }, + ] + } migrations: { Row: { executed_at: string | null @@ -131,12 +235,14 @@ export type Database = { created_at: string | null id: string last_accessed_at: string | null + level: number | null metadata: Json | null name: string | null owner: string | null owner_id: string | null path_tokens: string[] | null updated_at: string | null + user_metadata: Json | null version: string | null } Insert: { @@ -144,12 +250,14 @@ export type Database = { created_at?: string | null id?: string last_accessed_at?: string | null + level?: number | null metadata?: Json | null name?: string | null owner?: string | null owner_id?: string | null path_tokens?: string[] | null updated_at?: string | null + user_metadata?: Json | null version?: string | null } Update: { @@ -157,12 +265,14 @@ export type Database = { created_at?: string | null id?: string last_accessed_at?: string | null + level?: number | null metadata?: Json | null name?: string | null owner?: string | null owner_id?: string | null path_tokens?: string[] | null updated_at?: string | null + user_metadata?: Json | null version?: string | null } Relationships: [ @@ -175,6 +285,38 @@ export type Database = { }, ] } + prefixes: { + Row: { + bucket_id: string + created_at: string | null + level: number + name: string + updated_at: string | null + } + Insert: { + bucket_id: string + created_at?: string | null + level?: number + name: string + updated_at?: string | null + } + Update: { + bucket_id?: string + created_at?: string | null + level?: number + name?: string + updated_at?: string | null + } + Relationships: [ + { + foreignKeyName: "prefixes_bucketId_fkey" + columns: ["bucket_id"] + isOneToOne: false + referencedRelation: "buckets" + referencedColumns: ["id"] + }, + ] + } s3_multipart_uploads: { Row: { bucket_id: string @@ -184,6 +326,7 @@ export type Database = { key: string owner_id: string | null upload_signature: string + user_metadata: Json | null version: string } Insert: { @@ -194,6 +337,7 @@ export type Database = { key: string owner_id?: string | null upload_signature: string + user_metadata?: Json | null version: string } Update: { @@ -204,6 +348,7 @@ export type Database = { key?: string owner_id?: string | null upload_signature?: string + user_metadata?: Json | null version?: string } Relationships: [ @@ -275,31 +420,40 @@ export type Database = { [_ in never]: never } Functions: { + add_prefixes: { + Args: { _bucket_id: string; _name: string } + Returns: undefined + } can_insert_object: { - Args: { - bucketid: string - name: string - owner: string - metadata: Json - } + Args: { bucketid: string; name: string; owner: string; metadata: Json } Returns: undefined } + delete_prefix: { + Args: { _bucket_id: string; _name: string } + Returns: boolean + } extension: { - Args: { - name: string - } + Args: { name: string } Returns: string } filename: { - Args: { - name: string - } + Args: { name: string } Returns: string } foldername: { - Args: { - name: string - } + Args: { name: string } + Returns: string[] + } + get_level: { + Args: { name: string } + Returns: number + } + get_prefix: { + Args: { name: string } + Returns: string + } + get_prefixes: { + Args: { name: string } Returns: string[] } get_size_by_bucket: { @@ -340,6 +494,10 @@ export type Database = { updated_at: string }[] } + operation: { + Args: Record + Returns: string + } search: { Args: { prefix: string @@ -360,9 +518,66 @@ export type Database = { metadata: Json }[] } + search_legacy_v1: { + Args: { + prefix: string + bucketname: string + limits?: number + levels?: number + offsets?: number + search?: string + sortcolumn?: string + sortorder?: string + } + Returns: { + name: string + id: string + updated_at: string + created_at: string + last_accessed_at: string + metadata: Json + }[] + } + search_v1_optimised: { + Args: { + prefix: string + bucketname: string + limits?: number + levels?: number + offsets?: number + search?: string + sortcolumn?: string + sortorder?: string + } + Returns: { + name: string + id: string + updated_at: string + created_at: string + last_accessed_at: string + metadata: Json + }[] + } + search_v2: { + Args: { + prefix: string + bucket_name: string + limits?: number + levels?: number + start_after?: string + } + Returns: { + key: string + name: string + id: string + updated_at: string + created_at: string + metadata: Json + }[] + } } Enums: { - [_ in never]: never + buckettype: "STANDARD" | "ANALYTICS" } CompositeTypes: { [_ in never]: never @@ -370,27 +585,33 @@ export type Database = { } } -type PublicSchema = Database[Extract] +type DatabaseWithoutInternals = Omit + +type DefaultSchema = DatabaseWithoutInternals[Extract] export type Tables< - PublicTableNameOrOptions extends - | keyof (PublicSchema["Tables"] & PublicSchema["Views"]) - | { schema: keyof Database }, - TableName extends PublicTableNameOrOptions extends { schema: keyof Database } - ? keyof (Database[PublicTableNameOrOptions["schema"]]["Tables"] & - Database[PublicTableNameOrOptions["schema"]]["Views"]) + DefaultSchemaTableNameOrOptions extends + | keyof (DefaultSchema["Tables"] & DefaultSchema["Views"]) + | { schema: keyof DatabaseWithoutInternals }, + TableName extends DefaultSchemaTableNameOrOptions extends { + schema: keyof DatabaseWithoutInternals + } + ? keyof (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] & + DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"]) : never = never, -> = PublicTableNameOrOptions extends { schema: keyof Database } - ? (Database[PublicTableNameOrOptions["schema"]]["Tables"] & - Database[PublicTableNameOrOptions["schema"]]["Views"])[TableName] extends { +> = DefaultSchemaTableNameOrOptions extends { + schema: keyof DatabaseWithoutInternals +} + ? (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] & + DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])[TableName] extends { Row: infer R } ? R : never - : PublicTableNameOrOptions extends keyof (PublicSchema["Tables"] & - PublicSchema["Views"]) - ? (PublicSchema["Tables"] & - PublicSchema["Views"])[PublicTableNameOrOptions] extends { + : DefaultSchemaTableNameOrOptions extends keyof (DefaultSchema["Tables"] & + DefaultSchema["Views"]) + ? (DefaultSchema["Tables"] & + DefaultSchema["Views"])[DefaultSchemaTableNameOrOptions] extends { Row: infer R } ? R @@ -398,20 +619,24 @@ export type Tables< : never export type TablesInsert< - PublicTableNameOrOptions extends - | keyof PublicSchema["Tables"] - | { schema: keyof Database }, - TableName extends PublicTableNameOrOptions extends { schema: keyof Database } - ? keyof Database[PublicTableNameOrOptions["schema"]]["Tables"] + DefaultSchemaTableNameOrOptions extends + | keyof DefaultSchema["Tables"] + | { schema: keyof DatabaseWithoutInternals }, + TableName extends DefaultSchemaTableNameOrOptions extends { + schema: keyof DatabaseWithoutInternals + } + ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] : never = never, -> = PublicTableNameOrOptions extends { schema: keyof Database } - ? Database[PublicTableNameOrOptions["schema"]]["Tables"][TableName] extends { +> = DefaultSchemaTableNameOrOptions extends { + schema: keyof DatabaseWithoutInternals +} + ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends { Insert: infer I } ? I : never - : PublicTableNameOrOptions extends keyof PublicSchema["Tables"] - ? PublicSchema["Tables"][PublicTableNameOrOptions] extends { + : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"] + ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends { Insert: infer I } ? I @@ -419,20 +644,24 @@ export type TablesInsert< : never export type TablesUpdate< - PublicTableNameOrOptions extends - | keyof PublicSchema["Tables"] - | { schema: keyof Database }, - TableName extends PublicTableNameOrOptions extends { schema: keyof Database } - ? keyof Database[PublicTableNameOrOptions["schema"]]["Tables"] + DefaultSchemaTableNameOrOptions extends + | keyof DefaultSchema["Tables"] + | { schema: keyof DatabaseWithoutInternals }, + TableName extends DefaultSchemaTableNameOrOptions extends { + schema: keyof DatabaseWithoutInternals + } + ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] : never = never, -> = PublicTableNameOrOptions extends { schema: keyof Database } - ? Database[PublicTableNameOrOptions["schema"]]["Tables"][TableName] extends { +> = DefaultSchemaTableNameOrOptions extends { + schema: keyof DatabaseWithoutInternals +} + ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends { Update: infer U } ? U : never - : PublicTableNameOrOptions extends keyof PublicSchema["Tables"] - ? PublicSchema["Tables"][PublicTableNameOrOptions] extends { + : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"] + ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends { Update: infer U } ? U @@ -440,15 +669,50 @@ export type TablesUpdate< : never export type Enums< - PublicEnumNameOrOptions extends - | keyof PublicSchema["Enums"] - | { schema: keyof Database }, - EnumName extends PublicEnumNameOrOptions extends { schema: keyof Database } - ? keyof Database[PublicEnumNameOrOptions["schema"]]["Enums"] + DefaultSchemaEnumNameOrOptions extends + | keyof DefaultSchema["Enums"] + | { schema: keyof DatabaseWithoutInternals }, + EnumName extends DefaultSchemaEnumNameOrOptions extends { + schema: keyof DatabaseWithoutInternals + } + ? keyof DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"] + : never = never, +> = DefaultSchemaEnumNameOrOptions extends { + schema: keyof DatabaseWithoutInternals +} + ? DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"][EnumName] + : DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema["Enums"] + ? DefaultSchema["Enums"][DefaultSchemaEnumNameOrOptions] + : never + +export type CompositeTypes< + PublicCompositeTypeNameOrOptions extends + | keyof DefaultSchema["CompositeTypes"] + | { schema: keyof DatabaseWithoutInternals }, + CompositeTypeName extends PublicCompositeTypeNameOrOptions extends { + schema: keyof DatabaseWithoutInternals + } + ? keyof DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"] : never = never, -> = PublicEnumNameOrOptions extends { schema: keyof Database } - ? Database[PublicEnumNameOrOptions["schema"]]["Enums"][EnumName] - : PublicEnumNameOrOptions extends keyof PublicSchema["Enums"] - ? PublicSchema["Enums"][PublicEnumNameOrOptions] +> = PublicCompositeTypeNameOrOptions extends { + schema: keyof DatabaseWithoutInternals +} + ? DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName] + : PublicCompositeTypeNameOrOptions extends keyof DefaultSchema["CompositeTypes"] + ? DefaultSchema["CompositeTypes"][PublicCompositeTypeNameOrOptions] : never +export const Constants = { + graphql_public: { + Enums: {}, + }, + public: { + Enums: {}, + }, + storage: { + Enums: { + buckettype: ["STANDARD", "ANALYTICS"], + }, + }, +} as const +