From 57d903a6d671c5b55508d9d898876bef4424db57 Mon Sep 17 00:00:00 2001 From: "nandhita.zefania" <nandhita.zefania@ui.ac.id> Date: Sat, 10 Dec 2022 20:58:03 +0700 Subject: [PATCH 01/16] feat: fix html --- .../templates/apoteker/form-add-apoteker.html | 1 + .../appointment/view-all-appointment.html | 2 +- .../appointment/view-appointment.html | 2 +- .../templates/dokter/form-add-dokter.html | 1 + .../templates/dokter/list-dokter.html | 2 +- .../main/resources/templates/error/403.html | 2 +- .../templates/fragments/fragment.html | 82 +++++++++++------ .../main/resources/templates/home/home.html | 29 +----- .../main/resources/templates/login/login.html | 90 ++++++++++--------- .../templates/manage/form-add-apoteker.html | 1 + .../templates/manage/form-add-dokter.html | 1 + .../templates/manage/viewall-user.html | 2 +- .../resources/templates/obat/add-obat.html | 2 +- .../templates/obat/form-add-obat.html | 1 + .../templates/obat/form-update-obat.html | 1 + .../resources/templates/obat/update-obat.html | 2 +- .../templates/obat/viewall-obat.html | 2 +- 17 files changed, 121 insertions(+), 102 deletions(-) diff --git a/SpringTkApap/src/main/resources/templates/apoteker/form-add-apoteker.html b/SpringTkApap/src/main/resources/templates/apoteker/form-add-apoteker.html index b2f6cc2..d7ef0fa 100644 --- a/SpringTkApap/src/main/resources/templates/apoteker/form-add-apoteker.html +++ b/SpringTkApap/src/main/resources/templates/apoteker/form-add-apoteker.html @@ -37,5 +37,6 @@ </div> </div> </div> +<object th:replace="fragments/fragment :: footer"></object> </body> </html> \ No newline at end of file diff --git a/SpringTkApap/src/main/resources/templates/appointment/view-all-appointment.html b/SpringTkApap/src/main/resources/templates/appointment/view-all-appointment.html index 64a49fa..bac0747 100644 --- a/SpringTkApap/src/main/resources/templates/appointment/view-all-appointment.html +++ b/SpringTkApap/src/main/resources/templates/appointment/view-all-appointment.html @@ -56,6 +56,6 @@ </div> </div> </div> - +<object th:replace="fragments/fragment :: footer"></object> </body> </html> \ No newline at end of file diff --git a/SpringTkApap/src/main/resources/templates/appointment/view-appointment.html b/SpringTkApap/src/main/resources/templates/appointment/view-appointment.html index a04aa25..ff753a9 100644 --- a/SpringTkApap/src/main/resources/templates/appointment/view-appointment.html +++ b/SpringTkApap/src/main/resources/templates/appointment/view-appointment.html @@ -54,6 +54,6 @@ </div> </div> </div> - +<object th:replace="fragments/fragment :: footer"></object> </body> </html> \ No newline at end of file diff --git a/SpringTkApap/src/main/resources/templates/dokter/form-add-dokter.html b/SpringTkApap/src/main/resources/templates/dokter/form-add-dokter.html index 3628006..76b5ab1 100644 --- a/SpringTkApap/src/main/resources/templates/dokter/form-add-dokter.html +++ b/SpringTkApap/src/main/resources/templates/dokter/form-add-dokter.html @@ -40,5 +40,6 @@ </div> </div> </div> +<object th:replace="fragments/fragment :: footer"></object> </body> </html> \ No newline at end of file diff --git a/SpringTkApap/src/main/resources/templates/dokter/list-dokter.html b/SpringTkApap/src/main/resources/templates/dokter/list-dokter.html index 566549b..556bc0a 100644 --- a/SpringTkApap/src/main/resources/templates/dokter/list-dokter.html +++ b/SpringTkApap/src/main/resources/templates/dokter/list-dokter.html @@ -5,6 +5,6 @@ <title>Title</title> </head> <body> - +<object th:replace="fragments/fragment :: footer"></object> </body> </html> \ No newline at end of file diff --git a/SpringTkApap/src/main/resources/templates/error/403.html b/SpringTkApap/src/main/resources/templates/error/403.html index c57eb5d..a05ed97 100644 --- a/SpringTkApap/src/main/resources/templates/error/403.html +++ b/SpringTkApap/src/main/resources/templates/error/403.html @@ -16,6 +16,6 @@ <a class="text-center" th:href="@{/}">Home</a> </div> </div> - +<object th:replace="fragments/fragment :: footer"></object> </body> </html> \ No newline at end of file diff --git a/SpringTkApap/src/main/resources/templates/fragments/fragment.html b/SpringTkApap/src/main/resources/templates/fragments/fragment.html index 48e7ccf..dcdf34e 100644 --- a/SpringTkApap/src/main/resources/templates/fragments/fragment.html +++ b/SpringTkApap/src/main/resources/templates/fragments/fragment.html @@ -5,6 +5,8 @@ <title>Navbar</title> <head th:fragment="css"> <link rel="stylesheet" th:href="@{/css/bootstrap.min.css}"/> + <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet"> + <link href="https://getbootstrap.com/docs/5.2/assets/css/docs.css" rel="stylesheet"> </head> <head th:fragment="js"> <script @@ -13,26 +15,21 @@ crassorigin="anonymous" ></script> <script src="https://getbootstrap.com/docs/4.1/assets/js/vendor/popper.nin.js"></script> + <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js" integrity="sha384-vFJXuSJphROIrBnz7yo7oB41mKfc8JzQZiCq4NCceLEaO4IHwicKwpJf9c9IpFgh" crossorigin="anonymous"></script> + <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js" integrity="sha384-alpBpkh1PFOepccYVYDB4do5UnbKysX5WZXm3XxPqe5iKTfUKjNkCk9SaVuEZflJ" crossorigin="anonymous"></script> <script th:src="@{/js/bootstrap.min.js}"></script> + <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script> </head> </head> <body> <nav th:fragment="navbar(page)" class="navbar navbar-expand-lg navbar-dark" style="background-color:#0d47a1;"> - <a class="navbar-brand font-weight-bold text-white" th:href="@{/}">RumahSehat</a> - <button - class="navbar-toggler" - type="button" - data-toggle="collapse" - data-target="#navbarNavAltMarkup" - aria-controls="navbarNavAltMarkup" - aria-expanded="false" - aria-label="Toggle navigation" - > - - <span class="navbar-toggler-icon"></span> - - </button> - <div class="collapse navbar-collapse"> + <div class="container-fluid mx-3"> + <a class="navbar-brand font-weight-bold text-white" th:href="@{/}">RumahSehat</a> + <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarTogglerDemo02" aria-controls="navbarTogglerDemo02" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + <div class="collapse navbar-collapse" id="navbarTogglerDemo02"> <ul class="navbar-nav mr-auto"> <li th:classappend="${page == 'Beranda'} ? active : ''" class="nav-item"> <a class="nav-link" th:href="@{/}">Beranda</a> @@ -53,19 +50,52 @@ <a class="nav-link" th:href="@{/user/viewall/pasien}">Manajemen User</a> </li> </ul> + <ul class="navbar-nav pull-right"> + <li> + <a class="nav-item nav-link text-white mr-2" th:text="${#httpServletRequest.remoteUser}"></a> + </li> + <li> + <button class="nav-item btn btn-outline-light my-auto" data-toggle="modal" data-target="#opsi-logout">Logout</button> + <div class="modal fade" id="opsi-logout" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true"> + <div class="modal-dialog modal-dialog-centered" role="document"> + <div class="modal-content"> + <div class="modal-header"> + <h5 class="modal-title" id="exampleModalLongTitleDU1">Confirmation Message</h5> + <button type="button" class="close" data-dismiss="modal" aria-label="Close"> + <span aria-hidden="true">×</span> + </button> + </div> + <div class="modal-body"> + <strong>Are you sure you want to logout?</strong> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> + <a class="btn btn-primary" th:href="@{/logout-sso}"role="button">Logout</a> + </div> + </div> + </div> + </div> + + </li> + </ul> + </div> + </div> - <ul class="navbar-nav pull-right"> - <li> - <a class="nav-item nav-link text-white" th:text="${#httpServletRequest.remoteUser}"></a> - </li> - <li> - <a class="nav-item nav-link text-white"> | </a> - </li> - <li> - <a class="nav-item nav-link text-white" th:href="@{/logout-sso}">Logout</a> - </li> - </ul> </nav> + +<footer th:fragment="footer" class="text-center text-lg-start pt-5" style="background-color: #e3f2fd;"> + <div class="container d-flex justify-content-center"> + <h6>Sistem Informasi Kesehatan PT BerkahBerkah</h6> + </div> + <div class="container d-flex justify-content-center pb-3"> + <h6>Dibuat oleh Zefa Arga Dina Tsaqib Alim Hasna</h6> + </div> + + + <div class="text-center text-white p-3" style="background-color:#0d47a1;"> + © 2022 Kelompok 53 | APAP - A + </div> +</footer> </button> </body> </html> \ No newline at end of file diff --git a/SpringTkApap/src/main/resources/templates/home/home.html b/SpringTkApap/src/main/resources/templates/home/home.html index 5ecc91f..bdf0e81 100644 --- a/SpringTkApap/src/main/resources/templates/home/home.html +++ b/SpringTkApap/src/main/resources/templates/home/home.html @@ -72,18 +72,6 @@ </div> </div> </div> - <div class="col-4"> - <div class="card mx-auto" style="border-color:#0d47a1; max-width: 18rem;"> - <div class="card-header text-center text-white" style="background-color:#0d47a1;" >Fitur managemen-user</div> - <div class="card-body"> - <div class="text-center mt-1"> - <img src="../img/user_management.png" width="60" height="60"> - <p class="card-text my-3">manage data user</p> - <a th:href="@{/user/viewall/pasien}" class="mx-2 mb-2 btn btn-sm btn-primary">lihat user</a> - </div> - </div> - </div> - </div> </div> @@ -105,23 +93,8 @@ -<div class="mt-5"> +<object th:replace="fragments/fragment :: footer"></object> - <footer class="text-center text-lg-start" style="background-color: #e3f2fd;"> - <div class="container d-flex justify-content-center pt-4"> - <h6>Sistem Informasi Kesehatan PT BerkahBerkah</h6> - </div> - <div class="container d-flex justify-content-center pb-3"> - <h6>Dibuat oleh Zefa Arga Dina Tsaqib Alim Hasna</h6> - </div> - - - <div class="text-center text-white p-3" style="background-color:#0d47a1;"> - © 2022 Kelompok 53 | APAP - A - </div> - </footer> - -</div> diff --git a/SpringTkApap/src/main/resources/templates/login/login.html b/SpringTkApap/src/main/resources/templates/login/login.html index a2972bf..4455371 100644 --- a/SpringTkApap/src/main/resources/templates/login/login.html +++ b/SpringTkApap/src/main/resources/templates/login/login.html @@ -4,56 +4,66 @@ <title>Login</title> <object th:include="fragments/fragment :: css" th:remove="tag"></object> <object th:include="fragments/fragment :: js" th:remove="tag"></object> + <link + href="https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/6.0.1/mdb.min.css" + rel="stylesheet" + /> + <script + type="text/javascript" + src="https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/6.0.1/mdb.min.js" + ></script> </head> <body> -<div class="container my-5 py-5"> - <div class="card"> - <div class="card-body py-0 px-0 border"> - <div class="row align-items-center"> - <div class="col-6 text-center" style="background-color: #e3f2fd;"> - <img src="../img/Logo.png" width="363.59" height="363.59"> - </div> - <div class="col-6"> - <div class="text-center"> - <div class="row align-items-center justify-content-center"> - <div class="col-md-12"> - <div class="card border-0"> - <div class="card-body" > - <div th:if="${param.error}"> - <span style="color: red">Invalid username and password.</span> - </div> - <h3 style="color:#0d47a1;">Login RumahSehat</h3> - <br> - <br> - <form th:action="@{/login}" method="POST"> - <div class="row form-group"> - <label class="col-sm-4 my-auto">Username:</label> - <input type="text" class="col-sm-7 form-control input-sm" name="username"> - </div> - <div class="row form-group"> - <label class="col-sm-4 my-auto">Password:</label> - <input type="password" class="col-sm-7 form-control input-sm" name="password"> - </div> - <br> - <div class="row form-group justify-content-center"> - <button type="submit" class="btn btn-primary">Sign In</button> - </div> - <br> - <div> - atau <a th:href="@{/login-sso}">Masuk sebagai Admin (SSO UI)</a> - </div> - </form> - </div> - </div> +<section class="h-100" style="background-color: #e3f2fd;"> + <div class="container py-5 h-100"> + <div class="row d-flex justify-content-center align-items-center h-100"> + <div class="col-xl-9 pb-5"> + <div class="card rounded-5 text-black"> + <div class="row g-0"> + <div class="col-lg-6 d-flex justify-content-center align-items-center text-center"> + <img src="../img/Logo.png" width="300" height="300"> + </div> + <div class="col-lg-6 d-flex"> + <div class="card-body py-5 px-5 mx-3"> + <div th:if="${param.error}"> + <span style="color: red">Invalid username and password.</span> </div> + <h3 class="text-center fw-bold" style="color:#0d47a1;">Login RumahSehat</h3> + <br> + <br> + <form th:action="@{/login}" method="POST"> + <div class="mb-4"> + <label for="formInput" class="form-label fw-bold" style="color:#0d47a1;">Username:</label> + <input type="text" class="form-control" id="formInput" placeholder="Username" name="username"> + </div> + <div class="mb-4"> + <label for="formInput2" class="form-label fw-bold" style="color:#0d47a1;">Password:</label> + <input type="password" class="form-control" id="formInput2" placeholder="Username" name="password"> + </div> + + <br> + <div class="text-center"> + <button type="submit" class="btn btn-primary">Sign In</button> + </div> + <br> + <div class="text-center"> + atau <a th:href="@{/login-sso}">Masuk sebagai Admin (SSO UI)</a> + </div> + </form> </div> </div> </div> </div> </div> </div> + </div> +</section> -</div> +<footer class="text-center text-lg-start"> + <div class="text-center text-white p-3" style="background-color:#0d47a1;"> + © 2022 Kelompok 53 | APAP - A + </div> +</footer> </body> </html> \ No newline at end of file diff --git a/SpringTkApap/src/main/resources/templates/manage/form-add-apoteker.html b/SpringTkApap/src/main/resources/templates/manage/form-add-apoteker.html index dacfe8e..5f15672 100644 --- a/SpringTkApap/src/main/resources/templates/manage/form-add-apoteker.html +++ b/SpringTkApap/src/main/resources/templates/manage/form-add-apoteker.html @@ -37,5 +37,6 @@ </div> </div> </div> +<object th:replace="fragments/fragment :: footer"></object> </body> </html> \ No newline at end of file diff --git a/SpringTkApap/src/main/resources/templates/manage/form-add-dokter.html b/SpringTkApap/src/main/resources/templates/manage/form-add-dokter.html index 88a9362..168ec30 100644 --- a/SpringTkApap/src/main/resources/templates/manage/form-add-dokter.html +++ b/SpringTkApap/src/main/resources/templates/manage/form-add-dokter.html @@ -40,5 +40,6 @@ </div> </div> </div> +<object th:replace="fragments/fragment :: footer"></object> </body> </html> \ No newline at end of file diff --git a/SpringTkApap/src/main/resources/templates/manage/viewall-user.html b/SpringTkApap/src/main/resources/templates/manage/viewall-user.html index f9604e1..f220eb8 100644 --- a/SpringTkApap/src/main/resources/templates/manage/viewall-user.html +++ b/SpringTkApap/src/main/resources/templates/manage/viewall-user.html @@ -62,6 +62,6 @@ </div> </div> </div> - +<object th:replace="fragments/fragment :: footer"></object> </body> </html> \ No newline at end of file diff --git a/SpringTkApap/src/main/resources/templates/obat/add-obat.html b/SpringTkApap/src/main/resources/templates/obat/add-obat.html index 7cbf49c..9958f93 100644 --- a/SpringTkApap/src/main/resources/templates/obat/add-obat.html +++ b/SpringTkApap/src/main/resources/templates/obat/add-obat.html @@ -21,6 +21,6 @@ </div> </div> </div> - +<object th:replace="fragments/fragment :: footer"></object> </body> </html> \ No newline at end of file diff --git a/SpringTkApap/src/main/resources/templates/obat/form-add-obat.html b/SpringTkApap/src/main/resources/templates/obat/form-add-obat.html index 2eded3e..751936f 100644 --- a/SpringTkApap/src/main/resources/templates/obat/form-add-obat.html +++ b/SpringTkApap/src/main/resources/templates/obat/form-add-obat.html @@ -27,5 +27,6 @@ </div> </div> </div> +<object th:replace="fragments/fragment :: footer"></object> </body> </html> \ No newline at end of file diff --git a/SpringTkApap/src/main/resources/templates/obat/form-update-obat.html b/SpringTkApap/src/main/resources/templates/obat/form-update-obat.html index 8bb5719..927676f 100644 --- a/SpringTkApap/src/main/resources/templates/obat/form-update-obat.html +++ b/SpringTkApap/src/main/resources/templates/obat/form-update-obat.html @@ -28,5 +28,6 @@ </div> </div> </div> +<object th:replace="fragments/fragment :: footer"></object> </body> </html> \ No newline at end of file diff --git a/SpringTkApap/src/main/resources/templates/obat/update-obat.html b/SpringTkApap/src/main/resources/templates/obat/update-obat.html index d76c288..7d57381 100644 --- a/SpringTkApap/src/main/resources/templates/obat/update-obat.html +++ b/SpringTkApap/src/main/resources/templates/obat/update-obat.html @@ -21,6 +21,6 @@ </div> </div> </div> - +<object th:replace="fragments/fragment :: footer"></object> </body> </html> \ No newline at end of file diff --git a/SpringTkApap/src/main/resources/templates/obat/viewall-obat.html b/SpringTkApap/src/main/resources/templates/obat/viewall-obat.html index 471dcf4..81a01e9 100644 --- a/SpringTkApap/src/main/resources/templates/obat/viewall-obat.html +++ b/SpringTkApap/src/main/resources/templates/obat/viewall-obat.html @@ -58,6 +58,6 @@ </div> </div> </div> - +<object th:replace="fragments/fragment :: footer"></object> </body> </html> \ No newline at end of file -- GitLab From 9b2c02b73bb89ad52158d36a87578653cffb7ad8 Mon Sep 17 00:00:00 2001 From: "nandhita.zefania" <nandhita.zefania@ui.ac.id> Date: Sat, 10 Dec 2022 21:00:05 +0700 Subject: [PATCH 02/16] feat: fix html login --- .../src/main/resources/templates/login/login.html | 8 -------- 1 file changed, 8 deletions(-) diff --git a/SpringTkApap/src/main/resources/templates/login/login.html b/SpringTkApap/src/main/resources/templates/login/login.html index 4455371..5967d98 100644 --- a/SpringTkApap/src/main/resources/templates/login/login.html +++ b/SpringTkApap/src/main/resources/templates/login/login.html @@ -4,14 +4,6 @@ <title>Login</title> <object th:include="fragments/fragment :: css" th:remove="tag"></object> <object th:include="fragments/fragment :: js" th:remove="tag"></object> - <link - href="https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/6.0.1/mdb.min.css" - rel="stylesheet" - /> - <script - type="text/javascript" - src="https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/6.0.1/mdb.min.js" - ></script> </head> <body> -- GitLab From 2edc5a349bb0146cb3b2976f2b77341a61044bfe Mon Sep 17 00:00:00 2001 From: "nandhita.zefania" <nandhita.zefania@ui.ac.id> Date: Sat, 10 Dec 2022 22:56:12 +0700 Subject: [PATCH 03/16] feat: fix href html --- .../src/main/resources/templates/fragments/fragment.html | 2 +- SpringTkApap/src/main/resources/templates/home/home.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/SpringTkApap/src/main/resources/templates/fragments/fragment.html b/SpringTkApap/src/main/resources/templates/fragments/fragment.html index dcdf34e..eee434b 100644 --- a/SpringTkApap/src/main/resources/templates/fragments/fragment.html +++ b/SpringTkApap/src/main/resources/templates/fragments/fragment.html @@ -44,7 +44,7 @@ <a class="nav-link" th:href="@{/obat/viewall}">Obat</a> </li> <li sec:authorize="hasAnyAuthority('ADMIN', 'DOKTER')" th:classappend="${page == 'Appointment'} ? active : ''"class="nav-item"> - <a class="nav-link" th:href="@{/appointment/add/{noPasien}}">Appointment</a> + <a class="nav-link" th:href="@{/appointment/get-all}">Appointment</a> </li> <li sec:authorize="hasAnyAuthority('ADMIN')" th:classappend="${page == 'User'} ? active : ''"class="nav-item"> <a class="nav-link" th:href="@{/user/viewall/pasien}">Manajemen User</a> diff --git a/SpringTkApap/src/main/resources/templates/home/home.html b/SpringTkApap/src/main/resources/templates/home/home.html index bdf0e81..fc58a52 100644 --- a/SpringTkApap/src/main/resources/templates/home/home.html +++ b/SpringTkApap/src/main/resources/templates/home/home.html @@ -40,7 +40,7 @@ <div class="text-center mt-1"> <img src="../img/appointment.png" width="60" height="60"> <p class="card-text my-3">Lihat jadwal dan detail dari appointment yang telah dibuat.</p> - <a th:href="@{/}" class="btn btn-sm btn-primary">Appointment</a> + <a th:href="@{/appointment/get-all}" class="btn btn-sm btn-primary">Appointment</a> </div> </div> </div> -- GitLab From 8ae4af29f00b283bb480d0948ceff5cb56402ce0 Mon Sep 17 00:00:00 2001 From: "nandhita.zefania" <nandhita.zefania@ui.ac.id> Date: Sun, 11 Dec 2022 10:04:37 +0700 Subject: [PATCH 04/16] feat: fix html and security config --- .../appointment/AppointmentController.java | 2 +- .../auth/security/WebSecurityConfig.java | 3 +- .../templates/fragments/fragment.html | 12 +-- .../main/resources/templates/home/home.html | 2 +- .../templates/manage/form-add-dokter.html | 2 +- tk_apap_flutter/lib/main.dart | 89 ------------------- 6 files changed, 6 insertions(+), 104 deletions(-) diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentController.java b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentController.java index 9307968..9274791 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentController.java +++ b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentController.java @@ -46,7 +46,7 @@ public class AppointmentController { return "add-appointment"; } - @GetMapping("/appointment/get-all") + @GetMapping("/appointment/viewall") public String getAllAppointment(Model model, Principal principal) { UserModel user = userService.getUserByUsername(principal.getName()); List<AppointmentModel> listApm; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/WebSecurityConfig.java b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/WebSecurityConfig.java index 489b108..e509302 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/WebSecurityConfig.java +++ b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/WebSecurityConfig.java @@ -51,7 +51,8 @@ public class WebSecurityConfig { .antMatchers("/obat/update/**").hasAuthority(APOTEKER) .antMatchers("/user/add/**").hasAuthority(ADMIN) .antMatchers("/user/delete/**").hasAuthority(ADMIN) - .antMatchers("/appointment/get-all").hasAnyAuthority(ADMIN, DOKTER, PASIEN) + .antMatchers("/appointment/viewall").hasAnyAuthority(ADMIN, DOKTER, PASIEN) + .antMatchers("/appointment/**").hasAnyAuthority(ADMIN, DOKTER) .antMatchers("/user/viewall/**").hasAuthority(ADMIN) .anyRequest().authenticated() .and( ) diff --git a/SpringTkApap/src/main/resources/templates/fragments/fragment.html b/SpringTkApap/src/main/resources/templates/fragments/fragment.html index eee434b..053a567 100644 --- a/SpringTkApap/src/main/resources/templates/fragments/fragment.html +++ b/SpringTkApap/src/main/resources/templates/fragments/fragment.html @@ -9,17 +9,10 @@ <link href="https://getbootstrap.com/docs/5.2/assets/css/docs.css" rel="stylesheet"> </head> <head th:fragment="js"> - <script - src="https://code.jquery.con/jquery-3.4.1.min.js" - integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFIBw8HfCJe=" - crassorigin="anonymous" - ></script> <script src="https://getbootstrap.com/docs/4.1/assets/js/vendor/popper.nin.js"></script> <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js" integrity="sha384-vFJXuSJphROIrBnz7yo7oB41mKfc8JzQZiCq4NCceLEaO4IHwicKwpJf9c9IpFgh" crossorigin="anonymous"></script> - <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js" integrity="sha384-alpBpkh1PFOepccYVYDB4do5UnbKysX5WZXm3XxPqe5iKTfUKjNkCk9SaVuEZflJ" crossorigin="anonymous"></script> <script th:src="@{/js/bootstrap.min.js}"></script> - <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script> </head> </head> <body> @@ -34,9 +27,6 @@ <li th:classappend="${page == 'Beranda'} ? active : ''" class="nav-item"> <a class="nav-link" th:href="@{/}">Beranda</a> </li> - <li sec:authorize="hasAnyAuthority('DOKTER')" th:classappend="${page == 'Dokter'} ? active : ''" class="nav-item"> - <a class="nav-link" th:href="@{/}">Dokter</a> - </li> <li sec:authorize="hasAnyAuthority('ADMIN', 'APOTEKER')" th:classappend="${page == 'Resep'} ? active : ''"class="nav-item"> <a class="nav-link" th:href="@{/}">Resep</a> </li> @@ -44,7 +34,7 @@ <a class="nav-link" th:href="@{/obat/viewall}">Obat</a> </li> <li sec:authorize="hasAnyAuthority('ADMIN', 'DOKTER')" th:classappend="${page == 'Appointment'} ? active : ''"class="nav-item"> - <a class="nav-link" th:href="@{/appointment/get-all}">Appointment</a> + <a class="nav-link" th:href="@{/appointment/viewall}">Appointment</a> </li> <li sec:authorize="hasAnyAuthority('ADMIN')" th:classappend="${page == 'User'} ? active : ''"class="nav-item"> <a class="nav-link" th:href="@{/user/viewall/pasien}">Manajemen User</a> diff --git a/SpringTkApap/src/main/resources/templates/home/home.html b/SpringTkApap/src/main/resources/templates/home/home.html index fc58a52..1207edb 100644 --- a/SpringTkApap/src/main/resources/templates/home/home.html +++ b/SpringTkApap/src/main/resources/templates/home/home.html @@ -40,7 +40,7 @@ <div class="text-center mt-1"> <img src="../img/appointment.png" width="60" height="60"> <p class="card-text my-3">Lihat jadwal dan detail dari appointment yang telah dibuat.</p> - <a th:href="@{/appointment/get-all}" class="btn btn-sm btn-primary">Appointment</a> + <a th:href="@{/appointment/viewall}" class="btn btn-sm btn-primary">Appointment</a> </div> </div> </div> diff --git a/SpringTkApap/src/main/resources/templates/manage/form-add-dokter.html b/SpringTkApap/src/main/resources/templates/manage/form-add-dokter.html index 168ec30..9659c87 100644 --- a/SpringTkApap/src/main/resources/templates/manage/form-add-dokter.html +++ b/SpringTkApap/src/main/resources/templates/manage/form-add-dokter.html @@ -30,7 +30,7 @@ </option> </select> <br> - <label>tarif</label> + <label>Tarif</label> <input type="text" name="tarif" class="form-control"/> <br> <button type="submit" class="btn btn-primary">Submit</button> diff --git a/tk_apap_flutter/lib/main.dart b/tk_apap_flutter/lib/main.dart index 710dc2f..201693a 100644 --- a/tk_apap_flutter/lib/main.dart +++ b/tk_apap_flutter/lib/main.dart @@ -36,96 +36,7 @@ class MyApp extends StatelessWidget { DaftarAppointment.routeName: (ctx) => const DaftarAppointment(), DetailAppointment.routeName: (ctx) => DetailAppointment(), }, - // home: const MyHomePage(title: 'Flutter Demo Home Page'), ); } } -class MyHomePage extends StatefulWidget { - const MyHomePage({key, this.title}); - - // This widget is the home page of your application. It is stateful, meaning - // that it has a State object (defined below) that contains fields that affect - // how it looks. - - // This class is the configuration for the state. It holds the values (in this - // case the title) provided by the parent (in this case the App widget) and - // used by the build method of the State. Fields in a Widget subclass are - // always marked "final". - - final String title; - - @override - State<MyHomePage> createState() => _MyHomePageState(); -} - -class _MyHomePageState extends State<MyHomePage> { - int _counter = 0; - - void _incrementCounter() { - setState(() { - // This call to setState tells the Flutter framework that something has - // changed in this State, which causes it to rerun the build method below - // so that the display can reflect the updated values. If we changed - // _counter without calling setState(), then the build method would not be - // called again, and so nothing would appear to happen. - _counter++; - }); - } - - @override - Widget build(BuildContext context) { - // This method is rerun every time setState is called, for instance as done - // by the _incrementCounter method above. - // - // The Flutter framework has been optimized to make rerunning build methods - // fast, so that you can just rebuild anything that needs updating rather - // than having to individually change instances of widgets. - return Scaffold( - appBar: AppBar( - // Here we take the value from the MyHomePage object that was created by - // the App.build method, and use it to set our appbar title. - title: Text(widget.title), - ), - body: Center( - // Center is a layout widget. It takes a single child and positions it - // in the middle of the parent. - child: Column( - // Column is also a layout widget. It takes a list of children and - // arranges them vertically. By default, it sizes itself to fit its - // children horizontally, and tries to be as tall as its parent. - // - // Invoke "debug painting" (press "p" in the console, choose the - // "Toggle Debug Paint" action from the Flutter Inspector in Android - // Studio, or the "Toggle Debug Paint" command in Visual Studio Code) - // to see the wireframe for each widget. - // - // Column has various properties to control how it sizes itself and - // how it positions its children. Here we use mainAxisAlignment to - // center the children vertically; the main axis here is the vertical - // axis because Columns are vertical (the cross axis would be - // horizontal). - mainAxisAlignment: MainAxisAlignment.center, - children: <Widget>[ - const Text( - 'You have pushed the button this many times:', - ), - Text( - '$_counter', - style: Theme.of(context).textTheme.headline4, - ), - ], - ), - ), - floatingActionButton: FloatingActionButton( - onPressed: () { - Navigator.push( - context, MaterialPageRoute(builder: (context) => const CreateAppointment()), - ); - }, - tooltip: 'Increment', - child: const Icon(Icons.add), - ), // This trailing comma makes auto-formatting nicer for build methods. - ); - } -} -- GitLab From 3aa68f36c1bb99d23e7ecec03364086428aebd17 Mon Sep 17 00:00:00 2001 From: "nandhita.zefania" <nandhita.zefania@ui.ac.id> Date: Sun, 11 Dec 2022 23:54:20 +0700 Subject: [PATCH 05/16] feat: handle sonarqube --- SpringTkApap/build.gradle | 2 +- SpringTkApap/gradle.properties | 3 +++ .../TK/SpringTkApap/appointment/AppointmentRestController.java | 2 +- .../spring/TK/SpringTkApap/auth/controller/AuthController.java | 2 +- .../TK/SpringTkApap/auth/security/WebSecurityConfig.java | 3 +-- .../TK/SpringTkApap/user/controller/DokterRestController.java | 2 +- tk_apap_flutter/lib/pages/DaftarAppointment.dart | 2 +- 7 files changed, 9 insertions(+), 7 deletions(-) create mode 100644 SpringTkApap/gradle.properties diff --git a/SpringTkApap/build.gradle b/SpringTkApap/build.gradle index 1fce019..61d4753 100644 --- a/SpringTkApap/build.gradle +++ b/SpringTkApap/build.gradle @@ -2,7 +2,7 @@ plugins { id 'org.springframework.boot' version '2.7.5' id 'io.spring.dependency-management' version '1.0.15.RELEASE' id 'java' - id "org.sonarqube" version "3.3" + id "org.sonarqube" version "3.4.0.2513" } group = 'spring.TK' diff --git a/SpringTkApap/gradle.properties b/SpringTkApap/gradle.properties new file mode 100644 index 0000000..c5f28c8 --- /dev/null +++ b/SpringTkApap/gradle.properties @@ -0,0 +1,3 @@ +systemProp.sonar.host.url=https://sonarqube.cs.ui.ac.id +systemProp.sonar.projectKey= SpringTkApap +systemProp.sonar.login= 87203471c3b741d7598da6541fa052f3c02da241 \ No newline at end of file diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentRestController.java b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentRestController.java index 924ab69..6802296 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentRestController.java +++ b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentRestController.java @@ -22,7 +22,7 @@ import java.security.Principal; import java.util.List; @RestController -@CrossOrigin(origins = "*") +@CrossOrigin(origins = "apap-tk-53.cs.ui.ac.id") @RequestMapping("/api/appointment") @Slf4j public class AppointmentRestController { diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/controller/AuthController.java b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/controller/AuthController.java index ed89cc9..bb7e6b0 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/controller/AuthController.java +++ b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/controller/AuthController.java @@ -20,7 +20,7 @@ import java.util.Objects; @RestController -@CrossOrigin(origins = "*") +@CrossOrigin(origins = "apap-tk-53.cs.ui.ac.id") @RequestMapping("/api") public class AuthController { diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/WebSecurityConfig.java b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/WebSecurityConfig.java index 4f8a49f..edbd8c3 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/WebSecurityConfig.java +++ b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/WebSecurityConfig.java @@ -100,8 +100,7 @@ public class WebSecurityConfig { @Override protected void configure(HttpSecurity http) throws Exception { - http.antMatcher("/api/**").cors().and().csrf() - .disable() + http.antMatcher("/api/**") .authorizeRequests() .antMatchers("/api/authenticate", "/api/pasien/register").permitAll() .antMatchers(HttpMethod.GET, "/api/user").hasAuthority(PASIEN) diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/controller/DokterRestController.java b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/controller/DokterRestController.java index 4717729..7c2c2af 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/controller/DokterRestController.java +++ b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/controller/DokterRestController.java @@ -20,7 +20,7 @@ import java.util.ArrayList; import java.util.List; @RestController -@CrossOrigin(origins = "*") +@CrossOrigin(origins = "apap-tk-53.cs.ui.ac.id") @RequestMapping("/api/doktor") @Slf4j public class DokterRestController { diff --git a/tk_apap_flutter/lib/pages/DaftarAppointment.dart b/tk_apap_flutter/lib/pages/DaftarAppointment.dart index 4991791..64836f0 100644 --- a/tk_apap_flutter/lib/pages/DaftarAppointment.dart +++ b/tk_apap_flutter/lib/pages/DaftarAppointment.dart @@ -7,7 +7,7 @@ import 'package:tk_apap_flutter/pages/DetailAppointment.dart'; import '../DTO/AptDTO.dart'; class DaftarAppointment extends StatefulWidget { - static const routeName = "/appointment/get-all"; + static const routeName = "/appointment/viewall"; const DaftarAppointment({Key key}) : super(key: key); -- GitLab From 234c45477b11bdaa250f1c3ab9b17a6921e6b4be Mon Sep 17 00:00:00 2001 From: "nandhita.zefania" <nandhita.zefania@ui.ac.id> Date: Mon, 12 Dec 2022 09:56:35 +0700 Subject: [PATCH 06/16] feat: handle sonarqube part 2 --- SpringTkApap/gradle.properties | 4 +- .../appointment/AppointmentRestService.java | 15 ------- .../auth/service/UserService.java | 8 ---- .../springtkapap/HomeController.java} | 4 +- .../SpringTkApapApplication.java | 2 +- .../appointment/AppointmentController.java | 31 +++++++------- .../appointment/AppointmentDB.java | 7 ++-- .../AppointmentRestController.java | 22 +++++----- .../appointment/AppointmentRestService.java | 15 +++++++ .../AppointmentRestServiceImpl.java | 31 +++++++------- .../appointment/AppointmentService.java | 6 +-- .../appointment/AppointmentServiceImpl.java | 6 +-- .../appointment/model/AppointmentModel.java | 18 ++++---- .../model/CreateAppointmentDTO.java | 2 +- .../appointment/model/DetailDTO.java | 2 +- .../appointment/model/GetAptDTO.java | 2 +- .../auth/controller/AuthController.java | 18 ++++---- .../auth/controller/PageController.java | 23 +++++------ .../springtkapap}/auth/model/JwtRequest.java | 2 +- .../springtkapap}/auth/model/JwtResponse.java | 2 +- .../springtkapap}/auth/model/RolesEnum.java | 2 +- .../springtkapap}/auth/model/UserModel.java | 2 +- .../springtkapap}/auth/repository/UserDb.java | 4 +- .../security/JwtAuthenticationEntryPoint.java | 2 +- .../auth/security/JwtRequestFilter.java | 7 ++-- .../auth/security/JwtTokenUtil.java | 6 +-- .../auth/security/UserDetailsServiceImpl.java | 6 +-- .../auth/security/WebSecurityConfig.java | 17 ++++++-- .../auth/security/xml/Attributes.java | 2 +- .../security/xml/AuthenticationSuccess.java | 2 +- .../auth/security/xml/ServiceResponse.java | 2 +- .../auth/service/AuthService.java | 6 +-- .../auth/service/AuthServiceImpl.java | 18 ++++---- .../auth/service/UserService.java | 8 ++++ .../auth/service/UserServiceImpl.java | 6 +-- .../springtkapap}/auth/setting/Setting.java | 2 +- .../springtkapap}/jumlah/JumlahModel.java | 6 +-- .../manage/controller/ManageController.java | 36 ++++++++-------- .../manage/model/CreateApotekerDTO.java | 4 +- .../manage/model/CreateDokterDTO.java | 9 +--- .../manage/repository/ApotekerDb.java | 4 +- .../manage/service/ApotekerService.java | 4 +- .../manage/service/ApotekerServiceImpl.java | 6 +-- .../manage/service/UserService.java | 4 +- .../manage/service/UserServiceImpl2.java | 8 ++-- .../obat/controller/ObatController.java | 8 ++-- .../springtkapap}/obat/model/ObatModel.java | 9 ++-- .../springtkapap}/obat/repository/ObatDb.java | 4 +- .../obat/rest/ObatRestController.java | 4 +- .../obat/rest/ObatRestService.java | 4 +- .../obat/rest/ObatRestServiceImpl.java | 6 +-- .../obat/service/ObatService.java | 4 +- .../obat/service/ObatServiceImpl.java | 6 +-- .../springtkapap}/resep/ResepModel.java | 10 ++--- .../springtkapap}/tagihan/TagihanDB.java | 2 +- .../springtkapap}/tagihan/TagihanModel.java | 13 +++--- .../springtkapap}/tagihan/TagihanService.java | 4 +- .../tagihan/TagihanServiceImpl.java | 8 ++-- .../user/controller/DokterController.java | 41 +++++++++---------- .../user/controller/DokterRestController.java | 29 ++++++------- .../user/controller/PasienRestController.java | 20 ++++----- .../springtkapap}/user/model/AdminModel.java | 4 +- .../user/model/ApotekerModel.java | 6 +-- .../springtkapap}/user/model/DokterDTO.java | 2 +- .../springtkapap}/user/model/DokterModel.java | 8 ++-- .../user/model/DokterRevDTO.java | 2 +- .../springtkapap}/user/model/PasienDTO.java | 2 +- .../springtkapap}/user/model/PasienModel.java | 8 ++-- .../user/repository/AdminDB.java | 4 +- .../user/repository/DokterDB.java | 5 +-- .../user/repository/PasienDB.java | 4 +- .../user/service/DokterService.java | 6 +-- .../user/service/DokterServiceImpl.java | 10 ++--- .../user/service/PasienRestService.java | 6 +-- .../user/service/PasienRestServiceImpl.java | 15 ++++--- .../user/service/PasienService.java | 4 +- .../user/service/PasienServiceImpl.java | 6 +-- .../src/main/resources/application.yml | 4 +- .../templates/fragments/fragment.html | 2 + .../SpringTkApapApplicationTests.java | 13 ------ 80 files changed, 326 insertions(+), 350 deletions(-) delete mode 100644 SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentRestService.java delete mode 100644 SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/service/UserService.java rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap/homeController.java => tk/springtkapap/HomeController.java} (77%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/SpringTkApapApplication.java (90%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/appointment/AppointmentController.java (77%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/appointment/AppointmentDB.java (72%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/appointment/AppointmentRestController.java (81%) create mode 100644 SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentRestService.java rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/appointment/AppointmentRestServiceImpl.java (81%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/appointment/AppointmentService.java (72%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/appointment/AppointmentServiceImpl.java (90%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/appointment/model/AppointmentModel.java (74%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/appointment/model/CreateAppointmentDTO.java (91%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/appointment/model/DetailDTO.java (88%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/appointment/model/GetAptDTO.java (86%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/auth/controller/AuthController.java (81%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/auth/controller/PageController.java (79%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/auth/model/JwtRequest.java (92%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/auth/model/JwtResponse.java (94%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/auth/model/RolesEnum.java (59%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/auth/model/UserModel.java (96%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/auth/repository/UserDb.java (70%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/auth/security/JwtAuthenticationEntryPoint.java (94%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/auth/security/JwtRequestFilter.java (88%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/auth/security/JwtTokenUtil.java (92%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/auth/security/UserDetailsServiceImpl.java (87%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/auth/security/WebSecurityConfig.java (90%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/auth/security/xml/Attributes.java (93%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/auth/security/xml/AuthenticationSuccess.java (90%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/auth/security/xml/ServiceResponse.java (93%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/auth/service/AuthService.java (54%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/auth/service/AuthServiceImpl.java (75%) create mode 100644 SpringTkApap/src/main/java/spring/tk/springtkapap/auth/service/UserService.java rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/auth/service/UserServiceImpl.java (72%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/auth/setting/Setting.java (94%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/jumlah/JumlahModel.java (85%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/manage/controller/ManageController.java (78%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/manage/model/CreateApotekerDTO.java (79%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/manage/model/CreateDokterDTO.java (59%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/manage/repository/ApotekerDb.java (57%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/manage/service/ApotekerService.java (70%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/manage/service/ApotekerServiceImpl.java (84%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/manage/service/UserService.java (72%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/manage/service/UserServiceImpl2.java (80%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/obat/controller/ObatController.java (87%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/obat/model/ObatModel.java (79%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/obat/repository/ObatDb.java (73%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/obat/rest/ObatRestController.java (95%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/obat/rest/ObatRestService.java (71%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/obat/rest/ObatRestServiceImpl.java (87%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/obat/service/ObatService.java (63%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/obat/service/ObatServiceImpl.java (83%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/resep/ResepModel.java (83%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/tagihan/TagihanDB.java (83%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/tagihan/TagihanModel.java (70%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/tagihan/TagihanService.java (53%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/tagihan/TagihanServiceImpl.java (80%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/user/controller/DokterController.java (73%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/user/controller/DokterRestController.java (67%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/user/controller/PasienRestController.java (77%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/user/model/AdminModel.java (71%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/user/model/ApotekerModel.java (74%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/user/model/DokterDTO.java (86%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/user/model/DokterModel.java (72%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/user/model/DokterRevDTO.java (91%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/user/model/PasienDTO.java (93%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/user/model/PasienModel.java (75%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/user/repository/AdminDB.java (66%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/user/repository/DokterDB.java (69%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/user/repository/PasienDB.java (73%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/user/service/DokterService.java (68%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/user/service/DokterServiceImpl.java (85%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/user/service/PasienRestService.java (67%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/user/service/PasienRestServiceImpl.java (82%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/user/service/PasienService.java (74%) rename SpringTkApap/src/main/java/spring/{TK/SpringTkApap => tk/springtkapap}/user/service/PasienServiceImpl.java (86%) delete mode 100644 SpringTkApap/src/test/java/spring/TK/SpringTkApap/SpringTkApapApplicationTests.java diff --git a/SpringTkApap/gradle.properties b/SpringTkApap/gradle.properties index c5f28c8..04e1311 100644 --- a/SpringTkApap/gradle.properties +++ b/SpringTkApap/gradle.properties @@ -1,3 +1,3 @@ systemProp.sonar.host.url=https://sonarqube.cs.ui.ac.id -systemProp.sonar.projectKey= SpringTkApap -systemProp.sonar.login= 87203471c3b741d7598da6541fa052f3c02da241 \ No newline at end of file +systemProp.sonar.projectKey= SpringTkApap-53 +systemProp.sonar.login= 57e13a92a36c10e15e0a60bf9f39493b1c8b28ac \ No newline at end of file diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentRestService.java b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentRestService.java deleted file mode 100644 index 7aa01c6..0000000 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentRestService.java +++ /dev/null @@ -1,15 +0,0 @@ -package spring.TK.SpringTkApap.appointment; - -import spring.TK.SpringTkApap.appointment.model.AppointmentModel; -import spring.TK.SpringTkApap.appointment.model.CreateAppointmentDTO; -import spring.TK.SpringTkApap.appointment.model.DetailDTO; -import spring.TK.SpringTkApap.appointment.model.GetAptDTO; -import spring.TK.SpringTkApap.user.model.PasienModel; - -import java.util.List; - -public interface AppointmentRestService { - AppointmentModel createAppointment(CreateAppointmentDTO appointment); - List<GetAptDTO> retrieveAppointment(PasienModel pasien); - DetailDTO getAppointment(String kode); -} diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/service/UserService.java b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/service/UserService.java deleted file mode 100644 index 5a72516..0000000 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/service/UserService.java +++ /dev/null @@ -1,8 +0,0 @@ -package spring.TK.SpringTkApap.auth.service; - -import spring.TK.SpringTkApap.auth.model.UserModel; - -public interface UserService { - - UserModel getUserByUsername(String username); -} diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/homeController.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/HomeController.java similarity index 77% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/homeController.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/HomeController.java index 7979fd9..e486541 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/homeController.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/HomeController.java @@ -1,10 +1,10 @@ -package spring.TK.SpringTkApap; +package spring.tk.springtkapap; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller -public class homeController { +public class HomeController { @GetMapping("/") public String home() { diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/SpringTkApapApplication.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/SpringTkApapApplication.java similarity index 90% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/SpringTkApapApplication.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/SpringTkApapApplication.java index 26c8f69..dc7c98b 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/SpringTkApapApplication.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/SpringTkApapApplication.java @@ -1,4 +1,4 @@ -package spring.TK.SpringTkApap; +package spring.tk.springtkapap; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentController.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentController.java similarity index 77% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentController.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentController.java index 93cacd3..d9d57db 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentController.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentController.java @@ -1,4 +1,4 @@ -package spring.TK.SpringTkApap.appointment; +package spring.tk.springtkapap.appointment; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -6,22 +6,20 @@ import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; -import spring.TK.SpringTkApap.appointment.model.AppointmentModel; -import spring.TK.SpringTkApap.auth.model.RolesEnum; -import spring.TK.SpringTkApap.auth.model.UserModel; -import spring.TK.SpringTkApap.auth.service.UserService; -import spring.TK.SpringTkApap.resep.ResepModel; -import spring.TK.SpringTkApap.tagihan.TagihanModel; -import spring.TK.SpringTkApap.tagihan.TagihanService; -import spring.TK.SpringTkApap.user.model.AdminModel; -import spring.TK.SpringTkApap.user.model.DokterDTO; -import spring.TK.SpringTkApap.user.model.DokterModel; -import spring.TK.SpringTkApap.user.model.PasienModel; -import spring.TK.SpringTkApap.user.service.DokterService; -import spring.TK.SpringTkApap.user.service.PasienService; +import spring.tk.springtkapap.appointment.model.AppointmentModel; +import spring.tk.springtkapap.auth.model.RolesEnum; +import spring.tk.springtkapap.auth.model.UserModel; +import spring.tk.springtkapap.auth.service.UserService; +import spring.tk.springtkapap.resep.ResepModel; +import spring.tk.springtkapap.tagihan.TagihanModel; +import spring.tk.springtkapap.tagihan.TagihanService; +import spring.tk.springtkapap.user.model.DokterDTO; +import spring.tk.springtkapap.user.model.DokterModel; +import spring.tk.springtkapap.user.model.PasienModel; +import spring.tk.springtkapap.user.service.DokterService; +import spring.tk.springtkapap.user.service.PasienService; import java.security.Principal; -import java.time.LocalDateTime; import java.util.List; @Controller @@ -72,7 +70,6 @@ public class AppointmentController { @GetMapping("/appointment/{kodeAppointment}") public String getAppointment(@PathVariable("kodeAppointment") String kodeApt, Model model, Principal principal) { - UserModel user = userService.getUserByUsername(principal.getName()); AppointmentModel appointment = appointmentService.getAppointment(kodeApt); ResepModel listResep = appointment.getListResep(); @@ -96,7 +93,7 @@ public class AppointmentController { appointment.setIsDone(Boolean.TRUE); appointment.setKode(kodeApt); appointmentService.updateAppointment(appointment); - TagihanModel tagihan = new TagihanModel(); + var tagihan = new TagihanModel(); tagihanService.addTagihan(tagihan, appointment); appointment.setTagihan(tagihan); appointmentService.updateAppointment(appointment); diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentDB.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentDB.java similarity index 72% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentDB.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentDB.java index cdf2b6b..01586fc 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentDB.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentDB.java @@ -1,10 +1,9 @@ -package spring.TK.SpringTkApap.appointment; +package spring.tk.springtkapap.appointment; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; -import spring.TK.SpringTkApap.appointment.model.AppointmentModel; -import spring.TK.SpringTkApap.user.model.DokterDTO; -import spring.TK.SpringTkApap.user.model.DokterModel; +import spring.tk.springtkapap.appointment.model.AppointmentModel; +import spring.tk.springtkapap.user.model.DokterModel; import java.time.LocalDateTime; import java.util.List; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentRestController.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentRestController.java similarity index 81% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentRestController.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentRestController.java index 6802296..f4b9218 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentRestController.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentRestController.java @@ -1,4 +1,4 @@ -package spring.TK.SpringTkApap.appointment; +package spring.tk.springtkapap.appointment; import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; @@ -10,13 +10,13 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import org.springframework.web.server.ResponseStatusException; -import spring.TK.SpringTkApap.appointment.model.AppointmentModel; -import spring.TK.SpringTkApap.appointment.model.CreateAppointmentDTO; -import spring.TK.SpringTkApap.appointment.model.DetailDTO; -import spring.TK.SpringTkApap.appointment.model.GetAptDTO; -import spring.TK.SpringTkApap.auth.model.RolesEnum; -import spring.TK.SpringTkApap.user.model.PasienModel; -import spring.TK.SpringTkApap.user.service.PasienService; +import spring.tk.springtkapap.appointment.model.AppointmentModel; +import spring.tk.springtkapap.appointment.model.CreateAppointmentDTO; +import spring.tk.springtkapap.appointment.model.DetailDTO; +import spring.tk.springtkapap.appointment.model.GetAptDTO; +import spring.tk.springtkapap.auth.model.RolesEnum; +import spring.tk.springtkapap.user.model.PasienModel; +import spring.tk.springtkapap.user.service.PasienService; import java.security.Principal; import java.util.List; @@ -57,14 +57,14 @@ public class AppointmentRestController { @GetMapping(value = "/all") public List<GetAptDTO> getAllAppointment(Principal principal) { - PasienModel pasien = pasienService.getPasienByUsername(principal.getName()); + var pasien = pasienService.getPasienByUsername(principal.getName()); return appointmentRestService.retrieveAppointment(pasien); } @GetMapping(value = "/tes") public void createPasien() { - PasienModel pasien = new PasienModel(); + var pasien = new PasienModel(); pasien.setUmur(30); pasien.setSaldo(500000); pasien.setNama("Argaaaa"); @@ -81,7 +81,7 @@ public class AppointmentRestController { } public String encrypt(String password){ - BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); + var passwordEncoder = new BCryptPasswordEncoder(); return passwordEncoder.encode(password); } } diff --git a/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentRestService.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentRestService.java new file mode 100644 index 0000000..4b4605a --- /dev/null +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentRestService.java @@ -0,0 +1,15 @@ +package spring.tk.springtkapap.appointment; + +import spring.tk.springtkapap.appointment.model.AppointmentModel; +import spring.tk.springtkapap.appointment.model.CreateAppointmentDTO; +import spring.tk.springtkapap.appointment.model.DetailDTO; +import spring.tk.springtkapap.appointment.model.GetAptDTO; +import spring.tk.springtkapap.user.model.PasienModel; + +import java.util.List; + +public interface AppointmentRestService { + AppointmentModel createAppointment(CreateAppointmentDTO appointment); + List<GetAptDTO> retrieveAppointment(PasienModel pasien); + DetailDTO getAppointment(String kode); +} diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentRestServiceImpl.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentRestServiceImpl.java similarity index 81% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentRestServiceImpl.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentRestServiceImpl.java index 00e3f43..8858476 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentRestServiceImpl.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentRestServiceImpl.java @@ -1,18 +1,18 @@ -package spring.TK.SpringTkApap.appointment; +package spring.tk.springtkapap.appointment; import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import spring.TK.SpringTkApap.appointment.model.AppointmentModel; -import spring.TK.SpringTkApap.appointment.model.CreateAppointmentDTO; -import spring.TK.SpringTkApap.appointment.model.DetailDTO; -import spring.TK.SpringTkApap.appointment.model.GetAptDTO; -import spring.TK.SpringTkApap.user.model.DokterModel; -import spring.TK.SpringTkApap.user.model.PasienModel; -import spring.TK.SpringTkApap.user.service.DokterService; -import spring.TK.SpringTkApap.user.service.PasienService; +import spring.tk.springtkapap.appointment.model.AppointmentModel; +import spring.tk.springtkapap.appointment.model.CreateAppointmentDTO; +import spring.tk.springtkapap.appointment.model.DetailDTO; +import spring.tk.springtkapap.appointment.model.GetAptDTO; +import spring.tk.springtkapap.user.model.DokterModel; +import spring.tk.springtkapap.user.model.PasienModel; +import spring.tk.springtkapap.user.service.DokterService; +import spring.tk.springtkapap.user.service.PasienService; import javax.transaction.Transactional; import java.time.LocalDateTime; @@ -43,7 +43,7 @@ public class AppointmentRestServiceImpl implements AppointmentRestService{ LocalDateTime waktuAwal = appointment.getWaktuAwal(); String usernameDokter = appointment.getUsernameDokter(); String usernamePasien = appointment.getUsernamePasien(); - int intKode = Math.toIntExact(appointmentDB.count() + 1); + var intKode = Math.toIntExact(appointmentDB.count() + 1); String kode = "APT-" + intKode; DokterModel dokter = dokterService.getDokterByUsername(usernameDokter); @@ -55,7 +55,7 @@ public class AppointmentRestServiceImpl implements AppointmentRestService{ return null; } } - AppointmentModel newAppointment = new AppointmentModel(); + var newAppointment = new AppointmentModel(); newAppointment.setWaktuAwal(waktuAwal); newAppointment.setIsDone(Boolean.FALSE); newAppointment.setPasien(pasien); @@ -70,9 +70,9 @@ public class AppointmentRestServiceImpl implements AppointmentRestService{ List<AppointmentModel> listAppointment = pasien.getListAppointment(); List<GetAptDTO> list = new ArrayList<>(); for (AppointmentModel appointment : listAppointment) { - GetAptDTO dto = new GetAptDTO(); + var dto = new GetAptDTO(); dto.setWaktuAwal(appointment.getWaktuAwal().toString()); - String done = ""; + var done = ""; if (appointment.getIsDone()) { done = "Done"; } else { @@ -90,7 +90,6 @@ public class AppointmentRestServiceImpl implements AppointmentRestService{ @Override public DetailDTO getAppointment(String kode) { - System.out.println(kode); Optional<AppointmentModel> appointment = appointmentDB.findByKode(kode); AppointmentModel apt; if (appointment.isPresent()) { @@ -98,13 +97,13 @@ public class AppointmentRestServiceImpl implements AppointmentRestService{ } else { throw new NoSuchElementException(); } - String done = ""; + var done = ""; if (apt.getIsDone()) { done = "Done"; } else { done = "Not Done"; } - DetailDTO newApt = new DetailDTO(); + var newApt = new DetailDTO(); newApt.setKodeApt(apt.getKode()); newApt.setWaktuAwal(apt.getWaktuAwal().toString()); if (apt.getListResep() != null) { diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentService.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentService.java similarity index 72% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentService.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentService.java index b280e33..b12c08e 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentService.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentService.java @@ -1,7 +1,7 @@ -package spring.TK.SpringTkApap.appointment; +package spring.tk.springtkapap.appointment; -import spring.TK.SpringTkApap.appointment.model.AppointmentModel; -import spring.TK.SpringTkApap.user.model.DokterModel; +import spring.tk.springtkapap.appointment.model.AppointmentModel; +import spring.tk.springtkapap.user.model.DokterModel; import java.util.List; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentServiceImpl.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentServiceImpl.java similarity index 90% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentServiceImpl.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentServiceImpl.java index 7eb8544..fe12341 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/AppointmentServiceImpl.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentServiceImpl.java @@ -1,9 +1,9 @@ -package spring.TK.SpringTkApap.appointment; +package spring.tk.springtkapap.appointment; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import spring.TK.SpringTkApap.appointment.model.AppointmentModel; -import spring.TK.SpringTkApap.user.model.DokterModel; +import spring.tk.springtkapap.appointment.model.AppointmentModel; +import spring.tk.springtkapap.user.model.DokterModel; import javax.transaction.Transactional; import java.util.List; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/model/AppointmentModel.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/model/AppointmentModel.java similarity index 74% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/model/AppointmentModel.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/model/AppointmentModel.java index 7cf86d4..711a274 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/model/AppointmentModel.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/model/AppointmentModel.java @@ -1,21 +1,18 @@ -package spring.TK.SpringTkApap.appointment.model; +package spring.tk.springtkapap.appointment.model; -import com.sun.istack.NotNull; import lombok.*; import org.hibernate.annotations.OnDelete; import org.hibernate.annotations.OnDeleteAction; import org.springframework.format.annotation.DateTimeFormat; -import spring.TK.SpringTkApap.resep.ResepModel; -import spring.TK.SpringTkApap.tagihan.TagihanDB; -import spring.TK.SpringTkApap.tagihan.TagihanModel; -import spring.TK.SpringTkApap.user.model.DokterModel; -import spring.TK.SpringTkApap.user.model.PasienModel; +import spring.tk.springtkapap.resep.ResepModel; +import spring.tk.springtkapap.tagihan.TagihanModel; +import spring.tk.springtkapap.user.model.DokterModel; +import spring.tk.springtkapap.user.model.PasienModel; import javax.persistence.*; -import javax.swing.text.html.HTML; +import javax.validation.constraints.NotNull; import java.io.Serializable; import java.time.LocalDateTime; -import java.util.List; @Setter @Getter @@ -27,7 +24,8 @@ public class AppointmentModel implements Serializable { @Id @Column(nullable = false) private String kode; - @NotNull @Column(nullable = false) + @NotNull + @Column(nullable = false) @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm") private LocalDateTime waktuAwal; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/model/CreateAppointmentDTO.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/model/CreateAppointmentDTO.java similarity index 91% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/model/CreateAppointmentDTO.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/model/CreateAppointmentDTO.java index 3c9e526..0eb9336 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/model/CreateAppointmentDTO.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/model/CreateAppointmentDTO.java @@ -1,4 +1,4 @@ -package spring.TK.SpringTkApap.appointment.model; +package spring.tk.springtkapap.appointment.model; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.AllArgsConstructor; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/model/DetailDTO.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/model/DetailDTO.java similarity index 88% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/model/DetailDTO.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/model/DetailDTO.java index d0cbb09..887e209 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/model/DetailDTO.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/model/DetailDTO.java @@ -1,4 +1,4 @@ -package spring.TK.SpringTkApap.appointment.model; +package spring.tk.springtkapap.appointment.model; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/model/GetAptDTO.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/model/GetAptDTO.java similarity index 86% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/model/GetAptDTO.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/model/GetAptDTO.java index ab13dab..09cd74c 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/appointment/model/GetAptDTO.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/model/GetAptDTO.java @@ -1,4 +1,4 @@ -package spring.TK.SpringTkApap.appointment.model; +package spring.tk.springtkapap.appointment.model; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/controller/AuthController.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/controller/AuthController.java similarity index 81% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/controller/AuthController.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/auth/controller/AuthController.java index bb7e6b0..ee3854c 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/controller/AuthController.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/controller/AuthController.java @@ -1,4 +1,4 @@ -package spring.TK.SpringTkApap.auth.controller; +package spring.tk.springtkapap.auth.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; @@ -6,14 +6,13 @@ import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.authentication.DisabledException; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; -import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.web.bind.annotation.*; -import spring.TK.SpringTkApap.auth.model.JwtRequest; -import spring.TK.SpringTkApap.auth.model.JwtResponse; -import spring.TK.SpringTkApap.auth.model.UserModel; -import spring.TK.SpringTkApap.auth.security.JwtTokenUtil; -import spring.TK.SpringTkApap.auth.service.AuthService; +import spring.tk.springtkapap.auth.model.JwtRequest; +import spring.tk.springtkapap.auth.model.JwtResponse; +import spring.tk.springtkapap.auth.model.UserModel; +import spring.tk.springtkapap.auth.security.JwtTokenUtil; +import spring.tk.springtkapap.auth.service.AuthService; import java.util.Map; import java.util.Objects; @@ -37,12 +36,11 @@ public class AuthController { private AuthService authService; @PostMapping(value = "/authenticate") - public ResponseEntity<Object> createAuthenticationToken(@RequestBody JwtRequest authenticationRequest) - throws Exception { + public ResponseEntity<Object> createAuthenticationToken(@RequestBody JwtRequest authenticationRequest) { authenticate(authenticationRequest.getUsername(), authenticationRequest.getPassword()); - final UserDetails userDetails = userDetailsService + final var userDetails = userDetailsService .loadUserByUsername(authenticationRequest.getUsername()); final String token = jwtTokenUtil.generateToken(userDetails); UserModel user = authService.getUserByUsername(authenticationRequest.getUsername()); diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/controller/PageController.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/controller/PageController.java similarity index 79% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/controller/PageController.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/auth/controller/PageController.java index ba23c5b..65ddacf 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/controller/PageController.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/controller/PageController.java @@ -1,11 +1,10 @@ -package spring.TK.SpringTkApap.auth.controller; +package spring.tk.springtkapap.auth.controller; -import spring.TK.SpringTkApap.auth.setting.Setting; -import spring.TK.SpringTkApap.auth.model.RolesEnum; +import spring.tk.springtkapap.auth.setting.Setting; +import spring.tk.springtkapap.auth.model.RolesEnum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.Authentication; -import org.springframework.security.core.context.SecurityContext; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.web.context.HttpSessionSecurityContextRepository; import org.springframework.stereotype.Controller; @@ -13,13 +12,11 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.reactive.function.client.WebClient; import org.springframework.web.servlet.ModelAndView; -import spring.TK.SpringTkApap.auth.model.UserModel; -import spring.TK.SpringTkApap.auth.security.xml.Attributes; -import spring.TK.SpringTkApap.auth.security.xml.ServiceResponse; -import spring.TK.SpringTkApap.auth.service.AuthService; +import spring.tk.springtkapap.auth.model.UserModel; +import spring.tk.springtkapap.auth.security.xml.ServiceResponse; +import spring.tk.springtkapap.auth.service.AuthService; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; import java.security.Principal; import java.util.Objects; @@ -42,7 +39,7 @@ public class PageController { @RequestParam(value = "ticket", required = false) String ticket, HttpServletRequest request ){ - ServiceResponse serviceResponse = this.webClient.get().uri( + var serviceResponse = this.webClient.get().uri( String.format( Setting.SERVER_VALIDATE_TICKET, ticket, @@ -50,7 +47,7 @@ public class PageController { ) ).retrieve().bodyToMono(ServiceResponse.class).block(); - Attributes attributes= Objects.requireNonNull(serviceResponse).getAuthenticationSuccess().getAttributes(); + var attributes= Objects.requireNonNull(serviceResponse).getAuthenticationSuccess().getAttributes(); String username = serviceResponse.getAuthenticationSuccess().getUser(); UserModel user = userService.getUserByUsername(username); @@ -63,9 +60,9 @@ public class PageController { } Authentication authentication = new UsernamePasswordAuthenticationToken(username, "ta_a_ori_53"); - SecurityContext securityContext = SecurityContextHolder.getContext(); + var securityContext = SecurityContextHolder.getContext(); securityContext.setAuthentication(authentication); - HttpSession httpSession = request.getSession(true); + var httpSession = request.getSession(true); httpSession.setAttribute(HttpSessionSecurityContextRepository.SPRING_SECURITY_CONTEXT_KEY, securityContext); return new ModelAndView("redirect:/"); } diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/model/JwtRequest.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/model/JwtRequest.java similarity index 92% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/model/JwtRequest.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/auth/model/JwtRequest.java index 0e4301c..a5e2c10 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/model/JwtRequest.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/model/JwtRequest.java @@ -1,4 +1,4 @@ -package spring.TK.SpringTkApap.auth.model; +package spring.tk.springtkapap.auth.model; import java.io.Serializable; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/model/JwtResponse.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/model/JwtResponse.java similarity index 94% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/model/JwtResponse.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/auth/model/JwtResponse.java index 07f1538..c07fb5a 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/model/JwtResponse.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/model/JwtResponse.java @@ -1,4 +1,4 @@ -package spring.TK.SpringTkApap.auth.model; +package spring.tk.springtkapap.auth.model; import java.io.Serializable; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/model/RolesEnum.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/model/RolesEnum.java similarity index 59% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/model/RolesEnum.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/auth/model/RolesEnum.java index 3fd9ef4..dcdec79 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/model/RolesEnum.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/model/RolesEnum.java @@ -1,4 +1,4 @@ -package spring.TK.SpringTkApap.auth.model; +package spring.tk.springtkapap.auth.model; public enum RolesEnum { ADMIN, DOKTER, APOTEKER, PASIEN diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/model/UserModel.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/model/UserModel.java similarity index 96% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/model/UserModel.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/auth/model/UserModel.java index 0de82f7..634e976 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/model/UserModel.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/model/UserModel.java @@ -1,4 +1,4 @@ -package spring.TK.SpringTkApap.auth.model; +package spring.tk.springtkapap.auth.model; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/repository/UserDb.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/repository/UserDb.java similarity index 70% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/repository/UserDb.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/auth/repository/UserDb.java index 4f8149e..3bf023e 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/repository/UserDb.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/repository/UserDb.java @@ -1,8 +1,8 @@ -package spring.TK.SpringTkApap.auth.repository; +package spring.tk.springtkapap.auth.repository; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; -import spring.TK.SpringTkApap.auth.model.UserModel; +import spring.tk.springtkapap.auth.model.UserModel; @Repository public interface UserDb extends JpaRepository<UserModel, String> { diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/JwtAuthenticationEntryPoint.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/JwtAuthenticationEntryPoint.java similarity index 94% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/JwtAuthenticationEntryPoint.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/JwtAuthenticationEntryPoint.java index 6356354..a2aaaed 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/JwtAuthenticationEntryPoint.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/JwtAuthenticationEntryPoint.java @@ -1,4 +1,4 @@ -package spring.TK.SpringTkApap.auth.security; +package spring.tk.springtkapap.auth.security; import org.springframework.security.core.AuthenticationException; import org.springframework.security.web.AuthenticationEntryPoint; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/JwtRequestFilter.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/JwtRequestFilter.java similarity index 88% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/JwtRequestFilter.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/JwtRequestFilter.java index a67bc9e..256776e 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/JwtRequestFilter.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/JwtRequestFilter.java @@ -1,11 +1,10 @@ -package spring.TK.SpringTkApap.auth.security; +package spring.tk.springtkapap.auth.security; import io.jsonwebtoken.ExpiredJwtException; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.context.SecurityContextHolder; -import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.web.authentication.WebAuthenticationDetailsSource; import org.springframework.stereotype.Component; @@ -52,12 +51,12 @@ public class JwtRequestFilter extends OncePerRequestFilter { if (username != null && SecurityContextHolder.getContext().getAuthentication() == null) { - UserDetails userDetails = this.userDetailsService.loadUserByUsername(username); + var userDetails = this.userDetailsService.loadUserByUsername(username); Boolean validate = jwtTokenUtil.validateToken(jwtToken, userDetails); if (Boolean.TRUE.equals(validate)) { - UsernamePasswordAuthenticationToken usernamePasswordAuthenticationToken = new UsernamePasswordAuthenticationToken( + var usernamePasswordAuthenticationToken = new UsernamePasswordAuthenticationToken( userDetails, null, userDetails.getAuthorities()); usernamePasswordAuthenticationToken .setDetails(new WebAuthenticationDetailsSource().buildDetails(request)); diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/JwtTokenUtil.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/JwtTokenUtil.java similarity index 92% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/JwtTokenUtil.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/JwtTokenUtil.java index ddf1a4d..4b56acc 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/JwtTokenUtil.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/JwtTokenUtil.java @@ -1,4 +1,4 @@ -package spring.TK.SpringTkApap.auth.security; +package spring.tk.springtkapap.auth.security; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; @@ -32,7 +32,7 @@ public class JwtTokenUtil implements Serializable { } public <T> T getClaimFromToken(String token, Function<Claims, T> claimsResolver) { - final Claims claims = getAllClaimsFromToken(token); + final var claims = getAllClaimsFromToken(token); return claimsResolver.apply(claims); } @@ -41,7 +41,7 @@ public class JwtTokenUtil implements Serializable { } private Boolean isTokenExpired(String token) { - final Date expiration = getExpirationDateFromToken(token); + final var expiration = getExpirationDateFromToken(token); return expiration.before(new Date()); } diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/UserDetailsServiceImpl.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/UserDetailsServiceImpl.java similarity index 87% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/UserDetailsServiceImpl.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/UserDetailsServiceImpl.java index e2a5188..b16b279 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/UserDetailsServiceImpl.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/UserDetailsServiceImpl.java @@ -1,4 +1,4 @@ -package spring.TK.SpringTkApap.auth.security; +package spring.tk.springtkapap.auth.security; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.GrantedAuthority; @@ -8,8 +8,8 @@ import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Service; -import spring.TK.SpringTkApap.auth.model.UserModel; -import spring.TK.SpringTkApap.auth.repository.UserDb; +import spring.tk.springtkapap.auth.model.UserModel; +import spring.tk.springtkapap.auth.repository.UserDb; import java.util.HashSet; import java.util.Set; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/WebSecurityConfig.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/WebSecurityConfig.java similarity index 90% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/WebSecurityConfig.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/WebSecurityConfig.java index edbd8c3..5753713 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/WebSecurityConfig.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/WebSecurityConfig.java @@ -1,6 +1,7 @@ -package spring.TK.SpringTkApap.auth.security; +package spring.tk.springtkapap.auth.security; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; @@ -16,8 +17,9 @@ import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; +import org.springframework.security.web.csrf.CookieCsrfTokenRepository; import org.springframework.security.web.util.matcher.AntPathRequestMatcher; -import spring.TK.SpringTkApap.auth.model.RolesEnum; +import spring.tk.springtkapap.auth.model.RolesEnum; @Configuration @EnableWebSecurity @@ -34,6 +36,9 @@ public class WebSecurityConfig { return new BCryptPasswordEncoder(); } + @Value("${security.enable-csrf}") + private static boolean csrfEnabled; + @Order(2) @Configuration public static class WebConfiguration extends WebSecurityConfigurerAdapter { @@ -69,7 +74,7 @@ public class WebSecurityConfig { @Override public void configure(AuthenticationManagerBuilder auth) throws Exception{ - PasswordEncoder pass = passwordEncoder(); + var pass = passwordEncoder(); auth.userDetailsService(userDetailsService).passwordEncoder(pass); } } @@ -88,7 +93,7 @@ public class WebSecurityConfig { @Override public void configure(AuthenticationManagerBuilder auth) throws Exception { - PasswordEncoder pass = passwordEncoder(); + var pass = passwordEncoder(); auth.userDetailsService(userDetailsService).passwordEncoder(pass); } @@ -100,6 +105,10 @@ public class WebSecurityConfig { @Override protected void configure(HttpSecurity http) throws Exception { + if(!csrfEnabled) + { + http.csrf().csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse()); + } http.antMatcher("/api/**") .authorizeRequests() .antMatchers("/api/authenticate", "/api/pasien/register").permitAll() diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/xml/Attributes.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/xml/Attributes.java similarity index 93% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/xml/Attributes.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/xml/Attributes.java index 924eea4..9a8329e 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/xml/Attributes.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/xml/Attributes.java @@ -1,4 +1,4 @@ -package spring.TK.SpringTkApap.auth.security.xml; +package spring.tk.springtkapap.auth.security.xml; import lombok.Getter; import lombok.Setter; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/xml/AuthenticationSuccess.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/xml/AuthenticationSuccess.java similarity index 90% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/xml/AuthenticationSuccess.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/xml/AuthenticationSuccess.java index e8b207a..4f84cdb 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/xml/AuthenticationSuccess.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/xml/AuthenticationSuccess.java @@ -1,4 +1,4 @@ -package spring.TK.SpringTkApap.auth.security.xml; +package spring.tk.springtkapap.auth.security.xml; import lombok.Getter; import lombok.Setter; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/xml/ServiceResponse.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/xml/ServiceResponse.java similarity index 93% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/xml/ServiceResponse.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/xml/ServiceResponse.java index cd71c9d..84f153e 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/security/xml/ServiceResponse.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/xml/ServiceResponse.java @@ -1,4 +1,4 @@ -package spring.TK.SpringTkApap.auth.security.xml; +package spring.tk.springtkapap.auth.security.xml; import lombok.Getter; import lombok.Setter; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/service/AuthService.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/service/AuthService.java similarity index 54% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/service/AuthService.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/auth/service/AuthService.java index ff3236e..1f40bbd 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/service/AuthService.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/service/AuthService.java @@ -1,7 +1,7 @@ -package spring.TK.SpringTkApap.auth.service; +package spring.tk.springtkapap.auth.service; -import spring.TK.SpringTkApap.auth.model.UserModel; -import spring.TK.SpringTkApap.auth.security.xml.Attributes; +import spring.tk.springtkapap.auth.model.UserModel; +import spring.tk.springtkapap.auth.security.xml.Attributes; public interface AuthService { UserModel addUserAdmin(String username, Attributes attributes); diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/service/AuthServiceImpl.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/service/AuthServiceImpl.java similarity index 75% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/service/AuthServiceImpl.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/auth/service/AuthServiceImpl.java index 896a857..1eb602c 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/service/AuthServiceImpl.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/service/AuthServiceImpl.java @@ -1,14 +1,14 @@ -package spring.TK.SpringTkApap.auth.service; +package spring.tk.springtkapap.auth.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Service; -import spring.TK.SpringTkApap.auth.model.RolesEnum; -import spring.TK.SpringTkApap.auth.model.UserModel; -import spring.TK.SpringTkApap.auth.repository.UserDb; -import spring.TK.SpringTkApap.auth.security.xml.Attributes; -import spring.TK.SpringTkApap.user.model.AdminModel; -import spring.TK.SpringTkApap.user.repository.AdminDB; +import spring.tk.springtkapap.auth.model.RolesEnum; +import spring.tk.springtkapap.auth.model.UserModel; +import spring.tk.springtkapap.auth.repository.UserDb; +import spring.tk.springtkapap.auth.security.xml.Attributes; +import spring.tk.springtkapap.user.model.AdminModel; +import spring.tk.springtkapap.user.repository.AdminDB; import java.util.ArrayList; import java.util.List; @@ -36,7 +36,7 @@ public class AuthServiceImpl implements AuthService { @Override public UserModel addUserAdmin(String username, Attributes attributes) { if (listAdmin.contains(username)) { - AdminModel admin = new AdminModel(); + var admin = new AdminModel(); String pass = encrypt("ta_a_ori_53"); admin.setEmail(username + "@ui.ac.id"); admin.setNama(attributes.getNama()); @@ -51,7 +51,7 @@ public class AuthServiceImpl implements AuthService { @Override public String encrypt(String password){ - BCryptPasswordEncoder passwordEncoder=new BCryptPasswordEncoder(); + var passwordEncoder=new BCryptPasswordEncoder(); return passwordEncoder.encode(password); } @Override diff --git a/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/service/UserService.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/service/UserService.java new file mode 100644 index 0000000..e13a002 --- /dev/null +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/service/UserService.java @@ -0,0 +1,8 @@ +package spring.tk.springtkapap.auth.service; + +import spring.tk.springtkapap.auth.model.UserModel; + +public interface UserService { + + UserModel getUserByUsername(String username); +} diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/service/UserServiceImpl.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/service/UserServiceImpl.java similarity index 72% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/service/UserServiceImpl.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/auth/service/UserServiceImpl.java index 4abead8..ff7f43e 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/service/UserServiceImpl.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/service/UserServiceImpl.java @@ -1,9 +1,9 @@ -package spring.TK.SpringTkApap.auth.service; +package spring.tk.springtkapap.auth.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import spring.TK.SpringTkApap.auth.model.UserModel; -import spring.TK.SpringTkApap.auth.repository.UserDb; +import spring.tk.springtkapap.auth.model.UserModel; +import spring.tk.springtkapap.auth.repository.UserDb; import javax.transaction.Transactional; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/setting/Setting.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/setting/Setting.java similarity index 94% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/setting/Setting.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/auth/setting/Setting.java index 74652cf..782f86e 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/auth/setting/Setting.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/setting/Setting.java @@ -1,4 +1,4 @@ -package spring.TK.SpringTkApap.auth.setting; +package spring.tk.springtkapap.auth.setting; public class Setting { diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/jumlah/JumlahModel.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/jumlah/JumlahModel.java similarity index 85% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/jumlah/JumlahModel.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/jumlah/JumlahModel.java index c12bf8f..b0ba691 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/jumlah/JumlahModel.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/jumlah/JumlahModel.java @@ -1,12 +1,12 @@ -package spring.TK.SpringTkApap.jumlah; +package spring.tk.springtkapap.jumlah; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.hibernate.annotations.OnDelete; import org.hibernate.annotations.OnDeleteAction; -import spring.TK.SpringTkApap.obat.model.ObatModel; -import spring.TK.SpringTkApap.resep.ResepModel; +import spring.tk.springtkapap.obat.model.ObatModel; +import spring.tk.springtkapap.resep.ResepModel; import javax.persistence.*; import java.io.Serializable; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/controller/ManageController.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/manage/controller/ManageController.java similarity index 78% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/controller/ManageController.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/manage/controller/ManageController.java index 67ee80c..20b73bd 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/controller/ManageController.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/manage/controller/ManageController.java @@ -1,21 +1,21 @@ -package spring.TK.SpringTkApap.manage.controller; +package spring.tk.springtkapap.manage.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; -import spring.TK.SpringTkApap.auth.model.RolesEnum; -import spring.TK.SpringTkApap.auth.model.UserModel; -import spring.TK.SpringTkApap.manage.model.CreateApotekerDTO; -import spring.TK.SpringTkApap.manage.model.CreateDokterDTO; -import spring.TK.SpringTkApap.manage.service.ApotekerService; -import spring.TK.SpringTkApap.manage.service.UserService; -import spring.TK.SpringTkApap.user.model.ApotekerModel; -import spring.TK.SpringTkApap.user.model.DokterDTO; -import spring.TK.SpringTkApap.user.model.DokterModel; -import spring.TK.SpringTkApap.user.model.PasienModel; -import spring.TK.SpringTkApap.user.service.DokterService; -import spring.TK.SpringTkApap.user.service.PasienService; +import spring.tk.springtkapap.auth.model.RolesEnum; +import spring.tk.springtkapap.auth.model.UserModel; +import spring.tk.springtkapap.manage.model.CreateApotekerDTO; +import spring.tk.springtkapap.manage.model.CreateDokterDTO; +import spring.tk.springtkapap.manage.service.ApotekerService; +import spring.tk.springtkapap.manage.service.UserService; +import spring.tk.springtkapap.user.model.ApotekerModel; +import spring.tk.springtkapap.user.model.DokterDTO; +import spring.tk.springtkapap.user.model.DokterModel; +import spring.tk.springtkapap.user.model.PasienModel; +import spring.tk.springtkapap.user.service.DokterService; +import spring.tk.springtkapap.user.service.PasienService; import java.util.ArrayList; import java.util.List; @@ -43,7 +43,7 @@ public class ManageController { @GetMapping(value="/add/dokter") public String addDokterFormPage(Model model){ - CreateDokterDTO user = new CreateDokterDTO(); + var user = new CreateDokterDTO(); List<RolesEnum> listRole = new ArrayList<>(); listRole.add(RolesEnum.DOKTER); model.addAttribute("user",user); @@ -52,8 +52,8 @@ public class ManageController { } @PostMapping(value="/add/dokter") - private String addDokterSubmit(@ModelAttribute CreateDokterDTO dto, Model model){ - DokterModel user = new DokterModel(); + public String addDokterSubmit(@ModelAttribute CreateDokterDTO dto, Model model){ + var user = new DokterModel(); user.setUsername(dto.getUsername()); user.setNama(dto.getNama()); user.setPassword(userService.encrypt(dto.getPassword())); @@ -68,7 +68,7 @@ public class ManageController { } @GetMapping(value="/add/apoteker") public String addApotekerFormPage(Model model){ - CreateApotekerDTO user = new CreateApotekerDTO(); + var user = new CreateApotekerDTO(); List<RolesEnum> listRole = new ArrayList<>(); listRole.add(RolesEnum.APOTEKER); model.addAttribute("user",user); @@ -77,7 +77,7 @@ public class ManageController { } @PostMapping(value="/add/apoteker") public String addApotekerSubmit(@ModelAttribute CreateApotekerDTO dto, Model model){ - ApotekerModel user = new ApotekerModel(); + var user = new ApotekerModel(); user.setUsername(dto.getUsername()); user.setNama(dto.getNama()); user.setPassword(userService.encrypt(dto.getPassword())); diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/model/CreateApotekerDTO.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/manage/model/CreateApotekerDTO.java similarity index 79% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/model/CreateApotekerDTO.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/manage/model/CreateApotekerDTO.java index b73be54..e0ff324 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/model/CreateApotekerDTO.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/manage/model/CreateApotekerDTO.java @@ -1,10 +1,10 @@ -package spring.TK.SpringTkApap.manage.model; +package spring.tk.springtkapap.manage.model; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import spring.TK.SpringTkApap.auth.model.RolesEnum; +import spring.tk.springtkapap.auth.model.RolesEnum; @Setter @Getter diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/model/CreateDokterDTO.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/manage/model/CreateDokterDTO.java similarity index 59% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/model/CreateDokterDTO.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/manage/model/CreateDokterDTO.java index 33ef0b0..d0b7117 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/model/CreateDokterDTO.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/manage/model/CreateDokterDTO.java @@ -1,15 +1,10 @@ -package spring.TK.SpringTkApap.manage.model; +package spring.tk.springtkapap.manage.model; -import com.sun.istack.NotNull; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.hibernate.annotations.GenericGenerator; -import spring.TK.SpringTkApap.auth.model.RolesEnum; - -import javax.persistence.*; -import javax.validation.constraints.Size; +import spring.tk.springtkapap.auth.model.RolesEnum; @Setter @Getter diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/repository/ApotekerDb.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/manage/repository/ApotekerDb.java similarity index 57% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/repository/ApotekerDb.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/manage/repository/ApotekerDb.java index c9823b6..12e6809 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/repository/ApotekerDb.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/manage/repository/ApotekerDb.java @@ -1,7 +1,7 @@ -package spring.TK.SpringTkApap.manage.repository; +package spring.tk.springtkapap.manage.repository; import org.springframework.data.jpa.repository.JpaRepository; -import spring.TK.SpringTkApap.user.model.ApotekerModel; +import spring.tk.springtkapap.user.model.ApotekerModel; public interface ApotekerDb extends JpaRepository<ApotekerModel, String> { diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/service/ApotekerService.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/manage/service/ApotekerService.java similarity index 70% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/service/ApotekerService.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/manage/service/ApotekerService.java index ede9398..fa85f6d 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/service/ApotekerService.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/manage/service/ApotekerService.java @@ -1,6 +1,6 @@ -package spring.TK.SpringTkApap.manage.service; +package spring.tk.springtkapap.manage.service; -import spring.TK.SpringTkApap.user.model.ApotekerModel; +import spring.tk.springtkapap.user.model.ApotekerModel; import java.util.List; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/service/ApotekerServiceImpl.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/manage/service/ApotekerServiceImpl.java similarity index 84% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/service/ApotekerServiceImpl.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/manage/service/ApotekerServiceImpl.java index c35e569..d8a4e33 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/service/ApotekerServiceImpl.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/manage/service/ApotekerServiceImpl.java @@ -1,9 +1,9 @@ -package spring.TK.SpringTkApap.manage.service; +package spring.tk.springtkapap.manage.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import spring.TK.SpringTkApap.manage.repository.ApotekerDb; -import spring.TK.SpringTkApap.user.model.ApotekerModel; +import spring.tk.springtkapap.manage.repository.ApotekerDb; +import spring.tk.springtkapap.user.model.ApotekerModel; import javax.transaction.Transactional; import java.util.List; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/service/UserService.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/manage/service/UserService.java similarity index 72% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/service/UserService.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/manage/service/UserService.java index a112aca..6076f00 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/service/UserService.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/manage/service/UserService.java @@ -1,6 +1,6 @@ -package spring.TK.SpringTkApap.manage.service; +package spring.tk.springtkapap.manage.service; -import spring.TK.SpringTkApap.auth.model.UserModel; +import spring.tk.springtkapap.auth.model.UserModel; import java.util.List; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/service/UserServiceImpl2.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/manage/service/UserServiceImpl2.java similarity index 80% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/service/UserServiceImpl2.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/manage/service/UserServiceImpl2.java index 7367a14..0f6005e 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/manage/service/UserServiceImpl2.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/manage/service/UserServiceImpl2.java @@ -1,10 +1,10 @@ -package spring.TK.SpringTkApap.manage.service; +package spring.tk.springtkapap.manage.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Service; -import spring.TK.SpringTkApap.auth.model.UserModel; -import spring.TK.SpringTkApap.auth.repository.UserDb; +import spring.tk.springtkapap.auth.model.UserModel; +import spring.tk.springtkapap.auth.repository.UserDb; import java.util.List; @@ -22,7 +22,7 @@ public class UserServiceImpl2 implements UserService{ @Override public String encrypt(String password){ - BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); + var passwordEncoder = new BCryptPasswordEncoder(); return passwordEncoder.encode(password); } @Override diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/controller/ObatController.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/obat/controller/ObatController.java similarity index 87% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/controller/ObatController.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/obat/controller/ObatController.java index c5b8a4f..3c6cd31 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/controller/ObatController.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/obat/controller/ObatController.java @@ -1,11 +1,11 @@ -package spring.TK.SpringTkApap.obat.controller; +package spring.tk.springtkapap.obat.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; -import spring.TK.SpringTkApap.obat.model.ObatModel; -import spring.TK.SpringTkApap.obat.service.ObatService; +import spring.tk.springtkapap.obat.model.ObatModel; +import spring.tk.springtkapap.obat.service.ObatService; import java.util.List; @@ -18,7 +18,7 @@ public class ObatController { @GetMapping("/add") public String addObatForm(Model model){ - ObatModel obat = new ObatModel(); + var obat = new ObatModel(); model.addAttribute("obat", obat); return "obat/form-add-obat"; } diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/model/ObatModel.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/obat/model/ObatModel.java similarity index 79% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/model/ObatModel.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/obat/model/ObatModel.java index 325d61d..1c425a0 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/model/ObatModel.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/obat/model/ObatModel.java @@ -1,11 +1,11 @@ -package spring.TK.SpringTkApap.obat.model; +package spring.tk.springtkapap.obat.model; -import com.sun.istack.NotNull; import lombok.*; import org.hibernate.annotations.GenericGenerator; -import spring.TK.SpringTkApap.jumlah.JumlahModel; +import spring.tk.springtkapap.jumlah.JumlahModel; import javax.persistence.*; +import javax.validation.constraints.NotNull; import java.io.Serializable; import java.util.List; @@ -20,7 +20,8 @@ public class ObatModel implements Serializable { @GenericGenerator(name = "system-uuid", strategy = "uuid") private String idObat; - @NotNull @Column(nullable = false) + @NotNull + @Column(nullable = false) private String namaObat; @NotNull @Column(nullable = false) diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/repository/ObatDb.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/obat/repository/ObatDb.java similarity index 73% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/repository/ObatDb.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/obat/repository/ObatDb.java index bab2d8a..4a855e7 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/repository/ObatDb.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/obat/repository/ObatDb.java @@ -1,8 +1,8 @@ -package spring.TK.SpringTkApap.obat.repository; +package spring.tk.springtkapap.obat.repository; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; -import spring.TK.SpringTkApap.obat.model.ObatModel; +import spring.tk.springtkapap.obat.model.ObatModel; import java.util.Optional; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/rest/ObatRestController.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/obat/rest/ObatRestController.java similarity index 95% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/rest/ObatRestController.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/obat/rest/ObatRestController.java index 8441189..175a5ad 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/rest/ObatRestController.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/obat/rest/ObatRestController.java @@ -1,11 +1,11 @@ -package spring.TK.SpringTkApap.obat.rest; +package spring.tk.springtkapap.obat.rest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import org.springframework.web.server.ResponseStatusException; -import spring.TK.SpringTkApap.obat.model.ObatModel; +import spring.tk.springtkapap.obat.model.ObatModel; import java.util.List; import java.util.NoSuchElementException; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/rest/ObatRestService.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/obat/rest/ObatRestService.java similarity index 71% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/rest/ObatRestService.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/obat/rest/ObatRestService.java index 48c09cd..747be27 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/rest/ObatRestService.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/obat/rest/ObatRestService.java @@ -1,6 +1,6 @@ -package spring.TK.SpringTkApap.obat.rest; +package spring.tk.springtkapap.obat.rest; -import spring.TK.SpringTkApap.obat.model.ObatModel; +import spring.tk.springtkapap.obat.model.ObatModel; import java.util.List; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/rest/ObatRestServiceImpl.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/obat/rest/ObatRestServiceImpl.java similarity index 87% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/rest/ObatRestServiceImpl.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/obat/rest/ObatRestServiceImpl.java index 06a3938..dbc0768 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/rest/ObatRestServiceImpl.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/obat/rest/ObatRestServiceImpl.java @@ -1,9 +1,9 @@ -package spring.TK.SpringTkApap.obat.rest; +package spring.tk.springtkapap.obat.rest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import spring.TK.SpringTkApap.obat.model.ObatModel; -import spring.TK.SpringTkApap.obat.repository.ObatDb; +import spring.tk.springtkapap.obat.model.ObatModel; +import spring.tk.springtkapap.obat.repository.ObatDb; import javax.transaction.Transactional; import java.util.List; import java.util.NoSuchElementException; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/service/ObatService.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/obat/service/ObatService.java similarity index 63% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/service/ObatService.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/obat/service/ObatService.java index 43e7c5d..3edc600 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/service/ObatService.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/obat/service/ObatService.java @@ -1,6 +1,6 @@ -package spring.TK.SpringTkApap.obat.service; +package spring.tk.springtkapap.obat.service; -import spring.TK.SpringTkApap.obat.model.ObatModel; +import spring.tk.springtkapap.obat.model.ObatModel; import java.util.List; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/service/ObatServiceImpl.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/obat/service/ObatServiceImpl.java similarity index 83% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/service/ObatServiceImpl.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/obat/service/ObatServiceImpl.java index 192d056..166a699 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/obat/service/ObatServiceImpl.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/obat/service/ObatServiceImpl.java @@ -1,9 +1,9 @@ -package spring.TK.SpringTkApap.obat.service; +package spring.tk.springtkapap.obat.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import spring.TK.SpringTkApap.obat.model.ObatModel; -import spring.TK.SpringTkApap.obat.repository.ObatDb; +import spring.tk.springtkapap.obat.model.ObatModel; +import spring.tk.springtkapap.obat.repository.ObatDb; import javax.transaction.Transactional; import java.util.List; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/ResepModel.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/resep/ResepModel.java similarity index 83% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/ResepModel.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/resep/ResepModel.java index b167044..0ac0280 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/ResepModel.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/resep/ResepModel.java @@ -1,14 +1,14 @@ -package spring.TK.SpringTkApap.resep; +package spring.tk.springtkapap.resep; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.sun.istack.NotNull; +import javax.validation.constraints.NotNull; import lombok.*; import org.hibernate.annotations.OnDelete; import org.hibernate.annotations.OnDeleteAction; import org.springframework.format.annotation.DateTimeFormat; -import spring.TK.SpringTkApap.appointment.model.AppointmentModel; -import spring.TK.SpringTkApap.jumlah.JumlahModel; -import spring.TK.SpringTkApap.user.model.ApotekerModel; +import spring.tk.springtkapap.appointment.model.AppointmentModel; +import spring.tk.springtkapap.jumlah.JumlahModel; +import spring.tk.springtkapap.user.model.ApotekerModel; import javax.persistence.*; import java.io.Serializable; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/tagihan/TagihanDB.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/tagihan/TagihanDB.java similarity index 83% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/tagihan/TagihanDB.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/tagihan/TagihanDB.java index bb7beb8..a06120d 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/tagihan/TagihanDB.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/tagihan/TagihanDB.java @@ -1,4 +1,4 @@ -package spring.TK.SpringTkApap.tagihan; +package spring.tk.springtkapap.tagihan; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/tagihan/TagihanModel.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/tagihan/TagihanModel.java similarity index 70% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/tagihan/TagihanModel.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/tagihan/TagihanModel.java index 9983e51..fdb30c0 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/tagihan/TagihanModel.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/tagihan/TagihanModel.java @@ -1,13 +1,12 @@ -package spring.TK.SpringTkApap.tagihan; +package spring.tk.springtkapap.tagihan; -import com.sun.istack.NotNull; +import javax.validation.constraints.NotNull; import lombok.*; -import org.hibernate.annotations.OnDelete; -import org.hibernate.annotations.OnDeleteAction; import org.springframework.format.annotation.DateTimeFormat; -import spring.TK.SpringTkApap.appointment.model.AppointmentModel; +import spring.tk.springtkapap.appointment.model.AppointmentModel; import javax.persistence.*; +import java.io.Serializable; import java.time.LocalDateTime; @Setter @@ -16,7 +15,7 @@ import java.time.LocalDateTime; @Table(name = "tagihan") @NoArgsConstructor @AllArgsConstructor -public class TagihanModel { +public class TagihanModel implements Serializable { @Id @Column(nullable = false) private String kode; @@ -35,5 +34,5 @@ public class TagihanModel { private Integer jumlahTagihan; @OneToOne(mappedBy = "tagihan", fetch = FetchType.EAGER) - private transient AppointmentModel appointment; + private AppointmentModel appointment; } diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/tagihan/TagihanService.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/tagihan/TagihanService.java similarity index 53% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/tagihan/TagihanService.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/tagihan/TagihanService.java index 62928f8..fb39fd1 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/tagihan/TagihanService.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/tagihan/TagihanService.java @@ -1,6 +1,6 @@ -package spring.TK.SpringTkApap.tagihan; +package spring.tk.springtkapap.tagihan; -import spring.TK.SpringTkApap.appointment.model.AppointmentModel; +import spring.tk.springtkapap.appointment.model.AppointmentModel; public interface TagihanService { TagihanModel addTagihan(TagihanModel tagihan, AppointmentModel appointment); diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/tagihan/TagihanServiceImpl.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/tagihan/TagihanServiceImpl.java similarity index 80% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/tagihan/TagihanServiceImpl.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/tagihan/TagihanServiceImpl.java index 298953c..7a1c87d 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/tagihan/TagihanServiceImpl.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/tagihan/TagihanServiceImpl.java @@ -1,9 +1,9 @@ -package spring.TK.SpringTkApap.tagihan; +package spring.tk.springtkapap.tagihan; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import spring.TK.SpringTkApap.appointment.AppointmentDB; -import spring.TK.SpringTkApap.appointment.model.AppointmentModel; +import spring.tk.springtkapap.appointment.AppointmentDB; +import spring.tk.springtkapap.appointment.model.AppointmentModel; import javax.transaction.Transactional; import java.time.LocalDateTime; @@ -26,7 +26,7 @@ public class TagihanServiceImpl implements TagihanService{ tagihan.setTanggalBayar(null); tagihan.setTanggalTerbuat(LocalDateTime.now()); int kode = + (int) (tagihanDB.count() + 1); - String strKode = Integer.toString(kode); + var strKode = Integer.toString(kode); tagihan.setKode("BILL-" + strKode); tagihanDB.save(tagihan); return tagihan; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/controller/DokterController.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/controller/DokterController.java similarity index 73% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/controller/DokterController.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/user/controller/DokterController.java index e098119..4f8fb40 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/controller/DokterController.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/controller/DokterController.java @@ -1,17 +1,15 @@ -package spring.TK.SpringTkApap.user.controller; +package spring.tk.springtkapap.user.controller; import lombok.extern.slf4j.Slf4j; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; -import spring.TK.SpringTkApap.appointment.AppointmentService; -import spring.TK.SpringTkApap.appointment.model.AppointmentModel; -import spring.TK.SpringTkApap.user.model.DokterModel; -import spring.TK.SpringTkApap.user.model.DokterRevDTO; -import spring.TK.SpringTkApap.user.service.DokterService; +import spring.tk.springtkapap.appointment.AppointmentService; +import spring.tk.springtkapap.appointment.model.AppointmentModel; +import spring.tk.springtkapap.user.model.DokterModel; +import spring.tk.springtkapap.user.model.DokterRevDTO; +import spring.tk.springtkapap.user.service.DokterService; import java.time.LocalDate; import java.util.ArrayList; @@ -24,24 +22,24 @@ import java.util.stream.Collectors; @Slf4j public class DokterController { - Logger logger = LoggerFactory.getLogger(DokterRestController.class); - @Autowired DokterService dokterService; @Autowired AppointmentService appointmentService; + private static final String LISTDOKTER = "listDokter"; + @GetMapping("/choose") public String chooseDokter(Model model) { - model.addAttribute("listDokter", dokterService.retrieveAll()); + model.addAttribute(LISTDOKTER, dokterService.retrieveAll()); return "dokter/choose-dokter"; } @PostMapping("/choose") public String getchart(@ModelAttribute List<DokterModel> list, Model model) { List<DokterModel> listDokter = dokterService.retrieveAll(); - DokterRevDTO dokterRevDTO = new DokterRevDTO(); + var dokterRevDTO = new DokterRevDTO(); List<String> listLabels = new ArrayList<>(); List<Long> listRevenue = new ArrayList<>(); List<Integer> listBanyakApt = new ArrayList<>(); @@ -49,10 +47,12 @@ public class DokterController { List<AppointmentModel> listApt = appointmentService.findAllByDokter(dokterModel); listLabels.add(dokterModel.getUsername()); long rev = 0; - int banyakApt = 0; - for (AppointmentModel apt : listApt) { + var banyakApt = 0; + var i = 0; + while (i < listApt.size()) { rev += dokterModel.getTarif(); banyakApt += 1; + i++; } listRevenue.add(rev); listBanyakApt.add(banyakApt); @@ -60,28 +60,27 @@ public class DokterController { dokterRevDTO.setNama(listLabels); dokterRevDTO.setRevenue(listRevenue); dokterRevDTO.setBanyakAppointment(listBanyakApt); - model.addAttribute("listDokter", dokterRevDTO); + model.addAttribute(LISTDOKTER, dokterRevDTO); return "dokter/dokter-chart"; } @PostMapping("/chart") public String chart(@RequestParam(value = "choosed") String[] choosed, Model model) { List<String> listString = Arrays.stream(choosed).collect(Collectors.toList()); - DokterRevDTO dokterRevDTO = new DokterRevDTO(); + var dokterRevDTO = new DokterRevDTO(); List<String> listLabels = new ArrayList<>(); List<Long> listRevenue = new ArrayList<>(); List<Integer> listBanyakApt = new ArrayList<>(); List<List<LocalDate>> listTanggal = new ArrayList<>(); - int i = 0; for (String usernameDokter : listString) { - DokterModel dokterModel = dokterService.getDokterByUsername(usernameDokter); + var dokterModel = dokterService.getDokterByUsername(usernameDokter); List<AppointmentModel> listApt = appointmentService.findAllByDokter(dokterModel); listLabels.add(dokterModel.getUsername()); long rev = 0; - int banyakApt = 0; + var banyakApt = 0; List<LocalDate> tanggal = new ArrayList<>(); for (AppointmentModel apt : listApt) { - logger.info(apt.getWaktuAwal().toString()); + log.info(apt.getWaktuAwal().toString()); rev += dokterModel.getTarif(); banyakApt += 1; tanggal.add(apt.getWaktuAwal().toLocalDate()); @@ -94,7 +93,7 @@ public class DokterController { dokterRevDTO.setRevenue(listRevenue); dokterRevDTO.setBanyakAppointment(listBanyakApt); dokterRevDTO.setTanggal(listTanggal); - model.addAttribute("listDokter", dokterRevDTO); + model.addAttribute(LISTDOKTER, dokterRevDTO); return "dokter/dokter-chart"; } } diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/controller/DokterRestController.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/controller/DokterRestController.java similarity index 67% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/controller/DokterRestController.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/user/controller/DokterRestController.java index 7c2c2af..9cc803a 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/controller/DokterRestController.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/controller/DokterRestController.java @@ -1,20 +1,17 @@ -package spring.TK.SpringTkApap.user.controller; +package spring.tk.springtkapap.user.controller; import lombok.extern.slf4j.Slf4j; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import spring.TK.SpringTkApap.appointment.AppointmentRestController; -import spring.TK.SpringTkApap.appointment.AppointmentService; -import spring.TK.SpringTkApap.appointment.model.AppointmentModel; -import spring.TK.SpringTkApap.user.model.DokterDTO; -import spring.TK.SpringTkApap.user.model.DokterModel; -import spring.TK.SpringTkApap.user.model.DokterRevDTO; -import spring.TK.SpringTkApap.user.service.DokterService; +import spring.tk.springtkapap.appointment.AppointmentService; +import spring.tk.springtkapap.appointment.model.AppointmentModel; +import spring.tk.springtkapap.user.model.DokterDTO; +import spring.tk.springtkapap.user.model.DokterModel; +import spring.tk.springtkapap.user.model.DokterRevDTO; +import spring.tk.springtkapap.user.service.DokterService; import java.util.ArrayList; import java.util.List; @@ -25,8 +22,6 @@ import java.util.List; @Slf4j public class DokterRestController { - Logger logger = LoggerFactory.getLogger(DokterRestController.class); - @Autowired private DokterService dokterService; @@ -35,14 +30,14 @@ public class DokterRestController { @GetMapping(value = "/all") public List<DokterDTO> getAllDoktor() { - logger.info("Berhasil mengambil data seluruh dokter yang ada"); + log.info("Berhasil mengambil data seluruh dokter yang ada"); return dokterService.getAll(); } @GetMapping(value = "/rev") public DokterRevDTO getDokterRev() { List<DokterModel> listDokter = dokterService.retrieveAll(); - DokterRevDTO dokterRevDTO = new DokterRevDTO(); + var dokterRevDTO = new DokterRevDTO(); List<String> listLabels = new ArrayList<>(); List<Long> listRevenue = new ArrayList<>(); List<Integer> listBanyakApt = new ArrayList<>(); @@ -50,10 +45,12 @@ public class DokterRestController { List<AppointmentModel> listApt = appointmentService.findAllByDokter(dokterModel); listLabels.add(dokterModel.getUsername()); long rev = 0; - int banyakApt = 0; - for (AppointmentModel apt : listApt) { + var banyakApt = 0; + var i = 0; + while (i < listApt.size()) { rev += dokterModel.getTarif(); banyakApt += 1; + i++; } listRevenue.add(rev); listBanyakApt.add(banyakApt); diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/controller/PasienRestController.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/controller/PasienRestController.java similarity index 77% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/controller/PasienRestController.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/user/controller/PasienRestController.java index 862b375..5077d88 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/controller/PasienRestController.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/controller/PasienRestController.java @@ -1,4 +1,4 @@ -package spring.TK.SpringTkApap.user.controller; +package spring.tk.springtkapap.user.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; @@ -6,9 +6,9 @@ import org.springframework.http.ResponseEntity; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import org.springframework.web.server.ResponseStatusException; -import spring.TK.SpringTkApap.user.model.PasienDTO; -import spring.TK.SpringTkApap.user.service.PasienRestService; -import spring.TK.SpringTkApap.user.model.PasienModel; +import spring.tk.springtkapap.user.model.PasienDTO; +import spring.tk.springtkapap.user.service.PasienRestService; +import spring.tk.springtkapap.user.model.PasienModel; import java.security.Principal; import java.util.List; @@ -22,7 +22,7 @@ public class PasienRestController { PasienRestService pasienRestService; @PostMapping(value = "/register") - private ResponseEntity<String> registerPasien(@RequestBody PasienDTO pasien, BindingResult bindingResult){ + public ResponseEntity<String> registerPasien(@RequestBody PasienDTO pasien, BindingResult bindingResult){ if (bindingResult.hasFieldErrors()) { throw new ResponseStatusException( HttpStatus.BAD_REQUEST, "Request body has invalid type or missing field." @@ -34,12 +34,12 @@ public class PasienRestController { HttpStatus.INTERNAL_SERVER_ERROR, "Username yang sama sudah terdaftar. Silakan gunakan username yang lain." ); } - return ResponseEntity.ok(String.format("Registrasi berhasil!")); + return ResponseEntity.ok("Registrasi berhasil!"); } } @GetMapping("/{uuid}") - private PasienModel getPasien(@PathVariable(name = "uuid") String uuid){ + public PasienModel getPasien(@PathVariable(name = "uuid") String uuid){ try { return pasienRestService.getPasien(uuid); } catch (NoSuchElementException e) { @@ -52,7 +52,7 @@ public class PasienRestController { @GetMapping("/getself") public PasienDTO getPasienByUsername(Principal principal) { PasienModel pasien = pasienRestService.getPasienByUsername(principal.getName()); - PasienDTO pasienDTO = new PasienDTO(); + var pasienDTO = new PasienDTO(); pasienDTO.setUsername(pasien.getUsername()); pasienDTO.setName(pasien.getNama()); pasienDTO.setSaldo(pasien.getSaldo().toString()); @@ -63,12 +63,12 @@ public class PasienRestController { } @GetMapping("/all") - private List<PasienModel> getAllPasien(){ + public List<PasienModel> getAllPasien(){ return pasienRestService.retrievePasien(); } @PostMapping(value = "/top-up/{username}") - private PasienModel topUpSaldo(@PathVariable("username") String username, @RequestBody PasienDTO pasien, BindingResult bindingResult){ + public PasienModel topUpSaldo(@PathVariable("username") String username, @RequestBody PasienDTO pasien, BindingResult bindingResult){ try{ return pasienRestService.topUpSaldo(username, pasien); } catch (NoSuchElementException e) { diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/model/AdminModel.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/model/AdminModel.java similarity index 71% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/model/AdminModel.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/user/model/AdminModel.java index d33643c..1d6fdf5 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/model/AdminModel.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/model/AdminModel.java @@ -1,8 +1,8 @@ -package spring.TK.SpringTkApap.user.model; +package spring.tk.springtkapap.user.model; import lombok.*; -import spring.TK.SpringTkApap.auth.model.UserModel; +import spring.tk.springtkapap.auth.model.UserModel; import javax.persistence.Entity; import javax.persistence.Table; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/model/ApotekerModel.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/model/ApotekerModel.java similarity index 74% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/model/ApotekerModel.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/user/model/ApotekerModel.java index f662daa..3ed053e 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/model/ApotekerModel.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/model/ApotekerModel.java @@ -1,9 +1,9 @@ -package spring.TK.SpringTkApap.user.model; +package spring.tk.springtkapap.user.model; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.*; -import spring.TK.SpringTkApap.resep.ResepModel; -import spring.TK.SpringTkApap.auth.model.UserModel; +import spring.tk.springtkapap.resep.ResepModel; +import spring.tk.springtkapap.auth.model.UserModel; import javax.persistence.*; import java.util.List; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/model/DokterDTO.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/model/DokterDTO.java similarity index 86% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/model/DokterDTO.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/user/model/DokterDTO.java index 7c7c524..5c4b687 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/model/DokterDTO.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/model/DokterDTO.java @@ -1,4 +1,4 @@ -package spring.TK.SpringTkApap.user.model; +package spring.tk.springtkapap.user.model; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/model/DokterModel.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/model/DokterModel.java similarity index 72% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/model/DokterModel.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/user/model/DokterModel.java index 962fd49..b99f8dc 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/model/DokterModel.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/model/DokterModel.java @@ -1,10 +1,10 @@ -package spring.TK.SpringTkApap.user.model; +package spring.tk.springtkapap.user.model; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.sun.istack.NotNull; +import javax.validation.constraints.NotNull; import lombok.*; -import spring.TK.SpringTkApap.appointment.model.AppointmentModel; -import spring.TK.SpringTkApap.auth.model.UserModel; +import spring.tk.springtkapap.appointment.model.AppointmentModel; +import spring.tk.springtkapap.auth.model.UserModel; import javax.persistence.*; import java.util.List; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/model/DokterRevDTO.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/model/DokterRevDTO.java similarity index 91% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/model/DokterRevDTO.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/user/model/DokterRevDTO.java index e40c1db..44cc5b4 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/model/DokterRevDTO.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/model/DokterRevDTO.java @@ -1,4 +1,4 @@ -package spring.TK.SpringTkApap.user.model; +package spring.tk.springtkapap.user.model; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/model/PasienDTO.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/model/PasienDTO.java similarity index 93% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/model/PasienDTO.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/user/model/PasienDTO.java index e745a9d..d232ddf 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/model/PasienDTO.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/model/PasienDTO.java @@ -1,4 +1,4 @@ -package spring.TK.SpringTkApap.user.model; +package spring.tk.springtkapap.user.model; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.AllArgsConstructor; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/model/PasienModel.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/model/PasienModel.java similarity index 75% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/model/PasienModel.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/user/model/PasienModel.java index b314fb9..005ed51 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/model/PasienModel.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/model/PasienModel.java @@ -1,10 +1,10 @@ -package spring.TK.SpringTkApap.user.model; +package spring.tk.springtkapap.user.model; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.sun.istack.NotNull; +import javax.validation.constraints.NotNull; import lombok.*; -import spring.TK.SpringTkApap.appointment.model.AppointmentModel; -import spring.TK.SpringTkApap.auth.model.UserModel; +import spring.tk.springtkapap.appointment.model.AppointmentModel; +import spring.tk.springtkapap.auth.model.UserModel; import javax.persistence.*; import java.util.List; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/repository/AdminDB.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/repository/AdminDB.java similarity index 66% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/repository/AdminDB.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/user/repository/AdminDB.java index 5f38821..c3de79b 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/repository/AdminDB.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/repository/AdminDB.java @@ -1,8 +1,8 @@ -package spring.TK.SpringTkApap.user.repository; +package spring.tk.springtkapap.user.repository; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; -import spring.TK.SpringTkApap.user.model.AdminModel; +import spring.tk.springtkapap.user.model.AdminModel; @Repository public interface AdminDB extends JpaRepository<AdminModel, String> { diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/repository/DokterDB.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/repository/DokterDB.java similarity index 69% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/repository/DokterDB.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/user/repository/DokterDB.java index c6f8e10..63a9982 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/repository/DokterDB.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/repository/DokterDB.java @@ -1,10 +1,9 @@ -package spring.TK.SpringTkApap.user.repository; +package spring.tk.springtkapap.user.repository; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; -import spring.TK.SpringTkApap.user.model.DokterModel; +import spring.tk.springtkapap.user.model.DokterModel; -import java.util.List; import java.util.Optional; @Repository diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/repository/PasienDB.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/repository/PasienDB.java similarity index 73% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/repository/PasienDB.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/user/repository/PasienDB.java index 0f8bd72..c8bf341 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/repository/PasienDB.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/repository/PasienDB.java @@ -1,8 +1,8 @@ -package spring.TK.SpringTkApap.user.repository; +package spring.tk.springtkapap.user.repository; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; -import spring.TK.SpringTkApap.user.model.PasienModel; +import spring.tk.springtkapap.user.model.PasienModel; import java.util.Optional; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/service/DokterService.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/service/DokterService.java similarity index 68% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/service/DokterService.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/user/service/DokterService.java index b3111e1..4d78b9a 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/service/DokterService.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/service/DokterService.java @@ -1,7 +1,7 @@ -package spring.TK.SpringTkApap.user.service; +package spring.tk.springtkapap.user.service; -import spring.TK.SpringTkApap.user.model.DokterDTO; -import spring.TK.SpringTkApap.user.model.DokterModel; +import spring.tk.springtkapap.user.model.DokterDTO; +import spring.tk.springtkapap.user.model.DokterModel; import java.util.List; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/service/DokterServiceImpl.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/service/DokterServiceImpl.java similarity index 85% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/service/DokterServiceImpl.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/user/service/DokterServiceImpl.java index 5f7bf83..5d332de 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/service/DokterServiceImpl.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/service/DokterServiceImpl.java @@ -1,10 +1,10 @@ -package spring.TK.SpringTkApap.user.service; +package spring.tk.springtkapap.user.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import spring.TK.SpringTkApap.user.model.DokterDTO; -import spring.TK.SpringTkApap.user.model.DokterModel; -import spring.TK.SpringTkApap.user.repository.DokterDB; +import spring.tk.springtkapap.user.model.DokterDTO; +import spring.tk.springtkapap.user.model.DokterModel; +import spring.tk.springtkapap.user.repository.DokterDB; import javax.transaction.Transactional; import java.util.ArrayList; @@ -29,7 +29,7 @@ public class DokterServiceImpl implements DokterService{ List<DokterModel> listDokter = dokterDB.findAll(); List<DokterDTO> list = new ArrayList<>(); for (DokterModel dokter : listDokter) { - DokterDTO newDokter = new DokterDTO(); + var newDokter = new DokterDTO(); newDokter.setNama(dokter.getNama()); newDokter.setUsername(dokter.getUsername()); newDokter.setTagihan(dokter.getTarif()); diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/service/PasienRestService.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/service/PasienRestService.java similarity index 67% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/service/PasienRestService.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/user/service/PasienRestService.java index 2e742e3..69a1ba3 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/service/PasienRestService.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/service/PasienRestService.java @@ -1,7 +1,7 @@ -package spring.TK.SpringTkApap.user.service; +package spring.tk.springtkapap.user.service; -import spring.TK.SpringTkApap.user.model.PasienDTO; -import spring.TK.SpringTkApap.user.model.PasienModel; +import spring.tk.springtkapap.user.model.PasienDTO; +import spring.tk.springtkapap.user.model.PasienModel; import java.util.List; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/service/PasienRestServiceImpl.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/service/PasienRestServiceImpl.java similarity index 82% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/service/PasienRestServiceImpl.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/user/service/PasienRestServiceImpl.java index a39b057..312b047 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/service/PasienRestServiceImpl.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/service/PasienRestServiceImpl.java @@ -1,13 +1,12 @@ -package spring.TK.SpringTkApap.user.service; +package spring.tk.springtkapap.user.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import spring.TK.SpringTkApap.auth.model.RolesEnum; -import spring.TK.SpringTkApap.auth.service.AuthServiceImpl; -import spring.TK.SpringTkApap.user.model.PasienDTO; -import spring.TK.SpringTkApap.user.model.PasienModel; -import spring.TK.SpringTkApap.user.repository.PasienDB; -import spring.TK.SpringTkApap.user.service.PasienRestService; +import spring.tk.springtkapap.auth.model.RolesEnum; +import spring.tk.springtkapap.auth.service.AuthServiceImpl; +import spring.tk.springtkapap.user.model.PasienDTO; +import spring.tk.springtkapap.user.model.PasienModel; +import spring.tk.springtkapap.user.repository.PasienDB; import javax.transaction.Transactional; import java.util.ArrayList; @@ -34,7 +33,7 @@ public class PasienRestServiceImpl implements PasienRestService { } } - PasienModel newPasien = new PasienModel(); + var newPasien = new PasienModel(); newPasien.setNama(pasienDTO.getName()); newPasien.setUsername(pasienDTO.getUsername()); diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/service/PasienService.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/service/PasienService.java similarity index 74% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/service/PasienService.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/user/service/PasienService.java index c2c8f0a..cad9ece 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/service/PasienService.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/service/PasienService.java @@ -1,6 +1,6 @@ -package spring.TK.SpringTkApap.user.service; +package spring.tk.springtkapap.user.service; -import spring.TK.SpringTkApap.user.model.PasienModel; +import spring.tk.springtkapap.user.model.PasienModel; import java.util.List; diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/service/PasienServiceImpl.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/service/PasienServiceImpl.java similarity index 86% rename from SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/service/PasienServiceImpl.java rename to SpringTkApap/src/main/java/spring/tk/springtkapap/user/service/PasienServiceImpl.java index 152939c..f0b5396 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/user/service/PasienServiceImpl.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/service/PasienServiceImpl.java @@ -1,9 +1,9 @@ -package spring.TK.SpringTkApap.user.service; +package spring.tk.springtkapap.user.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import spring.TK.SpringTkApap.user.model.PasienModel; -import spring.TK.SpringTkApap.user.repository.PasienDB; +import spring.tk.springtkapap.user.model.PasienModel; +import spring.tk.springtkapap.user.repository.PasienDB; import javax.transaction.Transactional; import java.util.List; diff --git a/SpringTkApap/src/main/resources/application.yml b/SpringTkApap/src/main/resources/application.yml index e33662a..24c1269 100644 --- a/SpringTkApap/src/main/resources/application.yml +++ b/SpringTkApap/src/main/resources/application.yml @@ -2,4 +2,6 @@ spring: profiles: - default: dev \ No newline at end of file + default: dev + +security.enable-csrf: false diff --git a/SpringTkApap/src/main/resources/templates/fragments/fragment.html b/SpringTkApap/src/main/resources/templates/fragments/fragment.html index 053a567..dfe343b 100644 --- a/SpringTkApap/src/main/resources/templates/fragments/fragment.html +++ b/SpringTkApap/src/main/resources/templates/fragments/fragment.html @@ -12,7 +12,9 @@ <script src="https://getbootstrap.com/docs/4.1/assets/js/vendor/popper.nin.js"></script> <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js" integrity="sha384-vFJXuSJphROIrBnz7yo7oB41mKfc8JzQZiCq4NCceLEaO4IHwicKwpJf9c9IpFgh" crossorigin="anonymous"></script> + <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js" integrity="sha384-alpBpkh1PFOepccYVYDB4do5UnbKysX5WZXm3XxPqe5iKTfUKjNkCk9SaVuEZflJ" crossorigin="anonymous"></script> <script th:src="@{/js/bootstrap.min.js}"></script> + <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script> </head> </head> <body> diff --git a/SpringTkApap/src/test/java/spring/TK/SpringTkApap/SpringTkApapApplicationTests.java b/SpringTkApap/src/test/java/spring/TK/SpringTkApap/SpringTkApapApplicationTests.java deleted file mode 100644 index 3684f1c..0000000 --- a/SpringTkApap/src/test/java/spring/TK/SpringTkApap/SpringTkApapApplicationTests.java +++ /dev/null @@ -1,13 +0,0 @@ -package spring.TK.SpringTkApap; - -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.context.SpringBootTest; - -@SpringBootTest -class SpringTkApapApplicationTests { - - @Test - void contextLoads() { - } - -} -- GitLab From 2a8677dbee80ad5eb4a5733efe9c775c387234bc Mon Sep 17 00:00:00 2001 From: "nandhita.zefania" <nandhita.zefania@ui.ac.id> Date: Mon, 12 Dec 2022 11:21:46 +0700 Subject: [PATCH 07/16] feat: fix error csrf --- .../tk/springtkapap/auth/security/WebSecurityConfig.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/WebSecurityConfig.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/WebSecurityConfig.java index 5753713..2610a4c 100644 --- a/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/WebSecurityConfig.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/WebSecurityConfig.java @@ -105,11 +105,7 @@ public class WebSecurityConfig { @Override protected void configure(HttpSecurity http) throws Exception { - if(!csrfEnabled) - { - http.csrf().csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse()); - } - http.antMatcher("/api/**") + http.antMatcher("/api/**").csrf().disable() .authorizeRequests() .antMatchers("/api/authenticate", "/api/pasien/register").permitAll() .antMatchers(HttpMethod.GET, "/api/user").hasAuthority(PASIEN) -- GitLab From 60d34351248ee42ffbc229073965d24d799f59d0 Mon Sep 17 00:00:00 2001 From: "nandhita.zefania" <nandhita.zefania@ui.ac.id> Date: Mon, 12 Dec 2022 11:33:14 +0700 Subject: [PATCH 08/16] feat: handle sonarqube --- SpringTkApap/gradle.properties | 4 ++-- .../tk/springtkapap/auth/security/WebSecurityConfig.java | 1 - .../java/spring/tk/springtkapap/obat/model/ObatModel.java | 1 - 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/SpringTkApap/gradle.properties b/SpringTkApap/gradle.properties index 04e1311..f52c4b6 100644 --- a/SpringTkApap/gradle.properties +++ b/SpringTkApap/gradle.properties @@ -1,3 +1,3 @@ systemProp.sonar.host.url=https://sonarqube.cs.ui.ac.id -systemProp.sonar.projectKey= SpringTkApap-53 -systemProp.sonar.login= 57e13a92a36c10e15e0a60bf9f39493b1c8b28ac \ No newline at end of file +systemProp.sonar.projectKey= tk-apap-53 +systemProp.sonar.login=57e13a92a36c10e15e0a60bf9f39493b1c8b28ac \ No newline at end of file diff --git a/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/WebSecurityConfig.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/WebSecurityConfig.java index 2610a4c..180102d 100644 --- a/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/WebSecurityConfig.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/WebSecurityConfig.java @@ -17,7 +17,6 @@ import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; -import org.springframework.security.web.csrf.CookieCsrfTokenRepository; import org.springframework.security.web.util.matcher.AntPathRequestMatcher; import spring.tk.springtkapap.auth.model.RolesEnum; diff --git a/SpringTkApap/src/main/java/spring/tk/springtkapap/obat/model/ObatModel.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/obat/model/ObatModel.java index 5198a3c..4d6f080 100644 --- a/SpringTkApap/src/main/java/spring/tk/springtkapap/obat/model/ObatModel.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/obat/model/ObatModel.java @@ -1,7 +1,6 @@ package spring.tk.springtkapap.obat.model; import lombok.*; -import org.hibernate.annotations.ColumnDefault; import org.hibernate.annotations.GenericGenerator; import spring.tk.springtkapap.jumlah.JumlahModel; -- GitLab From dcefd36e43f853942e1651f01beba4d523d754bc Mon Sep 17 00:00:00 2001 From: "nandhita.zefania" <nandhita.zefania@ui.ac.id> Date: Mon, 12 Dec 2022 20:11:27 +0700 Subject: [PATCH 09/16] feat: handle action logging --- .../tk/springtkapap/auth/controller/AuthController.java | 6 ++++++ .../tk/springtkapap/auth/controller/PageController.java | 7 +++++++ .../tk/springtkapap/auth/security/JwtRequestFilter.java | 3 ++- .../spring/tk/springtkapap/auth/security/JwtTokenUtil.java | 3 +++ 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/controller/AuthController.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/controller/AuthController.java index ee3854c..d9990b7 100644 --- a/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/controller/AuthController.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/controller/AuthController.java @@ -1,5 +1,6 @@ package spring.tk.springtkapap.auth.controller; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.security.authentication.AuthenticationManager; @@ -21,6 +22,7 @@ import java.util.Objects; @RestController @CrossOrigin(origins = "apap-tk-53.cs.ui.ac.id") @RequestMapping("/api") +@Slf4j public class AuthController { @Autowired @@ -54,15 +56,19 @@ public class AuthController { try { authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(username, password)); + log.info("User berhasil melakukan autentikasi"); } catch (DisabledException e) { + log.warn("User disable"); throw new DisabledException("USER_DISABLED", e); } catch (BadCredentialsException e) { + log.warn("Credentials user tidak valid"); throw new BadCredentialsException("INVALID_CREDENTIALS", e); } } @GetMapping(value = "/user") public ResponseEntity<Object> job(@RequestBody Map<String, String> request) { + log.info("User mengambil info user"); return ResponseEntity.ok(authService.getUserByUsername(request.get("username"))); } } \ No newline at end of file diff --git a/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/controller/PageController.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/controller/PageController.java index 65ddacf..a19ba61 100644 --- a/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/controller/PageController.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/controller/PageController.java @@ -1,5 +1,6 @@ package spring.tk.springtkapap.auth.controller; +import lombok.extern.slf4j.Slf4j; import spring.tk.springtkapap.auth.setting.Setting; import spring.tk.springtkapap.auth.model.RolesEnum; import org.springframework.beans.factory.annotation.Autowired; @@ -21,6 +22,7 @@ import java.security.Principal; import java.util.Objects; @Controller +@Slf4j public class PageController { private final WebClient webClient = WebClient.builder().build(); @@ -31,6 +33,7 @@ public class PageController { @GetMapping("/login") public String login(){ + log.info("User melakukan login"); return "login/login"; } @@ -69,12 +72,14 @@ public class PageController { @GetMapping("/login-sso") public ModelAndView loginSSO(){ + log.info("User melakukan login dengan SSO"); return new ModelAndView(REDIRECT + Setting.SERVER_LOGIN + Setting.CLIENT_LOGIN); } @GetMapping(value = "/logout-sso") public ModelAndView logoutSSO(Principal principal){ UserModel user = userService.getUserByUsername(principal.getName()); + log.info("User melakukan logout"); if (!user.getRole().equals(RolesEnum.ADMIN)){ return new ModelAndView("redirect:/logout"); } @@ -83,11 +88,13 @@ public class PageController { @GetMapping("/home-not-access") public String homeNotAccess(){ + log.warn("Anda tidak termasuk ke dalam white list sebagai admin"); return "home/home-not-access"; } @GetMapping(value = "/logout-not-access") public ModelAndView logoutSSONotAccess(){ + log.info("User anonim melakukan logout"); return new ModelAndView(REDIRECT + Setting.SERVER_LOGOUT + Setting.CLIENT_LOGOUT); } diff --git a/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/JwtRequestFilter.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/JwtRequestFilter.java index 256776e..069b7d7 100644 --- a/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/JwtRequestFilter.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/JwtRequestFilter.java @@ -41,7 +41,7 @@ public class JwtRequestFilter extends OncePerRequestFilter { username = jwtTokenUtil.getUsernameFromToken(jwtToken); log.info(username + " get API with JWT Token"); } catch (IllegalArgumentException e) { - log.warn("Unable to get JWT Token"); + log.error("Unable to get JWT Token"); } catch (ExpiredJwtException e) { log.warn("JWT Token has expired"); } @@ -55,6 +55,7 @@ public class JwtRequestFilter extends OncePerRequestFilter { Boolean validate = jwtTokenUtil.validateToken(jwtToken, userDetails); if (Boolean.TRUE.equals(validate)) { + log.info("JWT Token has validated"); var usernamePasswordAuthenticationToken = new UsernamePasswordAuthenticationToken( userDetails, null, userDetails.getAuthorities()); diff --git a/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/JwtTokenUtil.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/JwtTokenUtil.java index 4b56acc..e3ac27f 100644 --- a/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/JwtTokenUtil.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/JwtTokenUtil.java @@ -3,6 +3,7 @@ package spring.tk.springtkapap.auth.security; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.stereotype.Component; @@ -14,6 +15,7 @@ import java.util.Map; import java.util.function.Function; @Component +@Slf4j public class JwtTokenUtil implements Serializable { private static final long serialVersionUID = -2550185165626007488L; @@ -49,6 +51,7 @@ public class JwtTokenUtil implements Serializable { Map<String, Object> claims = new HashMap<>(); claims.put("ROLE", "PASIEN"); claims.put("ORGANIZATION", "RumahSehat"); + log.info("User melakukan generate token"); return doGenerateToken(claims, userDetails.getUsername()); } -- GitLab From 35cdc628656527d331cf855d0888a2058feed834 Mon Sep 17 00:00:00 2001 From: "nandhita.zefania" <nandhita.zefania@ui.ac.id> Date: Mon, 12 Dec 2022 20:31:43 +0700 Subject: [PATCH 10/16] feat: delete button --- SpringTkApap/src/main/resources/templates/home/home.html | 4 ---- 1 file changed, 4 deletions(-) diff --git a/SpringTkApap/src/main/resources/templates/home/home.html b/SpringTkApap/src/main/resources/templates/home/home.html index 1207edb..76db255 100644 --- a/SpringTkApap/src/main/resources/templates/home/home.html +++ b/SpringTkApap/src/main/resources/templates/home/home.html @@ -40,7 +40,6 @@ <div class="text-center mt-1"> <img src="../img/appointment.png" width="60" height="60"> <p class="card-text my-3">Lihat jadwal dan detail dari appointment yang telah dibuat.</p> - <a th:href="@{/appointment/viewall}" class="btn btn-sm btn-primary">Appointment</a> </div> </div> </div> @@ -53,7 +52,6 @@ <div class="text-center mt-1"> <img src="../img/resep.png" width="60" height="60"> <p class="card-text my-3">Buat resep, serta lihat daftar dan detail resep yang tersedia.</p> - <a th:href="@{/}" class="btn btn-sm btn-primary">Resep</a> </div> </div> </div> @@ -66,8 +64,6 @@ <div class="text-center mt-1"> <img src="../img/obat.png" width="60" height="60"> <p class="card-text my-3">Lihat stok dan daftar obat yang tersedia.</p> - <a th:href="@{/obat/add}" class="mx-2 mb-2 btn btn-sm btn-primary">Add Obat</a> - <a th:href="@{/obat/viewall}" class="mx-2 mb-2 btn btn-sm btn-primary">Lihat Semua Obat</a> </div> </div> </div> -- GitLab From b56626ec5e3b048ff1ef557da076a2e709d8965f Mon Sep 17 00:00:00 2001 From: "nandhita.zefania" <nandhita.zefania@ui.ac.id> Date: Mon, 12 Dec 2022 21:30:58 +0700 Subject: [PATCH 11/16] feat: fix sonarqube --- .../AppointmentRestController.java | 2 +- .../auth/controller/AuthController.java | 3 +- .../auth/security/WebSecurityConfig.java | 2 +- .../manage/controller/ManageController.java | 2 +- .../service/TagihanServiceRestImpl.java | 28 ++++++++++--------- .../user/controller/DokterController.java | 21 +++++--------- .../user/repository/DokterDB.java | 2 -- 7 files changed, 27 insertions(+), 33 deletions(-) diff --git a/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentRestController.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentRestController.java index f4b9218..6a3d7c7 100644 --- a/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentRestController.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/appointment/AppointmentRestController.java @@ -22,7 +22,7 @@ import java.security.Principal; import java.util.List; @RestController -@CrossOrigin(origins = "apap-tk-53.cs.ui.ac.id") +@CrossOrigin(origins = "*") @RequestMapping("/api/appointment") @Slf4j public class AppointmentRestController { diff --git a/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/controller/AuthController.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/controller/AuthController.java index d9990b7..8e229ad 100644 --- a/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/controller/AuthController.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/controller/AuthController.java @@ -20,7 +20,8 @@ import java.util.Objects; @RestController -@CrossOrigin(origins = "apap-tk-53.cs.ui.ac.id") +@CrossOrigin(origins = "*") + @RequestMapping("/api") @Slf4j public class AuthController { diff --git a/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/WebSecurityConfig.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/WebSecurityConfig.java index 93d55bd..cf9b231 100644 --- a/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/WebSecurityConfig.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/auth/security/WebSecurityConfig.java @@ -107,7 +107,7 @@ public class WebSecurityConfig { @Override protected void configure(HttpSecurity http) throws Exception { - http.antMatcher("/api/**").csrf().disable() + http.antMatcher("/api/**").cors().and().csrf().disable() .authorizeRequests() .antMatchers("/api/authenticate", "/api/pasien/register").permitAll() .antMatchers(HttpMethod.GET, "/api/user").hasAuthority(PASIEN) diff --git a/SpringTkApap/src/main/java/spring/tk/springtkapap/manage/controller/ManageController.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/manage/controller/ManageController.java index 8512bfa..98b159c 100644 --- a/SpringTkApap/src/main/java/spring/tk/springtkapap/manage/controller/ManageController.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/manage/controller/ManageController.java @@ -126,7 +126,7 @@ public class ManageController { } @GetMapping("/viewall/tembak") public void tembakApi(Model model) { - PasienModel pasien = new PasienModel(); + var pasien = new PasienModel(); pasien.setUmur(30); pasien.setSaldo(500000); pasien.setNama("Argaaaa"); diff --git a/SpringTkApap/src/main/java/spring/tk/springtkapap/tagihan/service/TagihanServiceRestImpl.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/tagihan/service/TagihanServiceRestImpl.java index b86b3c6..c45182c 100644 --- a/SpringTkApap/src/main/java/spring/tk/springtkapap/tagihan/service/TagihanServiceRestImpl.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/tagihan/service/TagihanServiceRestImpl.java @@ -29,7 +29,7 @@ public class TagihanServiceRestImpl implements TagihanServiceRest { for (AppointmentModel appointment : listAppointment) { if (appointment.getListTagihan().get(0) != null) { TagihanModel tagihan = appointment.getListTagihan().get(0); - TagihanDTO dto = new TagihanDTO(); + var dto = new TagihanDTO(); dto.setTanggalTerbuat(tagihan.getTanggalTerbuat().toString()); if(tagihan.getIsPaid()) { dto.setTanggalBayar(tagihan.getTanggalBayar().toString()); @@ -57,13 +57,13 @@ public class TagihanServiceRestImpl implements TagihanServiceRest { } else { throw new NoSuchElementException(); } - String done = ""; + var done = ""; if (tag.getIsPaid()) { done = "lunas"; } else { done = "belum lunas"; } - TagihanDTO newTagihan = new TagihanDTO(); + var newTagihan = new TagihanDTO(); newTagihan.setKode(tag.getKode()); newTagihan.setTanggalTerbuat(tag.getTanggalTerbuat().toString()); newTagihan.setIsPaid(done); @@ -80,16 +80,18 @@ public class TagihanServiceRestImpl implements TagihanServiceRest { @Override public int bayar(String kode,PasienModel pasien){ Optional<TagihanModel> tagihan = tagihanDB.findByKode(kode); - TagihanModel tagihan1 = tagihan.get(); - if(tagihan1.getIsPaid()){ - return -1; - } - if((pasien.getSaldo() - tagihan1.getJumlahTagihan()) < 0){ - return 0; + if (tagihan.isPresent()) { + TagihanModel tagihan1 = tagihan.get(); + if(tagihan1.getIsPaid()){ + return -1; + } + if((pasien.getSaldo() - tagihan1.getJumlahTagihan()) < 0){ + return 0; + } + pasien.setSaldo(pasien.getSaldo() - tagihan1.getJumlahTagihan()); + tagihan1.setIsPaid(true); + tagihan1.setTanggalBayar(LocalDateTime.now()); } - pasien.setSaldo(pasien.getSaldo() - tagihan1.getJumlahTagihan()); - tagihan1.setIsPaid(true); - tagihan1.setTanggalBayar(LocalDateTime.now()); - return 1; + return -1; } } diff --git a/SpringTkApap/src/main/java/spring/tk/springtkapap/user/controller/DokterController.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/controller/DokterController.java index 1a26d1a..91b05bc 100644 --- a/SpringTkApap/src/main/java/spring/tk/springtkapap/user/controller/DokterController.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/controller/DokterController.java @@ -1,8 +1,6 @@ package spring.tk.springtkapap.user.controller; import lombok.extern.slf4j.Slf4j; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -10,7 +8,6 @@ import org.springframework.web.bind.annotation.*; import spring.tk.springtkapap.appointment.AppointmentService; import spring.tk.springtkapap.appointment.model.AppointmentModel; import spring.tk.springtkapap.user.model.DokterModel; -import spring.tk.springtkapap.user.model.DokterRevDTO; import spring.tk.springtkapap.user.service.DokterService; @@ -23,9 +20,6 @@ import java.util.List; @RequestMapping("/dokter") @Slf4j public class DokterController { - - Logger logger = LoggerFactory.getLogger(DokterRestController.class); - @Autowired DokterService dokterService; @@ -40,21 +34,21 @@ public class DokterController { @PostMapping("/chart") public String chart(@RequestParam(value = "choosed") String[] choosed, Model model) { - int[] rev = new int[choosed.length]; - int[] banyakApt = new int[choosed.length]; + var rev = new int[choosed.length]; + var banyakApt = new int[choosed.length]; List<int[]> monthlyRev= new ArrayList<>(); List<String> month = new ArrayList<>(); List<String> day = new ArrayList<>(); List<int[]> dailyRev = new ArrayList<>(); - for (int i = 0; i < rev.length; i++) { + for (var i = 0; i < rev.length; i++) { DokterModel dokter = dokterService.getDokterByUsername(choosed[i]); List<AppointmentModel> listApt = appointmentService.findAllByDokter(dokter); banyakApt[i] = listApt.size(); rev[i] = listApt.size() * dokter.getTarif(); - int[] dataMonthly = new int[12]; - int[] dataDaily = new int[31]; + var dataMonthly = new int[12]; + var dataDaily = new int[31]; for (AppointmentModel apt : listApt) { dataMonthly[apt.getWaktuAwal().getMonthValue()-1] += dokter.getTarif(); dataDaily[apt.getWaktuAwal().getDayOfMonth()-1] += dokter.getTarif(); @@ -63,14 +57,13 @@ public class DokterController { dailyRev.add(dataDaily); } - for (int i = 0; i < 12; i++) { + for (var i = 0; i < 12; i++) { month.add(LocalDateTime.of(LocalDateTime.now().getYear(), 1, 1, 0, 0).plusMonths(i).getMonth().toString() + " " + LocalDateTime.now().getYear()); } - for (int i = 0; i < 31; i++) { + for (var i = 0; i < 31; i++) { day.add(LocalDateTime.of(LocalDateTime.now().getYear(), LocalDateTime.now().getMonth(), 1, 0, 0).plusDays(i).getDayOfWeek().toString()); } - System.out.println(day); model.addAttribute("label", choosed); model.addAttribute("rev", rev); model.addAttribute("banyakApt", banyakApt); diff --git a/SpringTkApap/src/main/java/spring/tk/springtkapap/user/repository/DokterDB.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/repository/DokterDB.java index 7f06613..79702e9 100644 --- a/SpringTkApap/src/main/java/spring/tk/springtkapap/user/repository/DokterDB.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/repository/DokterDB.java @@ -3,8 +3,6 @@ package spring.tk.springtkapap.user.repository; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; import spring.tk.springtkapap.user.model.DokterModel; - -import java.util.List; import java.util.Optional; @Repository -- GitLab From e84207e15a832f1e37a3499a46bf062297992c4a Mon Sep 17 00:00:00 2001 From: "nandhita.zefania" <nandhita.zefania@ui.ac.id> Date: Mon, 12 Dec 2022 21:37:53 +0700 Subject: [PATCH 12/16] feat: fix sonarqube --- .../tk/springtkapap/user/controller/DokterController.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/SpringTkApap/src/main/java/spring/tk/springtkapap/user/controller/DokterController.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/controller/DokterController.java index 1b993e8..d4b19f3 100644 --- a/SpringTkApap/src/main/java/spring/tk/springtkapap/user/controller/DokterController.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/user/controller/DokterController.java @@ -9,8 +9,6 @@ import spring.tk.springtkapap.appointment.AppointmentService; import spring.tk.springtkapap.appointment.model.AppointmentModel; import spring.tk.springtkapap.user.model.DokterModel; import spring.tk.springtkapap.user.service.DokterService; -import spring.tk.springtkapap.user.controller.DokterRestController; - import java.time.LocalDateTime; import java.util.ArrayList; -- GitLab From 113e6a3cb4422f00eccc49e9f35560c4d0a1a2fb Mon Sep 17 00:00:00 2001 From: "nandhita.zefania" <nandhita.zefania@ui.ac.id> Date: Mon, 12 Dec 2022 21:56:23 +0700 Subject: [PATCH 13/16] feat: fix sonarqube --- .../resep/controller/ResepController.java | 77 +++++++------------ .../TK/SpringTkApap/resep/model/ResepDTO.java | 25 ++++++ 2 files changed, 54 insertions(+), 48 deletions(-) create mode 100644 SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/model/ResepDTO.java diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/controller/ResepController.java b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/controller/ResepController.java index ac2edf0..652ad80 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/controller/ResepController.java +++ b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/controller/ResepController.java @@ -21,6 +21,7 @@ import spring.tk.springtkapap.jumlah.service.JumlahService; import spring.tk.springtkapap.manage.service.ApotekerService; import spring.tk.springtkapap.obat.model.ObatModel; import spring.tk.springtkapap.obat.service.ObatService; +import spring.tk.springtkapap.resep.model.ResepDTO; import spring.tk.springtkapap.resep.model.ResepModel; import spring.tk.springtkapap.resep.service.ResepService; import spring.tk.springtkapap.user.model.ApotekerModel; @@ -48,10 +49,11 @@ public class ResepController { @GetMapping("/add/{kodeAppointment}") public String addResepForm(@PathVariable("kodeAppointment") String kodeApt, Model model){ AppointmentModel appointment = appointmentService.getAppointment(kodeApt); - ResepModel resep = new ResepModel(); + ResepDTO resep = new ResepDTO(); List<ObatModel> listObat = obatService.getListObat(); List<ApotekerModel> listApoteker = apotekerService.getAll(); + // resep.setIsDone(false); resep.setAppointment(appointment); resep.setListJumlah(new ArrayList<>()); resep.getListJumlah().add(new JumlahModel()); @@ -65,24 +67,27 @@ public class ResepController { } @PostMapping("/add/{kodeAppointment}") - public String addResepSubmit(@PathVariable("kodeAppointment") String kodeApt, @ModelAttribute ResepModel resep, Model model){ + public String addResepSubmit(@PathVariable("kodeAppointment") String kodeApt, @ModelAttribute ResepDTO resep, Model model){ + ResepModel resepModel = new ResepModel(); + resepModel.setApoteker(resep.getApoteker()); + resepModel.setListJumlah(resep.getListJumlah()); + AppointmentModel appointment = appointmentService.getAppointment(kodeApt); - - resep.setAppointment(appointment); - resep.setIsDone(false); - resep.setCreatedAt(LocalDateTime.now()); - if (resep.getListJumlah() != null){ - for (JumlahModel jumlah : resep.getListJumlah()){ - jumlah.setResep(resep); + resepModel.setAppointment(appointment); + resepModel.setIsDone(false); + resepModel.setCreatedAt(LocalDateTime.now()); + + if (resepModel.getListJumlah() != null){ + for (JumlahModel jumlah : resepModel.getListJumlah()){ + jumlah.setResep(resepModel); jumlahService.addJumlah(jumlah); } } - resepService.addResep(resep); - appointment.setListResep(resep); + resepService.addResep(resepModel); + appointment.setListResep(resepModel); appointmentService.updateAppointment(appointment); - System.out.println(appointment.getListResep().getId()); - model.addAttribute("resep", resep); + model.addAttribute("resep", resepModel); return "resep/add-resep"; } @@ -104,25 +109,13 @@ public class ResepController { model.addAttribute("pasien", resep.getAppointment().getPasien()); model.addAttribute("apoteker", resep.getApoteker()); - Boolean stokAda = true; - for (JumlahModel obatDibutuhkan : listJumlah){ - String idObat = obatDibutuhkan.getObat().getIdObat(); - System.out.println("stok tersedia adalah " + obatService.getObat(idObat).getStok()); - System.out.println("stok diperlukan adalah " + obatDibutuhkan.getKuantitas()); - if(obatDibutuhkan.getKuantitas() > obatService.getObat(idObat).getStok()){ - stokAda = false; - } - } - - model.addAttribute("stokAda", stokAda); - return "resep/view-resep"; } @PostMapping(value = "/add/{kodeAppointment}", params = {"addRowResep"}) private String addRowObatMultiple( @PathVariable("kodeAppointment") String kodeApt, - @ModelAttribute ResepModel resep, + @ModelAttribute ResepDTO resep, Model model ) { List<ObatModel> listObat = obatService.getListObat(); @@ -133,8 +126,15 @@ public class ResepController { resep.setListJumlah(new ArrayList<>()); } resep.setAppointment(appointment); + + ResepModel resepModel = new ResepModel(); + resepModel.setAppointment(appointment); + resepModel.setListJumlah(resep.getListJumlah()); + resepModel.setApoteker(resep.getApoteker()); + JumlahModel newJumlah = new JumlahModel(); - newJumlah.setResep(resep); + newJumlah.setResep(resepModel); + resep.getListJumlah().add(newJumlah); List<JumlahModel> listJumlah = jumlahService.getListJumlah(); @@ -150,7 +150,7 @@ public class ResepController { @PostMapping(value = "/add/{kodeAppointment}", params = {"deleteRowResep"}) private String deleteRowObatMultiple( @PathVariable("kodeAppointment") String kodeApt, - @ModelAttribute ResepModel resep, + @ModelAttribute ResepDTO resep, @RequestParam("deleteRowResep") Integer row, Model model ) { @@ -173,23 +173,4 @@ public class ResepController { return "resep/form-add-resep"; } - @PostMapping("/update/{idResep}") - public String updateResep(@PathVariable Long idResep, Model model){ - ResepModel resep = resepService.getResep(idResep); - resep.setIsDone(Boolean.TRUE); - resepService.addResep(resep); - model.addAttribute("resep", resep); - - List<JumlahModel> listJumlah = resep.getListJumlah(); - model.addAttribute("listJumlah", listJumlah); - model.addAttribute("resep", resep); - model.addAttribute("dokter", resep.getAppointment().getDokter()); - model.addAttribute("pasien", resep.getAppointment().getPasien()); - model.addAttribute("apoteker", resep.getApoteker()); - model.addAttribute("stokAda", true); - return "redirect:/resep/view-detail/?id=" + idResep; - } - - -} - +} \ No newline at end of file diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/model/ResepDTO.java b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/model/ResepDTO.java new file mode 100644 index 0000000..317ce78 --- /dev/null +++ b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/model/ResepDTO.java @@ -0,0 +1,25 @@ +package spring.tk.springtkapap.resep.model; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import spring.tk.springtkapap.appointment.model.AppointmentModel; +import spring.tk.springtkapap.jumlah.model.JumlahModel; +import spring.tk.springtkapap.user.model.ApotekerModel; + +import java.time.LocalDateTime; +import java.util.List; + +@Setter +@Getter +@NoArgsConstructor +@AllArgsConstructor +public class ResepDTO { + Long id; + Boolean isDone; + LocalDateTime createdAt; + ApotekerModel apoteker; + List<JumlahModel> listJumlah; + AppointmentModel appointment; +} -- GitLab From 64de88e46d23fa30ad61473779db392b63fb0491 Mon Sep 17 00:00:00 2001 From: "nandhita.zefania" <nandhita.zefania@ui.ac.id> Date: Mon, 12 Dec 2022 22:12:41 +0700 Subject: [PATCH 14/16] feat: fix merge --- .../resep/controller/ResepController.java | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/controller/ResepController.java b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/controller/ResepController.java index 652ad80..d468ab2 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/controller/ResepController.java +++ b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/controller/ResepController.java @@ -24,6 +24,7 @@ import spring.tk.springtkapap.obat.service.ObatService; import spring.tk.springtkapap.resep.model.ResepDTO; import spring.tk.springtkapap.resep.model.ResepModel; import spring.tk.springtkapap.resep.service.ResepService; +import spring.tk.springtkapap.tagihan.TagihanService; import spring.tk.springtkapap.user.model.ApotekerModel; @Controller @@ -46,6 +47,9 @@ public class ResepController { @Autowired private ApotekerService apotekerService; + @Autowired + private TagihanService tagihanService; + @GetMapping("/add/{kodeAppointment}") public String addResepForm(@PathVariable("kodeAppointment") String kodeApt, Model model){ AppointmentModel appointment = appointmentService.getAppointment(kodeApt); @@ -173,4 +177,22 @@ public class ResepController { return "resep/form-add-resep"; } -} \ No newline at end of file + @PostMapping("/update/{idResep}") + public String updateResep(@PathVariable Long idResep, Model model){ + ResepModel resep = resepService.getResep(idResep); + AppointmentModel appointment = resep.getAppointment(); + resep.setIsDone(Boolean.TRUE); + resepService.addResep(resep); + model.addAttribute("resep", resep); + List<JumlahModel> listJumlah = resep.getListJumlah(); + tagihanService.addTagihan(appointment, listJumlah); + + model.addAttribute("listJumlah", listJumlah); + model.addAttribute("resep", resep); + model.addAttribute("dokter", resep.getAppointment().getDokter()); + model.addAttribute("pasien", resep.getAppointment().getPasien()); + model.addAttribute("apoteker", resep.getApoteker()); + model.addAttribute("stokAda", true); + return "redirect:/resep/view-detail/?id=" + idResep; + } +} -- GitLab From 56e888e6436b93edaae98695da29afce0f49c274 Mon Sep 17 00:00:00 2001 From: "nandhita.zefania" <nandhita.zefania@ui.ac.id> Date: Mon, 12 Dec 2022 22:31:40 +0700 Subject: [PATCH 15/16] feat: handle sonarqube --- SpringTkApap/gradle.properties | 4 +- .../resep/controller/ResepController.java | 61 ++++++++++--------- .../SpringTkApap/resep/model/ResepModel.java | 5 +- .../resep/rest/ResepRestController.java | 8 +-- .../tagihan/TagihanServiceImpl.java | 2 +- 5 files changed, 43 insertions(+), 37 deletions(-) diff --git a/SpringTkApap/gradle.properties b/SpringTkApap/gradle.properties index f52c4b6..0478156 100644 --- a/SpringTkApap/gradle.properties +++ b/SpringTkApap/gradle.properties @@ -1,3 +1,3 @@ systemProp.sonar.host.url=https://sonarqube.cs.ui.ac.id -systemProp.sonar.projectKey= tk-apap-53 -systemProp.sonar.login=57e13a92a36c10e15e0a60bf9f39493b1c8b28ac \ No newline at end of file +systemProp.sonar.projectKey= spring-tk-apap-53 +systemProp.sonar.login=5aaccf38ab7b1144d0cf4365521911591314e892 \ No newline at end of file diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/controller/ResepController.java b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/controller/ResepController.java index d468ab2..ab7fe8d 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/controller/ResepController.java +++ b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/controller/ResepController.java @@ -50,29 +50,34 @@ public class ResepController { @Autowired private TagihanService tagihanService; + private static final String RESEP = "resep"; + private static final String LISTOBAT = "listObat"; + private static final String LISTAPOTEKER = "listApoteker"; + private static final String LISTJUMLAH = "listJumlah"; + private static final String FORMADDRESEP = "resep/form-add-resep"; + @GetMapping("/add/{kodeAppointment}") public String addResepForm(@PathVariable("kodeAppointment") String kodeApt, Model model){ AppointmentModel appointment = appointmentService.getAppointment(kodeApt); - ResepDTO resep = new ResepDTO(); + var resep = new ResepDTO(); List<ObatModel> listObat = obatService.getListObat(); List<ApotekerModel> listApoteker = apotekerService.getAll(); - // resep.setIsDone(false); resep.setAppointment(appointment); resep.setListJumlah(new ArrayList<>()); resep.getListJumlah().add(new JumlahModel()); model.addAttribute("kode", appointment.getKode()); - model.addAttribute("resep", resep); - model.addAttribute("listObat", listObat); - model.addAttribute("listApoteker", listApoteker); + model.addAttribute(RESEP, resep); + model.addAttribute(LISTOBAT, listObat); + model.addAttribute(LISTAPOTEKER, listApoteker); - return "resep/form-add-resep"; + return FORMADDRESEP; } @PostMapping("/add/{kodeAppointment}") public String addResepSubmit(@PathVariable("kodeAppointment") String kodeApt, @ModelAttribute ResepDTO resep, Model model){ - ResepModel resepModel = new ResepModel(); + var resepModel = new ResepModel(); resepModel.setApoteker(resep.getApoteker()); resepModel.setListJumlah(resep.getListJumlah()); @@ -91,7 +96,7 @@ public class ResepController { resepService.addResep(resepModel); appointment.setListResep(resepModel); appointmentService.updateAppointment(appointment); - model.addAttribute("resep", resepModel); + model.addAttribute(RESEP, resepModel); return "resep/add-resep"; } @@ -107,8 +112,8 @@ public class ResepController { public String viewDetailResepById(@RequestParam(value = "id") Long id, Model model) { ResepModel resep = resepService.getResep(id); List<JumlahModel> listJumlah = resep.getListJumlah(); - model.addAttribute("listJumlah", listJumlah); - model.addAttribute("resep", resep); + model.addAttribute(LISTJUMLAH, listJumlah); + model.addAttribute(RESEP, resep); model.addAttribute("dokter", resep.getAppointment().getDokter()); model.addAttribute("pasien", resep.getAppointment().getPasien()); model.addAttribute("apoteker", resep.getApoteker()); @@ -117,7 +122,7 @@ public class ResepController { } @PostMapping(value = "/add/{kodeAppointment}", params = {"addRowResep"}) - private String addRowObatMultiple( + public String addRowObatMultiple( @PathVariable("kodeAppointment") String kodeApt, @ModelAttribute ResepDTO resep, Model model @@ -126,33 +131,33 @@ public class ResepController { AppointmentModel appointment = appointmentService.getAppointment(kodeApt); List<ApotekerModel> listApoteker = apotekerService.getAll(); - if (resep.getListJumlah() == null || resep.getListJumlah().size() == 0) { + if (resep.getListJumlah() == null || resep.getListJumlah().isEmpty()) { resep.setListJumlah(new ArrayList<>()); } resep.setAppointment(appointment); - ResepModel resepModel = new ResepModel(); + var resepModel = new ResepModel(); resepModel.setAppointment(appointment); resepModel.setListJumlah(resep.getListJumlah()); resepModel.setApoteker(resep.getApoteker()); - JumlahModel newJumlah = new JumlahModel(); + var newJumlah = new JumlahModel(); newJumlah.setResep(resepModel); resep.getListJumlah().add(newJumlah); List<JumlahModel> listJumlah = jumlahService.getListJumlah(); - model.addAttribute("resep", resep); - model.addAttribute("listJumlah", listJumlah); - model.addAttribute("listObat", listObat); + model.addAttribute(RESEP, resep); + model.addAttribute(LISTJUMLAH, listJumlah); + model.addAttribute(LISTOBAT, listObat); model.addAttribute("kode", appointment.getKode()); - model.addAttribute("listApoteker", listApoteker); + model.addAttribute(LISTAPOTEKER, listApoteker); - return "resep/form-add-resep"; + return FORMADDRESEP; } @PostMapping(value = "/add/{kodeAppointment}", params = {"deleteRowResep"}) - private String deleteRowObatMultiple( + public String deleteRowObatMultiple( @PathVariable("kodeAppointment") String kodeApt, @ModelAttribute ResepDTO resep, @RequestParam("deleteRowResep") Integer row, @@ -168,13 +173,13 @@ public class ResepController { List<JumlahModel> listJumlah = jumlahService.getListJumlah(); - model.addAttribute("resep", resep); - model.addAttribute("listJumlah", listJumlah); - model.addAttribute("listObat", listObat); + model.addAttribute(RESEP, resep); + model.addAttribute(LISTJUMLAH, listJumlah); + model.addAttribute(LISTOBAT, listObat); model.addAttribute("kode", appointment.getKode()); - model.addAttribute("listApoteker", listApoteker); + model.addAttribute(LISTAPOTEKER, listApoteker); - return "resep/form-add-resep"; + return FORMADDRESEP; } @PostMapping("/update/{idResep}") @@ -183,12 +188,12 @@ public class ResepController { AppointmentModel appointment = resep.getAppointment(); resep.setIsDone(Boolean.TRUE); resepService.addResep(resep); - model.addAttribute("resep", resep); + model.addAttribute(RESEP, resep); List<JumlahModel> listJumlah = resep.getListJumlah(); tagihanService.addTagihan(appointment, listJumlah); - model.addAttribute("listJumlah", listJumlah); - model.addAttribute("resep", resep); + model.addAttribute(LISTJUMLAH, listJumlah); + model.addAttribute(RESEP, resep); model.addAttribute("dokter", resep.getAppointment().getDokter()); model.addAttribute("pasien", resep.getAppointment().getPasien()); model.addAttribute("apoteker", resep.getApoteker()); diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/model/ResepModel.java b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/model/ResepModel.java index 718872f..ced7f9e 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/model/ResepModel.java +++ b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/model/ResepModel.java @@ -2,7 +2,6 @@ package spring.tk.springtkapap.resep.model; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.sun.istack.NotNull; import lombok.*; import org.hibernate.annotations.OnDelete; import org.hibernate.annotations.OnDeleteAction; @@ -12,6 +11,7 @@ import spring.tk.springtkapap.jumlah.model.JumlahModel; import spring.tk.springtkapap.user.model.ApotekerModel; import javax.persistence.*; +import javax.validation.constraints.NotNull; import java.io.Serializable; import java.time.LocalDateTime; import java.util.List; @@ -27,7 +27,8 @@ public class ResepModel implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; - @NotNull @Column(nullable = false) + @NotNull + @Column(nullable = false) private Boolean isDone; @NotNull @Column(nullable = false) diff --git a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/rest/ResepRestController.java b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/rest/ResepRestController.java index 0669589..bc3bb5a 100644 --- a/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/rest/ResepRestController.java +++ b/SpringTkApap/src/main/java/spring/TK/SpringTkApap/resep/rest/ResepRestController.java @@ -24,13 +24,13 @@ public class ResepRestController { ResepRestService resepRestService; @PostMapping("/add/{kodeAppointment}") - private ResponseEntity createResep(@RequestBody ResepDTO resep, BindingResult bindingResult, @PathVariable String kodeAppointment){ + public ResponseEntity<Object> createResep(@RequestBody ResepDTO resep, BindingResult bindingResult, @PathVariable String kodeAppointment){ if (bindingResult.hasFieldErrors()) { throw new ResponseStatusException( HttpStatus.BAD_REQUEST, "Request body has invalid type or missing field." ); } else { - ResepModel resepModel = new ResepModel(); + var resepModel = new ResepModel(); resepModel.setIsDone(resep.getIsDone()); resepModel.setCreatedAt(resep.getCreatedAt()); resepModel.setApoteker(resep.getApoteker()); @@ -42,7 +42,7 @@ public class ResepRestController { } @GetMapping("/detail/{idResep}") - private ResponseEntity<ResepModel> getResep(@PathVariable(name = "id") Long id){ + public ResponseEntity<ResepModel> getResep(@PathVariable(name = "id") Long id){ try { return ResponseEntity.status(HttpStatus.OK).body(resepRestService.getResep(id)); } catch (NoSuchElementException e) { @@ -53,7 +53,7 @@ public class ResepRestController { } @GetMapping("/all") - private ResponseEntity<List<ResepModel>> getAllResep(){ + public ResponseEntity<List<ResepModel>> getAllResep(){ return ResponseEntity.status(HttpStatus.OK).body(resepRestService.getListResep()); } } \ No newline at end of file diff --git a/SpringTkApap/src/main/java/spring/tk/springtkapap/tagihan/TagihanServiceImpl.java b/SpringTkApap/src/main/java/spring/tk/springtkapap/tagihan/TagihanServiceImpl.java index 45f1d91..b9267c2 100644 --- a/SpringTkApap/src/main/java/spring/tk/springtkapap/tagihan/TagihanServiceImpl.java +++ b/SpringTkApap/src/main/java/spring/tk/springtkapap/tagihan/TagihanServiceImpl.java @@ -39,7 +39,7 @@ public class TagihanServiceImpl implements TagihanService{ obatService.updateObat(obatUpdate); } } - TagihanModel tagihan = new TagihanModel(); + var tagihan = new TagihanModel(); tagihan.setAppointment(appointment); tagihan.setJumlahTagihan(nominalTagihan); tagihan.setIsPaid(Boolean.FALSE); -- GitLab From 823fd4cd41c3fca5ba78d3d08a47254ad107c807 Mon Sep 17 00:00:00 2001 From: "nandhita.zefania" <nandhita.zefania@ui.ac.id> Date: Mon, 12 Dec 2022 22:57:20 +0700 Subject: [PATCH 16/16] feat: handle uri parse --- tk_apap_flutter/lib/pages/CreateAppointment.dart | 13 +++---------- tk_apap_flutter/lib/pages/DaftarAppointment.dart | 2 +- tk_apap_flutter/lib/pages/DetailAppointment.dart | 4 ++-- tk_apap_flutter/lib/pages/HomeScreen.dart | 2 +- tk_apap_flutter/lib/pages/LihatProfil.dart | 2 +- tk_apap_flutter/lib/pages/TopUpSaldo.dart | 4 ++-- tk_apap_flutter/lib/pages/detailTagihan.dart | 4 ++-- tk_apap_flutter/lib/pages/login.dart | 7 +------ tk_apap_flutter/lib/pages/register.dart | 2 +- tk_apap_flutter/lib/pages/tagihan.dart | 2 +- tk_apap_flutter/lib/widgets/drawerWidget.dart | 2 +- 11 files changed, 16 insertions(+), 28 deletions(-) diff --git a/tk_apap_flutter/lib/pages/CreateAppointment.dart b/tk_apap_flutter/lib/pages/CreateAppointment.dart index 7f42d5c..6a7ba2a 100644 --- a/tk_apap_flutter/lib/pages/CreateAppointment.dart +++ b/tk_apap_flutter/lib/pages/CreateAppointment.dart @@ -20,11 +20,7 @@ class _CreateAppointmentState extends State<CreateAppointment> { // Data yang diperlukan tanggal dan waktu, dropdown [namaDokter - Tarif] Future<List<Dokter>> getAllDoktor() async { -<<<<<<< HEAD - var uri = Uri.parse('http://10.0.2.2:8080/api/doktor/all'); -======= - var uri = Uri.parse('http://192.168.1.2:8080/api/doktor/all'); ->>>>>>> 043382a8d2493050d1fd9e4c42073c45da6a4ea9 + var uri = Uri.parse('https://apap-053.cs.ui.ac.id/api/doktor/all'); dynamic token = await SessionManager().get('token'); String tknString = ('Bearer $token'); print(tknString); @@ -107,11 +103,8 @@ class _CreateAppointmentState extends State<CreateAppointment> { String strUsername = username; var response = await http.post( Uri.parse( -<<<<<<< HEAD - 'http://10.0.2.2:8080/api/appointment/create'), -======= - 'http://192.168.1.2:8080/api/appointment/create'), ->>>>>>> 043382a8d2493050d1fd9e4c42073c45da6a4ea9 + 'https://apap-053.cs.ui.ac.id/api/appointment/create'), + headers: { 'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8', diff --git a/tk_apap_flutter/lib/pages/DaftarAppointment.dart b/tk_apap_flutter/lib/pages/DaftarAppointment.dart index 5138fbd..8e16d1f 100644 --- a/tk_apap_flutter/lib/pages/DaftarAppointment.dart +++ b/tk_apap_flutter/lib/pages/DaftarAppointment.dart @@ -17,7 +17,7 @@ class DaftarAppointment extends StatefulWidget { class _DaftarAppointmentState extends State<DaftarAppointment> { Future<List<AptDTO>> getAppointment() async { - var uri = Uri.parse('http://192.168.1.5:8080/api/appointment/all'); + var uri = Uri.parse('https://apap-053.cs.ui.ac.id/api/appointment/all'); dynamic token = await SessionManager().get('token'); String tknString = ('Bearer $token'); http.Response response = await http.get(uri, headers: { diff --git a/tk_apap_flutter/lib/pages/DetailAppointment.dart b/tk_apap_flutter/lib/pages/DetailAppointment.dart index 8acc8bb..b6ef909 100644 --- a/tk_apap_flutter/lib/pages/DetailAppointment.dart +++ b/tk_apap_flutter/lib/pages/DetailAppointment.dart @@ -16,7 +16,7 @@ class DetailAppointment extends StatelessWidget { Future<DetailDTO> getDetailApt() async { String kode = await SessionManager().get("kodeApt") as String; - var uri = Uri.parse('http://192.168.1.5:8080/api/appointment/detail/$kode'); + var uri = Uri.parse('https://apap-053.cs.ui.ac.id/api/appointment/detail/$kode'); dynamic token = await SessionManager().get("token"); String tknString = 'Bearer $token'; log("here"); @@ -100,7 +100,7 @@ class DetailAppointment extends StatelessWidget { const SizedBox(height: 16,), TextButton( onPressed: (data.detailResep == 0) ? null : () { - return Navigator.of(context).pushNamed(HomeScreen.routeName); // TODO: Ke Resep + return Navigator.of(context).pushNamed(HomeScreen.routeName); }, child: (data.detailResep == 0) ? const Text('Tidak Ada Resep') : const Text('Detail Resep'), ), diff --git a/tk_apap_flutter/lib/pages/HomeScreen.dart b/tk_apap_flutter/lib/pages/HomeScreen.dart index 6ed3278..19614cc 100644 --- a/tk_apap_flutter/lib/pages/HomeScreen.dart +++ b/tk_apap_flutter/lib/pages/HomeScreen.dart @@ -310,7 +310,7 @@ class _HomeScreenState extends State<HomeScreen> { } } - final List<Widget> _children = [ //TODO:ubah pages + final List<Widget> _children = [ HomeScreen(), CreateAppointment(), LihatProfil(), diff --git a/tk_apap_flutter/lib/pages/LihatProfil.dart b/tk_apap_flutter/lib/pages/LihatProfil.dart index 851a247..82b6b93 100644 --- a/tk_apap_flutter/lib/pages/LihatProfil.dart +++ b/tk_apap_flutter/lib/pages/LihatProfil.dart @@ -13,7 +13,7 @@ class LihatProfil extends StatelessWidget { static const routeName = '/edit'; Future<PasienDTO> getPasien() async { - var uri = Uri.parse('http://10.0.2.2:8080/api/pasien/getself'); + var uri = Uri.parse('https://apap-053.cs.ui.ac.id/api/pasien/getself'); dynamic token = await SessionManager().get('token'); String tknString = ('Bearer $token'); http.Response response = await http.get(uri, headers: { diff --git a/tk_apap_flutter/lib/pages/TopUpSaldo.dart b/tk_apap_flutter/lib/pages/TopUpSaldo.dart index a8ab4f3..4e96423 100644 --- a/tk_apap_flutter/lib/pages/TopUpSaldo.dart +++ b/tk_apap_flutter/lib/pages/TopUpSaldo.dart @@ -18,7 +18,7 @@ class TopUpSaldo extends StatelessWidget { var textJumlahTopUp = TextEditingController(); Future<PasienDTO> getPasien() async { - var uri = Uri.parse('http://10.0.2.2:8080/api/pasien/getself'); + var uri = Uri.parse('https://apap-053.cs.ui.ac.id/api/pasien/getself'); dynamic token = await SessionManager().get('token'); String tknString = ('Bearer $token'); http.Response response = await http.get(uri, headers: { @@ -303,7 +303,7 @@ class TopUpSaldo extends StatelessWidget { String strUsername = username; var response = await http.post( Uri.parse( - 'http://10.0.2.2:8080/api/pasien/top-up/' + strUsername), + 'https://apap-053.cs.ui.ac.id/api/pasien/top-up/' + strUsername), headers: { 'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8', diff --git a/tk_apap_flutter/lib/pages/detailTagihan.dart b/tk_apap_flutter/lib/pages/detailTagihan.dart index 28849d1..ad563eb 100644 --- a/tk_apap_flutter/lib/pages/detailTagihan.dart +++ b/tk_apap_flutter/lib/pages/detailTagihan.dart @@ -15,7 +15,7 @@ class DetailTagihan extends StatelessWidget { Future<TagihanDTO> getDetailTagihan() async { String kode = await SessionManager().get("kodeTagihan") as String; - var uri = Uri.parse('http://192.168.1.2:8080/api/tagihan/detail/$kode'); + var uri = Uri.parse('https://apap-053.cs.ui.ac.id/api/tagihan/detail/$kode'); dynamic token = await SessionManager().get("token"); String tknString = 'Bearer $token'; log("here"); @@ -105,7 +105,7 @@ class DetailTagihan extends StatelessWidget { dynamic kodeTagihan = await SessionManager().get("kodeTagihan"); var response = await http.post( Uri.parse( - 'http://192.168.1.2:8080/api/tagihan/bayar'), + 'https://apap-053.cs.ui.ac.id/api/tagihan/bayar'), headers: { 'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8', diff --git a/tk_apap_flutter/lib/pages/login.dart b/tk_apap_flutter/lib/pages/login.dart index bb5f597..e5c1054 100644 --- a/tk_apap_flutter/lib/pages/login.dart +++ b/tk_apap_flutter/lib/pages/login.dart @@ -24,14 +24,10 @@ class _LoginState extends State<Login> { final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>(); UserLogin user = UserLogin("", ""); bool _isHidden = true; -<<<<<<< HEAD final url = Uri.parse( - 'http://10.0.2.2:8080/api/authenticate'); //TODO:ubah sesuai IP Address, nanti pakai link web + 'https://apap-053.cs.ui.ac.id/api/authenticate'); -======= - final url = Uri.parse('http://192.168.1.2:8080/api/authenticate'); //TODO:ubah sesuai IP Address, nanti pakai link web ->>>>>>> 043382a8d2493050d1fd9e4c42073c45da6a4ea9 final header = <String, String>{ 'Content-Type': 'application/json; charset=UTF-8' }; @@ -51,7 +47,6 @@ class _LoginState extends State<Login> { Map<String, dynamic> jsonResponse = await stringToMap(json); print(jsonResponse); if (jsonResponse["role"] == "PASIEN") { - // TODO: PASIEN saveSession(jsonResponse); Navigator.of(context).pushReplacementNamed(HomeScreen.routeName); } else { diff --git a/tk_apap_flutter/lib/pages/register.dart b/tk_apap_flutter/lib/pages/register.dart index c9c032e..c42b9e4 100644 --- a/tk_apap_flutter/lib/pages/register.dart +++ b/tk_apap_flutter/lib/pages/register.dart @@ -224,7 +224,7 @@ class _RegisterState extends State<Register> { if (_formKey.currentState.validate()) { var response = await http.post( Uri.parse( - 'http://10.0.2.2:8080/api/pasien/register'), + 'https://apap-053.cs.ui.ac.id/api/pasien/register'), headers: { 'Accept': 'application/json', 'Content-Type': 'application/json'}, diff --git a/tk_apap_flutter/lib/pages/tagihan.dart b/tk_apap_flutter/lib/pages/tagihan.dart index ea6f461..8df7ae0 100644 --- a/tk_apap_flutter/lib/pages/tagihan.dart +++ b/tk_apap_flutter/lib/pages/tagihan.dart @@ -20,7 +20,7 @@ class DaftarTagihan extends StatefulWidget { class _DaftarTagihanState extends State<DaftarTagihan> { Future<List<TagihanDTO>> getTagihan() async { - var uri = Uri.parse('http://192.168.1.2:8080/api/tagihan/all'); + var uri = Uri.parse('https://apap-053.cs.ui.ac.id/api/tagihan/all'); dynamic token = await SessionManager().get('token'); String tknString = ('Bearer $token'); http.Response response = await http.get(uri, diff --git a/tk_apap_flutter/lib/widgets/drawerWidget.dart b/tk_apap_flutter/lib/widgets/drawerWidget.dart index 10e0852..f1011fd 100644 --- a/tk_apap_flutter/lib/widgets/drawerWidget.dart +++ b/tk_apap_flutter/lib/widgets/drawerWidget.dart @@ -118,7 +118,7 @@ class CustomDrawer extends StatelessWidget { color: Colors.black ),), onTap: () { - Navigator.of(context).pushNamed(DaftarTagihan.routeName); // TODO: ubah tagihan + Navigator.of(context).pushNamed(DaftarTagihan.routeName); }, ), ListTile( -- GitLab