UNPKG

nuxt-supabase-team-auth

Version:

Drop-in Nuxt 3 module for team-based authentication with Supabase

329 lines 13.4 kB
export type Json = string | number | boolean | null | { [key: string]: Json | undefined; } | Json[]; export type 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: { impersonation_sessions: { Row: { admin_user_id: string; created_at: string; ended_at: string | null; expires_at: string; id: string; reason: string; started_at: string; target_user_id: string; updated_at: string; }; Insert: { admin_user_id: string; created_at?: string; ended_at?: string | null; expires_at?: string; id?: string; reason: string; started_at?: string; target_user_id: string; updated_at?: string; }; Update: { admin_user_id?: string; created_at?: string; ended_at?: string | null; expires_at?: string; id?: string; reason?: string; started_at?: string; target_user_id?: string; updated_at?: string; }; Relationships: []; }; profiles: { Row: { avatar_url: string | null; bio: string | null; created_at: string; email: string | null; email_notifications: boolean | null; full_name: string | null; id: string; language: string | null; marketing_emails: boolean | null; phone: string | null; timezone: string | null; updated_at: string; }; Insert: { avatar_url?: string | null; bio?: string | null; created_at?: string; email?: string | null; email_notifications?: boolean | null; full_name?: string | null; id: string; language?: string | null; marketing_emails?: boolean | null; phone?: string | null; timezone?: string | null; updated_at?: string; }; Update: { avatar_url?: string | null; bio?: string | null; created_at?: string; email?: string | null; email_notifications?: boolean | null; full_name?: string | null; id?: string; language?: string | null; marketing_emails?: boolean | null; phone?: string | null; timezone?: string | null; updated_at?: string; }; Relationships: []; }; team_members: { Row: { joined_at: string; role: Database['public']['Enums']['team_role']; team_id: string; user_id: string; }; Insert: { joined_at?: string; role?: Database['public']['Enums']['team_role']; team_id: string; user_id: string; }; Update: { joined_at?: string; role?: Database['public']['Enums']['team_role']; team_id?: string; user_id?: string; }; Relationships: [ { foreignKeyName: 'fk_team_members_profiles'; columns: ['user_id']; isOneToOne: false; referencedRelation: 'profiles'; referencedColumns: ['id']; }, { foreignKeyName: 'team_members_team_id_fkey'; columns: ['team_id']; isOneToOne: false; referencedRelation: 'teams'; referencedColumns: ['id']; } ]; }; teams: { Row: { company_address_line1: string | null; company_address_line2: string | null; company_city: string | null; company_country: string | null; company_name: string | null; company_postal_code: string | null; company_state: string | null; company_vat_number: string | null; created_at: string; id: string; name: string; vat_number: string | null; }; Insert: { company_address_line1?: string | null; company_address_line2?: string | null; company_city?: string | null; company_country?: string | null; company_name?: string | null; company_postal_code?: string | null; company_state?: string | null; company_vat_number?: string | null; created_at?: string; id?: string; name: string; vat_number?: string | null; }; Update: { company_address_line1?: string | null; company_address_line2?: string | null; company_city?: string | null; company_country?: string | null; company_name?: string | null; company_postal_code?: string | null; company_state?: string | null; company_vat_number?: string | null; created_at?: string; id?: string; name?: string; vat_number?: string | null; }; Relationships: []; }; }; Views: { [_ in never]: never; }; Functions: { cleanup_all_test_data: { Args: Record<PropertyKey, never>; Returns: { users_deleted: number; teams_deleted: number; }[]; }; cleanup_test_team: { Args: { team_id_param: string; }; Returns: undefined; }; debug_user_context: { Args: Record<PropertyKey, never>; Returns: { auth_uid: string; auth_role: string; is_super_admin_result: boolean; }[]; }; get_team_member_ids: { Args: { team_uuid: string; }; Returns: string[]; }; get_team_members_with_profiles: { Args: { team_id_param: string; }; Returns: { user_id: string; role: Database['public']['Enums']['team_role']; joined_at: string; full_name: string; email: string; }[]; }; get_test_user_ids: { Args: Record<PropertyKey, never>; Returns: { user_id: string; email: string; }[]; }; get_user_team_ids: { Args: { user_uuid?: string; }; Returns: string[]; }; is_super_admin: { Args: Record<PropertyKey, never>; Returns: boolean; }; user_team_role: { Args: { team_id: string; }; Returns: Database['public']['Enums']['team_role']; }; }; Enums: { team_role: 'owner' | 'admin' | 'member' | 'super_admin'; }; CompositeTypes: { [_ in never]: never; }; }; }; type DefaultSchema = Database[Extract<keyof Database, 'public'>]; export type Tables<DefaultSchemaTableNameOrOptions extends keyof (DefaultSchema['Tables'] & DefaultSchema['Views']) | { schema: keyof Database; }, TableName extends DefaultSchemaTableNameOrOptions extends { schema: keyof Database; } ? keyof (Database[DefaultSchemaTableNameOrOptions['schema']]['Tables'] & Database[DefaultSchemaTableNameOrOptions['schema']]['Views']) : never = never> = DefaultSchemaTableNameOrOptions extends { schema: keyof Database; } ? (Database[DefaultSchemaTableNameOrOptions['schema']]['Tables'] & Database[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 Database; }, TableName extends DefaultSchemaTableNameOrOptions extends { schema: keyof Database; } ? keyof Database[DefaultSchemaTableNameOrOptions['schema']]['Tables'] : never = never> = DefaultSchemaTableNameOrOptions extends { schema: keyof Database; } ? Database[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 Database; }, TableName extends DefaultSchemaTableNameOrOptions extends { schema: keyof Database; } ? keyof Database[DefaultSchemaTableNameOrOptions['schema']]['Tables'] : never = never> = DefaultSchemaTableNameOrOptions extends { schema: keyof Database; } ? Database[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 Database; }, EnumName extends DefaultSchemaEnumNameOrOptions extends { schema: keyof Database; } ? keyof Database[DefaultSchemaEnumNameOrOptions['schema']]['Enums'] : never = never> = DefaultSchemaEnumNameOrOptions extends { schema: keyof Database; } ? Database[DefaultSchemaEnumNameOrOptions['schema']]['Enums'][EnumName] : DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema['Enums'] ? DefaultSchema['Enums'][DefaultSchemaEnumNameOrOptions] : never; export type CompositeTypes<PublicCompositeTypeNameOrOptions extends keyof DefaultSchema['CompositeTypes'] | { schema: keyof Database; }, CompositeTypeName extends PublicCompositeTypeNameOrOptions extends { schema: keyof Database; } ? keyof Database[PublicCompositeTypeNameOrOptions['schema']]['CompositeTypes'] : never = never> = PublicCompositeTypeNameOrOptions extends { schema: keyof Database; } ? Database[PublicCompositeTypeNameOrOptions['schema']]['CompositeTypes'][CompositeTypeName] : PublicCompositeTypeNameOrOptions extends keyof DefaultSchema['CompositeTypes'] ? DefaultSchema['CompositeTypes'][PublicCompositeTypeNameOrOptions] : never; export declare const Constants: { readonly graphql_public: { readonly Enums: {}; }; readonly public: { readonly Enums: { readonly team_role: readonly ["owner", "admin", "member", "super_admin"]; }; }; }; export {}; //# sourceMappingURL=database.types.d.ts.map