package Ġio . ple o . ant ae us . rest . controllers Ċ Ċ import Ġio . jav al in . http . Context Ċ import Ġio . ple o . ant ae us . core . services . Subscription Service Ċ import Ġio . ple o . ant ae us . models . Currency Ċ import Ġio . ple o . ant ae us . models . Money Ċ import Ġio . ple o . ant ae us . models . Subscription Update Schema Ċ Ċ class ĠSubscription Controller ( private Ġval Ġsubscription Service : ĠSubscription Service ) Ġ{ ĊĠĠĠ Ġfun Ġlist ( ctx : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġis Deleted Ġ= Ġctx . query Param (" is _ deleted ") Ġ== Ġ" true " ĊĊĠĠĠĠĠĠĠ Ġctx . json ( subscription Service . fetch All ( is Deleted )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġindex ( ctx : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġctx . json ( subscription Service . fetch ( ctx . path Param (" id "). toInt ())) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġedit ( ctx : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġctx . path Param (" id "). toInt () ĊĊĠĠĠĠĠĠĠ Ġval Ġamount Ġ= Ġctx . form Param (" amount ") ?. to BigDecimal () ĊĠĠĠĠĠĠĠ Ġval Ġcurrency Ġ= Ġctx . form Param (" currency ") ĊĠĠĠĠĠĠĠ Ġval Ġis Deleted Ġ= Ġctx . form Param (" is _ deleted ") Ġ== Ġ" true " ĊĊĠĠĠĠĠĠĠ Ġvar Ġnew Amount : ĠMoney ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġif Ġ( amount Ġ!= Ġnull Ġ&& Ġcurrency Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Amount Ġ= ĠMoney ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġamount , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrency Ġ= ĠCurrency . valueOf ( currency . toUpperCase ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġctx . json ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsubscription Service . update ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSubscription Update Schema ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġamount Ġ= Ġnew Amount , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Deleted Ġ= Ġis Deleted ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ