/* - Ċ Ġ* Ġ#% L Ċ Ġ* Ġfin ance - manager Ċ Ġ* Ġ%% Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 9 Ġ- Ġ 2 0 2 1 ĠFre der ik ĠK am mel Ċ Ġ* Ġ%% Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* ĠĊ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* ĠĊ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ġ# L % Ċ Ġ*/ Ċ package Ġcom . github . vat b ub . finance . manager . database Ċ Ċ import Ġcom . github . vat b ub . finance . manager . model . Currency Ċ import Ġcom . github . vat b ub . finance . manager . model . Transaction Category Ċ import Ġorg . jetbrains . ex posed . dao . id . Int Id Table Ċ import Ġorg . jetbrains . ex posed . sql . Table Ċ Ċ object ĠBank Transactions Ġ: ĠInt Id Table () Ġ{ ĊĠĠĠ Ġval ĠaccountId Ġ= Ġinteger (" accountId "). references ( Accounts . id ) ĊĠĠĠ Ġval Ġbooking Date Ġ= Ġchar (" booking Date ", Ġ 8 ). nullable () ĊĠĠĠ Ġval Ġval uta Date Ġ= Ġchar (" val uta Date ", Ġ 8 ). nullable () ĊĠĠĠ Ġval Ġsender Or Receiver Ġ= Ġvarchar (" sender Or Receiver ", Ġ 7 0 ). nullable () ĊĠĠĠ Ġval Ġi ban Ġ= Ġvarchar (" ib an ", Ġ 3 2 ). nullable () ĊĠĠĠ Ġval Ġb ic Ġ= Ġvarchar (" bic ", Ġ 1 1 ). nullable () ĊĠĠĠ Ġval Ġbooking Text Ġ= Ġvarchar (" booking Text ", Ġ 3 3 ). nullable () ĊĠĠĠ Ġval Ġusage Text Ġ= Ġvarchar (" usage Text ", Ġ 1 4 0 ). nullable () ĊĠĠĠ Ġval Ġcategory Ġ= Ġenumeration (" category ", ĠTransaction Category :: class ). nullable () ĊĠĠĠ Ġval Ġamount Ġ= Ġdouble (" amount ") ĊĠĠĠ Ġval Ġcurrency Ġ= Ġenumeration (" currency ", ĠCurrency :: class ) ĊĠĠĠ Ġval Ġrecur ring Transaction Id Ġ= Ġinteger (" recurring Transaction Id "). references ( Recurring Transactions . id ). nullable () Ċ } Ċ Ċ object ĠRe cur ring Transactions Ġ: ĠInt Id Table () Ġ{ ĊĠĠĠ Ġval Ġdescription Ġ= Ġvarchar (" description ", Ġ 1 0 0 ) Ċ } Ċ Ċ object ĠTags Ġ: ĠInt Id Table () Ġ{ ĊĠĠĠ Ġval Ġtag Ġ= Ġvarchar (" tag ", Ġ 5 0 ) Ċ } Ċ Ċ object ĠBank Transactions To Tags Relation Ġ: ĠTable () Ġ{ ĊĠĠĠ Ġval Ġtransaction Id Ġ= Ġinteger (" transaction Id "). references ( Bank Transactions . id ) ĊĠĠĠ Ġval Ġtag Id Ġ= Ġinteger (" tag Id "). references ( Tags . id ) ĊĊĠĠĠ Ġoverride Ġval Ġprimary Key Ġ= ĠPrimary Key ( transaction Id , Ġtag Id ) Ċ } Ċ Ċ object ĠAccounts Ġ: ĠInt Id Table () Ġ{ ĊĠĠĠ Ġval Ġname Ġ= Ġvarchar (" name ", Ġ 1 0 0 ) Ċ } Ċ Ċ object ĠPreferences Ġ: ĠTable () Ġ{ ĊĠĠĠ Ġval Ġkey Ġ= Ġvarchar (" key ", Ġ 1 0 0 ) ĊĠĠĠ Ġval Ġvalue Ġ= Ġvarchar (" value ", Ġ 1 0 0 ) ĊĠĠĠ Ġoverride Ġval Ġprimary Key Ġ= ĠPrimary Key ( key ) Ċ } Ċ Ċ val Ġfinancial Tables Ġ= ĠlistOf ( Bank Transactions , ĠTags , ĠBank Transactions To Tags Relation , ĠAccounts , ĠRe cur ring Transactions ) Ċ val Ġnon Financial Tables Ġ= ĠlistOf ( Preferences ) Ċ val Ġtables Ġ= Ġfinancial Tables Ġ+ Ġnon Financial Tables Ċ