import 'package:supabase_flutter/supabase_flutter.dart';
import 'package:uuid/uuid.dart';

class RefGenericNames {
  final SupabaseClient _supabase = Supabase.instance.client;

  Future<List> getList() async {
    final data =
        await _supabase.from('ref_generic_names').select('generic_name').order('generic_name', ascending: true);
    return data.toList();
  }

  Future<String> getCategoryUUID(name) async {
    final data = await _supabase.from('ref_generic_names').select('ref_categories_uuid').eq('generic_name', name);
    return data.first['ref_categories_uuid'].toString();
  }

  Future<String> getUUID(name) async {
    final data = await _supabase.from('ref_generic_names').select('ref_generic_names_uuid').eq('generic_name', name);
    return data.first['ref_generic_names_uuid'].toString();
  }

  Future<void> postGeneric(String name, String uuid) async {
    final genericUUID = Uuid().v4();

    await _supabase
        .from('ref_generic_names')
        .insert({'ref_generic_names_uuid': genericUUID, 'generic_name': name, 'ref_categories_uuid': uuid});
  }

  Future<List> getSample() async {
    final data = await _supabase.from('ref_generic_names').select('''generic_name, ref_categories(category_name)''');
    return data.toList();
  }
}


// let { data: ref_generic_names, error } = await supabase
//   .from('ref_generic_names')
//   .select(`
//     some_column,
//     other_table (
//       foreign_key
//     )
//   `)
          