export type Json = | string | number | boolean | null | { [key: string]: Json | undefined } | Json[] export type Database = { // Allows to automatically instantiate createClient with right options // instead of createClient(URL, KEY) __InternalSupabase: { PostgrestVersion: "13.0.4" } public: { Tables: { availabilities: { Row: { availability_data: Json created_at: string exceptions: Json | null id: number updated_at: string user_id: string } Insert: { availability_data?: Json created_at?: string exceptions?: Json | null id?: number updated_at?: string user_id: string } Update: { availability_data?: Json created_at?: string exceptions?: Json | null id?: number updated_at?: string user_id?: string } Relationships: [] } calendar_subscriptions: { Row: { created_at: string | null id: string tablo_id: string token: string } Insert: { created_at?: string | null id?: string tablo_id: string token: string } Update: { created_at?: string | null id?: string tablo_id?: string token?: string } Relationships: [ { foreignKeyName: "calendar_subscriptions_tablo_id_fkey" columns: ["tablo_id"] isOneToOne: true referencedRelation: "events_and_tablos" referencedColumns: ["tablo_id"] }, { foreignKeyName: "calendar_subscriptions_tablo_id_fkey" columns: ["tablo_id"] isOneToOne: true referencedRelation: "tablos" referencedColumns: ["id"] }, { foreignKeyName: "calendar_subscriptions_tablo_id_fkey" columns: ["tablo_id"] isOneToOne: true referencedRelation: "user_tablos" referencedColumns: ["id"] }, ] } devis: { Row: { client_email: string created_at: string date: string due_date: string id: string items: Json notes: string | null number: string status: Database["public"]["Enums"]["devis_status"] subtotal: number tax: number terms: string | null total: number updated_at: string user_id: string } Insert: { client_email: string created_at?: string date: string due_date: string id?: string items?: Json notes?: string | null number: string status?: Database["public"]["Enums"]["devis_status"] subtotal: number tax: number terms?: string | null total: number updated_at?: string user_id: string } Update: { client_email?: string created_at?: string date?: string due_date?: string id?: string items?: Json notes?: string | null number?: string status?: Database["public"]["Enums"]["devis_status"] subtotal?: number tax?: number terms?: string | null total?: number updated_at?: string user_id?: string } Relationships: [] } event_types: { Row: { config: Json created_at: string | null deleted_at: string | null id: string is_active: boolean standard_name: string | null updated_at: string | null user_id: string } Insert: { config?: Json created_at?: string | null deleted_at?: string | null id?: string is_active?: boolean standard_name?: string | null updated_at?: string | null user_id: string } Update: { config?: Json created_at?: string | null deleted_at?: string | null id?: string is_active?: boolean standard_name?: string | null updated_at?: string | null user_id?: string } Relationships: [] } events: { Row: { created_at: string | null created_by: string deleted_at: string | null description: string | null end_time: string | null id: string start_date: string start_time: string tablo_id: string title: string } Insert: { created_at?: string | null created_by: string deleted_at?: string | null description?: string | null end_time?: string | null id?: string start_date: string start_time: string tablo_id: string title: string } Update: { created_at?: string | null created_by?: string deleted_at?: string | null description?: string | null end_time?: string | null id?: string start_date?: string start_time?: string tablo_id?: string title?: string } Relationships: [ { foreignKeyName: "fk_events_tablo_id" columns: ["tablo_id"] isOneToOne: false referencedRelation: "events_and_tablos" referencedColumns: ["tablo_id"] }, { foreignKeyName: "fk_events_tablo_id" columns: ["tablo_id"] isOneToOne: false referencedRelation: "tablos" referencedColumns: ["id"] }, { foreignKeyName: "fk_events_tablo_id" columns: ["tablo_id"] isOneToOne: false referencedRelation: "user_tablos" referencedColumns: ["id"] }, ] } feedbacks: { Row: { created_at: string | null fd_type: string id: number message: string user_id: string } Insert: { created_at?: string | null fd_type: string id?: number message: string user_id: string } Update: { created_at?: string | null fd_type?: string id?: number message?: string user_id?: string } Relationships: [] } note_access: { Row: { created_at: string | null id: number is_active: boolean | null note_id: string tablo_id: string | null updated_at: string | null user_id: string } Insert: { created_at?: string | null id?: number is_active?: boolean | null note_id: string tablo_id?: string | null updated_at?: string | null user_id: string } Update: { created_at?: string | null id?: number is_active?: boolean | null note_id?: string tablo_id?: string | null updated_at?: string | null user_id?: string } Relationships: [ { foreignKeyName: "fk_note_access_note_id" columns: ["note_id"] isOneToOne: false referencedRelation: "notes" referencedColumns: ["id"] }, { foreignKeyName: "fk_note_access_tablo_id" columns: ["tablo_id"] isOneToOne: false referencedRelation: "events_and_tablos" referencedColumns: ["tablo_id"] }, { foreignKeyName: "fk_note_access_tablo_id" columns: ["tablo_id"] isOneToOne: false referencedRelation: "tablos" referencedColumns: ["id"] }, { foreignKeyName: "fk_note_access_tablo_id" columns: ["tablo_id"] isOneToOne: false referencedRelation: "user_tablos" referencedColumns: ["id"] }, ] } notes: { Row: { content: string | null created_at: string | null deleted_at: string | null id: string title: string updated_at: string | null user_id: string } Insert: { content?: string | null created_at?: string | null deleted_at?: string | null id?: string title: string updated_at?: string | null user_id: string } Update: { content?: string | null created_at?: string | null deleted_at?: string | null id?: string title?: string updated_at?: string | null user_id?: string } Relationships: [] } notifications: { Row: { action_type: string actor_id: string | null created_at: string entity_id: string entity_type: string id: string message: Json metadata: Json | null read_at: string | null user_id: string } Insert: { action_type: string actor_id?: string | null created_at?: string entity_id: string entity_type: string id?: string message?: Json metadata?: Json | null read_at?: string | null user_id: string } Update: { action_type?: string actor_id?: string | null created_at?: string entity_id?: string entity_type?: string id?: string message?: Json metadata?: Json | null read_at?: string | null user_id?: string } Relationships: [] } profiles: { Row: { avatar_url: string | null created_at: string | null email: string | null first_name: string | null id: string is_temporary: boolean last_name: string | null last_signed_in: string | null name: string | null plan: Database["public"]["Enums"]["subscription_plan"] | null short_user_id: string } Insert: { avatar_url?: string | null created_at?: string | null email?: string | null first_name?: string | null id: string is_temporary?: boolean last_name?: string | null last_signed_in?: string | null name?: string | null plan?: Database["public"]["Enums"]["subscription_plan"] | null short_user_id: string } Update: { avatar_url?: string | null created_at?: string | null email?: string | null first_name?: string | null id?: string is_temporary?: boolean last_name?: string | null last_signed_in?: string | null name?: string | null plan?: Database["public"]["Enums"]["subscription_plan"] | null short_user_id?: string } Relationships: [] } shared_notes: { Row: { created_at: string | null is_public: boolean | null note_id: string updated_at: string | null user_id: string } Insert: { created_at?: string | null is_public?: boolean | null note_id: string updated_at?: string | null user_id: string } Update: { created_at?: string | null is_public?: boolean | null note_id?: string updated_at?: string | null user_id?: string } Relationships: [ { foreignKeyName: "fk_shared_notes_note_id" columns: ["note_id"] isOneToOne: true referencedRelation: "notes" referencedColumns: ["id"] }, ] } tablo_access: { Row: { created_at: string | null granted_by: string id: number is_active: boolean | null is_admin: boolean | null tablo_id: string user_id: string } Insert: { created_at?: string | null granted_by: string id?: number is_active?: boolean | null is_admin?: boolean | null tablo_id: string user_id: string } Update: { created_at?: string | null granted_by?: string id?: number is_active?: boolean | null is_admin?: boolean | null tablo_id?: string user_id?: string } Relationships: [ { foreignKeyName: "fk_tablo_access_tablo_id" columns: ["tablo_id"] isOneToOne: false referencedRelation: "events_and_tablos" referencedColumns: ["tablo_id"] }, { foreignKeyName: "fk_tablo_access_tablo_id" columns: ["tablo_id"] isOneToOne: false referencedRelation: "tablos" referencedColumns: ["id"] }, { foreignKeyName: "fk_tablo_access_tablo_id" columns: ["tablo_id"] isOneToOne: false referencedRelation: "user_tablos" referencedColumns: ["id"] }, { foreignKeyName: "fk_tablo_access_user_id_from_profiles" columns: ["user_id"] isOneToOne: false referencedRelation: "profiles" referencedColumns: ["id"] }, ] } tablo_invites: { Row: { created_at: string id: number invite_token: string invited_by: string invited_email: string is_pending: boolean tablo_id: string } Insert: { created_at?: string id?: number invite_token: string invited_by: string invited_email: string is_pending?: boolean tablo_id: string } Update: { created_at?: string id?: number invite_token?: string invited_by?: string invited_email?: string is_pending?: boolean tablo_id?: string } Relationships: [ { foreignKeyName: "fk_tablo_invitations_tablo_id" columns: ["tablo_id"] isOneToOne: false referencedRelation: "events_and_tablos" referencedColumns: ["tablo_id"] }, { foreignKeyName: "fk_tablo_invitations_tablo_id" columns: ["tablo_id"] isOneToOne: false referencedRelation: "tablos" referencedColumns: ["id"] }, { foreignKeyName: "fk_tablo_invitations_tablo_id" columns: ["tablo_id"] isOneToOne: false referencedRelation: "user_tablos" referencedColumns: ["id"] }, ] } tablos: { Row: { color: string | null created_at: string | null deleted_at: string | null id: string image: string | null name: string owner_id: string position: number status: string | null updated_at: string | null } Insert: { color?: string | null created_at?: string | null deleted_at?: string | null id?: string image?: string | null name: string owner_id: string position?: number status?: string | null updated_at?: string | null } Update: { color?: string | null created_at?: string | null deleted_at?: string | null id?: string image?: string | null name?: string owner_id?: string position?: number status?: string | null updated_at?: string | null } Relationships: [] } tasks: { Row: { assignee_id: string | null created_at: string description: string | null id: string is_parent: boolean parent_task_id: string | null position: number status: Database["public"]["Enums"]["task_status"] tablo_id: string title: string updated_at: string } Insert: { assignee_id?: string | null created_at?: string description?: string | null id?: string is_parent?: boolean parent_task_id?: string | null position?: number status?: Database["public"]["Enums"]["task_status"] tablo_id: string title: string updated_at?: string } Update: { assignee_id?: string | null created_at?: string description?: string | null id?: string is_parent?: boolean parent_task_id?: string | null position?: number status?: Database["public"]["Enums"]["task_status"] tablo_id?: string title?: string updated_at?: string } Relationships: [ { foreignKeyName: "tasks_parent_task_id_fkey" columns: ["parent_task_id"] isOneToOne: false referencedRelation: "tasks" referencedColumns: ["id"] }, { foreignKeyName: "tasks_parent_task_id_fkey" columns: ["parent_task_id"] isOneToOne: false referencedRelation: "tasks_with_assignee" referencedColumns: ["id"] }, { foreignKeyName: "tasks_tablo_id_fkey" columns: ["tablo_id"] isOneToOne: false referencedRelation: "events_and_tablos" referencedColumns: ["tablo_id"] }, { foreignKeyName: "tasks_tablo_id_fkey" columns: ["tablo_id"] isOneToOne: false referencedRelation: "tablos" referencedColumns: ["id"] }, { foreignKeyName: "tasks_tablo_id_fkey" columns: ["tablo_id"] isOneToOne: false referencedRelation: "user_tablos" referencedColumns: ["id"] }, ] } user_introductions: { Row: { config: Json created_at: string | null updated_at: string | null user_id: string } Insert: { config?: Json created_at?: string | null updated_at?: string | null user_id: string } Update: { config?: Json created_at?: string | null updated_at?: string | null user_id?: string } Relationships: [] } } Views: { events_and_tablos: { Row: { description: string | null end_time: string | null event_id: string | null start_date: string | null start_time: string | null tablo_color: string | null tablo_id: string | null tablo_name: string | null tablo_status: string | null title: string | null } Relationships: [] } tasks_with_assignee: { Row: { assignee_avatar: string | null assignee_id: string | null assignee_name: string | null created_at: string | null description: string | null id: string | null is_parent: boolean | null parent_task_id: string | null position: number | null status: Database["public"]["Enums"]["task_status"] | null tablo_id: string | null title: string | null updated_at: string | null } Relationships: [ { foreignKeyName: "tasks_parent_task_id_fkey" columns: ["parent_task_id"] isOneToOne: false referencedRelation: "tasks" referencedColumns: ["id"] }, { foreignKeyName: "tasks_parent_task_id_fkey" columns: ["parent_task_id"] isOneToOne: false referencedRelation: "tasks_with_assignee" referencedColumns: ["id"] }, { foreignKeyName: "tasks_tablo_id_fkey" columns: ["tablo_id"] isOneToOne: false referencedRelation: "events_and_tablos" referencedColumns: ["tablo_id"] }, { foreignKeyName: "tasks_tablo_id_fkey" columns: ["tablo_id"] isOneToOne: false referencedRelation: "tablos" referencedColumns: ["id"] }, { foreignKeyName: "tasks_tablo_id_fkey" columns: ["tablo_id"] isOneToOne: false referencedRelation: "user_tablos" referencedColumns: ["id"] }, ] } user_tablos: { Row: { access_level: string | null color: string | null created_at: string | null deleted_at: string | null id: string | null image: string | null is_admin: boolean | null name: string | null position: number | null status: string | null user_id: string | null } Relationships: [ { foreignKeyName: "fk_tablo_access_user_id_from_profiles" columns: ["user_id"] isOneToOne: false referencedRelation: "profiles" referencedColumns: ["id"] }, ] } } Functions: { compute_tablo_status: { Args: { tablo_id_param: string } Returns: string } generate_random_string: { Args: { length?: number }; Returns: string } get_my_active_subscription: { Args: never Returns: { billing_interval: string cancel_at_period_end: boolean currency: string current_period_end: string current_period_start: string first_name: string last_name: string plan: Database["public"]["Enums"]["subscription_plan"] product_name: string status: string subscription_id: string unit_amount: number user_email: string user_id: string }[] } get_stripe_prices: { Args: never Returns: { active: boolean created: number currency: string id: string metadata: Json product: string recurring: Json unit_amount: number }[] } get_stripe_products: { Args: never Returns: { active: boolean created: number description: string id: string metadata: Json name: string }[] } get_user_stripe_customer: { Args: never Returns: { created: number email: string id: string metadata: Json user_id: string }[] } get_user_stripe_customer_id: { Args: { user_uuid: string } Returns: string } get_user_stripe_subscriptions: { Args: never Returns: { cancel_at_period_end: boolean canceled_at: number created: number current_period_end: number current_period_start: number customer: string id: string metadata: Json price_id: string quantity: number status: string trial_end: Json trial_start: Json user_id: string }[] } get_user_subscription_status: { Args: { user_uuid: string } Returns: { cancel_at_period_end: boolean current_period_end: number current_period_start: number plan: Database["public"]["Enums"]["subscription_plan"] price_id: string product_name: string status: string subscription_id: string }[] } is_paying_user: { Args: { user_uuid: string }; Returns: boolean } } Enums: { devis_status: "draft" | "sent" | "accepted" | "rejected" | "expired" subscription_plan: "none" | "trial" | "standard" | "beta" | "free" task_status: "todo" | "in_progress" | "in_review" | "done" } CompositeTypes: { time_range: { start_time: string | null end_time: string | null } } } } type DatabaseWithoutInternals = Omit type DefaultSchema = DatabaseWithoutInternals[Extract] export type Tables< 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, > = DefaultSchemaTableNameOrOptions extends { schema: keyof DatabaseWithoutInternals } ? (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] & DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])[TableName] extends { Row: infer R } ? R : never : DefaultSchemaTableNameOrOptions extends keyof (DefaultSchema["Tables"] & DefaultSchema["Views"]) ? (DefaultSchema["Tables"] & DefaultSchema["Views"])[DefaultSchemaTableNameOrOptions] extends { Row: infer R } ? R : never : never export type TablesInsert< DefaultSchemaTableNameOrOptions extends | keyof DefaultSchema["Tables"] | { schema: keyof DatabaseWithoutInternals }, TableName extends DefaultSchemaTableNameOrOptions extends { schema: keyof DatabaseWithoutInternals } ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] : never = never, > = DefaultSchemaTableNameOrOptions extends { schema: keyof DatabaseWithoutInternals } ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends { Insert: infer I } ? I : never : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"] ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends { Insert: infer I } ? I : never : never export type TablesUpdate< DefaultSchemaTableNameOrOptions extends | keyof DefaultSchema["Tables"] | { schema: keyof DatabaseWithoutInternals }, TableName extends DefaultSchemaTableNameOrOptions extends { schema: keyof DatabaseWithoutInternals } ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] : never = never, > = DefaultSchemaTableNameOrOptions extends { schema: keyof DatabaseWithoutInternals } ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends { Update: infer U } ? U : never : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"] ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends { Update: infer U } ? U : never : never export type 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, > = PublicCompositeTypeNameOrOptions extends { schema: keyof DatabaseWithoutInternals } ? DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName] : PublicCompositeTypeNameOrOptions extends keyof DefaultSchema["CompositeTypes"] ? DefaultSchema["CompositeTypes"][PublicCompositeTypeNameOrOptions] : never export const Constants = { public: { Enums: { devis_status: ["draft", "sent", "accepted", "rejected", "expired"], subscription_plan: ["none", "trial", "standard", "beta", "free"], task_status: ["todo", "in_progress", "in_review", "done"], }, }, } as const