From dde2311042c48393ccee2a8fca2f1f80579749c5 Mon Sep 17 00:00:00 2001 From: zekai Date: Sun, 3 Jan 2021 23:47:15 -0500 Subject: [PATCH 1/4] Added JSON Views for catering different payloads for different endpoints --- .../runner/controllers/AccountController.java | 5 ++ .../controllers/CustomerController.java | 20 +++---- src/main/java/runner/entities/Account.java | 18 +++++++ src/main/java/runner/entities/Customer.java | 14 +++++ src/main/java/runner/entities/Login.java | 5 ++ src/main/java/runner/views/Views.java | 49 ++++++++++++++++++ .../controllers/AccountController.class | Bin 5215 -> 5368 bytes target/classes/runner/entities/Account.class | Bin 4182 -> 5013 bytes .../runner/repositories/AccountRepo.class | Bin 861 -> 910 bytes .../runner/services/AccountServices.class | Bin 7679 -> 7901 bytes .../runner/views/Views$AccountActions.class | Bin 0 -> 191 bytes .../runner/views/Views$AccountDetails.class | Bin 0 -> 558 bytes .../runner/views/Views$AccountNumber.class | Bin 0 -> 189 bytes .../runner/views/Views$AccountSpecific.class | Bin 0 -> 437 bytes .../runner/views/Views$AccountType.class | Bin 0 -> 185 bytes .../classes/runner/views/Views$Address.class | Bin 0 -> 177 bytes .../runner/views/Views$AllAccounts.class | Bin 0 -> 483 bytes target/classes/runner/views/Views$Email.class | Bin 0 -> 173 bytes .../runner/views/Views$PhoneNumber.class | Bin 0 -> 185 bytes .../classes/runner/views/Views$Profile.class | Bin 0 -> 507 bytes target/classes/runner/views/Views.class | Bin 0 -> 865 bytes 21 files changed, 99 insertions(+), 12 deletions(-) create mode 100644 src/main/java/runner/views/Views.java create mode 100644 target/classes/runner/views/Views$AccountActions.class create mode 100644 target/classes/runner/views/Views$AccountDetails.class create mode 100644 target/classes/runner/views/Views$AccountNumber.class create mode 100644 target/classes/runner/views/Views$AccountSpecific.class create mode 100644 target/classes/runner/views/Views$AccountType.class create mode 100644 target/classes/runner/views/Views$Address.class create mode 100644 target/classes/runner/views/Views$AllAccounts.class create mode 100644 target/classes/runner/views/Views$Email.class create mode 100644 target/classes/runner/views/Views$PhoneNumber.class create mode 100644 target/classes/runner/views/Views$Profile.class create mode 100644 target/classes/runner/views/Views.class diff --git a/src/main/java/runner/controllers/AccountController.java b/src/main/java/runner/controllers/AccountController.java index e82577019..366b37cea 100644 --- a/src/main/java/runner/controllers/AccountController.java +++ b/src/main/java/runner/controllers/AccountController.java @@ -1,4 +1,5 @@ package runner.controllers; +import com.fasterxml.jackson.annotation.JsonView; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -8,6 +9,8 @@ import runner.entities.Transaction; import runner.services.AccountServices; import runner.services.CustomerServices; +import runner.views.Views; + import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; @@ -28,12 +31,14 @@ public String testJWT() { } //get accounts for the authenticated user only, THIS is the homepage once user has logged in + @JsonView(Views.AllAccounts.class) @GetMapping public ResponseEntity> readAllAccount() { String currentPrincipalName = SecurityContextHolder.getContext().getAuthentication().getName(); return new ResponseEntity<>(accountServices.getAllAccounts(currentPrincipalName), HttpStatus.OK); } + @JsonView(Views.AccountSpecific.class) @GetMapping(value = "/{accountEncryptedUrl}") public ResponseEntity readAccountById(@PathVariable String accountEncryptedUrl){ return new ResponseEntity<>(accountServices.findAccountByEncryptedUrl(accountEncryptedUrl), HttpStatus.OK); diff --git a/src/main/java/runner/controllers/CustomerController.java b/src/main/java/runner/controllers/CustomerController.java index 116b24780..9a0d9ac86 100644 --- a/src/main/java/runner/controllers/CustomerController.java +++ b/src/main/java/runner/controllers/CustomerController.java @@ -1,4 +1,5 @@ package runner.controllers; +import com.fasterxml.jackson.annotation.JsonView; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; @@ -9,6 +10,7 @@ import runner.entities.Address; import runner.entities.Customer; import runner.services.CustomerServices; +import runner.views.Views; import java.net.URI; @@ -23,9 +25,9 @@ public class CustomerController { private final static Logger logger = Logger.getLogger(CustomerController.class.getName()); - + @JsonView(Views.Profile.class) @GetMapping - public ResponseEntity readById() { + public ResponseEntity getCustomer() { String currentPrincipalName = SecurityContextHolder.getContext().getAuthentication().getName(); Customer customer =customerServices.readCustomerByLogin(currentPrincipalName); if( customer == null) @@ -62,6 +64,7 @@ public ResponseEntity update(@RequestBody Customer customer) throws Ex return new ResponseEntity<>(customerServices.updateCustomer(id,customer), HttpStatus.OK); } + @JsonView(Views.PhoneNumber.class) @PutMapping(value = "/update/phone") public ResponseEntity updatePhone(@RequestBody String phoneNumber) throws Exception { String currentPrincipalName = SecurityContextHolder.getContext().getAuthentication().getName(); @@ -77,6 +80,7 @@ else if(response == 1 ) } + @JsonView(Views.Email.class) @PutMapping(value = "/update/email") public ResponseEntity updateEmail(@RequestBody String email) throws Exception { String currentPrincipalName = SecurityContextHolder.getContext().getAuthentication().getName(); @@ -92,6 +96,7 @@ else if(response == 1 ) } + @JsonView(Views.Address.class) @PutMapping(value = "/update/address") public ResponseEntity updateEmail(@RequestBody Address address) throws Exception { String currentPrincipalName = SecurityContextHolder.getContext().getAuthentication().getName(); @@ -103,6 +108,7 @@ public ResponseEntity updateEmail(@RequestBody Address address) throws Except else return new ResponseEntity<>(customerServices.readCustomer(id), HttpStatus.OK); } + @DeleteMapping(value = "/delete") public ResponseEntity deleteById() { String currentPrincipalName = SecurityContextHolder.getContext().getAuthentication().getName(); @@ -117,14 +123,4 @@ else if(flag==2) return new ResponseEntity<>("No accounts/user found", HttpStatus.NOT_FOUND); } - @GetMapping(value = "/accounts") - public ResponseEntity getAllAccounts(){ - String currentPrincipalName = SecurityContextHolder.getContext().getAuthentication().getName(); - Customer customerReturned =customerServices.readCustomerByLogin(currentPrincipalName); - Long id = customerReturned.getId(); - if(customerServices.getAllAccounts(id) == null) - return new ResponseEntity<>("Customer not found", HttpStatus.NOT_FOUND); - else - return new ResponseEntity<>(customerServices.getAllAccounts(id), HttpStatus.OK); - } } \ No newline at end of file diff --git a/src/main/java/runner/entities/Account.java b/src/main/java/runner/entities/Account.java index 6f921ce2a..33109dc97 100644 --- a/src/main/java/runner/entities/Account.java +++ b/src/main/java/runner/entities/Account.java @@ -1,7 +1,10 @@ package runner.entities; import com.fasterxml.jackson.annotation.JsonBackReference; +import com.fasterxml.jackson.annotation.JsonView; import runner.enums.AccountType; +import runner.views.Views; + import javax.persistence.*; import java.time.LocalDate; @@ -15,15 +18,30 @@ public class Account { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; + + @JsonView(Views.AccountNumber.class) private String accountNumber; + + @JsonView(Views.AccountDetails.class) private String routingNumber; + + @JsonView(Views.AccountType.class) @Enumerated(EnumType.STRING) private AccountType accountType; //enum + + @JsonView(Views.AccountActions.class) private Double balance; + + @JsonView(Views.AccountDetails.class) private LocalDate dateOfOpening; + + @JsonView(Views.AccountDetails.class) private Double interestRate; + + @JsonView(Views.AllAccounts.class) //delete this later in production private String encryptedUrl; + @JsonView(Views.AccountSpecific.class) @ManyToMany(cascade = CascadeType.ALL) @JoinTable( name = "account_transaction", diff --git a/src/main/java/runner/entities/Customer.java b/src/main/java/runner/entities/Customer.java index edafbc743..210c1de26 100644 --- a/src/main/java/runner/entities/Customer.java +++ b/src/main/java/runner/entities/Customer.java @@ -1,6 +1,9 @@ package runner.entities; import com.fasterxml.jackson.annotation.JsonBackReference; +import com.fasterxml.jackson.annotation.JsonView; +import runner.views.Views; + import javax.persistence.*; import java.time.LocalDate; import java.util.Set; @@ -12,20 +15,31 @@ public class Customer { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; + @Column(nullable = false) private String firstName; + + @JsonView(Views.Profile.class) private String middleName; + @Column(nullable = false) private String lastName; + @Column(nullable = false) private LocalDate dateOfBirth; + @Column(nullable = false) private String socialSecurity; + @Column(nullable = false) + @JsonView(Views.Email.class) private String email; + + @JsonView(Views.PhoneNumber.class) @Column(nullable = false) private String phoneNumber; + @JsonView(Views.Address.class) @OneToOne(cascade = ALL, fetch = FetchType.EAGER) private Address address; @JsonBackReference(value = "login") diff --git a/src/main/java/runner/entities/Login.java b/src/main/java/runner/entities/Login.java index 7d946331b..a357121a2 100644 --- a/src/main/java/runner/entities/Login.java +++ b/src/main/java/runner/entities/Login.java @@ -2,9 +2,11 @@ import com.fasterxml.jackson.annotation.JsonBackReference; import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonView; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; +import runner.views.Views; import javax.persistence.*; import java.util.Collection; @@ -15,8 +17,11 @@ public class Login implements UserDetails { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; + + @JsonView(Views.Profile.class) @Column(nullable = false) private String username; + @Column(nullable = false) private String password; diff --git a/src/main/java/runner/views/Views.java b/src/main/java/runner/views/Views.java new file mode 100644 index 000000000..37c1ff241 --- /dev/null +++ b/src/main/java/runner/views/Views.java @@ -0,0 +1,49 @@ +package runner.views; + +public class Views { + + public static interface AccountNumber{ + + } + + public static interface AccountType{ + + } + + public static class AllAccounts implements AccountNumber, AccountType{ + /* + payload: multiple accounts: account number, account balance, account type + */ + } + + public static interface AccountActions{ + /* + payload: account balance + */ + } + + public static class AccountDetails implements AccountNumber, AccountType, AccountActions{ + /* + payload: account balance, interest rate, date of creation, account number, routing number, account type + */ + } + + public static class AccountSpecific implements AccountActions{ + /* + payload: account balance, transactions + */ + } + + public static interface Email{ + } + + public static interface PhoneNumber{ + } + + public static interface Address{ + } + + public static class Profile implements Email, PhoneNumber, Address { + } + +} diff --git a/target/classes/runner/controllers/AccountController.class b/target/classes/runner/controllers/AccountController.class index dec6b332cabb1bc02cf6461a89330ec178987df1..f4834b0a4470e08ef60cc26da1c6ce6b99eac3bf 100644 GIT binary patch literal 5368 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 diff --git a/target/classes/runner/entities/Account.class b/target/classes/runner/entities/Account.class index 3b1d8ea931c2b5752102bd5f7ebdcc9c5683644c..a39ff086a9072a8f51df043f2026d71279a7b694 100644 GIT binary patch literal 5013 zcmai$`&Sc36vyudk^or?yFt@dTia^i z@Atd?5889;@w7dse?b4Jo_=R{HrXr_{DB!}=FWFM_s*T0{rA7W{vo2n^lKY+(!Dsn z-9{0**Gfrxhd1vg=skL$|MvlJKIF|uy!n_npYY~W-h9TJ&*St(oW4{jV&oO-%q(du zTB@L#3#p7{E~FLeoi3Y>QDn1*ZOj$euxVP3<`|Y~E7aqf-%KsDl5N-yGj*04&tuar z$-*gSvXbVo{H#_eGZ?kl4j(U6*0je-xymxPZyuh>O)1o_>AD4`$#QXyl@#gTlmH9+!1v~8&-*4}!+XA`vl2vxV;St8^8-+TA%_ws;qX41ZYX}J=C?$liJOT=B z_V+NeT(na{(v41>zJ+yQMxhrLLxzRtuTsp*r|qz zn`X8%jWLEu#ZqM%$u?6e#OZq;n?gZ^2ho?ure?tvk({Qj`M62%VBBjVm1PbLTC>K2 zsX65m&f8zVdejd+!_#pLW~XvBvGfok@`FN2fsn;}?jhXKF>rt=GKAaWxPdgmwv* zBUYhYh<_d}jt64yzBOrg3TeawA+p&=@;p2$KLzc`KCi7md>pf3to@ldL$>7ltlg-Ye0n}dq z%BnXlZWX6R7nn27eeCP^(j!<_qqeuWzAwDSSvn_}vuNedY9+)SiH(!GwR}Ej1@g$w zpyVQz`&JO80x*-rQnvg{7JBMe=KAUYka ziZ}Hdo-zN;k><|ICxiTGzTE`jjFhS55VHlXjuxQEe3+Jp&Q zi&*YJ{|NrJTp~rM9azI{N!RvZ4VNg^dNHc)>!$&(!Dx^k#{#ZdDsd2NxP9pwmq$`G zTtlu%*Pg~c{Hyo}IM*Xt2#3gA6Q$FX-9E;2enBQ%QDF`G`(DNG%w(^$lCoX!M? z&qEBkDGp6yG>HR*?G*K30S^J~G^S5LQ9<81@PL$ozbSIz0X5yH=HFeWEZPoO5FMmu z1Tl#yZKgcXMwLLcGQ z1B3S|T0`K8K?qh9;o`^lcveDzt9xm432RZjaC8d2NS9&8Wk=C-0ToQmgMU&iLg&Nc z$0&j0YvO8ET%{{?6?#JaiYxvSX_(^TL5JgEhliyO&yg<3>Ku-Tna1Go$pBNV$`lh1 zK``~YOnE6&OPFa~%EaVMEn%h!FikdK@*bdI+UYXQ(}E;Utzo8fQl>>RWN~T@GtGc$ zwgHp(@CDOemuZQvNtoKgOc$g~1uDvz+QLki!E~holUHQ~(>|BUBum1S2s3F?re(S= zV@iaX7?|c8FnQHYFdcH4O42x~VJ1V$WXt2EhM9_BG8-^?RaGz@c9|S13s-~ht~tzf zUBZ-xK!jEh<{NYqHH|;svzVzC9Jl5*x#h|$IAyS{G+?Ws6e;vFG`w0EqY5f`wMta5 z;2ro1CSR4l%=R#KMMAC6E&0oA4@dGAXm2;5z3u)6iAdfCn?kSA>uAFjtRu{HN6K`E z-VoPNSHU{MOn1R_uK|qUb`R~k-WZ;4ggx7X@o#&O)h3T)T$4H}W=PYc_^^KCy6PE`~ZYFKnK;l&N%2+s;c zZPltb1dMw8fXC~*|7(w(D!bck-#v4;vTRVFRjs;UT54>q3D2OR7;`!BY)Recxs3pi zO{2V8#8L(wE_n?HGzH-_w*10OD5$nMmcTv_yAU26=^b{!ps@~yN+(mUtSl_uFetlb zA)r;Ph@;NA4TKYNeKiDO`N{IOZ~$!3aOe-m9A{9q>T`GxJJWUo;R!!j!5BkC+uPkn zJnwpS3=vDmx2o!720{_Upk6480Ly#J_PS#Q4G(M2w7fj#7{4*%O z3Cmfx-q_+aOrm3{&;WF~rU>WwknQXsUq#CT68$mx$86P8ZTNwULvPC#6`oo34$?_( zgppZx_|)=E9jThRVmo#)ZBWi(r9$9G?h}IDV7Ue)w|#xc-h=25*aC!>!%1Jj5M|hMk73TCL*7a=|a* zmK$_pd=Em*sK{#hSUfpM(S1uuFzgL%GwPpcm_bMs@IfzC!ZT={eraxQ?Vx{6> zGe~=i1$(L)A5wABY*~5$j058R@aFxqGb2oYm)EUt4&qcHtpK8tF>+ zV;QCLaHRc~ptP%-a!wO?9Yiw*^KB)S!P;kHHFpIiERT>hO94Iy@x<9%DDqHi8OO6m zw`H1K*==}Laow(?KA0-w&+x~Y>k;?uU)_0pql4X|NmuA2oQ(X6%kbT_{Ee~*Od6*N zllIY2mVPwpC;Hi>Q95kW5pKrls7WX3O_NU1TPB_6r?>gVCHl~ygVA+RqzVW3w)Jme zd2LfvQ5*VNTVq=kI@AzUlK34BO^Xu`=neb<8N^>1{{I3rLb=CiA4Uhz4`Vzc=pY@! z1Yj|hVqVz;S(*2tKZf6NK_{S?Vn?J2e33oekv%+;Jt6_CN%=e_cl-e3cOdcZLox)N zp#q(yE;{GadAfk9tN5>F@bG=Q7$5R7LW#`bdfC;AVsXr)_qIn7ArMOs6E%qr^CwI@6;> zrpL)~GIgdkFjYG+afOVSPD`dQ$WpGx?_Iaf^dx~PtgLHLtWpg%jW6#Vh^5fWf+K5Q zm#leV!Px}cmmSyysSkU7Q;J;KZp-f$e=)uy F`VUjfOuzsD diff --git a/target/classes/runner/repositories/AccountRepo.class b/target/classes/runner/repositories/AccountRepo.class index 365d7c4492cd63a936ab5f9ba263a43d0f4f6b01..076181a9cab318f652040726b53bdb4af9be67db 100644 GIT binary patch delta 118 zcmcc1*2gY<>ff$?3=9k=4ASfj66_3;>?Wn^TX{F*7mkcE*!h=G%Vk%0|p3M(T67m#9R5CD=)48jZ|U|N(x N3`ny96^S!2008>|7C!(0 delta 70 zcmeBUzsn|k>ff$?3=9k=3{vb2;_M6(>8(O0vIn-9UP4vVKiZ91UKR)o!uP9Ex6UjZ4Q2pU+D5LE!?i-uPof* zAc7q>?$q%vecY{&dvtr3jeBj}r_=k@#{)JxZDcL%w$bIF5)ayV$Uzvxat`*O+eVMt zKI~vG9b5L*X&AW!gyS*f2WV%JNN^hu<@jgKSuB;Jf)AP9sC)8vGGi3 z+7gz-9|wQM-_-fDTFG+`{*LGM_zMnR#6KeVC;p|cFWGom&%UB7|8{8lAC3H~&R(w$K^yz4HtpC7ysCmI}!<1D;q@IFp4 zI0o}9{MX=r_`qEl9v%76;3Ir&@CiP3w}z|zXJVy$UwC$OKMok|$7cqg;|qf?1#ZYm zg+;L1h>wRSJMI33;&-#om`Ff^7Tz@y63czlNk(i5TjCgrh;fHS&IuYRp<6d{a$~6s zF!BRA$VilKWuW+tlnD)DQf{O|DviXY%E%zyt=8SaQf|o)jSP_*x511XIMm26sWmcO z>MR*yq+Wt5ZhL5EBszKb zH?KW+&H5ucX02&%?`T`!vSML-Yu8%?h6ZLdQMrI0Rf;!fJ|zKy`J9J1F7Vcv<=56q z_)gCFT;v{CR$jljU=J9miVSyvAWp)`90f~p3ZpD?x0F@S?6WQRY|9xHlz-k`_IgfGD9{P$rw7n`wyvqkRPWr>VBa=gP;JT$1Evv|>294$Db&shtP2&f%(!ueE= zUi8F+@HOgRQ1G24x3#o0`74NnCj2WY&O(*Tz$d+})XBDLWhjl}r@Zu>cI+l|0(1otAc zWDiW#-B-Rv7Q6E*>N8464Q&?FNjuTdg0~f8Zu@%7wr`KQt^nIQ##AqfKG<@o&S7xr z_MI45Sga+)fo{~S?DX@guxbiGl!t*yh+#6*Y9uUE`+<=tCYHb|4`Btv52@<~AP@C= zoJ&6hK*n=ak6CwrMXmc{EaZM#F+l3v-;`IlHI>1p5joVSk~xgbVU&)E92#`wUrNW( zIgHVf`HxL?O+>lJ=(3lR= z*OYXK^C@X79*PJ3IZW-rG^#Rg#e>YD@Rp2+a+scqTYS2wSCxAdr%}p;m$H9PBP7cx z)D@UUyqEFnXeGhzIE!enCbg}&j(G1R8n>Yh_mg;qacREbB8*vVpcF(wz$Jwq%;Hkc z{EV>+m*H|^*-9~O%HSu&tDRkO1+L`g1(=Ay3XY3~5G6z#Vb?YGii z39=!dp~k}1MG558sXtN%yW1i@9Fc2X9tE-R7sXG5f`(O zGHi(r9&QWrfs42;FXFb`yAFIjeRKi0p_uN8GeA!ha4ne%(%&c#-w?eHflIKgOs{qs zR1aLl>b`obvYR%r-2BCIT`vybfZ?d`0YfStqV8t9uU7ZR;d0`ziIrTzl&)mTT+d5^AMeCvxTjmTf3zuwIo+7sg+P|; a;$0&8H37U3ef&((PwDNfA^+v!2H^jGgW2r> delta 2641 zcmbVNXLM9m5dLP{d;9h->O#tfM1s_8HlRpQ76MVK-B>^b5$R170)i+66k~5Z1uJ63 zE+M)k(){D`9PGVe?+S{&(ER3YvP3!lz~tYr%%o1-A``>&{O(2 zI1bCh7>ZjWxD~hQ?DjD3z@0W$IJgTdReiUGdsNFK_i~FvChVN8yjqFRGUpY zJj3C}yOTAW@w|-}Y`hr3OL$p_R~)>G*KE8VsvN;c_~+mays5ZvX%KHacn9w)#(NIl z$Cd~_z=yj0$i~Nd_7l~7>d^Evb>efKePQEE3tu_-8sBK}-&*)i5S?B>QkMGb^MciW z+3H?xZz(zrryHDzlPqjA_#UGSj>icWelXaMAKfM4ZmoVY_!++#{EFWMdG05%yr98E zOmeq`hs1uz9|phUPlLa(!(b@k&%O?osnW`Z^I*3mYJ7z}poQV^sjGHoH#_ZyWb7qXMwxpwx zPSRQL?_zKYPPL?~krGK5DV3xpWk$M5cS{a6au{|Q=^=-^+f1i|o{}_}E9C}raDkCt zm}GD<76>}H+fCdZ6zvu{!pM>8U~fs)FO1&jtFJt;U7%(tD-`gfKsn~jr^G{WGUp-6 zDo;m8{-rZqGfy0c(V{!0PzDogA$8u7;T#nJFgU{-Jp+uunOq4*Vid2HVeUt53J2~r z&h?CQ=?7T&8DpKDh0#28Hnl z{1#Jp22E!&HYIOa7J1pfky~<%Z%p=@|++#=8P^fA?RayrD-Vd@jx0y8N!Q}uRwGi@<+satwq76WRupjnA8SG zOlv^zt0>QFKuXh7HrmTmk!LV&UxUPx=u?_xM*F6M#HvVzIIl=q@lZVIPorNW`ui|E zZpDN2p=p(jhtjAli(4Gs{%v!;6sJfI_;7cQ^f|-@G}qN(oE=X zRblJYkpB^QnO4wX_t~PBfiGa-3+ehI`mmVpUP4Eg(8XE?e))a`uGQjiieulvm6jHP wSMN{YHr(vzv7=X;Z1LF8G>&P&vGoY(S5mx(BJ-7uG8H#b=flm}kMAyyL9wVb zFE6!7zYHX-50+GMOis=(%`0(CF3HT#D`sTiLl@xj1nF_kNh~f-1K;75F?))+YLP74@Ia_ots8{t0IPa&+~#r$EPwD$|s|GuC)yNzK9}8a@!4) z)Nm$BK19wi#hss-BL?d#NJ3AZskEJyZ8{i>iKv2Oj$@sn`)?VBW*TvPp>Lea(O7yh zLuYnudPIg=KFz1zoE;fF-qU=QJTO&%4A%2v73go5^kvw;d!UN~y;2bdN-*i!7=3hl z!ZIl*(?Dte8SIIS0xUw4Y@m$_VKrNqh#T4eW`^^q6K_%30$Qk1F@t#7EK{2n+QcUD Hnpyq;m}iQ_ literal 0 HcmV?d00001 diff --git a/target/classes/runner/views/Views$AccountNumber.class b/target/classes/runner/views/Views$AccountNumber.class new file mode 100644 index 0000000000000000000000000000000000000000..e1a6befdce3c291338d13407240a322a50fc709b GIT binary patch literal 189 zcmX^0Z`VEs1_l!bZgvJXb_PyH2Cm@z(xT*4x6GVWASWy{wY*p_E3qt*oq>yyL7}KL zFE6!7zYHX-50+GMOis=(%`5RM%}q)zVr1Y&P z4aI{ZvM~GJyqVqMeSE&X131B6fDVQ}A|G2mwh7%cZFGH3=o}uU1b0^4D#9SqMqM?J znJRBYmNOG2g%o)zN^ScU>DCXrV)azYqA~USNlAUDB_X^tMwPQ%RFz`EI4K)T#7nK7 zt2nhd{$V;L1oNUPrMl4e!=P177Gfzvcm&9lwHJm~gPhXve@ldW>OPdkC=6&igG6 SmKy1g$$lW2ng literal 0 HcmV?d00001 diff --git a/target/classes/runner/views/Views$AccountType.class b/target/classes/runner/views/Views$AccountType.class new file mode 100644 index 0000000000000000000000000000000000000000..bec16886cecbf7543d744824065a367dd14c1ad2 GIT binary patch literal 185 zcmX^0Z`VEs1_l!bZgvJXb_PyH2Cm@z(xT*4x6GVWASWy{wY*p_E3qt*oq>yyL9VDY zFE6!7zYHX-50+GMOis=(%_|A1EC6cYM&a>zf>b-_Bo-H^7BeykfXva)Nz6;v_fN`7 pO)g<%5W+N&jgf(ofeGj+5MW|p29qod96*{2D8tCW%D~RX2>@kvE?@uv literal 0 HcmV?d00001 diff --git a/target/classes/runner/views/Views$Address.class b/target/classes/runner/views/Views$Address.class new file mode 100644 index 0000000000000000000000000000000000000000..3e3d188deb7914badb1643f85469b5c6701c0642 GIT binary patch literal 177 zcmX^0Z`VEs1_l!bZgvJXb_PyH2Cm@z(xT*4x6GVWASWy{wY*p_E3qt*oq>yyL8_=U zFE6!7zYHX-50+GMOi3w9EiPtcV287KJVC0Qa}tY-Q-Kl!ApQC|iFxVz{z+M>$t8>o kLYM}zF)}bRFaaF{0!$3dV3LJ_14wfLWf&P)8Q9r40aKGJ1^@s6 literal 0 HcmV?d00001 diff --git a/target/classes/runner/views/Views$AllAccounts.class b/target/classes/runner/views/Views$AllAccounts.class new file mode 100644 index 0000000000000000000000000000000000000000..b84c530357c55dac7fde40f59100762429615c40 GIT binary patch literal 483 zcmaJ-%SyvQ6g`vXVIH+LzPk_w7wW=n+$lmS2tv?>CHqMnbV{6*JSu*cE5U^y;75r! z4?(cVz+uk0k8|(+{CfWYaE6hC9@Z?ZTiCF$X;5MF#q$J~IHSLt` zW(@sq>L0$;rY)Ji%xO5cD`=Vj*8vC6=*Sv$7<6++k9HtjAr>?oFizgUUP;hk6PhFg keK>?(^EcpPwTTZJ98we*HI04Bv8la}Ez>3wA3LV~4Z%ips{jB1 literal 0 HcmV?d00001 diff --git a/target/classes/runner/views/Views$Email.class b/target/classes/runner/views/Views$Email.class new file mode 100644 index 0000000000000000000000000000000000000000..7a871efc12a2678d5a63ac1a65bfe156bc09a523 GIT binary patch literal 173 zcmX^0Z`VEs1_l!bZgvJXb_PyH2Cm@z(xT*4x6GVWASWy{wY*p_E3qt*oq>yyL87QM zFE6!7zYHX-50+GM%}vbAVPs&1(mb9Z70x+{#l@+`j0^%Gz4|$cdFlH8Nm;4MC5#M0 jn1--1GB7eQ0UZJYObpCml7)c-NOJ*YfTlCBvvC3dP3S2` literal 0 HcmV?d00001 diff --git a/target/classes/runner/views/Views$PhoneNumber.class b/target/classes/runner/views/Views$PhoneNumber.class new file mode 100644 index 0000000000000000000000000000000000000000..660f91a58f266a4b6363d825e1b077bbc99285b4 GIT binary patch literal 185 zcmX^0Z`VEs1_l!bZgvJXb_PyH2Cm@z(xT*4x6GVWASWy{wY*p_E3qt*oq>yyL9VDY zFE6!7zYHX-50+F3$jHx2^()OyN-bh!;6~x`c!E?r=Oh*vrxr6Z2!PDd&q>Tn*Y{7# qN=+_dWDvqMkd2Xnk%0;5C=g&`U-k33n;_Lz{d1-{nd0;1BRe ziIY$Tv9j>q&YL&0JG&pBZ|?w3vFD)(UtmLEQ(#M=F3=!2=Q`4}3qtYexKFS;@kkLW zT^*_0bUIMxK@LJz{BAsyVP6`Z#S77zjdem0Jrh6b%vHXLB4s+EOcKS3X4j;d5X`lD zPJ(`hhYRx=!Ml%BGgQ}ksh4Nl6FHY<2&@P+361~j3DwLSgfe;x?gkSzoDu3v{8v+{ zLxR2F{Uw&(IQ|}&Q2G@uyTRpXWK@z3{p*9M`eNe86oBs9}|xSn|g*S|K27^#XblwW)Pp<-BACIs5I#g&0N{82u@f6yETE}&Ru^*q0v}-PntFR+j z%*X>BQ^z9jrd-F3P2iJz&%zzg%cLYeB*diJ#rKg`*cB{f#N^|G@}BWc{8=#9YWD=i z{b0cUYh82O--XjpZdC6EuH*Hb&?J6F7UL@u36{IzIJvKVWAwMk?j`nR9|J&pY!F02Nt=XMSHjM@f{9Thr_;LfZ>-6l@2TD6X zAwNhI@Pf8X8cf)rt)}M^Ht{lzZ>6?D4R8hvMdp-Hfg(OCS9mJGBF+=5#0BCa*&1<) W_?TEH|Ae?q|0(eq{pZA$a^)ZItl^3P literal 0 HcmV?d00001 From 0649cda604303717119995088bc5a01136b9a675 Mon Sep 17 00:00:00 2001 From: gunjan Date: Mon, 4 Jan 2021 08:32:46 -0500 Subject: [PATCH 2/4] Fixed Address payload bug --- .../runner/controllers/AccountController.java | 3 +-- .../controllers/CustomerController.java | 2 -- src/main/java/runner/entities/Address.java | 8 ++++++++ src/main/java/runner/entities/Customer.java | 6 +++--- .../controllers/AccountController.class | Bin 5368 -> 5368 bytes .../controllers/CustomerController.class | Bin 7108 -> 7282 bytes target/classes/runner/entities/Account.class | Bin 5013 -> 5013 bytes target/classes/runner/entities/Address.class | Bin 1968 -> 2210 bytes target/classes/runner/entities/Customer.class | Bin 4298 -> 4813 bytes target/classes/runner/entities/Login.class | Bin 2655 -> 2841 bytes 10 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/main/java/runner/controllers/AccountController.java b/src/main/java/runner/controllers/AccountController.java index 366b37cea..20cc7c6cf 100644 --- a/src/main/java/runner/controllers/AccountController.java +++ b/src/main/java/runner/controllers/AccountController.java @@ -8,12 +8,11 @@ import runner.entities.Account; import runner.entities.Transaction; import runner.services.AccountServices; -import runner.services.CustomerServices; import runner.views.Views; import java.util.Optional; import java.util.Set; -import java.util.stream.Collectors; + @RequestMapping("/myaccount") @RestController diff --git a/src/main/java/runner/controllers/CustomerController.java b/src/main/java/runner/controllers/CustomerController.java index 9a0d9ac86..6080fc41c 100644 --- a/src/main/java/runner/controllers/CustomerController.java +++ b/src/main/java/runner/controllers/CustomerController.java @@ -11,8 +11,6 @@ import runner.entities.Customer; import runner.services.CustomerServices; import runner.views.Views; - - import java.net.URI; import java.util.logging.Logger; diff --git a/src/main/java/runner/entities/Address.java b/src/main/java/runner/entities/Address.java index a92522a86..295605517 100644 --- a/src/main/java/runner/entities/Address.java +++ b/src/main/java/runner/entities/Address.java @@ -1,5 +1,8 @@ package runner.entities; +import com.fasterxml.jackson.annotation.JsonView; +import runner.views.Views; + import javax.persistence.*; @Entity @@ -7,15 +10,20 @@ public class Address { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; + @JsonView(Views.Address.class) @Column(nullable = false) private String firstLine; @Column(nullable = true) + @JsonView(Views.Address.class) private String secondLIne; @Column(nullable = false) + @JsonView(Views.Address.class) private String city; @Column(nullable = false) + @JsonView(Views.Address.class) private String state; @Column(nullable = false) + @JsonView(Views.Address.class) private String zipcode; public Long getId() { diff --git a/src/main/java/runner/entities/Customer.java b/src/main/java/runner/entities/Customer.java index 210c1de26..7f48ddb3a 100644 --- a/src/main/java/runner/entities/Customer.java +++ b/src/main/java/runner/entities/Customer.java @@ -15,16 +15,16 @@ public class Customer { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; - + @JsonView(Views.Profile.class) @Column(nullable = false) private String firstName; @JsonView(Views.Profile.class) private String middleName; - + @JsonView(Views.Profile.class) @Column(nullable = false) private String lastName; - + @JsonView(Views.Profile.class) @Column(nullable = false) private LocalDate dateOfBirth; diff --git a/target/classes/runner/controllers/AccountController.class b/target/classes/runner/controllers/AccountController.class index f4834b0a4470e08ef60cc26da1c6ce6b99eac3bf..8a99e48180ec107a28b0eb4d9a7aca63ae0d7c82 100644 GIT binary patch delta 84 zcmeyN`9pI2CkKeE003Y}8Rh^0 delta 84 zcmeyN`9pI9y!cmi%M0^?jCI^VD003eo8SwxB diff --git a/target/classes/runner/controllers/CustomerController.class b/target/classes/runner/controllers/CustomerController.class index 2bac0399d49fe08102370fe188bdaa5c4e9e58b5..b778e38fbc0b3b44835537bf6873616824bced99 100644 GIT binary patch delta 2444 zcmcIkd013c96fhn=FJSx`E(RV0S*0(Mbt^cq}(FH1sBW(QM4Rjz(Hovd4O9+yH=Lw zwLRMx+cVNk&9ZE>GPAP1thCj#uxzoib06b4pJ4yRe7w8-wsY?J-MejIb8h4Ie>QFb zkb}ccxN*4?ORzKnSK!J7T!m#0WZ-HiuEBB*E9|(|ft8R>Xjr9Y*D1^O8g6i+oeI4X zH`#Hs8gJ2Xs}rknn-jO=4kzx!UCQTf6?Kn_zt@iY)S~cym1B+iJfJ=g+VPOue^@OZ zvExxSKBhj8+p*S;CzP?tjwdy&b7DP~Iq?)WD40*L-Ep$e6RP}m`SnI!ZO|WH?e=a$Owo&l@CQZSd99 z`!zfxpp6gLRt9SP0{W;>$REzH@fn8S5J(vlu2&o02F4g(6>0Q}I5+LIEEIA={2J>P z0bhpP+CD`lTbtw8X?Rw4u;rhs;W>eX@v~|}{&DreGJjYgwat9TJmf@MdWMFrL{|{> z1!@G6+KMo3gXBWnO7XmGrxj*tc!4bPDk{Q$<3z9{R#~hC)@kq|5$s>2jallekmITiB%|8*l4)N6p^FZrQ<+Ircpr z@8bjF_AUxkEY|TMJ`!kO?Q8IPYkZ+9Z&6vbzr2o0>G&9*X!umeXV|0Ra~)scOC5W$ zPsdj+xxbc696jCNsKvMVPRIAyuj2>&C^tF0_5*7BC+wHaj=uJv(X8Vjev#=;Bkou1 zlB=CvG&Og=r{%a*xqhlQVV}PdkFO7%Er;lF-ei&=-`^N@tY$LxI3p0 zi1+{-IEbQ|YN5iI!Lw z(l7{vnZrZ>As9+r!)Q-{_#5odGd1MlEN)nkZ$fo*b~fD$N+HTI3Wc-@jK&z2%;8+_ z?KoWwka?ZFjS6XR#3PYR$6_10!=ptfsK#n5UE-#gQGs z;X*I-Of2+HMhU&+7?X&pn8r+{jErZo>8(M|h=M#f0y4?KdB>xi37*FY}4ScFhy26Yp7&fxmza(J3Ta!n9LaVj78-(lX-&M1%h`(cpg)ofAWJZfl}pQ`M3#Gfkr1p)pwn ziTX*jl0>UWbQXyQsM72hf<;j!i(sJ6R5CBBWNuW+?5L7ysAp5QD47g#gw9Gy4GpH2 zGnA6*-lDaXMwH>aHl$n_!*J2@49|}|GE2J#Vx*iyhI7d{O5H)Ld9ien-2sQMGC8tE3)=3nF*U zKqKt9u;uwA-Co>Rf4VzkJu)|-cN4PKaxHM|S?$6rei8R9xY#@v^~zlm&37p-qirPr ddlJ=fY);|zbWqIA2-qA5ajfMypW_0X<6pH>z{vmr delta 2265 zcmcJRc~n$Y9LK+JhMD)~&1=#@WYbCyiVW%)qGF;lDy{^%L*_ETh}g&^1Dac-Wo3(H z-u6}7)fN#2mo!Vu)GXUq+xI$kPXBc}Y2W*1c!$LLFFf4k_wH}`+~4p1zt@AHV4EVug;CSmnkwh`F&EYh1{|wK}fDS{2u8xWR=Ru}+7Io8;wN zk7{^K&X3FC2@OwbcuIbJTEiA8+Nxrkj%Tn&$Fq1&#`=8I(O!z7)rW%Bqn1smR*)+; z+k7J1R+F?{MU&WQ8`(U{zEp8KmIT9%A<>$&HED-}py+#kcd^NyEw(t0tJ_pGD<~43 zJLQPgYO=l1H$wdC%ofAdjml1OQk^KqYT-;zO{gId4hO2LB8_zoQ3Wo4FtHZfwOzRb zk*{Kxfflr?*ll1B_Nv%t;05eA&=37p95C=A4l2kNO`X%lew#D0#GVn4E85oGe z240b?S8+r^77umrHlARi`lyQ63>?KV1rGm;+UivXj^lN4p`OyK$-oJ`q2f&gC-Ihw zw++05cMZIU_YHgyxBH=}(0h76lADk5iGfdX%D`v%T&&mq+80v%B~FRMdOz(ed~M(x zd@KIYqxSD`NJQM}4g*nqFV?wzo*z{FXy7OOY~W(#iG%L`!eiu!sFBgU)i~ko*`rU% z!r+piKOC&9@s~vEYKG;+1&s~0VgJ-n!!Xg9yfB6y%$%1+XyZTL3>5geb8;TQIYS!f ztaHyxi3=MBbCgOzGKO$8;s;QGq1-9B1jArAl?9TxV%6`4ZI6g{ z8KevrTe@UUlUf(Wza+Fg=#4@Qr*A zjDrJ%L{`dNnqQmZk4f`Bx=uk~jK>7(_{lvHlT4ST370^r>4+uB^A0F~B7hRPR47Nn z+oh&A5B-$#w`>-aC@#ZfepltiOyNSoREFR*i8s)Y$m?3jNFrTR%}DYo0&g~cJ#r=S z6nKzjBHM_ZiD{JCiJpS#n8Da*QYVS0$~%TsVTE)#55z;7b#_QsU^bjKUd!yXJTWvi z5R+N!4Hw7JbUlVni|KAGOJW>LVLY#Q0>_DTUt(r;1c`u3E9^?lG4tbLs4`PB>`7MG z#fh+USOar0kH|&T&VcO<4Lel?%gr3hG^(g%?RYy9&M{+?DXuyPVfERBAxUTgM%%$n zA>34kHjQx82{(gqGZ{lU;VLMZ^)GPq|7W=Q{|Q&q5pIDA*PK4jgu8&f90(Gwl5kao zt0r8CaP#@v7PNyZvocnOS}ZgREnsD=z{*&jm9gHqlEoL#SSFM+G$=EsB5dYtvdox# ze(0F8T8nDYIZ{@4HdQ3v8N_cHwe3XPYMVO1}G1j!*1Y^jj<^O&OrVcp87ES{+USnHN u&!SxZ7~Y%~_;w?=8GU7ISK77qG(N*6l-aP<%&eEIt4(_@*#ehgIq)|;ZeuL~ diff --git a/target/classes/runner/entities/Account.class b/target/classes/runner/entities/Account.class index a39ff086a9072a8f51df043f2026d71279a7b694..d8cdb0f154c1b9d840e901c125490d06d036f6ae 100644 GIT binary patch delta 254 zcmW;DzY76j7{KxOEzfYdAC6?Tc?ZjFyiu-P87S(MD`KDwl);sOq9_B4*NrCs!2J^z z|A&!9c2Cdx>HCceQ6YZmT8SlCky)&)K6-^$RBUEd%@9yyz+9Ej3#Dne88HhL9&v@V%uN#3J2umtqc2jn;O5&0W^j6NZEQj$-}cPRlg^f~zh ueQ~j?utW-p0$cKxy4oJB(Kcj1+vi)_hiL(O^aJ@lE%}lBi+(~sqlbSNxw--wQSBkJGoUO%a4L zjD+V1tJ*-(xFYaKcp|VP(Wu*QOCYHjM(nTe{4*aXt?q1ce%Ipb)fXC--pL@0YSI%L z^|tY@M1hQnr)!SiwBFeO3bvcBwP8CSLf^COU3BXS{JIn$v8%qtI0ik^$XIMN0uiDy zv+4o1;@V*-;11V<7B5&^s0l5u49}*?*kVZ0ZN+z6O^>_uTCQtDxje3fG%AO}@x4Z^ z>cuM>`f_9h4fGJYq9@~%+;sc~W`%j_$!I~N{KRA(d6jte2)F*c)m#(7D(}lG_>S$? z?Le}hE_OxlCC~@|q6^$&Bt>ZLaqH_Ms^ZprCnno;Oz&L}lVIOOHpVPH&qVazZ@jbv zyD6YEYlhvH_pavHzD;*8$Hca6S;yOVPm_56Zfv%)D-?W`wfhF*l~^_dkz`innnc4Q zrzg`gR^R+p6ymozD}F0*#Ij@!%~X~degNt#eaH&#%$YP!XG|*7A(MKk&!iDHr`U|K zIZb^U4Wu7TR&^-1_rhMRZ3rha=rPXg{DI+q4hC^b5pSEQKsiRihh@S$3a=aEVfaS` z^~4K+Ov3{RAH)3kThbgFq#?{tzM)|(qlvbpG%&g^JI75POd8H4L4^M&L8SjBbt3^v z!=6P)7Df%DKJ}fnFPP-$9Bd(8EYW$)%_M;?&;&e&l- zQ$EWy1*Yi^Ov%TPGWEtxSCvd%S*95!(=|0ySC;82n67nTO1{06X(VR4u4K})OgEKG zH`GjemT4ADa~+tHPd#Ni6*JvbG8M8+3reP2YNkS#X$ee~4ou0*N}0xDrrSy;Bg?d` vWV)kfGO|oh!1S~OQ}U2grqf``(=2Qb!tx&yzt4G$C-5s{-cQRkP$>NYSdnD` literal 1968 zcmaKtT~8B16o$|AyLAyPU$!VBD3+qEf}&DHu@OU3#R&F-yQMppA?+^Nof`31X`(Ul z!XMy|GQP9BLS3d_aAwZO%z5UW+4Af6kDo+zpPm&cPY?5yqesd-R%T6^nlkIkJjv2V zmYy<72%FJJ6XdMjyDUB(Hz}?{de(K zN_~f)2f!~o}MWaXIcYOZ2(jF x1w~BdfN5FFl#MfOXqi^@OxZZob1>BhFohp)#54t_1pX^4`ylvHQQzk((I1W9Bb)#L diff --git a/target/classes/runner/entities/Customer.class b/target/classes/runner/entities/Customer.class index e9df4b91c241c1be29145eeefe3b1fa0d1b4a08e..a2a655f4a3d35f5d83756f94e1b8f87294a9ef7d 100644 GIT binary patch literal 4813 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 O*G1dmi_H&>Mf4x_p9VPq diff --git a/target/classes/runner/entities/Login.class b/target/classes/runner/entities/Login.class index 8383afc3e240a5359bb4226c5c66d86f204c0eb3..5afbda3326fa39fd3d4f1a6c146aec45925f8a34 100644 GIT binary patch literal 2841 zcmbVNZBrXn6h50*5@K6DrC4l1Dx`qW6p)wLsWZ+jn@f6Ov&-DOOUZxo zgU*P~_`x6Gk8*s@?h<0U=}YCLm*+g^+?&7u`SUL#nxPj(D$rVy*6CS+`l!m% zbCx#vv&o;WJbj<1?L6%ml#+FWu2m1M6U%fgw_#R2w=rkXjqSkoWmD9omivxabY0K4 zeCfH`ppnr0)I1hSOYIBS7Uo(VPInUyR)s5+<%@dFasmOPKJByKXuZ`QnRZ*pY@b=& z+uej)poMa+rZ8xr1MZHmWC(b&YI{xdzycn1+H}lA%RbVcYg%pO<~sD66t599d%|e) zv}aI$OL+&GF6DeW-YKkaV>wU9k}~_l4T!0=XTYZ8i4!_hY?ta=T}49%9So@$u-nEQ92&{)uOWNKjtO8PC+_LMNW=XK#*($VG~ zZ3ur2of#;PcT84%5wbcu9E_OjxFn3FAFd26 z8qA^p1Za4R;2LZO%h&wWoxAF0_1{2JJQd}qG_waJP5A6!ptI)3r zr~}vlEAjCtv|-32Kaye7P5J=x*h{*FZ4ee4^<(Wg0DtkpAf=HQ-WsIdMV61_Oy~i& zKZW)HtARB;@dp{dLP*hP_!hAed^2z>Lt?lvqH&tQYM_aeu;2iDSlM=%158Z*PN_3W z^O`xM>_xxeU1cEILjJPIGagd;LF)etP$MbDEA9C zBDlG5b0QJymoyD4c3!~BP;(QLXOz3Z78N^%^2`oQxi+R;+^-l@KSCHhzW8=yN_S(L zPQ>&TJxs!s?#A>Gm}YxmiiRY{G#FySMM}Vw?Z)&t5!2Vnm^ykG@w5O;PkLaAW-`Wf zJH+&e9w%VRcVk*g#570qNj&Add0GLc)gG9l>kwnQ6Jq)XqY(A(K31NmROV;?hO-|H zQ?&z7sy+8lF5$VI==tp>JYOVwE?&a(r$o;ss>JlQ>omHFuP1mu4Y^px>#-6_tKn0{ SynF}!27X1zqqIxcsqimC5k^n| literal 2655 zcmbVMTT|Oc6h875jGLqou7x&`rZpys8bX>92&o~2K+I*rWu|%Q2zhZ90rVsrA{ZXBMM-sNaq3CG963R&8n;F3kHq84wNq&;y`-x&=D1-T;KAg zt2~2-Li028RA^6nzEHL>*K2T^N;p^(N@&X$wFAou1dMt-pZE3V2knt*uX)P$nacj& zHrxVFXk|5oLH!+YcYQ5Gz+(xyS6nA(D9)(@$FWdH8XOV!r3HTo)(asJ{>wc54}VB-Q}}P)+K$C3K`}sP>%w10hx$v?9Sx85nf0Q> zfrz;d?J|}=xH7OvFE`%{&{9kvLbQzrI|Icw7om1qYGI%DE+3~sdy(P;;>pLU44Noi zZpY~cq*t+R7ng6#RjX&GQVURkR=)ueooDFo2_FqhZv{3iSM0|7f(-tGL&M-Sbu`Y=u_;jVZM(2 z4S{VxexShkxDWFnzM(fXj04o0e1P)fg8@p@XIPJW;A8@kKaZn>Lj0b@?jdFabGG~k z8NXtYqA838%tYe=I6=3uVu&!JFX;|u13mZ(793z7GusYwfbz`mlscz0&zW<|wgdJf z6u~V+w-9U+*r&q4Ly>bF7-8sZDj~r%tg{9-oUKeV7&)7XIYd(ajdH)>M+7$){=Ab2 z^)B6m6+16sW~jOH%sJ)S*rH;mQC_(NQ?7+67xyT})Q1oTs}Ey0rgS%^dx@C7p$AEr z(%qOI0MqOxm?B}smjxCaTCvfY>-C1QG*jH#oC5l{2L^yCsuktSnIBO#_adX#`E z-;L>MBBpQYaS~7YZk{T@w0sGs=sLuhMng>B(R_^QE@swKD)Tdsq4py&t#trOwRHdF z3Z9#Zo(os-+)eacyn^QsiJnhG$+JdVbsF8o|Cr$UEac*Q@KFg@%i;6HysQxY3+v_! AP5=M^ From a1c4ea6751f51b33cb8d8e97519e26167128ee9b Mon Sep 17 00:00:00 2001 From: gunjan Date: Mon, 4 Jan 2021 08:56:42 -0500 Subject: [PATCH 3/4] login username check made case insensitive --- src/main/java/runner/services/CustomerServices.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/runner/services/CustomerServices.java b/src/main/java/runner/services/CustomerServices.java index 08746c4b9..a2106e1b8 100644 --- a/src/main/java/runner/services/CustomerServices.java +++ b/src/main/java/runner/services/CustomerServices.java @@ -48,7 +48,7 @@ public Customer createCustomer(Customer customer) { public Boolean checkLogin(Login login) { List logins= customerRepo.findAllLoginsNative(); - long count = logins.stream().filter(name -> name.equals(login.getUsername())).count(); + long count = logins.stream().filter(name -> name.equalsIgnoreCase(login.getUsername())).count(); return count!=0 ? true:false; } From a53d5b8bddd53ce56dfb970f83ae064734580bb6 Mon Sep 17 00:00:00 2001 From: kppetrick Date: Mon, 4 Jan 2021 15:22:15 -0500 Subject: [PATCH 4/4] account number creation and routing number added --- .idea/FullStack.MicroWebApplication-Server.iml | 1 - src/main/java/runner/entities/Account.java | 2 +- src/main/java/runner/services/AccountServices.java | 1 + 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.idea/FullStack.MicroWebApplication-Server.iml b/.idea/FullStack.MicroWebApplication-Server.iml index eb02fb50d..61d2df724 100644 --- a/.idea/FullStack.MicroWebApplication-Server.iml +++ b/.idea/FullStack.MicroWebApplication-Server.iml @@ -15,7 +15,6 @@ - diff --git a/src/main/java/runner/entities/Account.java b/src/main/java/runner/entities/Account.java index 33109dc97..ae67915da 100644 --- a/src/main/java/runner/entities/Account.java +++ b/src/main/java/runner/entities/Account.java @@ -23,7 +23,7 @@ public class Account { private String accountNumber; @JsonView(Views.AccountDetails.class) - private String routingNumber; + private String routingNumber = "091000022"; @JsonView(Views.AccountType.class) @Enumerated(EnumType.STRING) diff --git a/src/main/java/runner/services/AccountServices.java b/src/main/java/runner/services/AccountServices.java index fc870471b..6390e7ccf 100644 --- a/src/main/java/runner/services/AccountServices.java +++ b/src/main/java/runner/services/AccountServices.java @@ -24,6 +24,7 @@ public Set getAllAccounts(String username){ public Account createAccount(Account account) { loggerService.log(Level.INFO, "The customer's new account is being saved"); + account.setAccountNumber(String.valueOf((Math.floor(Math.random()*1000000000)))); return accountRepo.save(account); }