package Ġs late kit . data Ċ Ċ import Ġs late kit . common . DateTime s Ċ import Ġs late kit . common . data . Data Action Ċ import Ġs late kit . common . data . Data Event Ċ import Ġs late kit . common . data . Data Hooks Ċ import Ġs late kit . data . core . Meta Ċ Ċ abstract Ġclass ĠBase Repo < T Id , ĠT >( override Ġval Ġmeta : ĠMeta < T Id , ĠT >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprotected Ġval Ġhooks : ĠData Hooks < T Id , ĠT > ?) Ġ: ĠRepo < T Id , ĠT > Ġwhere ĠT Id Ġ: ĠComparable < T Id >, ĠT : Any Ġ{ ĊĊĠĠĠ Ġprotected Ġval ĠtableName : ĠString Ġget () Ġ{ Ġreturn Ġmeta . name Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġnotify ( action : ĠData Action , Ġid : T Id , Ġentity : T ?, Ġsuccess : Boolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġts Ġ= ĠDateTime s . now () ĊĠĠĠĠĠĠĠ Ġif ( success ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( action ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠData Action . Create Ġ-> Ġhooks ?. on Data Event ( Data Event . Data Created < T Id , ĠT >( meta . name , Ġid , Ġentity , Ġts )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠData Action . Update Ġ-> Ġhooks ?. on Data Event ( Data Event . Data Updated < T Id , ĠT >( meta . name , Ġid , Ġentity , Ġts )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠData Action . Delete Ġ-> Ġhooks ?. on Data Event ( Data Event . Data Deleted < T Id , ĠT >( meta . name , Ġid , Ġentity , Ġts )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhooks ?. on Data Event ( Data Event . Data Er rored < T Id , ĠT >( meta . name , Ġid , Ġentity , Ġnull , Ġts )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ