package Ġcom . we es ner development . serial cab inet . view models Ċ Ċ import Ġandroidx . h ilt . lifecycle . ViewModel Inject Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġcom . we es ner development . frontend utils . request Ċ import Ġcom . we es ner development . serial cab inet . middleware . Electron ics Middleware Ċ import Ġkim chi . K im chi Ċ import Ġkotlinx . coroutines . launch Ċ import Ġshared . serial Cab inet . Electron ic Ċ Ċ class ĠElectron ics ViewModel Ġ@ ViewModel Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġelectron ics Middleware : ĠElectron ics Middleware Ċ ) Ġ: ĠViewModel () Ġ{ ĊĠĠĠ Ġval Ġall Electron ics Ġ= ĠViewModel Item < List < Electron ic >>( emptyList ()) ĊĠĠĠ Ġval Ġfailed Electron ic Ġ= ĠViewModel Item ("") ĊĊĠĠĠ Ġfun Ġget Electron ics () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġelectron ics Middleware . getAll () Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKim chi . debug (" successfully Ġgot Ġelectron ics Ġ$ it ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġall Electron ics . set ( it Ġ?: Ġempty List ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKim chi . debug (" failed Ġto Ġget Ġelectron ics Ġ$ it ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġall Electron ics . set ( emptyList ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Electron ic ( electron ic : ĠElectron ic ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġelectron ics Middleware . add ( electron ic ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKim chi . debug (" successfully Ġadded ĠElectron ic Ġ$ it ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Electron ics () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKim chi . debug (" failed Ġto Ġadd ĠElectron ic Ġ$ it ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfailed Electron ic . set (" Failed Ġto Ġadd ĠElectron ic , Ġtry Ġagain .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdelete Electron ic ( electron ic : ĠElectron ic ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġelectron ics Middleware . remove ( electron ic . id . toString ()) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKim chi . debug (" successfully Ġdeleted ĠElectron ic Ġ$ it ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Electron ics () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKim chi . debug (" failed Ġto Ġdelete ĠElectron ic Ġ$ it ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfailed Electron ic . set (" Failed Ġto Ġdelete ĠElectron ic , Ġtry Ġagain .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ