export type Json = | string | number | boolean | null | { [key: string]: Json | undefined } | Json[] export interface Database { graphql_public: { Tables: { [_ in never]: never } Views: { [_ in never]: never } Functions: { graphql: { Args: { operationName?: string query?: string variables?: Json extensions?: Json } Returns: Json } } Enums: { [_ in never]: never } CompositeTypes: { [_ in never]: never } } public: { Tables: { habits: { Row: { color: string end_date: string | null goal_frequency: Database["public"]["Enums"]["goal_frequency"] goal_target: number | null goal_target_unit: string | null icon: string id: number name: string start_date: string user_id: string } Insert: { color: string end_date?: string | null goal_frequency: Database["public"]["Enums"]["goal_frequency"] goal_target?: number | null goal_target_unit?: string | null icon: string id?: number name: string start_date?: string user_id?: string } Update: { color?: string end_date?: string | null goal_frequency?: Database["public"]["Enums"]["goal_frequency"] goal_target?: number | null goal_target_unit?: string | null icon?: string id?: number name?: string start_date?: string user_id?: string } Relationships: [ { foreignKeyName: "public_habits_user_id_fkey" columns: ["user_id"] isOneToOne: false referencedRelation: "users" referencedColumns: ["id"] }, ] } habits_progresses: { Row: { date: string goal_progress: number habit_id: number id: number } Insert: { date?: string goal_progress: number habit_id: number id?: number } Update: { date?: string goal_progress?: number habit_id?: number id?: number } Relationships: [ { foreignKeyName: "public_habits_progresses_habit_id_fkey" columns: ["habit_id"] isOneToOne: false referencedRelation: "habits" referencedColumns: ["id"] }, ] } } Views: { [_ in never]: never } Functions: { [_ in never]: never } Enums: { goal_frequency: "daily" | "weekly" | "monthly" } CompositeTypes: { [_ in never]: never } } storage: { Tables: { buckets: { Row: { allowed_mime_types: string[] | null avif_autodetection: boolean | null created_at: string | null file_size_limit: number | null id: string name: string owner: string | null owner_id: string | null public: boolean | null updated_at: string | null } Insert: { allowed_mime_types?: string[] | null avif_autodetection?: boolean | null created_at?: string | null file_size_limit?: number | null id: string name: string owner?: string | null owner_id?: string | null public?: boolean | null updated_at?: string | null } Update: { allowed_mime_types?: string[] | null avif_autodetection?: boolean | null created_at?: string | null file_size_limit?: number | null id?: string name?: string owner?: string | null owner_id?: string | null public?: boolean | null updated_at?: string | null } Relationships: [] } migrations: { Row: { executed_at: string | null hash: string id: number name: string } Insert: { executed_at?: string | null hash: string id: number name: string } Update: { executed_at?: string | null hash?: string id?: number name?: string } Relationships: [] } objects: { Row: { bucket_id: string | null created_at: string | null id: string last_accessed_at: string | null metadata: Json | null name: string | null owner: string | null owner_id: string | null path_tokens: string[] | null updated_at: string | null version: string | null } Insert: { bucket_id?: string | null created_at?: string | null id?: string last_accessed_at?: string | null metadata?: Json | null name?: string | null owner?: string | null owner_id?: string | null path_tokens?: string[] | null updated_at?: string | null version?: string | null } Update: { bucket_id?: string | null created_at?: string | null id?: string last_accessed_at?: string | null metadata?: Json | null name?: string | null owner?: string | null owner_id?: string | null path_tokens?: string[] | null updated_at?: string | null version?: string | null } Relationships: [ { foreignKeyName: "objects_bucketId_fkey" columns: ["bucket_id"] isOneToOne: false referencedRelation: "buckets" referencedColumns: ["id"] }, ] } } Views: { [_ in never]: never } Functions: { can_insert_object: { Args: { bucketid: string name: string owner: string metadata: Json } Returns: undefined } extension: { Args: { name: string } Returns: string } filename: { Args: { name: string } Returns: string } foldername: { Args: { name: string } Returns: string[] } get_size_by_bucket: { Args: Record Returns: Array<{ size: number bucket_id: string }> } search: { Args: { prefix: string bucketname: string limits?: number levels?: number offsets?: number search?: string sortcolumn?: string sortorder?: string } Returns: Array<{ name: string id: string updated_at: string created_at: string last_accessed_at: string metadata: Json }> } } Enums: { [_ in never]: never } CompositeTypes: { [_ in never]: never } } } type PublicSchema = Database[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"]) : never = never, > = PublicTableNameOrOptions extends { schema: keyof Database } ? (Database[PublicTableNameOrOptions["schema"]]["Tables"] & Database[PublicTableNameOrOptions["schema"]]["Views"])[TableName] extends { Row: infer R } ? R : never : PublicTableNameOrOptions extends keyof (PublicSchema["Tables"] & PublicSchema["Views"]) ? (PublicSchema["Tables"] & PublicSchema["Views"])[PublicTableNameOrOptions] extends { Row: infer R } ? R : never : never export type TablesInsert< PublicTableNameOrOptions extends | keyof PublicSchema["Tables"] | { schema: keyof Database }, TableName extends PublicTableNameOrOptions extends { schema: keyof Database } ? keyof Database[PublicTableNameOrOptions["schema"]]["Tables"] : never = never, > = PublicTableNameOrOptions extends { schema: keyof Database } ? Database[PublicTableNameOrOptions["schema"]]["Tables"][TableName] extends { Insert: infer I } ? I : never : PublicTableNameOrOptions extends keyof PublicSchema["Tables"] ? PublicSchema["Tables"][PublicTableNameOrOptions] extends { Insert: infer I } ? I : never : never export type TablesUpdate< PublicTableNameOrOptions extends | keyof PublicSchema["Tables"] | { schema: keyof Database }, TableName extends PublicTableNameOrOptions extends { schema: keyof Database } ? keyof Database[PublicTableNameOrOptions["schema"]]["Tables"] : never = never, > = PublicTableNameOrOptions extends { schema: keyof Database } ? Database[PublicTableNameOrOptions["schema"]]["Tables"][TableName] extends { Update: infer U } ? U : never : PublicTableNameOrOptions extends keyof PublicSchema["Tables"] ? PublicSchema["Tables"][PublicTableNameOrOptions] extends { Update: infer U } ? U : never : never export type Enums< PublicEnumNameOrOptions extends | keyof PublicSchema["Enums"] | { schema: keyof Database }, EnumName extends PublicEnumNameOrOptions extends { schema: keyof Database } ? keyof Database[PublicEnumNameOrOptions["schema"]]["Enums"] : never = never, > = PublicEnumNameOrOptions extends { schema: keyof Database } ? Database[PublicEnumNameOrOptions["schema"]]["Enums"][EnumName] : PublicEnumNameOrOptions extends keyof PublicSchema["Enums"] ? PublicSchema["Enums"][PublicEnumNameOrOptions] : never