From 261a47068ab5f5e399f1c868a94b589fdfe121ac Mon Sep 17 00:00:00 2001 From: "yannick.blanken@csc-online.eu" Date: Mon, 6 Jun 2022 15:27:41 +0200 Subject: [PATCH] .gitignore update --- doc/README.md | 12 ++++++- doc/data/languages.json | 7 ++++ doc/generated/AppVehOwnServerDto.jar | Bin 15228 -> 16198 bytes .../persistence/entity/UserEntity.java | 2 ++ .../CustomerConfigurationFileEntity.java | 4 +++ .../customer/CustomerMobilePhoneEntity.java | 27 ++++++++++++++ .../persistence/entity/data/DeviceEntity.java | 1 + .../entity/data/LanguageEntity.java | 26 ++++++++++++++ .../entity/data/VehicleModelEntity.java | 2 ++ .../persistence/entity/mongo/FilesMongo.java | 31 ++++++++++++++++ .../persistence/entity/pub/FilesTypes.java | 9 +++++ .../CustomerMobilePhoneRepository.java | 13 +++++++ .../respository/LanguageRepository.java | 14 ++++++++ .../respository/mongo/FilesRepository.java | 8 +++++ .../persistence/services/CustomerService.java | 33 ++++++++++++----- .../persistence/services/FilesService.java | 29 +++++++++++++++ .../persistence/services/UtilsService.java | 4 ++- pom.xml | 16 +++++++++ server/resources/application.properties | 7 ++++ .../controller/AbstractRestController.java | 10 ++++++ .../customer/CustomerController.java | 19 ++++++++++ .../customer/MobilePhoneController.java | 34 ++++++++++++++++++ .../controller/data/VehicleController.java | 3 ++ .../registration/RegistrationController.java | 7 +++- .../VehicleRegistrationController.java | 1 - .../services/JwtTokenService.java | 1 + .../web/clients/AbstractClientTester.java | 4 +++ .../web/clients/CustomerClientTester.java | 24 +++++++++++++ .../shell/InitCommands.java | 11 ++++++ web-dir/images/hyundai.png | Bin 0 -> 4050 bytes .../client/clients/VehOwnAppClient.java | 4 +++ .../client/service/AuthenticationService.java | 6 +++- .../models/AbstractBaseDto.java | 11 ++++++ .../models/UserRegistrationDto.java | 3 ++ .../models/base/AbstractServerDto.java | 4 +++ .../models/data/PropulsionTypeDto.java | 6 ++++ .../models/regist/CustomerMobilePhoneDto.java | 20 +++++++++++ 37 files changed, 399 insertions(+), 14 deletions(-) create mode 100644 doc/data/languages.json create mode 100644 persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/customer/CustomerConfigurationFileEntity.java create mode 100644 persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/customer/CustomerMobilePhoneEntity.java create mode 100644 persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/data/LanguageEntity.java create mode 100644 persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/mongo/FilesMongo.java create mode 100644 persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/pub/FilesTypes.java create mode 100644 persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/respository/CustomerMobilePhoneRepository.java create mode 100644 persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/respository/LanguageRepository.java create mode 100644 persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/respository/mongo/FilesRepository.java create mode 100644 persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/services/FilesService.java create mode 100644 server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/customer/CustomerController.java create mode 100644 server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/customer/MobilePhoneController.java create mode 100644 server/shell/src/main/java/eu/csc/ODPAppVehOwnServer/shell/InitCommands.java create mode 100644 web-dir/images/hyundai.png create mode 100644 webcoreroot/dto/src/main/java/eu/csc/ODPAppVehOwnServer/models/regist/CustomerMobilePhoneDto.java diff --git a/doc/README.md b/doc/README.md index c0401cf..e43ce35 100644 --- a/doc/README.md +++ b/doc/README.md @@ -1,5 +1,13 @@ # SETUP +## Requirements + +- Mongo DB +- MySql DB + +## Docker + + docker run -d -p 27017:27017 --name test-mongo mongo:latest - Add following in settings.xml (MAVEN) @@ -8,7 +16,9 @@ root 0cscadmin1 - + 27017 + localhost + vehownserver ## Shell i_set_loc C:\Users\yanni\Desktop\dev\priv\ODP-AppVehOwnServer\doc\data diff --git a/doc/data/languages.json b/doc/data/languages.json new file mode 100644 index 0000000..319c482 --- /dev/null +++ b/doc/data/languages.json @@ -0,0 +1,7 @@ +[ + { + "locale": "en", + "name": "English", + "isStandard": true + } +] \ No newline at end of file diff --git a/doc/generated/AppVehOwnServerDto.jar b/doc/generated/AppVehOwnServerDto.jar index 1798ef1c892cae66a2d901376b6cf65da0760a1f..7af9c53390dc77290690773c2225691983c7fe9d 100644 GIT binary patch delta 3501 zcmY*c2|U!>7ylWAF&-jel07jD4MWCWc49Cx)zBlNEF=4qF_ElUf1^;Tv8zaAd1Q;w zL)k0YvZPdKv&Vn@^zXfy`OKVi&pqdRzxSRq_jhI^s4biaZ^6n22ew~#@olL*GMvTu zHbPNZigl`{6xD$HiG*3;pFPe2?+>g!)g4wGNL*T|kcwRXuD$rU zJ|W}^X+^}g?cyU#E;F+m8?mT7J>6rAB+NRO`5#=Qh^D&k@};*MocDuKhE)QIcv=9r z)yx@}yEA7S#-D!*3$LdFhub4!l!$+LiSHqBCB~6VQ#%4=)_M(}M&s)T ziq#$1?g=0qYog9-C|IJ;_$zS_s-BSZo#3|`B()kTu2JjP=e^VkQ=4`;{OXYzmn@yT zd3?y5tham6a&wkt_ML`$od<2$)}#54=nNFs-msQV*SjxTqLSc-p?SRvb9~fI+#6M~ z*oY$Wkw6~H(tiGhKCUO@toQGJTHN(oJ9)6gDd{}Z>+bjjC0I`T7vF@c2W1p zbRx=xd`I1&_?k`qrui1)DGHHHphUKR`Dh2Cu(~YLTw(K#&fP6I4af6% zbg14;$o~+P^m;)jU~d9Fj~qpQ>f3A2yHr5#uPDk2!%O2tdp>3EX19-Dtsyq=HC5pe)5rtA5cGkjh$e75tZ0OHk!sJ95-*8O{vP_%em`* zHK7aBmC9<>qGKF)X;Eg`0;zKC&Waez)dD)0|7KtXM%vep`5?P&-L_O4S{ld6wEMg&OZ` z?zw;L<&@UXDRo}nn?cD5(u-PF4`!lDL#)83D;6t(;7CY3HBJvhQu}DG<%*|1ni&jd#i3}d=;TN_|K{W`GVF~sAADt{CC1vM zC*JVIfjvjr6+{prq@KD|rD$L#B=b zsget@7S*_s6>jEg{~%n-0#$pKXu(dkr}K_YI4~+1&!}WW&_+y^dW`IH&dUw&LH2Po z3?QS=cscv~=i8kl_v`af-s}q+@$N5>qe&|{q*Yyr@WnpLiAhN@KP7K3(;%VwEDbFa zWl7{=nT}=h!19|!p{+AQImfZ@evLsf!j=798#CQk7 zO0N6ShzGu;r?B+0P#x!L;p5ybQVB=tMWjKA%9olx69-y|r&b=IEj?>hy6(*pU3-py zJx@T!Qxc}CTs&LH3hyMeWIp@`+A4RaA^#HLF%)HR_kYmK15WMGQqKFKsT+31$t;)f<^L218~=d*S&7 z^`?9}6$$)55sV!VQ=0~At2#(*TV8Qa*v_#6fDk7D7(iX@ z&R1T9JR2CnE6wNx*+D%vBnl!5@r3#m0#kd!6zB&^s_oG7RYSt$;S89Apg49Hh=%il zooWb(-7sUS4)JRW37K@TNZ4IohDjSdtbq{UX17EImpd8kZgK#C2Gb%Jz-Fv5v;(H+ zEt5~G5QLv1w0C=1$ax^hKX$vRa%Ws?%zzg~7|zllQbY*sRR6_M9SKuJLgp^f{U92< zgTZtyGA%eL_REw7g+plru1JOc;W4kn_5< z$Zw1V28M||WLDOcgyK)8;)YZhT-6v{)tTZ=6?Yuv_kcy32*>R#{bwHF{XO6Vwzj&^ z0C3ERV4!4XWvuM&9OUMs{BIpWf0&qp6_|oo(I7wWFjN|rI3&zK8MIMU0W)z5u*7Xu n1KhwN{{0#AX$iqbF(6%8R|s#x&Y%qd5{x&68vrU)w@3d2T`^h_gZ^>>-*l8h{X^|7ki|L7;O2P zP2s0X5=3WG_{=@I{Gn9iP26&^20eM$+{1;q#T^ay=PTL%{V`FNL4o3{Z$g{%;+5A?&Ok+OSvfDmrJ8dIg9fdGUk@=hWj zIDxQ~0y)g$531xj@Ye(20E?&r2oV^r3*WBMMJDU;Gb^9Fl{4ttB6M!NA^jG{nJ=2r z_j^u4xVod=lq>(i6yf9~a#1tr>X-M9n6uganVd{v?qglpCB?HJ@~{sRx}u#GJ7(>Q ze^b!aY8wu~@gLlaJ#H8?@!3|H6&Lt-l71zl?R`+~Z#Ss+UI|-vZ@t}JaC*4bo%^mN zB!e>H-a`%IoJrC1bAIi5uKQzO{V4HZ)CmoYh1orn87U#L_-3cK;w9^mB24+@r>Gm+AxQqBl8iO7&G^mez+w>@kn^9s2>O7 z!}-3iRq_PA=+cjqt1U)}!obE4wjqw2?b2@7 zxI>->4DWyK>tFo5ly@(xLbeHQQ7&pxW}&`dYjW4^>2<=P@7gGO;2?UQ@z&8*#$)%9 ziG{vX6JNjmm=_5=-zY{(Cw`zvT$Y$E+9S3hKClD*hWTwvbZDVPhL=HlFTN^KJ6)R@ zz}#<;)rOjr%a#5nUH7#w1K_)HjnY56ww%T!u~Pz_32Ae+grwM9OlgGjHeWxho-DyJ zC;4Pur5S9)wrsN^u?vXhX{~6L7+-O!q?=Zpi1qlD<#-f$=M@=TifNIR<pSh2{_{z;brt_(WPM0Z_yWykSUHXzS$?5f~vAGgM$eu5i zzl%hfol&u)&TUSA^}ac!fu=E+BcP2KYm5rb%p%|?&ugHFEQYz$&JFewkLR0kG05rp zyb9q0Eh22O?bFmiB6|2G_74qGoI5)+`yqE)!^!v5MBBk!6{`)=6OX^Vky6t7bm2uN z$K;}^K99lTUAt&g_)#;SYTToI47FR)edL{&bHKq?q@?nB6FW@8-w9c*8&-pZbT(pL}V9*=)=HVY(Q{P<8R47YS6sBn@_%@xh^!;Rv+s!iyH+vph%L+;}O*&oW zzIFiPm2ShK0W`+mSed)4s)7|KT#dfsG^_7j!EDsfLqKP!AE%?F6dcJ=G zjSG^hCwQ9*&R~L#}Ed&|pAX6+z&KfeEBCrX(H629We2n@^%c$}&oFfb0Mn3%HRf zkm@Y^H$flV%fJAc0VxiN;wHI#o~|kmkWSeRAtoqT!~zodj8_A642i1$cj!Xeyz;mn zX(b8)vkf&NU=23?h!NO(M-&W3T?2go3j{1%j{=q?)&X)xIEZkTbcUV<685iy!N_X} zAre0kq=6I@36r0Zh#TQ=6^fCn6> zk|b2YUBLXQfS;<7fh{eKE(7%dpY2)*G7)qwRsP*9r$G`Iyw|RFERejN3}_pO0eWVl RQYtVNn7B9$=Bc-w;lJgdGM4}V diff --git a/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/UserEntity.java b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/UserEntity.java index 1400f46..7cc2b4a 100644 --- a/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/UserEntity.java +++ b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/UserEntity.java @@ -21,6 +21,8 @@ public class UserEntity extends AbstractEntity{ private String firstname; private String lastname; + private String phone; + private String street; @Column(nullable = false, unique = true) private String email; diff --git a/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/customer/CustomerConfigurationFileEntity.java b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/customer/CustomerConfigurationFileEntity.java new file mode 100644 index 0000000..a8a1108 --- /dev/null +++ b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/customer/CustomerConfigurationFileEntity.java @@ -0,0 +1,4 @@ +package eu.csc.ODPAppVehOwnServer.persistence.entity.customer; + +public class CustomerConfigurationFileEntity { +} diff --git a/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/customer/CustomerMobilePhoneEntity.java b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/customer/CustomerMobilePhoneEntity.java new file mode 100644 index 0000000..9b4064d --- /dev/null +++ b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/customer/CustomerMobilePhoneEntity.java @@ -0,0 +1,27 @@ +package eu.csc.ODPAppVehOwnServer.persistence.entity.customer; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +@Getter +@Setter +@NoArgsConstructor + +@Entity +@Table(name = "tcustomer_mobile_phones") +public class CustomerMobilePhoneEntity extends AbstractCustomerEntity{ + + @Column(unique = true, nullable = false) + private String identifier; + + @Column(nullable = true) + private String name; + + @Column(unique = true, nullable = true) + private String accessToken; +} diff --git a/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/data/DeviceEntity.java b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/data/DeviceEntity.java index f68dcea..6e7d275 100644 --- a/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/data/DeviceEntity.java +++ b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/data/DeviceEntity.java @@ -27,6 +27,7 @@ public class DeviceEntity extends AbstractEntity { @Column(nullable = false) private String name; + @Column(nullable = true) private String manufacturer; diff --git a/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/data/LanguageEntity.java b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/data/LanguageEntity.java new file mode 100644 index 0000000..0ace667 --- /dev/null +++ b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/data/LanguageEntity.java @@ -0,0 +1,26 @@ +package eu.csc.ODPAppVehOwnServer.persistence.entity.data; + +import eu.csc.ODPAppVehOwnServer.persistence.entity.AbstractEntity; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +@Getter +@Setter +@NoArgsConstructor + +@Entity +@Table(name = "tlanguages") +public class LanguageEntity extends AbstractEntity { + + private String locale; + + private String name; + @Column(nullable = false, name = "is_standard") + private boolean isStandard; + +} diff --git a/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/data/VehicleModelEntity.java b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/data/VehicleModelEntity.java index 5d4069b..f8dd4b6 100644 --- a/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/data/VehicleModelEntity.java +++ b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/data/VehicleModelEntity.java @@ -28,6 +28,8 @@ public class VehicleModelEntity extends AbstractEntity { @Column(nullable = false) private String name; + @Column(nullable = true) + private String imageName; public void setBrand(VehicleBrandEntity brand) { this.brand = brand; diff --git a/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/mongo/FilesMongo.java b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/mongo/FilesMongo.java new file mode 100644 index 0000000..c18af33 --- /dev/null +++ b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/mongo/FilesMongo.java @@ -0,0 +1,31 @@ +package eu.csc.ODPAppVehOwnServer.persistence.entity.mongo; + +import eu.csc.ODPAppVehOwnServer.persistence.entity.pub.FilesTypes; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.bson.types.Binary; +import org.springframework.data.mongodb.core.mapping.Document; + +import javax.persistence.EnumType; +import javax.persistence.Enumerated; +import javax.persistence.Id; +@Getter +@Setter +@NoArgsConstructor +@Document(collection = "files") +public class FilesMongo { + @Id + private String id; + + private String title; + + private Binary image; + + @Enumerated(EnumType.STRING) + private FilesTypes imageType; + + public FilesMongo(String title) { + this.title = title; + } +} diff --git a/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/pub/FilesTypes.java b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/pub/FilesTypes.java new file mode 100644 index 0000000..883b0db --- /dev/null +++ b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/entity/pub/FilesTypes.java @@ -0,0 +1,9 @@ +package eu.csc.ODPAppVehOwnServer.persistence.entity.pub; + +public enum FilesTypes { + + PNG, + JPEG, + + +} diff --git a/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/respository/CustomerMobilePhoneRepository.java b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/respository/CustomerMobilePhoneRepository.java new file mode 100644 index 0000000..ce1261c --- /dev/null +++ b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/respository/CustomerMobilePhoneRepository.java @@ -0,0 +1,13 @@ +package eu.csc.ODPAppVehOwnServer.persistence.respository; + +import eu.csc.ODPAppVehOwnServer.persistence.entity.customer.CustomerMobilePhoneEntity; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + + +@Repository +public interface CustomerMobilePhoneRepository extends JpaRepository { + + + +} diff --git a/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/respository/LanguageRepository.java b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/respository/LanguageRepository.java new file mode 100644 index 0000000..52d46e5 --- /dev/null +++ b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/respository/LanguageRepository.java @@ -0,0 +1,14 @@ +package eu.csc.ODPAppVehOwnServer.persistence.respository; + +import eu.csc.ODPAppVehOwnServer.persistence.entity.data.DeviceEntity; +import eu.csc.ODPAppVehOwnServer.persistence.entity.data.LanguageEntity; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +import java.util.Optional; + +@Repository +public interface LanguageRepository extends JpaRepository { + + +} diff --git a/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/respository/mongo/FilesRepository.java b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/respository/mongo/FilesRepository.java new file mode 100644 index 0000000..c1bc825 --- /dev/null +++ b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/respository/mongo/FilesRepository.java @@ -0,0 +1,8 @@ +package eu.csc.ODPAppVehOwnServer.persistence.respository.mongo; + +import eu.csc.ODPAppVehOwnServer.persistence.entity.mongo.FilesMongo; +import org.springframework.data.mongodb.repository.MongoRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface FilesRepository extends MongoRepository { } \ No newline at end of file diff --git a/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/services/CustomerService.java b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/services/CustomerService.java index 48acdaa..da55de1 100644 --- a/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/services/CustomerService.java +++ b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/services/CustomerService.java @@ -2,12 +2,13 @@ package eu.csc.ODPAppVehOwnServer.persistence.services; import eu.csc.ODPAppVehOwnServer.persistence.entity.UserEntity; import eu.csc.ODPAppVehOwnServer.persistence.entity.customer.CustomerDeviceEntity; +import eu.csc.ODPAppVehOwnServer.persistence.entity.customer.CustomerMobilePhoneEntity; import eu.csc.ODPAppVehOwnServer.persistence.entity.customer.CustomerVehicleEntity; -import eu.csc.ODPAppVehOwnServer.persistence.entity.data.DeviceArticleEntity; -import eu.csc.ODPAppVehOwnServer.persistence.entity.data.DeviceEntity; -import eu.csc.ODPAppVehOwnServer.persistence.respository.*; +import eu.csc.ODPAppVehOwnServer.persistence.respository.CustomerDeviceRepository; +import eu.csc.ODPAppVehOwnServer.persistence.respository.CustomerMobilePhoneRepository; +import eu.csc.ODPAppVehOwnServer.persistence.respository.CustomerVehicleRepository; +import eu.csc.ODPAppVehOwnServer.persistence.respository.UserRepository; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.security.SecurityProperties; import org.springframework.stereotype.Service; import java.util.List; @@ -25,18 +26,19 @@ public class CustomerService { @Autowired private DeviceService deviceService; + @Autowired + private CustomerMobilePhoneRepository customerMobilePhoneRepository; @Autowired private CustomerVehicleRepository customerVehicleRepository; + @Autowired private CustomerDeviceRepository customerDeviceRepository; public List findAll() { - - - return userRepository.findAll(); + return userRepository.findAll(); } public UserEntity addCustomer(String email, String password) { @@ -50,7 +52,7 @@ public class CustomerService { } - private UserEntity mapUser(String email, String password, String firstname, String lastname){ + private UserEntity mapUser(String email, String password, String firstname, String lastname) { var user = new UserEntity(); user.setEmail(email); @@ -69,7 +71,7 @@ public class CustomerService { return customerDeviceRepository.findAllByUser_id(userId); } - public CustomerDeviceEntity registerDevice(Long userId, String serialnumber){ + public CustomerDeviceEntity registerDevice(Long userId, String serialnumber) { var deviceArticle = deviceService.findOrThrowBySerialnumber(serialnumber); @@ -89,4 +91,17 @@ public class CustomerService { public Optional findByEmail(String email) { return userRepository.findOneByEmail(email); } + + public CustomerMobilePhoneEntity registerMobilePhone(String name, String identifier, Long customerId) { + + CustomerMobilePhoneEntity item = new CustomerMobilePhoneEntity(); + item.setIdentifier(identifier); + item.setName(name); + item.setUser_id(customerId); + + item.setAccessToken(utilsService.generateAccessToken()); + + + return customerMobilePhoneRepository.save(item); + } } diff --git a/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/services/FilesService.java b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/services/FilesService.java new file mode 100644 index 0000000..6505137 --- /dev/null +++ b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/services/FilesService.java @@ -0,0 +1,29 @@ +package eu.csc.ODPAppVehOwnServer.persistence.services; + +import eu.csc.ODPAppVehOwnServer.persistence.entity.mongo.FilesMongo; +import eu.csc.ODPAppVehOwnServer.persistence.respository.mongo.FilesRepository; +import org.bson.BsonBinarySubType; +import org.bson.types.Binary; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; + +@Service +public class FilesService { + + @Autowired + private FilesRepository photoRepo; + + public String addPhoto(String title, MultipartFile file) throws IOException { + var photo = new FilesMongo(title); + photo.setImage( + new Binary(BsonBinarySubType.BINARY, file.getBytes())); + photo = photoRepo.insert(photo); return photo.getId(); + } + + public FilesMongo getPhoto(String id) { + return photoRepo.findById(id).get(); + } +} diff --git a/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/services/UtilsService.java b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/services/UtilsService.java index 77340c9..474ae00 100644 --- a/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/services/UtilsService.java +++ b/persistence/src/main/java/eu/csc/ODPAppVehOwnServer/persistence/services/UtilsService.java @@ -30,6 +30,8 @@ return ""+year + month + date + serialNo; } + public String generateAccessToken() { - + throw new UnsupportedOperationException(); + } } diff --git a/pom.xml b/pom.xml index 713e45a..c3098ba 100644 --- a/pom.xml +++ b/pom.xml @@ -50,6 +50,22 @@ 3.12.0 + + + org.springframework + spring-web + + + + + org.springframework.boot + spring-boot-starter-mail + + + org.springframework.boot + spring-boot-starter-data-mongodb + + org.springframework.boot spring-boot-starter-log4j2 diff --git a/server/resources/application.properties b/server/resources/application.properties index 148c5ad..f81e73d 100644 --- a/server/resources/application.properties +++ b/server/resources/application.properties @@ -2,6 +2,13 @@ spring.profiles.active=@profiles.active@ spring.datasource.username=@mysql.user@ spring.datasource.password=@mysql.password@ + +#Mongo Db +spring.data.mongodb.host=@mongo.host@ +spring.data.mongodb.port=@mongo.port@ +spring.data.mongodb.database=@mongo.database@ +spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect + spring.datasource.hikari.maximum-pool-size=100 server.port=8081 spring.datasource.hikari.auto-commit=true diff --git a/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/AbstractRestController.java b/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/AbstractRestController.java index 1b5cff8..08cb723 100644 --- a/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/AbstractRestController.java +++ b/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/AbstractRestController.java @@ -41,6 +41,12 @@ public abstract class AbstractRestController { return (LoggedInWebUserDetails) getLoggedInUser().getPrincipal(); } + protected Long getLoggedInWebUserId(){ + LoggedInWebUserDetails user = (LoggedInWebUserDetails) getLoggedInUser().getPrincipal(); + + return user.getUserId(); + } + //region ExceptionHandling @@ -59,6 +65,10 @@ public abstract class AbstractRestController { public ResponseEntity handlePersistenceNotFoundException(PersistenceException ex) { return new ResponseEntity<>(ex.getMessage(), HttpStatus.BAD_REQUEST); } + @ExceptionHandler(UnsupportedOperationException.class) + public ResponseEntity handleUnsupportedOperationException(UnsupportedOperationException ex) { + return new ResponseEntity<>(ex.getMessage(), HttpStatus.BAD_REQUEST); + } //endregion diff --git a/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/customer/CustomerController.java b/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/customer/CustomerController.java new file mode 100644 index 0000000..e3db58c --- /dev/null +++ b/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/customer/CustomerController.java @@ -0,0 +1,19 @@ +package eu.csc.ODPAppVehOwnServer.controller.customer; + +import eu.csc.ODPAppVehOwnServer.controller.AbstractRestController; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.logging.Logger; + + +@RestController +@RequestMapping("/customer/") +public class CustomerController extends AbstractRestController { + + private static final Logger logger = Logger.getLogger(CustomerController.class.getSimpleName()); + + + + +} diff --git a/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/customer/MobilePhoneController.java b/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/customer/MobilePhoneController.java new file mode 100644 index 0000000..0fc7aa9 --- /dev/null +++ b/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/customer/MobilePhoneController.java @@ -0,0 +1,34 @@ +package eu.csc.ODPAppVehOwnServer.controller.customer; + +import eu.csc.ODPAppVehOwnServer.controller.AbstractRestController; +import eu.csc.ODPAppVehOwnServer.models.regist.CustomerMobilePhoneDto; +import eu.csc.ODPAppVehOwnServer.persistence.services.CustomerService; +import eu.csc.ODPAppVehOwnServer.persistence.services.DeviceService; +import lombok.var; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.logging.Logger; + +@RestController +@RequestMapping("customer/mobilephones") +public class MobilePhoneController extends AbstractRestController { + + private static final Logger logger = Logger.getLogger(MobilePhoneController.class.getSimpleName()); + + @Autowired + private CustomerService customerService; + + @PostMapping + public ResponseEntity registerCustomerDevice(@RequestBody CustomerMobilePhoneDto body) { + + + var entity = customerService.registerMobilePhone(body.getName(), body.getIdentifier(), getLoggedInWebUserId()); + + + + + throw new UnsupportedOperationException(); + } +} diff --git a/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/data/VehicleController.java b/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/data/VehicleController.java index d0929f1..e76f320 100644 --- a/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/data/VehicleController.java +++ b/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/data/VehicleController.java @@ -65,8 +65,11 @@ public class VehicleController { produces = MediaType.IMAGE_JPEG_VALUE) public void getImage(HttpServletResponse response, @PathVariable String brandId) throws IOException { + + var imgFile = storageService.loadAsResource("images", "ford.jpeg"); + //if(imgFile.) response.setContentType(MediaType.IMAGE_JPEG_VALUE); StreamUtils.copy(imgFile.getInputStream(), response.getOutputStream()); } diff --git a/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/registration/RegistrationController.java b/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/registration/RegistrationController.java index ccd7563..81405f2 100644 --- a/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/registration/RegistrationController.java +++ b/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/registration/RegistrationController.java @@ -40,9 +40,14 @@ public class RegistrationController { user.setEmail(signUpDto.getEmail()); user.setPassword(passwordEncoder.encode(signUpDto.getPassword())); + user.setPhone(signUpDto.getPhone()); + user.setStreet(signUpDto.getStreet()); + userRepository.save(user); - return new ResponseEntity<>("User registered successfully", HttpStatus.OK); + + + return new ResponseEntity<>(user.getId(), HttpStatus.OK); } diff --git a/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/registration/VehicleRegistrationController.java b/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/registration/VehicleRegistrationController.java index eb39d9a..df8c4a7 100644 --- a/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/registration/VehicleRegistrationController.java +++ b/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/controller/registration/VehicleRegistrationController.java @@ -43,7 +43,6 @@ public class VehicleRegistrationController extends AbstractRestController { result.add(mapped); - } return ResponseEntity.ok(result); diff --git a/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/services/JwtTokenService.java b/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/services/JwtTokenService.java index cfd70c4..6c3fa72 100644 --- a/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/services/JwtTokenService.java +++ b/server/restserver/src/main/java/eu/csc/ODPAppVehOwnServer/services/JwtTokenService.java @@ -16,6 +16,7 @@ import java.util.function.Function; public class JwtTokenService { private final String secret; + private final Long expiration; @Autowired diff --git a/server/restserver/src/test/java/eu/csc/ODPAppVehOwnServer/web/clients/AbstractClientTester.java b/server/restserver/src/test/java/eu/csc/ODPAppVehOwnServer/web/clients/AbstractClientTester.java index 370071d..7b3694f 100644 --- a/server/restserver/src/test/java/eu/csc/ODPAppVehOwnServer/web/clients/AbstractClientTester.java +++ b/server/restserver/src/test/java/eu/csc/ODPAppVehOwnServer/web/clients/AbstractClientTester.java @@ -1,6 +1,8 @@ package eu.csc.ODPAppVehOwnServer.web.clients; +import eu.csc.ODPAppVehOwnServer.client.ClientFactory; import eu.csc.ODPAppVehOwnServer.client.clients.VehOwnAppClient; +import eu.csc.ODPAppVehOwnServer.client.service.AuthenticationService; import eu.csc.ODPAppVehOwnServer.models.regist.UserVehicleRegistrationDto; import eu.csc.ODPAppVehOwnServer.persistence.entity.data.DeviceArticleEntity; import eu.csc.ODPAppVehOwnServer.persistence.entity.data.DeviceEntity; @@ -24,6 +26,8 @@ public abstract class AbstractClientTester { protected String url; protected VehOwnAppClient client; + protected AuthenticationService authenticationService; + @Autowired protected GsonService gsonService; diff --git a/server/restserver/src/test/java/eu/csc/ODPAppVehOwnServer/web/clients/CustomerClientTester.java b/server/restserver/src/test/java/eu/csc/ODPAppVehOwnServer/web/clients/CustomerClientTester.java index bdee1d7..1b876cc 100644 --- a/server/restserver/src/test/java/eu/csc/ODPAppVehOwnServer/web/clients/CustomerClientTester.java +++ b/server/restserver/src/test/java/eu/csc/ODPAppVehOwnServer/web/clients/CustomerClientTester.java @@ -1,7 +1,9 @@ package eu.csc.ODPAppVehOwnServer.web.clients; +import com.mysql.cj.xdevapi.Client; import eu.csc.ODPAppVehOwnServer.ODPAppVehOwnServerApplication; import eu.csc.ODPAppVehOwnServer.client.ClientFactory; +import eu.csc.ODPAppVehOwnServer.models.UserRegistrationDto; import eu.csc.ODPAppVehOwnServer.models.regist.UserVehicleRegistrationDto; import lombok.var; import org.junit.jupiter.api.*; @@ -25,6 +27,9 @@ public class CustomerClientTester extends AbstractClientTester{ this.initUser(); this.url = "http://localhost:" + port; + + this.authenticationService = + ClientFactory.createAuthenticationService(this.url); this.token = ClientFactory.authenticate(url, this.user, this.password).body().getToken(); client = ClientFactory.createVehOwnAppClient(this.url, this.token); @@ -38,6 +43,25 @@ public class CustomerClientTester extends AbstractClientTester{ Assertions.assertNotNull(this.client); + } + @Test + void testRegistration() throws IOException { + UserRegistrationDto customerA = new UserRegistrationDto(); + customerA.setEmail("A@A.A"); + customerA.setPassword("yannyann1"); + + var result = Assertions.assertDoesNotThrow(() -> authenticationService.registerCustomer(customerA).execute()); + + Assertions.assertNotNull(result.body()); + var result2 = Assertions.assertDoesNotThrow(() -> authenticationService.registerCustomer(customerA).execute()); + + Assertions.assertNull(result2.body()); + + + System.out.println(result2.errorBody().string()); + + + } diff --git a/server/shell/src/main/java/eu/csc/ODPAppVehOwnServer/shell/InitCommands.java b/server/shell/src/main/java/eu/csc/ODPAppVehOwnServer/shell/InitCommands.java new file mode 100644 index 0000000..e0619c6 --- /dev/null +++ b/server/shell/src/main/java/eu/csc/ODPAppVehOwnServer/shell/InitCommands.java @@ -0,0 +1,11 @@ +package eu.csc.ODPAppVehOwnServer.shell; + + +import org.springframework.shell.standard.ShellComponent; + +@ShellComponent +public class InitCommands extends BaseCommands{ + + + +} diff --git a/web-dir/images/hyundai.png b/web-dir/images/hyundai.png new file mode 100644 index 0000000000000000000000000000000000000000..439f8014535dbc80584467d12b1f6b282f4cfd12 GIT binary patch literal 4050 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 login(@Body AuthenticationRequest request); + Call login(@Body AuthenticationRequest body); + + + @POST("/api/signup") + Call registerCustomer(@Body UserRegistrationDto body); } diff --git a/webcoreroot/dto/src/main/java/eu/csc/ODPAppVehOwnServer/models/AbstractBaseDto.java b/webcoreroot/dto/src/main/java/eu/csc/ODPAppVehOwnServer/models/AbstractBaseDto.java index 4883dab..0881c01 100644 --- a/webcoreroot/dto/src/main/java/eu/csc/ODPAppVehOwnServer/models/AbstractBaseDto.java +++ b/webcoreroot/dto/src/main/java/eu/csc/ODPAppVehOwnServer/models/AbstractBaseDto.java @@ -1,6 +1,17 @@ package eu.csc.ODPAppVehOwnServer.models; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + import java.io.Serializable; +@Getter +@Setter +@NoArgsConstructor +@ToString public class AbstractBaseDto implements Serializable { + + } diff --git a/webcoreroot/dto/src/main/java/eu/csc/ODPAppVehOwnServer/models/UserRegistrationDto.java b/webcoreroot/dto/src/main/java/eu/csc/ODPAppVehOwnServer/models/UserRegistrationDto.java index 5c97371..2c03e01 100644 --- a/webcoreroot/dto/src/main/java/eu/csc/ODPAppVehOwnServer/models/UserRegistrationDto.java +++ b/webcoreroot/dto/src/main/java/eu/csc/ODPAppVehOwnServer/models/UserRegistrationDto.java @@ -15,5 +15,8 @@ public class UserRegistrationDto extends AbstractBaseDto{ private String firstname; private String lastname; private String email; + private String phone; + private String street; + private String city; } diff --git a/webcoreroot/dto/src/main/java/eu/csc/ODPAppVehOwnServer/models/base/AbstractServerDto.java b/webcoreroot/dto/src/main/java/eu/csc/ODPAppVehOwnServer/models/base/AbstractServerDto.java index aef9aeb..b34a27e 100644 --- a/webcoreroot/dto/src/main/java/eu/csc/ODPAppVehOwnServer/models/base/AbstractServerDto.java +++ b/webcoreroot/dto/src/main/java/eu/csc/ODPAppVehOwnServer/models/base/AbstractServerDto.java @@ -1,11 +1,15 @@ package eu.csc.ODPAppVehOwnServer.models.base; +import lombok.AllArgsConstructor; import lombok.Getter; +import lombok.NoArgsConstructor; import lombok.Setter; @Getter @Setter +@NoArgsConstructor +@AllArgsConstructor public abstract class AbstractServerDto { private Long id; diff --git a/webcoreroot/dto/src/main/java/eu/csc/ODPAppVehOwnServer/models/data/PropulsionTypeDto.java b/webcoreroot/dto/src/main/java/eu/csc/ODPAppVehOwnServer/models/data/PropulsionTypeDto.java index f8aad09..4301b04 100644 --- a/webcoreroot/dto/src/main/java/eu/csc/ODPAppVehOwnServer/models/data/PropulsionTypeDto.java +++ b/webcoreroot/dto/src/main/java/eu/csc/ODPAppVehOwnServer/models/data/PropulsionTypeDto.java @@ -13,4 +13,10 @@ public class PropulsionTypeDto extends AbstractServerDto { private String propulsionId; private String name; + public PropulsionTypeDto(Long id, String propulsionId, String name){ + super(id); + this.propulsionId = propulsionId; + this.name = name; + } + } diff --git a/webcoreroot/dto/src/main/java/eu/csc/ODPAppVehOwnServer/models/regist/CustomerMobilePhoneDto.java b/webcoreroot/dto/src/main/java/eu/csc/ODPAppVehOwnServer/models/regist/CustomerMobilePhoneDto.java new file mode 100644 index 0000000..178f1a8 --- /dev/null +++ b/webcoreroot/dto/src/main/java/eu/csc/ODPAppVehOwnServer/models/regist/CustomerMobilePhoneDto.java @@ -0,0 +1,20 @@ +package eu.csc.ODPAppVehOwnServer.models.regist; + +import eu.csc.ODPAppVehOwnServer.models.AbstractBaseDto; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + +@Getter +@Setter +@NoArgsConstructor + +@ToString +public class CustomerMobilePhoneDto extends AbstractBaseDto { + + private String identifier; + private String name; + private String token; + +}