import 'package:supabase_flutter/supabase_flutter.dart'; class RefMedicines { final SupabaseClient _supabase = Supabase.instance.client; Future getList() async { List> medicineData = []; try { final data = await _supabase .from('ref_medicines') .select('medicine_name, ref_manufacturers(manufacturer_name)') .order('medicine_name', ascending: true); for (var item in data) { medicineData.add({ 'medicine_name': item['medicine_name'], 'manufacturer_name': item['ref_manufacturers']['manufacturer_name'], }); } return medicineData; } catch (e) { return []; } } // Future getListAsStocks() async { // List> medicineData = []; // try { // final data = await _supabase // .from('ref_medicines') // .select('medicine_name, stocks(manufactorer_name)') // .order('medicine_name', ascending: true); // for (var item in data) { // medicineData.add({ // 'medicine_name': item['medicine_name'], // 'manufacturer_name': item['ref_manufactorers']['manufactorer_name'], // }); // } // return medicineData; // } catch (e) { // return []; // } // } Future getListWithUUID() async { try { final data = await _supabase .from('ref_medicines') .select('ref_medicines_uuid, medicine_name') .order('medicine_name', ascending: true); return data.toList(); } catch (e) { return []; } } Future getUUID(String name) async { try { final data = await _supabase.from('ref_medicines').select('ref_medicines_uuid').eq('medicine_name', name); return data.first['ref_medicines_uuid']; } catch (e) { return ''; } } Future getBarcode(String name) async { try { final data = await _supabase.from('ref_medicines').select('barcode').eq('medicine_name', name); return data.first['barcode']; } catch (e) { return ''; } } Future getNameUsingBarcode(String barcode) async { try { final data = await _supabase.from('ref_medicines').select('medicine_name').eq('barcode', barcode); return data.first['medicine_name']; } catch (e) { return ''; } } Future postMedicine(String uuid, String name, String muuid, String guuid, String tuuid, String barcode) async { final medicine = { 'ref_medicines_uuid': uuid, 'medicine_name': name, 'ref_manufactorers_uuid': muuid, 'ref_generic_names_uuid': guuid, 'ref_types_uuid': tuuid, 'barcode': barcode }; try { await _supabase.from('ref_medicines').insert(medicine); return true; } catch (e) { return false; } } }