From e7678c0e5e1ae5891683ba5223dc30ab69277848 Mon Sep 17 00:00:00 2001 From: Supichai Pothong Date: Wed, 11 Oct 2023 23:43:44 +0700 Subject: [PATCH] [update] remove unused components --- src/app/@config/app.ts | 48 - src/app/app-routing.module.ts | 129 +-- src/app/auth/login/login.component.ts | 98 +- src/app/core/base/base-form.ts | 75 ++ src/app/core/base/base-list.ts | 75 ++ src/app/core/base/base-service.ts | 93 ++ src/app/core/base/base-store-service.ts | 93 ++ src/app/core/configs/config.ts | 5 + src/app/core/core.module.ts | 20 + src/app/core/enum/role.ts | 44 + src/app/core/guards/auth.guard.ts | 29 + .../token-intercepter.interceptor.spec.ts | 16 + .../token-intercepter.interceptor.ts | 44 + src/app/core/service/manage/kyc.service.ts | 16 + src/app/pages/@layouts/layouts.component.html | 2 +- src/app/pages/@layouts/layouts.component.ts | 7 +- .../appraisal-1st-time-routing.module.ts | 28 - .../1st-time/appraisal-1st-time.module.ts | 16 - .../do/appraisal-1st-time-do.component.html | 391 -------- .../do/appraisal-1st-time-do.component.ts | 309 ------- .../appraisal-1st-time-history.component.html | 123 --- .../appraisal-1st-time-history.component.ts | 91 -- .../appraisal-1st-time-index.component.html | 122 --- .../appraisal-1st-time-index.component.ts | 71 -- .../pdf/appraisal-1st-time-pdf.component.html | 3 - .../pdf/appraisal-1st-time-pdf.component.ts | 105 --- .../appraisal-2nd-time-routing.module.ts | 28 - .../2nd-time/appraisal-2nd-time.module.ts | 16 - .../do/appraisal-2nd-time-do.component.html | 262 ------ .../do/appraisal-2nd-time-do.component.ts | 274 ------ .../appraisal-2nd-time-history.component.html | 118 --- .../appraisal-2nd-time-history.component.ts | 86 -- .../appraisal-2nd-time-index.component.html | 186 ---- .../appraisal-2nd-time-index.component.ts | 121 --- .../pdf/appraisal-2nd-time-pdf.component.html | 3 - .../pdf/appraisal-2nd-time-pdf.component.ts | 94 -- .../appraisal-3rd-time-routing.module.ts | 30 - .../3rd-time/appraisal-3rd-time.module.ts | 16 - .../do/appraisal-3rd-time-do.component.html | 401 -------- .../do/appraisal-3rd-time-do.component.ts | 283 ------ .../appraisal-3rd-time-history.component.html | 118 --- .../appraisal-3rd-time-history.component.ts | 86 -- .../appraisal-3rd-time-index.component.html | 187 ---- .../appraisal-3rd-time-index.component.ts | 132 --- .../pdf/appraisal-3rd-time-pdf.component.html | 3 - .../pdf/appraisal-3rd-time-pdf.component.ts | 94 -- .../contract-approved-routing.module.ts | 28 - .../approved/contract-approved.module.ts | 16 - .../do/contract-approved-do.component.html | 694 -------------- .../do/contract-approved-do.component.ts | 187 ---- .../contract-approved-index.component.html | 205 ----- .../contract-approved-index.component.ts | 125 --- .../pdf/contract-approved-pdf.component.html | 3 - .../pdf/contract-approved-pdf.component.ts | 114 --- .../make/contract-make-routing.module.ts | 28 - .../contract/make/contract-make.module.ts | 16 - .../make/do/contract-make-do.component.html | 867 ------------------ .../make/do/contract-make-do.component.ts | 222 ----- .../index/contract-make-index.component.html | 202 ---- .../index/contract-make-index.component.ts | 131 --- .../make/pdf/contract-make-pdf.component.html | 3 - .../make/pdf/contract-make-pdf.component.ts | 111 --- .../pages/dashboard/index/index.component.ts | 11 +- .../do/finance-invoice-do.component.html | 217 ----- .../do/finance-invoice-do.component.ts | 137 --- .../invoice/finance-invoice-routing.module.ts | 28 - .../finance/invoice/finance-invoice.module.ts | 16 - .../finance-invoice-index.component.html | 200 ---- .../index/finance-invoice-index.component.ts | 124 --- .../pdf/finance-invoice-pdf.component.html | 3 - .../pdf/finance-invoice-pdf.component.ts | 110 --- .../do/finance-paying-do.component.html | 238 ----- .../paying/do/finance-paying-do.component.ts | 147 --- .../paying/finance-paying-routing.module.ts | 28 - .../finance/paying/finance-paying.module.ts | 16 - .../index/finance-paying-index.component.html | 209 ----- .../index/finance-paying-index.component.ts | 133 --- .../pdf/finance-paying-pdf.component.html | 3 - .../pdf/finance-paying-pdf.component.ts | 85 -- .../payment/finance-payment-routing.module.ts | 34 - .../finance/payment/finance-payment.module.ts | 16 - .../finance-payment-index.component.html | 286 ------ .../index/finance-payment-index.component.ts | 223 ----- ...nce-payment-pdf-installment.component.html | 3 - ...nance-payment-pdf-installment.component.ts | 101 -- ...finance-payment-pdf-invoice.component.html | 3 - .../finance-payment-pdf-invoice.component.ts | 103 --- .../pdf/finance-payment-pdf.component.html | 3 - .../pdf/finance-payment-pdf.component.ts | 101 -- .../finance-payment-create.component.html | 154 ---- .../finance-payment-create.component.ts | 128 --- ...finance-payment-installment.component.html | 148 --- .../finance-payment-installment.component.ts | 128 --- .../finance-payment-update.component.html | 173 ---- .../finance-payment-update.component.ts | 145 --- .../kyc/container/kyc/kyc.container.html | 1 + .../kyc/container/kyc/kyc.container.scss | 0 .../kyc/container/kyc/kyc.container.spec.ts | 23 + .../manage/kyc/container/kyc/kyc.container.ts | 17 + src/app/pages/manage/kyc/kyc.module.ts | 35 + .../kyc/presenter/list/list.component.html | 103 +++ .../kyc/presenter/list/list.component.scss | 0 .../kyc/presenter/list/list.component.spec.ts | 23 + .../kyc/presenter/list/list.component.ts | 17 + src/app/pages/manage/kyc/router/router.ts | 16 + ...g-accounts-receivable-index.component.html | 58 -- ...ing-accounts-receivable-index.component.ts | 97 -- src/app/pages/report/report-routing.module.ts | 23 - src/app/pages/report/report.module.ts | 16 - .../warehouse-received-index.component.html | 66 -- .../warehouse-received-index.component.ts | 83 -- .../customer/customer-routing.module.ts | 21 - .../pages/setting/customer/customer.module.ts | 14 - .../customer/do/customer-do.component.html | 136 --- .../customer/do/customer-do.component.ts | 115 --- .../import/customer-import.component.html | 37 - .../import/customer-import.component.ts | 72 -- .../index/customer-index.component.html | 90 -- .../index/customer-index.component.ts | 93 -- .../do/master-area-do.component.html | 65 -- .../do/master-area-do.component.ts | 73 -- .../index/master-area-index.component.html | 79 -- .../index/master-area-index.component.ts | 67 -- .../master-area/master-area-routing.module.ts | 19 - .../setting/master-area/master-area.module.ts | 14 - .../do/master-product-brand-do.component.html | 36 - .../do/master-product-brand-do.component.ts | 73 -- .../index/master-product-brand.component.html | 53 -- .../index/master-product-brand.component.ts | 67 -- .../master-product-brand-routing.module.ts | 19 - .../master-product-brand.module.ts | 14 - .../master-product-category-do.component.html | 36 - .../master-product-category-do.component.ts | 73 -- .../master-product-category.component.html | 53 -- .../master-product-category.component.ts | 67 -- .../master-product-category-routing.module.ts | 19 - .../master-product-category.module.ts | 14 - ...ster-product-measurement-do.component.html | 92 -- ...master-product-measurement-do.component.ts | 113 --- .../master-product-measurement.component.html | 53 -- .../master-product-measurement.component.ts | 63 -- ...ster-product-measurement-routing.module.ts | 22 - .../master-product-measurement.module.ts | 14 - .../do/master-product-unit-do.component.html | 36 - .../do/master-product-unit-do.component.ts | 73 -- .../index/master-product-unit.component.html | 53 -- .../index/master-product-unit.component.ts | 67 -- .../master-product-unit-routing.module.ts | 19 - .../master-product-unit.module.ts | 14 - .../do/master-storage-box-do.component.html | 38 - .../do/master-storage-box-do.component.ts | 73 -- .../master-storage-box-index.component.html | 49 - .../master-storage-box-index.component.ts | 67 -- .../master-storage-box-routing.module.ts | 19 - .../master-storage-box.module.ts | 14 - .../packet/do/packet-do.component.html | 120 --- .../setting/packet/do/packet-do.component.ts | 120 --- .../packet/index/packet.component.html | 53 -- .../setting/packet/index/packet.component.ts | 63 -- .../setting/packet/packet-routing.module.ts | 22 - src/app/pages/setting/packet/packet.module.ts | 14 - .../products/do/products-do.component.html | 238 ----- .../products/do/products-do.component.ts | 218 ----- .../import/product-import.component.html | 37 - .../import/product-import.component.ts | 72 -- .../products/index/products.component.html | 127 --- .../products/index/products.component.ts | 139 --- .../products/products-routing.module.ts | 24 - .../pages/setting/products/products.module.ts | 16 - .../promotion/do/promotion-do.component.html | 84 -- .../promotion/do/promotion-do.component.ts | 125 --- .../promotion/index/promotion.component.html | 53 -- .../promotion/index/promotion.component.ts | 63 -- .../promotion/promotion-routing.module.ts | 22 - .../setting/promotion/promotion.module.ts | 14 - .../seller/do/seller-do.component.html | 72 -- .../setting/seller/do/seller-do.component.ts | 107 --- .../seller/index/seller-index.component.html | 90 -- .../seller/index/seller-index.component.ts | 76 -- .../setting/seller/seller-routing.module.ts | 19 - src/app/pages/setting/seller/seller.module.ts | 14 - .../do/setting-deviation-do.component.html | 31 - .../do/setting-deviation-do.component.ts | 63 -- .../index/setting-deviation.component.html | 53 -- .../index/setting-deviation.component.ts | 63 -- .../setting-deviation-routing.module.ts | 20 - .../setting-deviation.module.ts | 14 - .../do/setting-installment-do.component.html | 46 - .../do/setting-installment-do.component.ts | 61 -- .../index/setting-installment.component.html | 53 -- .../index/setting-installment.component.ts | 63 -- .../setting-installment-routing.module.ts | 20 - .../setting-installment.module.ts | 14 - .../group/do/user-group-do.component.html | 57 -- .../users/group/do/user-group-do.component.ts | 118 --- .../group/index/user-group.component.html | 69 -- .../users/group/index/user-group.component.ts | 68 -- .../manage/do/user-manage-do.component.html | 65 -- .../manage/do/user-manage-do.component.ts | 81 -- .../manage/index/user-manage.component.html | 84 -- .../manage/index/user-manage.component.ts | 69 -- src/app/pages/users/users-routing.module.ts | 25 - src/app/pages/users/users.module.ts | 14 - .../warehouse-disbursement-do.component.html | 847 ----------------- .../do/warehouse-disbursement-do.component.ts | 255 ------ ...arehouse-disbursement-index.component.html | 234 ----- .../warehouse-disbursement-index.component.ts | 171 ---- .../warehouse-disbursement-pdf.component.html | 3 - .../warehouse-disbursement-pdf.component.ts | 110 --- .../popup-measurement.component.html | 38 - .../popup-measurement.component.ts | 37 - .../warehouse-disbursement-routing.module.ts | 29 - .../warehouse-disbursement.module.ts | 16 - .../do/warehouse-inspection-do.component.html | 747 --------------- .../do/warehouse-inspection-do.component.ts | 214 ----- .../warehouse-inspection-index.component.html | 231 ----- .../warehouse-inspection-index.component.ts | 208 ----- .../warehouse-inspection-pdf.component.html | 3 - .../pdf/warehouse-inspection-pdf.component.ts | 110 --- .../popup-measurement.component.html | 38 - .../popup-measurement.component.ts | 37 - .../warehouse-inspection-routing.module.ts | 27 - .../inspection/warehouse-inspection.module.ts | 16 - .../do/warehouse-received-do.component.html | 749 --------------- .../do/warehouse-received-do.component.ts | 217 ----- .../warehouse-received-index.component.html | 185 ---- .../warehouse-received-index.component.ts | 101 -- .../pdf/warehouse-received-pdf.component.html | 3 - .../pdf/warehouse-received-pdf.component.ts | 110 --- .../popup-measurement.component.html | 38 - .../popup-measurement.component.ts | 37 - .../warehouse-received-routing.module.ts | 27 - .../received/warehouse-received.module.ts | 16 - src/environments/environment.development.ts | 6 +- src/environments/environment.ts | 6 +- src/index.html | 2 +- tsconfig.json | 2 +- 237 files changed, 813 insertions(+), 21083 deletions(-) create mode 100644 src/app/core/base/base-form.ts create mode 100644 src/app/core/base/base-list.ts create mode 100644 src/app/core/base/base-service.ts create mode 100644 src/app/core/base/base-store-service.ts create mode 100644 src/app/core/configs/config.ts create mode 100644 src/app/core/core.module.ts create mode 100644 src/app/core/enum/role.ts create mode 100644 src/app/core/guards/auth.guard.ts create mode 100644 src/app/core/intercepter/token-intercepter.interceptor.spec.ts create mode 100644 src/app/core/intercepter/token-intercepter.interceptor.ts create mode 100644 src/app/core/service/manage/kyc.service.ts delete mode 100644 src/app/pages/appraisal/1st-time/appraisal-1st-time-routing.module.ts delete mode 100644 src/app/pages/appraisal/1st-time/appraisal-1st-time.module.ts delete mode 100644 src/app/pages/appraisal/1st-time/do/appraisal-1st-time-do.component.html delete mode 100644 src/app/pages/appraisal/1st-time/do/appraisal-1st-time-do.component.ts delete mode 100644 src/app/pages/appraisal/1st-time/history/appraisal-1st-time-history.component.html delete mode 100644 src/app/pages/appraisal/1st-time/history/appraisal-1st-time-history.component.ts delete mode 100644 src/app/pages/appraisal/1st-time/index/appraisal-1st-time-index.component.html delete mode 100644 src/app/pages/appraisal/1st-time/index/appraisal-1st-time-index.component.ts delete mode 100644 src/app/pages/appraisal/1st-time/pdf/appraisal-1st-time-pdf.component.html delete mode 100644 src/app/pages/appraisal/1st-time/pdf/appraisal-1st-time-pdf.component.ts delete mode 100644 src/app/pages/appraisal/2nd-time/appraisal-2nd-time-routing.module.ts delete mode 100644 src/app/pages/appraisal/2nd-time/appraisal-2nd-time.module.ts delete mode 100644 src/app/pages/appraisal/2nd-time/do/appraisal-2nd-time-do.component.html delete mode 100644 src/app/pages/appraisal/2nd-time/do/appraisal-2nd-time-do.component.ts delete mode 100644 src/app/pages/appraisal/2nd-time/history/appraisal-2nd-time-history.component.html delete mode 100644 src/app/pages/appraisal/2nd-time/history/appraisal-2nd-time-history.component.ts delete mode 100644 src/app/pages/appraisal/2nd-time/index/appraisal-2nd-time-index.component.html delete mode 100644 src/app/pages/appraisal/2nd-time/index/appraisal-2nd-time-index.component.ts delete mode 100644 src/app/pages/appraisal/2nd-time/pdf/appraisal-2nd-time-pdf.component.html delete mode 100644 src/app/pages/appraisal/2nd-time/pdf/appraisal-2nd-time-pdf.component.ts delete mode 100644 src/app/pages/appraisal/3rd-time/appraisal-3rd-time-routing.module.ts delete mode 100644 src/app/pages/appraisal/3rd-time/appraisal-3rd-time.module.ts delete mode 100644 src/app/pages/appraisal/3rd-time/do/appraisal-3rd-time-do.component.html delete mode 100644 src/app/pages/appraisal/3rd-time/do/appraisal-3rd-time-do.component.ts delete mode 100644 src/app/pages/appraisal/3rd-time/history/appraisal-3rd-time-history.component.html delete mode 100644 src/app/pages/appraisal/3rd-time/history/appraisal-3rd-time-history.component.ts delete mode 100644 src/app/pages/appraisal/3rd-time/index/appraisal-3rd-time-index.component.html delete mode 100644 src/app/pages/appraisal/3rd-time/index/appraisal-3rd-time-index.component.ts delete mode 100644 src/app/pages/appraisal/3rd-time/pdf/appraisal-3rd-time-pdf.component.html delete mode 100644 src/app/pages/appraisal/3rd-time/pdf/appraisal-3rd-time-pdf.component.ts delete mode 100644 src/app/pages/contract/approved/contract-approved-routing.module.ts delete mode 100644 src/app/pages/contract/approved/contract-approved.module.ts delete mode 100644 src/app/pages/contract/approved/do/contract-approved-do.component.html delete mode 100644 src/app/pages/contract/approved/do/contract-approved-do.component.ts delete mode 100644 src/app/pages/contract/approved/index/contract-approved-index.component.html delete mode 100644 src/app/pages/contract/approved/index/contract-approved-index.component.ts delete mode 100644 src/app/pages/contract/approved/pdf/contract-approved-pdf.component.html delete mode 100644 src/app/pages/contract/approved/pdf/contract-approved-pdf.component.ts delete mode 100644 src/app/pages/contract/make/contract-make-routing.module.ts delete mode 100644 src/app/pages/contract/make/contract-make.module.ts delete mode 100644 src/app/pages/contract/make/do/contract-make-do.component.html delete mode 100644 src/app/pages/contract/make/do/contract-make-do.component.ts delete mode 100644 src/app/pages/contract/make/index/contract-make-index.component.html delete mode 100644 src/app/pages/contract/make/index/contract-make-index.component.ts delete mode 100644 src/app/pages/contract/make/pdf/contract-make-pdf.component.html delete mode 100644 src/app/pages/contract/make/pdf/contract-make-pdf.component.ts delete mode 100644 src/app/pages/finance/invoice/do/finance-invoice-do.component.html delete mode 100644 src/app/pages/finance/invoice/do/finance-invoice-do.component.ts delete mode 100644 src/app/pages/finance/invoice/finance-invoice-routing.module.ts delete mode 100644 src/app/pages/finance/invoice/finance-invoice.module.ts delete mode 100644 src/app/pages/finance/invoice/index/finance-invoice-index.component.html delete mode 100644 src/app/pages/finance/invoice/index/finance-invoice-index.component.ts delete mode 100644 src/app/pages/finance/invoice/pdf/finance-invoice-pdf.component.html delete mode 100644 src/app/pages/finance/invoice/pdf/finance-invoice-pdf.component.ts delete mode 100644 src/app/pages/finance/paying/do/finance-paying-do.component.html delete mode 100644 src/app/pages/finance/paying/do/finance-paying-do.component.ts delete mode 100644 src/app/pages/finance/paying/finance-paying-routing.module.ts delete mode 100644 src/app/pages/finance/paying/finance-paying.module.ts delete mode 100644 src/app/pages/finance/paying/index/finance-paying-index.component.html delete mode 100644 src/app/pages/finance/paying/index/finance-paying-index.component.ts delete mode 100644 src/app/pages/finance/paying/pdf/finance-paying-pdf.component.html delete mode 100644 src/app/pages/finance/paying/pdf/finance-paying-pdf.component.ts delete mode 100644 src/app/pages/finance/payment/finance-payment-routing.module.ts delete mode 100644 src/app/pages/finance/payment/finance-payment.module.ts delete mode 100644 src/app/pages/finance/payment/index/finance-payment-index.component.html delete mode 100644 src/app/pages/finance/payment/index/finance-payment-index.component.ts delete mode 100644 src/app/pages/finance/payment/pdf-installment/finance-payment-pdf-installment.component.html delete mode 100644 src/app/pages/finance/payment/pdf-installment/finance-payment-pdf-installment.component.ts delete mode 100644 src/app/pages/finance/payment/pdf-invoice/finance-payment-pdf-invoice.component.html delete mode 100644 src/app/pages/finance/payment/pdf-invoice/finance-payment-pdf-invoice.component.ts delete mode 100644 src/app/pages/finance/payment/pdf/finance-payment-pdf.component.html delete mode 100644 src/app/pages/finance/payment/pdf/finance-payment-pdf.component.ts delete mode 100644 src/app/pages/finance/payment/popup-create/finance-payment-create.component.html delete mode 100644 src/app/pages/finance/payment/popup-create/finance-payment-create.component.ts delete mode 100644 src/app/pages/finance/payment/popup-installment/finance-payment-installment.component.html delete mode 100644 src/app/pages/finance/payment/popup-installment/finance-payment-installment.component.ts delete mode 100644 src/app/pages/finance/payment/popup-update/finance-payment-update.component.html delete mode 100644 src/app/pages/finance/payment/popup-update/finance-payment-update.component.ts create mode 100644 src/app/pages/manage/kyc/container/kyc/kyc.container.html create mode 100644 src/app/pages/manage/kyc/container/kyc/kyc.container.scss create mode 100644 src/app/pages/manage/kyc/container/kyc/kyc.container.spec.ts create mode 100644 src/app/pages/manage/kyc/container/kyc/kyc.container.ts create mode 100644 src/app/pages/manage/kyc/kyc.module.ts create mode 100644 src/app/pages/manage/kyc/presenter/list/list.component.html create mode 100644 src/app/pages/manage/kyc/presenter/list/list.component.scss create mode 100644 src/app/pages/manage/kyc/presenter/list/list.component.spec.ts create mode 100644 src/app/pages/manage/kyc/presenter/list/list.component.ts create mode 100644 src/app/pages/manage/kyc/router/router.ts delete mode 100644 src/app/pages/report/outstanding-accounts-receivable/outstanding-accounts-receivable-index.component.html delete mode 100644 src/app/pages/report/outstanding-accounts-receivable/outstanding-accounts-receivable-index.component.ts delete mode 100644 src/app/pages/report/report-routing.module.ts delete mode 100644 src/app/pages/report/report.module.ts delete mode 100644 src/app/pages/report/warehouse-received/warehouse-received-index.component.html delete mode 100644 src/app/pages/report/warehouse-received/warehouse-received-index.component.ts delete mode 100644 src/app/pages/setting/customer/customer-routing.module.ts delete mode 100644 src/app/pages/setting/customer/customer.module.ts delete mode 100644 src/app/pages/setting/customer/do/customer-do.component.html delete mode 100644 src/app/pages/setting/customer/do/customer-do.component.ts delete mode 100644 src/app/pages/setting/customer/import/customer-import.component.html delete mode 100644 src/app/pages/setting/customer/import/customer-import.component.ts delete mode 100644 src/app/pages/setting/customer/index/customer-index.component.html delete mode 100644 src/app/pages/setting/customer/index/customer-index.component.ts delete mode 100644 src/app/pages/setting/master-area/do/master-area-do.component.html delete mode 100644 src/app/pages/setting/master-area/do/master-area-do.component.ts delete mode 100644 src/app/pages/setting/master-area/index/master-area-index.component.html delete mode 100644 src/app/pages/setting/master-area/index/master-area-index.component.ts delete mode 100644 src/app/pages/setting/master-area/master-area-routing.module.ts delete mode 100644 src/app/pages/setting/master-area/master-area.module.ts delete mode 100644 src/app/pages/setting/master-product-brand/do/master-product-brand-do.component.html delete mode 100644 src/app/pages/setting/master-product-brand/do/master-product-brand-do.component.ts delete mode 100644 src/app/pages/setting/master-product-brand/index/master-product-brand.component.html delete mode 100644 src/app/pages/setting/master-product-brand/index/master-product-brand.component.ts delete mode 100644 src/app/pages/setting/master-product-brand/master-product-brand-routing.module.ts delete mode 100644 src/app/pages/setting/master-product-brand/master-product-brand.module.ts delete mode 100644 src/app/pages/setting/master-product-category/do/master-product-category-do.component.html delete mode 100644 src/app/pages/setting/master-product-category/do/master-product-category-do.component.ts delete mode 100644 src/app/pages/setting/master-product-category/index/master-product-category.component.html delete mode 100644 src/app/pages/setting/master-product-category/index/master-product-category.component.ts delete mode 100644 src/app/pages/setting/master-product-category/master-product-category-routing.module.ts delete mode 100644 src/app/pages/setting/master-product-category/master-product-category.module.ts delete mode 100644 src/app/pages/setting/master-product-measurement/do/master-product-measurement-do.component.html delete mode 100644 src/app/pages/setting/master-product-measurement/do/master-product-measurement-do.component.ts delete mode 100644 src/app/pages/setting/master-product-measurement/index/master-product-measurement.component.html delete mode 100644 src/app/pages/setting/master-product-measurement/index/master-product-measurement.component.ts delete mode 100644 src/app/pages/setting/master-product-measurement/master-product-measurement-routing.module.ts delete mode 100644 src/app/pages/setting/master-product-measurement/master-product-measurement.module.ts delete mode 100644 src/app/pages/setting/master-product-unit/do/master-product-unit-do.component.html delete mode 100644 src/app/pages/setting/master-product-unit/do/master-product-unit-do.component.ts delete mode 100644 src/app/pages/setting/master-product-unit/index/master-product-unit.component.html delete mode 100644 src/app/pages/setting/master-product-unit/index/master-product-unit.component.ts delete mode 100644 src/app/pages/setting/master-product-unit/master-product-unit-routing.module.ts delete mode 100644 src/app/pages/setting/master-product-unit/master-product-unit.module.ts delete mode 100644 src/app/pages/setting/master-storage-box/do/master-storage-box-do.component.html delete mode 100644 src/app/pages/setting/master-storage-box/do/master-storage-box-do.component.ts delete mode 100644 src/app/pages/setting/master-storage-box/index/master-storage-box-index.component.html delete mode 100644 src/app/pages/setting/master-storage-box/index/master-storage-box-index.component.ts delete mode 100644 src/app/pages/setting/master-storage-box/master-storage-box-routing.module.ts delete mode 100644 src/app/pages/setting/master-storage-box/master-storage-box.module.ts delete mode 100644 src/app/pages/setting/packet/do/packet-do.component.html delete mode 100644 src/app/pages/setting/packet/do/packet-do.component.ts delete mode 100644 src/app/pages/setting/packet/index/packet.component.html delete mode 100644 src/app/pages/setting/packet/index/packet.component.ts delete mode 100644 src/app/pages/setting/packet/packet-routing.module.ts delete mode 100644 src/app/pages/setting/packet/packet.module.ts delete mode 100644 src/app/pages/setting/products/do/products-do.component.html delete mode 100644 src/app/pages/setting/products/do/products-do.component.ts delete mode 100644 src/app/pages/setting/products/import/product-import.component.html delete mode 100644 src/app/pages/setting/products/import/product-import.component.ts delete mode 100644 src/app/pages/setting/products/index/products.component.html delete mode 100644 src/app/pages/setting/products/index/products.component.ts delete mode 100644 src/app/pages/setting/products/products-routing.module.ts delete mode 100644 src/app/pages/setting/products/products.module.ts delete mode 100644 src/app/pages/setting/promotion/do/promotion-do.component.html delete mode 100644 src/app/pages/setting/promotion/do/promotion-do.component.ts delete mode 100644 src/app/pages/setting/promotion/index/promotion.component.html delete mode 100644 src/app/pages/setting/promotion/index/promotion.component.ts delete mode 100644 src/app/pages/setting/promotion/promotion-routing.module.ts delete mode 100644 src/app/pages/setting/promotion/promotion.module.ts delete mode 100644 src/app/pages/setting/seller/do/seller-do.component.html delete mode 100644 src/app/pages/setting/seller/do/seller-do.component.ts delete mode 100644 src/app/pages/setting/seller/index/seller-index.component.html delete mode 100644 src/app/pages/setting/seller/index/seller-index.component.ts delete mode 100644 src/app/pages/setting/seller/seller-routing.module.ts delete mode 100644 src/app/pages/setting/seller/seller.module.ts delete mode 100644 src/app/pages/setting/setting-deviation/do/setting-deviation-do.component.html delete mode 100644 src/app/pages/setting/setting-deviation/do/setting-deviation-do.component.ts delete mode 100644 src/app/pages/setting/setting-deviation/index/setting-deviation.component.html delete mode 100644 src/app/pages/setting/setting-deviation/index/setting-deviation.component.ts delete mode 100644 src/app/pages/setting/setting-deviation/setting-deviation-routing.module.ts delete mode 100644 src/app/pages/setting/setting-deviation/setting-deviation.module.ts delete mode 100644 src/app/pages/setting/setting-installment/do/setting-installment-do.component.html delete mode 100644 src/app/pages/setting/setting-installment/do/setting-installment-do.component.ts delete mode 100644 src/app/pages/setting/setting-installment/index/setting-installment.component.html delete mode 100644 src/app/pages/setting/setting-installment/index/setting-installment.component.ts delete mode 100644 src/app/pages/setting/setting-installment/setting-installment-routing.module.ts delete mode 100644 src/app/pages/setting/setting-installment/setting-installment.module.ts delete mode 100644 src/app/pages/users/group/do/user-group-do.component.html delete mode 100644 src/app/pages/users/group/do/user-group-do.component.ts delete mode 100644 src/app/pages/users/group/index/user-group.component.html delete mode 100644 src/app/pages/users/group/index/user-group.component.ts delete mode 100644 src/app/pages/users/manage/do/user-manage-do.component.html delete mode 100644 src/app/pages/users/manage/do/user-manage-do.component.ts delete mode 100644 src/app/pages/users/manage/index/user-manage.component.html delete mode 100644 src/app/pages/users/manage/index/user-manage.component.ts delete mode 100644 src/app/pages/users/users-routing.module.ts delete mode 100644 src/app/pages/users/users.module.ts delete mode 100644 src/app/pages/warehouse/disbursement/do/warehouse-disbursement-do.component.html delete mode 100644 src/app/pages/warehouse/disbursement/do/warehouse-disbursement-do.component.ts delete mode 100644 src/app/pages/warehouse/disbursement/index/warehouse-disbursement-index.component.html delete mode 100644 src/app/pages/warehouse/disbursement/index/warehouse-disbursement-index.component.ts delete mode 100644 src/app/pages/warehouse/disbursement/pdf/warehouse-disbursement-pdf.component.html delete mode 100644 src/app/pages/warehouse/disbursement/pdf/warehouse-disbursement-pdf.component.ts delete mode 100644 src/app/pages/warehouse/disbursement/popup-measurement/popup-measurement.component.html delete mode 100644 src/app/pages/warehouse/disbursement/popup-measurement/popup-measurement.component.ts delete mode 100644 src/app/pages/warehouse/disbursement/warehouse-disbursement-routing.module.ts delete mode 100644 src/app/pages/warehouse/disbursement/warehouse-disbursement.module.ts delete mode 100644 src/app/pages/warehouse/inspection/do/warehouse-inspection-do.component.html delete mode 100644 src/app/pages/warehouse/inspection/do/warehouse-inspection-do.component.ts delete mode 100644 src/app/pages/warehouse/inspection/index/warehouse-inspection-index.component.html delete mode 100644 src/app/pages/warehouse/inspection/index/warehouse-inspection-index.component.ts delete mode 100644 src/app/pages/warehouse/inspection/pdf/warehouse-inspection-pdf.component.html delete mode 100644 src/app/pages/warehouse/inspection/pdf/warehouse-inspection-pdf.component.ts delete mode 100644 src/app/pages/warehouse/inspection/popup-measurement/popup-measurement.component.html delete mode 100644 src/app/pages/warehouse/inspection/popup-measurement/popup-measurement.component.ts delete mode 100644 src/app/pages/warehouse/inspection/warehouse-inspection-routing.module.ts delete mode 100644 src/app/pages/warehouse/inspection/warehouse-inspection.module.ts delete mode 100644 src/app/pages/warehouse/received/do/warehouse-received-do.component.html delete mode 100644 src/app/pages/warehouse/received/do/warehouse-received-do.component.ts delete mode 100644 src/app/pages/warehouse/received/index/warehouse-received-index.component.html delete mode 100644 src/app/pages/warehouse/received/index/warehouse-received-index.component.ts delete mode 100644 src/app/pages/warehouse/received/pdf/warehouse-received-pdf.component.html delete mode 100644 src/app/pages/warehouse/received/pdf/warehouse-received-pdf.component.ts delete mode 100644 src/app/pages/warehouse/received/popup-measurement/popup-measurement.component.html delete mode 100644 src/app/pages/warehouse/received/popup-measurement/popup-measurement.component.ts delete mode 100644 src/app/pages/warehouse/received/warehouse-received-routing.module.ts delete mode 100644 src/app/pages/warehouse/received/warehouse-received.module.ts diff --git a/src/app/@config/app.ts b/src/app/@config/app.ts index f72886c..8c6f9e9 100644 --- a/src/app/@config/app.ts +++ b/src/app/@config/app.ts @@ -1,52 +1,4 @@ -import {environment} from "../../environments/environment"; - -const ENV = { - url : environment.API_URL, - reportUrl : environment.API_REPORT_URL, -} - -export const API = { - url : `${ENV.url}` , - login : `${ENV.url}/auth/login` , - users : `${ENV.url}/users` , - userGroup : `${ENV.url}/userGroup` , - customer : `${ENV.url}/customer` , - seller : `${ENV.url}/seller` , - quotation : `${ENV.url}/quotation` , - quotationDetail : `${ENV.url}/quotationDetail` , - quotationPayment : `${ENV.url}/quotationPayment` , - products : `${ENV.url}/products` , - masterProductBrand : `${ENV.url}/masterProductBrand` , - masterProductCategory : `${ENV.url}/masterProductCategory` , - masterProductUnit : `${ENV.url}/masterProductUnit` , - masterProductMeasurement : `${ENV.url}/masterProductMeasurement` , - masterArea : `${ENV.url}/masterArea` , - masterStorageBox : `${ENV.url}/masterStorageBox` , - attachments : `${ENV.url}/attachments` , - settings : `${ENV.url}/settings` , - packet : `${ENV.url}/packet` , - promotion : `${ENV.url}/promotion` , - - quotationReport : `${ENV.reportUrl}/reports/quotation_report` , - receiptReport : `${ENV.reportUrl}/reports/receipt_report` , - installmentContractReport : `${ENV.reportUrl}/reports/installment_contract_report` , - receiveInventory : `${ENV.reportUrl}/reports/receive_inventory` , - receiveSendInventory : `${ENV.reportUrl}/reports/receive_send_inventory` , - receivePickUp : `${ENV.reportUrl}/reports/pick_up` , - reportOutstandingAccountsReceivable : `${ENV.reportUrl}/reports/outstanding_accounts_receivable` , - - paymentReport : `${ENV.reportUrl}/reports/payment_report` , - paymentVoucher : `${ENV.reportUrl}/reports/payment_voucher` , - -} - -export const STORAGE = { - products : `${ENV.url}/storage/products` , - images : `${ENV.url}/storage/images` , -} - export const GENDER = ['ชาย', 'หญิง', 'อื่นๆ']; - export const PREFIX = ['นาย', 'นาง', 'นางสาว', 'อื่นๆ']; export const TYPE_CODE = ['A', 'C', 'H', 'W']; export const CONDITIONS = ['new', 'like new', 'used']; diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 7436001..c5b25b0 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -26,141 +26,16 @@ const routes: Routes = [ path: 'dashboard', loadChildren: () => import('./pages/dashboard/dashboard.module').then(m => m.DashboardModule) }, - { - path: 'users', - loadChildren: () => import('./pages/users/users.module').then(m => m.UsersModule) - }, { path: 'manage', children: [ { path: 'kyc', - loadChildren: () => import('./pages/appraisal/1st-time/appraisal-1st-time.module').then(m => m.Appraisal1stTimeModule) - }, - // { - // path: '2nd-time', - // loadChildren: () => import('./pages/appraisal/2nd-time/appraisal-2nd-time.module').then(m => m.Appraisal2ndTimeModule) - // }, - // { - // path: '3rd-time', - // loadChildren: () => import('./pages/appraisal/3rd-time/appraisal-3rd-time.module').then(m => m.Appraisal3rdTimeModule) - // }, - ] - }, - { - path: 'finance', - children: [ - { - path: 'payment', - loadChildren: () => import('./pages/finance/payment/finance-payment.module').then(m => m.FinancePaymentModule) - }, - { - path: 'refund', - loadChildren: () => import('./pages/page-blank/page-blank.module').then(m => m.PageBlankModule) - }, - { - path: 'invoice', - loadChildren: () => import('./pages/finance/invoice/finance-invoice.module').then(m => m.FinanceInvoiceModule) - }, - { - path: 'paying', - loadChildren: () => import('./pages/finance/paying/finance-paying.module').then(m => m.FinancePayingModule) + // loadChildren: () => import('./pages/appraisal/1st-time/appraisal-1st-time.module').then(m => m.Appraisal1stTimeModule) + loadChildren: () => import('./pages/manage/kyc/kyc.module').then(m => m.KycModule) }, ] }, - { - path: 'contract', - children: [ - { - path: 'make', - loadChildren: () => import('./pages/contract/make/contract-make.module').then(m => m.ContractMakeModule) - }, - { - path: 'approved', - loadChildren: () => import('./pages/contract/approved/contract-approved.module').then(m => m.ContractApprovedModule) - } - ] - }, - // { - // path: 'warehouse', - // children: [ - // { - // path: 'received', - // loadChildren: () => import('./pages/warehouse/received/warehouse-received.module').then(m => m.WarehouseReceivedModule) - // }, - // { - // path: 'inspection', - // loadChildren: () => import('./pages/warehouse/inspection/warehouse-inspection.module').then(m => m.WarehouseInspectionModule) - // }, - // { - // path: 'disbursement', - // loadChildren: () => import('./pages/warehouse/disbursement/warehouse-disbursement.module').then(m => m.WarehouseDisbursementModule) - // }, - // { - // path: 'area', - // loadChildren: () => import('./pages/setting/master-area/master-area.module').then(m => m.MasterAreaModule) - // }, - // { - // path: 'storage-box', - // loadChildren: () => import('./pages/setting/master-storage-box/master-storage-box.module').then(m => m.MasterStorageBoxModule) - // } - // ] - // }, - // { - // path: 'setting', - // children: [ - // { - // path: 'products', - // loadChildren: () => import('./pages/setting/products/products.module').then(m => m.ProductsModule) - // }, - // { - // path: 'deviation', - // loadChildren: () => import('./pages/setting/setting-deviation/setting-deviation.module').then(m => m.SettingDeviationModule) - // }, - // { - // path: 'product-brand', - // loadChildren: () => import('./pages/setting/master-product-brand/master-product-brand.module').then(m => m.MasterProductBrandModule) - // }, - // { - // path: 'product-category', - // loadChildren: () => import('./pages/setting/master-product-category/master-product-category.module').then(m => m.MasterProductCategoryModule) - // }, - // { - // path: 'product-unit', - // loadChildren: () => import('./pages/setting/master-product-unit/master-product-unit.module').then(m => m.MasterProductUnitModule) - // }, - // { - // path: 'product-measurement', - // loadChildren: () => import('./pages/setting/master-product-measurement/master-product-measurement.module').then(m => m.MasterProductMeasurementModule) - // }, - // { - // path: 'installment', - // loadChildren: () => import('./pages/setting/setting-installment/setting-installment.module').then(m => m.SettingInstallmentModule) - // }, - // { - // path: 'packet', - // loadChildren: () => import('./pages/setting/packet/packet.module').then(m => m.PacketModule) - // }, - // { - // path: 'promotion', - // loadChildren: () => import('./pages/setting/promotion/promotion.module').then(m => m.PromotionModule) - // }, - - // { - // path: 'customer', - // loadChildren: () => import('./pages/setting/customer/customer.module').then(m => m.CustomerModule) - // }, - // { - // path: 'seller', - // loadChildren: () => import('./pages/setting/seller/seller.module').then(m => m.SellerModule) - // }, - - // ] - // }, - // { - // path: 'report', - // loadChildren: () => import('./pages/report/report.module').then(m => m.ReportModule) - // }, { path: 'not-found', loadChildren: () => import('./pages/errors/errors.module').then(m => m.ErrorsModule) diff --git a/src/app/auth/login/login.component.ts b/src/app/auth/login/login.component.ts index 35444b0..9e8154c 100644 --- a/src/app/auth/login/login.component.ts +++ b/src/app/auth/login/login.component.ts @@ -1,61 +1,61 @@ -import {Component, OnInit} from '@angular/core'; -import {ActivatedRoute, Router} from '@angular/router'; -import {AppService} from '../../app.service'; -import {lastValueFrom} from "rxjs"; -import {API, EAction, EText} from "../../@config/app"; +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { AppService } from '../../app.service'; +import { lastValueFrom } from "rxjs"; +import { EAction, EText } from "../../@config/app"; import { environment } from "../../../environments/environment"; @Component({ - selector: 'app-login', - templateUrl: './login.component.html', - styles: [] + selector: 'app-login', + templateUrl: './login.component.html', + styles: [] }) export class LoginComponent implements OnInit { - apiUrl: string = API.login; - dataForm: any = {}; - isLoading = false; + // apiUrl: string = API.login; + dataForm: any = {}; + isLoading = false; - constructor( - private router: Router, - private appService: AppService, - private route: ActivatedRoute - ) { - } - - ngOnInit() { - - if (!environment.production) { - this.dataForm = { - username : 'admin', - password : 'password@1', - } - } - } - - async onSubmit(form: any) { - if (!form.valid) return false; - const dataForm = { - username: this.dataForm.username, - password: this.dataForm.password, - userType: 'ADMIN' - }; - - - try { - console.log(this.apiUrl) - const result = await lastValueFrom(this.appService.post(this.apiUrl, dataForm)); - this.appService.setAuth(result.data); - this.appService.setToken(result.accessToken); - return this.router.navigate(['/pages']); - } catch (err) { - return this.appService.message(EAction.ERROR, EText.NO_DATA); + constructor( + private router: Router, + private appService: AppService, + private route: ActivatedRoute + ) { } - } + ngOnInit() { + + if (!environment.production) { + this.dataForm = { + username: 'admin', + password: 'password@1', + } + } + } + + async onSubmit(form: any) { + if (!form.valid) return false; + const dataForm = { + username: this.dataForm.username, + password: this.dataForm.password, + userType: 'ADMIN' + }; - public isFieldValid(form: any, field: any) { - return field.errors && (field.dirty || field.touched || form.submitted); - } + try { + // console.log(this.apiUrl) + // const result = await lastValueFrom(this.appService.post(this.apiUrl, dataForm)); + // this.appService.setAuth(result.data); + // this.appService.setToken(result.accessToken); + return this.router.navigate(['/pages']); + } catch (err) { + return this.appService.message(EAction.ERROR, EText.NO_DATA); + } + + } + + + public isFieldValid(form: any, field: any) { + return field.errors && (field.dirty || field.touched || form.submitted); + } } diff --git a/src/app/core/base/base-form.ts b/src/app/core/base/base-form.ts new file mode 100644 index 0000000..7d15e75 --- /dev/null +++ b/src/app/core/base/base-form.ts @@ -0,0 +1,75 @@ +import { environment } from '../../../environments/environment'; +import { FormBuilder, FormGroup } from '@angular/forms'; +import { Location } from '@angular/common' +import { ActivatedRoute, Router } from '@angular/router'; +import { filter, tap } from 'rxjs/operators'; +import { Directive } from '@angular/core'; +@Directive() +export class BaseForm { + isHideForm: boolean = environment.hideForm; + baseFormBuilder: FormBuilder + form: FormGroup + state: string = 'add' + isEdit: boolean = false + id: number + uid: string + uid2: string + path: string + constructor( + public _router: Router, + public _activeRouter: ActivatedRoute, + public fb: FormBuilder, + public location: Location + ) { + this.baseFormBuilder = this.fb + this.form = this.createForm() + + this._activeRouter.params.pipe( + tap(x => { + if (x.hasOwnProperty('id')) { + x.id ? this.state = 'edit' : this.state = 'add' + x.id ? this.isEdit = true : this.isEdit = false + } + if (x.hasOwnProperty('uid')) { + x.uid ? this.state = 'edit' : this.state = 'add' + } + }), + tap(x => console.log(this.state)), + tap(x => { + this._activeRouter.url.pipe( + tap(x => { + if (x[0]?.path === 'approve') { + this.state = 'approve'; + } + }), + tap(x => this.path = x[0]?.path), + // tap(x => console.log(x)) + ).subscribe(); + }), + tap(x => x.id ? this.id = x.id : this.id = null), + tap(x => x.uid ? this.uid = x.uid : this.uid = null), + tap(x => x.uid2 ? this.uid2 = x.uid2 : this.uid2 = null) + ).subscribe(); + } + + + back() { + this.location.back() + } + + createForm(): FormGroup { + return this.fb.group({}) + } + +} +export var sortByProperty = function (property) { + return function (x, y) { + return ((x[property] === y[property]) ? 0 : ((x[property] > y[property]) ? 1 : -1)); + }; + +}; +export var sortByPropertyplus = function (property) { + return function (y, x) { + return ((y[property] === x[property]) ? 0 : ((y[property] < x[property]) ? 1 : -1)); + }; +}; diff --git a/src/app/core/base/base-list.ts b/src/app/core/base/base-list.ts new file mode 100644 index 0000000..a39f4cd --- /dev/null +++ b/src/app/core/base/base-list.ts @@ -0,0 +1,75 @@ +import { Observable } from 'rxjs'; +import { Directive, Output, ViewChild, EventEmitter } from '@angular/core'; +import { MatPaginator, PageEvent } from '@angular/material/paginator'; +import { MatSort } from '@angular/material/sort'; +import { MatTableDataSource } from '@angular/material/table'; +import { environment } from 'src/environments/environment'; +import { map, startWith } from 'rxjs/operators'; + + + +export interface ResultPageEvent { + results: T[]; + current_page: number; + page_count: number; + page_size: number; + row_count: number; + first_row_on_page: number; + last_row_on_page: number; +} + +export interface CustomeEventPage extends PageEvent { + queryStringPage?: string, + paginator?: MatPaginator +} + +@Directive() +export class BaseList { + protected INT_PAGING:CustomeEventPage = { + length: 0, + pageIndex: 0, + pageSize: 5, + previousPageIndex: null, + queryStringPage: `0/5`, + } + isProduction = environment.production + @ViewChild(MatSort,{ static: true }) sort: MatSort; + @ViewChild(MatPaginator,{ static: true }) paginator: MatPaginator; + @Output() onPaginatorPageChange = new EventEmitter() + + protected updateMatTable(res: any){ + if(res instanceof Array){ + res = new MatTableDataSource(res) + res.paginator = this.paginator + res.sort = this.sort + return res + } + return res + } + + protected updatePagingMatTable(data: ResultPageEvent){ + // let matTable = new MatTableDataSource(data.results) + + // matTable.paginator = this.paginator + // matTable.sort = this.sort + // return matTable + this.paginator.length = data.row_count + return data.results + } + + + + protected getEventPage(): Observable { + return this.paginator.page.pipe( + startWith(this.INT_PAGING), + map( event => { + return { + ...event, + paginator: this.paginator, + queryStringPage: `${event.pageIndex + 1}/${event.pageSize}` + } + }) + ) + } + +} diff --git a/src/app/core/base/base-service.ts b/src/app/core/base/base-service.ts new file mode 100644 index 0000000..0701eb7 --- /dev/null +++ b/src/app/core/base/base-service.ts @@ -0,0 +1,93 @@ +import { HttpClient, HttpEventType } from '@angular/common/http'; +import { Optional } from '@angular/core'; + +import { Observable, of } from 'rxjs'; +import { map, catchError } from 'rxjs/operators'; +import { environment } from 'src/environments/environment'; + +export interface IapiResponse{ + apiResponse:{ + id:number, + desc:string, + }, + data:Array +} + +export class BaseService { + + protected host:string = `${environment.APIURL}` + protected prefix:string = `${this.host}/api` + protected fullUrl:string = '' + + constructor( + endpoint:string, + protected http: HttpClient, + ) { + this.fullUrl = this.prefix + endpoint + } + + uploadDocument(target: FormData){ + return this.http.post(this.fullUrl,target,{ + reportProgress: true, + observe:'events' + }).pipe( + map((event: any) => { + switch(event.type){ + case HttpEventType.UploadProgress: + const progress = Math.round(100 * event.loaded / event.total); + return { status: 'progress', message: `${progress}` }; + case HttpEventType.Response: + return { status: 'success', message: event.body }; + default: + return `Unhandled event: ${event.type}`; + } + } + ), + catchError(err => { + return of({ status: 'error', message: `${err.message}` }) + }) + ) + } + + getAll(): Observable{ + return this.http.get(this.fullUrl) + } + + add(data: T): Observable { + return this.http.post(this.fullUrl,data) + } + + get(id: any): Observable { + return this.http.get(`${this.fullUrl}/${id}`) + } + + update(id: number,data: T): Observable{ + return this.http.put(`${this.fullUrl}/${id}`,data) + } + + update2(data: T): Observable{ + return this.http.put(this.fullUrl,data) + } + + + deleteData(id: number | string): Observable { + return this.http.delete(`${this.fullUrl}/${id}`) + } + + query(query: string): Observable { + return this.http.get(`${this.fullUrl}/${query}`) + } + + queryString(query: string): Observable{ + return this.http.get(`${this.fullUrl}?${query}`) + } + + addMany(data: T): Observable { + return this.http.post(`${this.fullUrl}/s`,data) + } + + updateMany(data: T): Observable { + return this.http.put(`${this.fullUrl}/s`,data) + } +} + diff --git a/src/app/core/base/base-store-service.ts b/src/app/core/base/base-store-service.ts new file mode 100644 index 0000000..4188a56 --- /dev/null +++ b/src/app/core/base/base-store-service.ts @@ -0,0 +1,93 @@ +import { HttpClient, HttpEventType } from '@angular/common/http'; +import { Optional } from '@angular/core'; + +import { Observable, of } from 'rxjs'; +import { map, catchError } from 'rxjs/operators'; +import { environment } from 'src/environments/environment'; + +export interface IapiResponse{ + apiResponse:{ + id:number, + desc:string, + }, + data:Array +} + +export class BaseStoreService { + + protected host:string = `${environment.storeApi}` + protected prefix:string = `${this.host}` + protected fullUrl:string = '' + + constructor( + endpoint:string, + protected http: HttpClient, + ) { + this.fullUrl = this.prefix + endpoint + } + + uploadDocument(target: FormData){ + return this.http.post(this.fullUrl,target,{ + reportProgress: true, + observe:'events' + }).pipe( + map((event) => { + switch(event.type){ + case HttpEventType.UploadProgress: + const progress = Math.round(100 * event.loaded / event.total); + return { status: 'progress', message: `${progress}` }; + case HttpEventType.Response: + return { status: 'success', message: event.body }; + default: + return `Unhandled event: ${event.type}`; + } + } + ), + catchError(err => { + return of({ status: 'error', message: `${err.message}` }) + }) + ) + } + + getAll(): Observable{ + return this.http.get(this.fullUrl) + } + + add(data: T): Observable { + return this.http.post(this.fullUrl,data) + } + + get(id: any): Observable { + return this.http.get(`${this.fullUrl}/${id}`) + } + + update(id: number,data: T): Observable{ + return this.http.put(`${this.fullUrl}/${id}`,data) + } + + update2(data: T): Observable{ + return this.http.put(this.fullUrl,data) + } + + + deleteData(id: number | string): Observable { + return this.http.delete(`${this.fullUrl}/${id}`) + } + + query(query: string): Observable { + return this.http.get(`${this.fullUrl}/${query}`) + } + + queryString(query: string): Observable{ + return this.http.get(`${this.fullUrl}?${query}`) + } + + addMany(data: T): Observable { + return this.http.post(`${this.fullUrl}/s`,data) + } + + updateMany(data: T): Observable { + return this.http.put(`${this.fullUrl}/s`,data) + } +} + diff --git a/src/app/core/configs/config.ts b/src/app/core/configs/config.ts new file mode 100644 index 0000000..35e2471 --- /dev/null +++ b/src/app/core/configs/config.ts @@ -0,0 +1,5 @@ +export const configs: { + formatDate: string +} = { + formatDate: 'yyyy-MM-dd' +} \ No newline at end of file diff --git a/src/app/core/core.module.ts b/src/app/core/core.module.ts new file mode 100644 index 0000000..51c98e0 --- /dev/null +++ b/src/app/core/core.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http'; +import { TokenIntercepterInterceptor } from './intercepter/token-intercepter.interceptor'; + +@NgModule({ + declarations: [], + imports: [ + CommonModule, + HttpClientModule, + ], + exports: [ + CommonModule, + HttpClientModule, + ], + providers: [ + { provide: HTTP_INTERCEPTORS, useClass: TokenIntercepterInterceptor, multi: true }, + ] +}) +export class CoreModule { } diff --git a/src/app/core/enum/role.ts b/src/app/core/enum/role.ts new file mode 100644 index 0000000..a80694e --- /dev/null +++ b/src/app/core/enum/role.ts @@ -0,0 +1,44 @@ +export enum OBJECT { + BUILDING = 'BUILDING', + ROOM_AND_FIELD = 'ROOM_AND_FIELD', + REQUEST_RESERVATION = 'REQUEST_RESERVATION', + LIST_RESERVATION = 'LIST_RESERVATION', + LIST_BLUEPRINT = 'LIST_BLUEPRINT', + LIST_BROKEN = 'LIST_BROKEN', + LIST_ROOM_CLOSE = 'LIST_ROOM_CLOSE', + EMPLOYMENT_CONTACT = 'EMPLOYMENT_CONTRACT', + MAINTENANCE_CONTRACT = 'MAINTENANCE_CONTRACT', + RENTAL_CONTRACT = 'RENTAL_CONTRACT', + LIST_MAINTENANCE_CONTRACT = 'LIST_MAINTENANCE_CONTRACT', + ASSET_LIST_CONTRACT = 'ASSET_LIST_CONTRACT', + LOG_CONTRACT = 'LOG_CONTRACT', + CREATE_PERMISSION = 'CREATE_PERMISSION', + SET_PERMISSION = 'SET_PERMISSION', + ASSET_RECEIVE = 'ASSET_RECEIVE', + INVENTORY_RECEIVE = 'INVENTORY_RECEIVE', + LIST_INVENTORY = 'LIST_INVENTORY', + REQUISITION = 'REQUISITION', + REQUISITION_PLACEMENT = 'REQUISITION_PLACEMENT', + APPROVE_REQUISITION = 'APPROVE_REQUISITION', + RETURN_ASSET = 'RETURN_ASSET', + STORE_ITEMS = 'STORE_ITEMS', + WAREHOUSE = 'WAREHOUSE', + STORE_ITEMS_CATEGORY = 'STORE_ITEMS_CATEGORY', + STORE_ITEMS_GROUP = 'STORE_ITEMS_GROUP', + STORE_ITEMS_TYPE = 'STORE_ITEMS_TYPE', + STORE_ITEMS_CLASS = 'STORE_ITEMS_CLASS', + UNITS = 'UNITS', + UNITS_GROUP = 'UNITS_GROUP', + REPAIR_LIST = 'REPAIR_LIST', + REPAIR_ORDER = 'REPAIR_ORDER', + REPAIR_RESULT = 'REPAIR_RESULT', + REPAIR_TYPE = 'REPAIR_TYPE', + REPAIR_DETAIL = 'REPAIR_DETAIL', + REPAIR_ROUTE = 'REPAIR_ROUTE', + REPAIR_URGENT = 'REPAIR_URGENT', + BUILDING_GROUP = 'BUILDING_GROUP', + ROOM_GROUP = 'ROOM_GROUP', + PURPOSE = 'PURPOSE', + SCHEDULE_TEACHING = 'SCHEDULE_TEACHING', + PERIOD_REQUEST = 'PERIOD_REQUEST', +} diff --git a/src/app/core/guards/auth.guard.ts b/src/app/core/guards/auth.guard.ts new file mode 100644 index 0000000..61ad8bb --- /dev/null +++ b/src/app/core/guards/auth.guard.ts @@ -0,0 +1,29 @@ +import { Injectable } from '@angular/core'; +import { ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot } from '@angular/router'; +// import { AppService } from './app.service'; + + +@Injectable() +export class AppGuard implements CanActivate, CanActivateChild { + constructor(private router: Router) { + } + + canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) { + return this.isLogin(); + } + + canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) { + return this.isLogin(); + } + + isLogin() { + return true; + // const user = this.app.auth(); + // if (!user) { + // this.router.navigate(['/auth/login']); + // return false; + // } + // return true; + } +} + diff --git a/src/app/core/intercepter/token-intercepter.interceptor.spec.ts b/src/app/core/intercepter/token-intercepter.interceptor.spec.ts new file mode 100644 index 0000000..7816b44 --- /dev/null +++ b/src/app/core/intercepter/token-intercepter.interceptor.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { TokenIntercepterInterceptor } from './token-intercepter.interceptor'; + +describe('TokenIntercepterInterceptor', () => { + beforeEach(() => TestBed.configureTestingModule({ + providers: [ + TokenIntercepterInterceptor + ] + })); + + it('should be created', () => { + const interceptor: TokenIntercepterInterceptor = TestBed.inject(TokenIntercepterInterceptor); + expect(interceptor).toBeTruthy(); + }); +}); diff --git a/src/app/core/intercepter/token-intercepter.interceptor.ts b/src/app/core/intercepter/token-intercepter.interceptor.ts new file mode 100644 index 0000000..570ce65 --- /dev/null +++ b/src/app/core/intercepter/token-intercepter.interceptor.ts @@ -0,0 +1,44 @@ +import { OidcAuthService } from 'src/app/core/oidc/oidc.service'; +import { Injectable } from '@angular/core'; +import { + HttpRequest, + HttpHandler, + HttpEvent, + HttpInterceptor +} from '@angular/common/http'; +import { Observable, throwError } from 'rxjs'; +import { catchError, finalize } from 'rxjs/operators'; +import { Router } from '@angular/router'; +import { NgProgress } from 'ngx-progressbar'; +import { ApplicationSecurityService } from '../service/security/application-security.service'; + +@Injectable() +export class TokenIntercepterInterceptor implements HttpInterceptor { + + constructor( + private odicSV: OidcAuthService, + private router: Router, + private progress: NgProgress, + private appTokenSV: ApplicationSecurityService + ) { + } + + intercept(request: HttpRequest, next: HttpHandler): Observable> { + const isRegisterSubjectAPI = request.url.includes('rsu-reg-api') + const customReq = request.clone({ + setHeaders:{ + Authorization: request.url.includes('app_tokens') ? `${this.odicSV.getAuthorizationHeaderValue()}` : `Bearer ${this.appTokenSV.getToken()}` + } + }); + this.progress.ref('progressBar').start() + return next.handle(customReq).pipe( + finalize(() => this.progress.ref('progressBar').complete()), + catchError(err => { + if (err.status == 401) { + this.router.navigate(['./'],{ replaceUrl: true }) + } + return throwError(err) + }) + ); + } +} diff --git a/src/app/core/service/manage/kyc.service.ts b/src/app/core/service/manage/kyc.service.ts new file mode 100644 index 0000000..0c7e3bd --- /dev/null +++ b/src/app/core/service/manage/kyc.service.ts @@ -0,0 +1,16 @@ +import { HttpClient } from '@angular/common/http'; +import { Injectable } from '@angular/core'; +import { BaseService } from 'src/app/core/base/base-service'; + +@Injectable({ + providedIn: 'root' +}) +export class KycService extends BaseService{ + + constructor( + public http: HttpClient + ) { + super('/common/kyc', http) + } + +} diff --git a/src/app/pages/@layouts/layouts.component.html b/src/app/pages/@layouts/layouts.component.html index 7491363..5107033 100644 --- a/src/app/pages/@layouts/layouts.component.html +++ b/src/app/pages/@layouts/layouts.component.html @@ -10,7 +10,7 @@ - +