@atomsolution/sdk-merchant 1.0.1 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -103,7 +103,6 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
103
103
  const React = require("react");
104
104
  const ReactDOM = require("react-dom");
105
105
  const reactToastify = require("react-toastify");
106
- const reactRouterDom = require("react-router-dom");
107
106
  function _interopNamespaceDefault(e) {
108
107
  const n2 = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
109
108
  if (e) {
@@ -13818,8 +13817,8 @@ function NewAccountCreate({
13818
13817
  }) {
13819
13818
  const { translate: translate2 } = useTranslation("digistore-id");
13820
13819
  const [email2, setEmail] = React.useState(username);
13821
- const [password, setPassword] = React.useState(userPassword);
13822
- const [confirmPassword, setConfirmPassword] = React.useState(userPassword);
13820
+ const [password, setPassword] = React.useState(userPassword || "");
13821
+ const [confirmPassword, setConfirmPassword] = React.useState(userPassword || "");
13823
13822
  const [isSubmitting, setIsSubmitting] = React.useState(false);
13824
13823
  const [passwordError, setPasswordError] = React.useState("");
13825
13824
  const [confirmPasswordError, setConfirmPasswordError] = React.useState("");
@@ -13892,14 +13891,22 @@ function NewAccountCreate({
13892
13891
  label: translate2("form_pwd_label"),
13893
13892
  value: password,
13894
13893
  onChange: (e) => {
13895
- setPassword(e.target.value);
13896
- if (!e.target.value) {
13894
+ const newPassword = e.target.value;
13895
+ setPassword(newPassword);
13896
+ if (!newPassword) {
13897
13897
  setPasswordError(translate2("form_pwd_err_required"));
13898
- } else if (!validate(e.target.value).isValid) {
13898
+ } else if (!validate(newPassword).isValid) {
13899
13899
  setPasswordError(translate2("form_pwd_err_invalid"));
13900
13900
  } else {
13901
13901
  setPasswordError("");
13902
13902
  }
13903
+ if (confirmPassword && confirmPassword !== newPassword) {
13904
+ setConfirmPasswordError(
13905
+ translate2("form_confirm_pwd_err_no_match")
13906
+ );
13907
+ } else {
13908
+ setConfirmPasswordError("");
13909
+ }
13903
13910
  },
13904
13911
  placeholder: translate2("form_pwd_placeholder"),
13905
13912
  required: true,
@@ -13913,12 +13920,13 @@ function NewAccountCreate({
13913
13920
  label: translate2("form_confirm_pwd_label"),
13914
13921
  value: confirmPassword,
13915
13922
  onChange: (e) => {
13916
- setConfirmPassword(e.target.value);
13917
- if (!e.target.value) {
13923
+ const newConfirm = e.target.value;
13924
+ setConfirmPassword(newConfirm);
13925
+ if (!newConfirm) {
13918
13926
  setConfirmPasswordError(
13919
13927
  translate2("form_confirm_pwd_err_required")
13920
13928
  );
13921
- } else if (e.target.value !== password) {
13929
+ } else if (newConfirm !== password) {
13922
13930
  setConfirmPasswordError(
13923
13931
  translate2("form_confirm_pwd_err_no_match")
13924
13932
  );
@@ -43267,6 +43275,34 @@ function getDateTimeMetrics(date2 = /* @__PURE__ */ new Date()) {
43267
43275
  seconds
43268
43276
  };
43269
43277
  }
43278
+ function useRouterNavigate() {
43279
+ return React.useMemo(() => {
43280
+ try {
43281
+ const { useNavigate } = require("react-router-dom");
43282
+ if (typeof useNavigate === "function") {
43283
+ const navigate = useNavigate();
43284
+ return (path) => {
43285
+ var _a;
43286
+ if (typeof path === "string") navigate(path);
43287
+ else navigate(`${path.pathname}${(_a = path.search) != null ? _a : ""}`);
43288
+ };
43289
+ }
43290
+ } catch (_) {
43291
+ }
43292
+ try {
43293
+ const { useHistory } = require("react-router-dom");
43294
+ const history = useHistory();
43295
+ return (path) => {
43296
+ var _a;
43297
+ return typeof path === "string" ? history.push(path) : history.push(path.pathname + ((_a = path.search) != null ? _a : ""));
43298
+ };
43299
+ } catch (err) {
43300
+ console.error("[SDK Router] Cannot detect router version:", err);
43301
+ return () => {
43302
+ };
43303
+ }
43304
+ }, []);
43305
+ }
43270
43306
  var exceljs_min = { exports: {} };
43271
43307
  /*! ExcelJS 19-10-2023 */
43272
43308
  (function(module2, exports2) {
@@ -66507,10 +66543,10 @@ const CreateProductSuccessModal = ({
66507
66543
  return (((_a = state.userInfo) == null ? void 0 : _a.name) || "user").replace(/\s+/g, "-");
66508
66544
  });
66509
66545
  const { reset: reset2 } = useUploadStore();
66510
- const history = reactRouterDom.useHistory();
66546
+ const navigate = useRouterNavigate();
66511
66547
  const onClose = () => {
66512
66548
  reset2();
66513
- history.push({
66549
+ navigate({
66514
66550
  pathname: "/sale-product",
66515
66551
  search: "?page=1&page_size=10"
66516
66552
  });
@@ -74127,6 +74163,135 @@ const getDefaultActivePermissions = (groups) => {
74127
74163
  });
74128
74164
  return activeIds;
74129
74165
  };
74166
+ const DASHBOARD_PERMISSIONS = {
74167
+ OVERVIEW: "TONGQUAN_READ"
74168
+ };
74169
+ const REPORT_PERMISSIONS = {
74170
+ // Báo cáo giao dịch thẻ
74171
+ CARD_TRANSACTIONS_READ: "BAOCAO_GIAODICH_THE_READ",
74172
+ CARD_TRANSACTIONS_CREATE: "BAOCAO_GIAODICH_THE_CREATE",
74173
+ CARD_TRANSACTIONS_UPDATE: "BAOCAO_GIAODICH_THE_UPDATE",
74174
+ CARD_TRANSACTIONS_DELETE: "BAOCAO_GIAODICH_THE_DELETE",
74175
+ // Báo cáo giao dịch QR
74176
+ QR_TRANSACTIONS_READ: "BAOCAO_GIAODICH_QR_READ",
74177
+ QR_TRANSACTIONS_CREATE: "BAOCAO_GIAODICH_QR_CREATE",
74178
+ QR_TRANSACTIONS_UPDATE: "BAOCAO_GIAODICH_QR_UPDATE",
74179
+ QR_TRANSACTIONS_DELETE: "BAOCAO_GIAODICH_QR_DELETE",
74180
+ // Báo cáo giao dịch tiền mặt
74181
+ CASH_TRANSACTIONS_READ: "BAOCAO_GIAODICH_TIENMAT_READ",
74182
+ // Báo cáo giao dịch E-wallet
74183
+ EWALLET_TRANSACTIONS_READ: "BAOCAO_GIAODICH_EWALLET_READ",
74184
+ // Báo cáo giao dịch trả góp
74185
+ INSTALLMENT_TRANSACTIONS_READ: "BAOCAO_GIAODICH_TRAGOP_READ",
74186
+ // Báo cáo giao dịch E-commerce
74187
+ ECOM_TRANSACTIONS_READ: "BAOCAO_GIAODICH_ECOM_READ",
74188
+ // Báo cáo giao dịch tiết kiệm
74189
+ SAVING_TRANSACTIONS_READ: "BAOCAO_GIAODICH_TIETKIEM_READ",
74190
+ // Báo cáo giao dịch vay vốn
74191
+ LOAN_TRANSACTIONS_READ: "BAOCAO_GIAODICH_VAYVON_READ",
74192
+ // Xuất báo cáo
74193
+ EXPORT_QR_REPORT: "XUAT_BAOCAO_GIAODICH_QR_CREATE",
74194
+ EXPORT_CARD_REPORT: "XUAT_BAOCAO_GIAODICH_THE_CREATE"
74195
+ };
74196
+ const PAYMENT_PERMISSIONS = {
74197
+ // Tài khoản thanh toán
74198
+ PAYMENT_ACCOUNT_READ: "QUANLY_TAIKHOAN_THANHTOAN_READ",
74199
+ PAYMENT_ACCOUNT_CREATE: "QUANLY_TAIKHOAN_THANHTOAN_CREATE",
74200
+ PAYMENT_ACCOUNT_UPDATE: "QUANLY_TAIKHOAN_THANHTOAN_UPDATE",
74201
+ PAYMENT_ACCOUNT_DELETE: "QUANLY_TAIKHOAN_THANHTOAN_DELETE",
74202
+ // Shop QR
74203
+ SHOP_QR_READ: "QUANLY_SHOPQR_READ",
74204
+ SHOP_QR_CREATE: "QUANLY_SHOPQR_CREATE",
74205
+ SHOP_QR_UPDATE: "QUANLY_SHOPQR_UPDATE",
74206
+ SHOP_QR_DELETE: "QUANLY_SHOPQR_DELETE",
74207
+ // Pay by Link
74208
+ PAY_BY_LINK_READ: "PAY_BY_LINK_READ",
74209
+ PAY_BY_LINK_CREATE: "PAY_BY_LINK_CREATE",
74210
+ PAY_BY_LINK_UPDATE: "PAY_BY_LINK_UPDATE",
74211
+ PAY_BY_LINK_DELETE: "PAY_BY_LINK_DELETE",
74212
+ //Quản lí QR thanh toán
74213
+ QUANLY_QR_THANHTOAN_READ: "QUANLY_QR_THANHTOAN_READ",
74214
+ QUANLY_QR_THANHTOAN_CREATE: "QUANLY_QR_THANHTOAN_CREATE",
74215
+ QUANLY_QR_THANHTOAN_UPDATE: "QUANLY_QR_THANHTOAN_UPDATE",
74216
+ QUANLY_QR_THANHTOAN_DELETE: "QUANLY_QR_THANHTOAN_DELETE"
74217
+ };
74218
+ const EDC_PERMISSIONS = {
74219
+ POS_MACHINE_READ: "QUANLY_MAY_THANHTOAN_THE_READ",
74220
+ POS_MACHINE_CREATE: "QUANLY_MAY_THANHTOAN_THE_CREATE",
74221
+ POS_MACHINE_UPDATE: "QUANLY_MAY_THANHTOAN_THE_UPDATE",
74222
+ POS_MACHINE_DELETE: "QUANLY_MAY_THANHTOAN_THE_DELETE"
74223
+ };
74224
+ const SALES_PERMISSIONS = {
74225
+ // Khách hàng
74226
+ CUSTOMER_READ: "QUANLY_KHACHHANG_READ",
74227
+ CUSTOMER_CREATE: "QUANLY_KHACHHANG_CREATE",
74228
+ CUSTOMER_UPDATE: "QUANLY_KHACHHANG_UPDATE",
74229
+ CUSTOMER_DELETE: "QUANLY_KHACHHANG_DELETE",
74230
+ // Sản phẩm
74231
+ PRODUCT_READ: "QUANLY_SP_READ",
74232
+ PRODUCT_CREATE: "QUANLY_SP_CREATE",
74233
+ PRODUCT_UPDATE: "QUANLY_SP_UPDATE",
74234
+ PRODUCT_DELETE: "QUANLY_SP_DELETE",
74235
+ // Đơn hàng
74236
+ QUANLY_DONHANG_READ: "QUANLY_DONHANG_READ",
74237
+ QUANLY_DONHANG_CREATE: "QUANLY_DONHANG_CREATE",
74238
+ QUANLY_DONHANG_UPDATE: "QUANLY_DONHANG_UPDATE",
74239
+ QUANLY_DONHANG_DELETE: "QUANLY_DONHANG_DELETE",
74240
+ // Bàn (cho F&B)
74241
+ TABLE_READ: "QUANLY_BAN_READ",
74242
+ TABLE_CREATE: "QUANLY_BAN_CREATE",
74243
+ TABLE_UPDATE: "QUANLY_BAN_UPDATE",
74244
+ TABLE_DELETE: "QUANLY_BAN_DELETE",
74245
+ // Cài đặt bán hàng
74246
+ SALES_SETTINGS_READ: "CAIDAT_BANHANG_READ",
74247
+ SALES_SETTINGS_UPDATE: "CAIDAT_BANHANG_UPDATE",
74248
+ // Đăng ký bán hàng
74249
+ SALES_REGISTER_READ: "DANGKY_BANHANG_READ"
74250
+ };
74251
+ const SETTINGS_PERMISSIONS = {
74252
+ THIETLAP_BANHANG_READ: "THIETLAP_BANHANG_READ",
74253
+ THIETLAP_BANHANG_UPDATE: "THIETLAP_BANHANG_UPDATE",
74254
+ THIETLAP_BANHANG_CREATE: "THIETLAP_BANHANG_CREATE"
74255
+ };
74256
+ const EINVOICE_PERMISSIONS = {
74257
+ // Hóa đơn điện tử
74258
+ EINVOICE_READ: "HOA_DON_DIEN_TU_READ",
74259
+ EINVOICE_CREATE: "HOA_DON_DIEN_TU_CREATE",
74260
+ EINVOICE_UPDATE: "HOA_DON_DIEN_TU_UPDATE",
74261
+ EINVOICE_DELETE: "HOA_DON_DIEN_TU_DELETE",
74262
+ EINVOICE_ONBOARD: "HOA_DON_DIEN_TU_ONBOARD",
74263
+ EINVOICE_CONFIGURE: "HOA_DON_DIEN_TU_CONFIG"
74264
+ };
74265
+ const BUSINESS_PERMISSIONS = {
74266
+ // Hồ sơ
74267
+ THONGTIN_READ: "THONGTIN_READ",
74268
+ // Cửa hàng
74269
+ STORE_READ: "QUANLY_CUAHANG_READ",
74270
+ STORE_CREATE: "QUANLY_CUAHANG_CREATE",
74271
+ STORE_UPDATE: "QUANLY_CUAHANG_UPDATE",
74272
+ STORE_DELETE: "QUANLY_CUAHANG_DELETE",
74273
+ // Nhân viên
74274
+ STAFF_READ: "QUANLY_NHANVIEN_READ",
74275
+ STAFF_CREATE: "QUANLY_NHANVIEN_CREATE",
74276
+ STAFF_UPDATE: "QUANLY_NHANVIEN_UPDATE",
74277
+ STAFF_DELETE: "QUANLY_NHANVIEN_DELETE",
74278
+ STAFF_ACCOUNT: "QUANLY_NHANVIEN_ACCOUNT",
74279
+ // Phân quyền nhân viên (Vai trò)
74280
+ ROLE_READ: "QUANLY_VAITRO_READ",
74281
+ ROLE_CREATE: "QUANLY_VAITRO_CREATE",
74282
+ ROLE_UPDATE: "QUANLY_VAITRO_UPDATE",
74283
+ ROLE_DELETE: "QUANLY_VAITRO_DELETE"
74284
+ };
74285
+ const FEEDBACK_PERMISSIONS = {
74286
+ FEEDBACK_READ: "PHAN_HOI_READ",
74287
+ FEEDBACK_CREATE: "PHAN_HOI_CREATE",
74288
+ FEEDBACK_UPDATE: "PHAN_HOI_UPDATE",
74289
+ FEEDBACK_DELETE: "PHAN_HOI_DELETE"
74290
+ };
74291
+ const TRACKING_PERMISSIONS = {
74292
+ TRACKING_READ: "THEO_DOI_READ"
74293
+ };
74294
+ __spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, DASHBOARD_PERMISSIONS), REPORT_PERMISSIONS), PAYMENT_PERMISSIONS), EDC_PERMISSIONS), SALES_PERMISSIONS), EINVOICE_PERMISSIONS), BUSINESS_PERMISSIONS), FEEDBACK_PERMISSIONS), TRACKING_PERMISSIONS);
74130
74295
  const ROLE_FORM = {
74131
74296
  ROLE_NAME: "role_name",
74132
74297
  PERMISSIONS: "permissions"
@@ -74137,7 +74302,7 @@ const PERMISSION_GROUPS = [
74137
74302
  label: "Tổng quan",
74138
74303
  permissions: [
74139
74304
  {
74140
- id: "TONGQUAN.READ",
74305
+ id: DASHBOARD_PERMISSIONS.OVERVIEW,
74141
74306
  label: "Xem thông tin",
74142
74307
  is_primary: true,
74143
74308
  active: false,
@@ -74155,14 +74320,14 @@ const PERMISSION_GROUPS = [
74155
74320
  label: "Giao dịch thẻ",
74156
74321
  permissions: [
74157
74322
  {
74158
- id: "BAOCAO_GIAODICH_THE.READ",
74323
+ id: REPORT_PERMISSIONS.CARD_TRANSACTIONS_READ,
74159
74324
  label: "Xem thông tin",
74160
74325
  is_primary: true,
74161
74326
  active: false,
74162
74327
  max: 10
74163
74328
  },
74164
74329
  {
74165
- id: "BAOCAO_GIAODICH_THE.CREATE",
74330
+ id: REPORT_PERMISSIONS.CARD_TRANSACTIONS_READ,
74166
74331
  label: "Xuất báo cáo",
74167
74332
  is_primary: false,
74168
74333
  active: false,
@@ -74175,14 +74340,14 @@ const PERMISSION_GROUPS = [
74175
74340
  label: "Giao dịch QR",
74176
74341
  permissions: [
74177
74342
  {
74178
- id: "BAOCAO_GIAODICH_QR.READ",
74343
+ id: REPORT_PERMISSIONS.QR_TRANSACTIONS_READ,
74179
74344
  label: "Xem thông tin",
74180
74345
  is_primary: true,
74181
74346
  active: false,
74182
74347
  max: 10
74183
74348
  },
74184
74349
  {
74185
- id: "XUAT_BAOCAO_GIAODICH_QR.CREATE",
74350
+ id: REPORT_PERMISSIONS.QR_TRANSACTIONS_CREATE,
74186
74351
  label: "Xuất báo cáo",
74187
74352
  is_primary: false,
74188
74353
  active: false,
@@ -74202,7 +74367,7 @@ const PERMISSION_GROUPS = [
74202
74367
  label: "Tài khoản thanh toán",
74203
74368
  permissions: [
74204
74369
  {
74205
- id: "QUANLY_TAIKHOAN_THANHTOAN.READ",
74370
+ id: PAYMENT_PERMISSIONS.PAYMENT_ACCOUNT_READ,
74206
74371
  label: "Xem thông tin",
74207
74372
  is_primary: true,
74208
74373
  active: false,
@@ -74215,21 +74380,21 @@ const PERMISSION_GROUPS = [
74215
74380
  label: "Quản lý ShopQR",
74216
74381
  permissions: [
74217
74382
  {
74218
- id: "QUANLY_SHOPQR.READ",
74383
+ id: PAYMENT_PERMISSIONS.SHOP_QR_READ,
74219
74384
  label: "Xem thông tin",
74220
74385
  is_primary: true,
74221
74386
  active: false,
74222
74387
  max: 10
74223
74388
  },
74224
74389
  {
74225
- id: "QUANLY_SHOPQR.CREATE",
74390
+ id: PAYMENT_PERMISSIONS.SHOP_QR_CREATE,
74226
74391
  label: "Tạo mới",
74227
74392
  is_primary: false,
74228
74393
  active: false,
74229
74394
  max: null
74230
74395
  },
74231
74396
  {
74232
- id: "QUANLY_SHOPQR.DELETE",
74397
+ id: PAYMENT_PERMISSIONS.SHOP_QR_DELETE,
74233
74398
  label: "Xóa",
74234
74399
  is_primary: false,
74235
74400
  active: false,
@@ -74242,14 +74407,14 @@ const PERMISSION_GROUPS = [
74242
74407
  label: "Quản lý QR thanh toán",
74243
74408
  permissions: [
74244
74409
  {
74245
- id: "QUANLY_QR_THANHTOAN.READ",
74410
+ id: PAYMENT_PERMISSIONS.QUANLY_QR_THANHTOAN_READ,
74246
74411
  label: "Xem thông tin",
74247
74412
  is_primary: true,
74248
74413
  active: false,
74249
74414
  max: 10
74250
74415
  },
74251
74416
  {
74252
- id: "QUANLY_QR_THANHTOAN.CREATE",
74417
+ id: PAYMENT_PERMISSIONS.QUANLY_QR_THANHTOAN_CREATE,
74253
74418
  label: "Tạo mới",
74254
74419
  is_primary: false,
74255
74420
  active: false,
@@ -74264,7 +74429,7 @@ const PERMISSION_GROUPS = [
74264
74429
  label: "Pay By Link",
74265
74430
  permissions: [
74266
74431
  {
74267
- id: "PAY_BY_LINK.CREATE",
74432
+ id: PAYMENT_PERMISSIONS.PAY_BY_LINK_CREATE,
74268
74433
  label: "Tạo Payment Link",
74269
74434
  is_primary: false,
74270
74435
  active: false,
@@ -74277,14 +74442,14 @@ const PERMISSION_GROUPS = [
74277
74442
  label: "Quản lý máy thanh toán thẻ",
74278
74443
  permissions: [
74279
74444
  {
74280
- id: "QUANLY_MAY_THANHTOAN_THE.READ",
74445
+ id: EDC_PERMISSIONS.POS_MACHINE_READ,
74281
74446
  label: "Xem thông tin",
74282
74447
  is_primary: true,
74283
74448
  active: false,
74284
74449
  max: 10
74285
74450
  },
74286
74451
  {
74287
- id: "QUANLY_MAY_THANHTOAN_THE.UPDATE",
74452
+ id: EDC_PERMISSIONS.POS_MACHINE_UPDATE,
74288
74453
  label: "Tích hợp ShopQR",
74289
74454
  is_primary: false,
74290
74455
  active: false,
@@ -74302,21 +74467,21 @@ const PERMISSION_GROUPS = [
74302
74467
  label: "Danh sách khách hàng",
74303
74468
  permissions: [
74304
74469
  {
74305
- id: "QUANLY_KHACHHANG.READ",
74470
+ id: SALES_PERMISSIONS.CUSTOMER_READ,
74306
74471
  label: "Xem thông tin",
74307
74472
  is_primary: true,
74308
74473
  active: false,
74309
74474
  max: 10
74310
74475
  },
74311
74476
  {
74312
- id: "QUANLY_KHACHHANG.CREATE",
74477
+ id: SALES_PERMISSIONS.CUSTOMER_CREATE,
74313
74478
  label: "Tạo mới",
74314
74479
  is_primary: false,
74315
74480
  active: false,
74316
74481
  max: null
74317
74482
  },
74318
74483
  {
74319
- id: "QUANLY_KHACHHANG.UPDATE",
74484
+ id: SALES_PERMISSIONS.CUSTOMER_UPDATE,
74320
74485
  label: "Chỉnh sửa",
74321
74486
  is_primary: false,
74322
74487
  active: false,
@@ -74329,21 +74494,21 @@ const PERMISSION_GROUPS = [
74329
74494
  label: "Danh sách sản phẩm",
74330
74495
  permissions: [
74331
74496
  {
74332
- id: "E_MENU.READ",
74497
+ id: "E_MENU_READ",
74333
74498
  label: "Xem thông tin",
74334
74499
  is_primary: true,
74335
74500
  active: false,
74336
74501
  max: 10
74337
74502
  },
74338
74503
  {
74339
- id: "E_MENU.CREATE",
74504
+ id: "E_MENU_CREATE",
74340
74505
  label: "Tạo mới",
74341
74506
  is_primary: false,
74342
74507
  active: false,
74343
74508
  max: null
74344
74509
  },
74345
74510
  {
74346
- id: "E_MENU.UPDATE",
74511
+ id: "E_MENU_UPDATE",
74347
74512
  label: "Chỉnh sửa",
74348
74513
  is_primary: false,
74349
74514
  active: false,
@@ -74352,18 +74517,18 @@ const PERMISSION_GROUPS = [
74352
74517
  ]
74353
74518
  },
74354
74519
  {
74355
- id: "quan_ly_ban_hang.don_hang",
74520
+ id: "QUANLY_DONHANG",
74356
74521
  label: "Danh sách đơn hàng",
74357
74522
  permissions: [
74358
74523
  {
74359
- id: "quan_ly_ban_hang.don_hang.READ",
74524
+ id: SALES_PERMISSIONS.QUANLY_DONHANG_READ,
74360
74525
  label: "Xem thông tin",
74361
74526
  is_primary: true,
74362
74527
  active: false,
74363
74528
  max: 10
74364
74529
  },
74365
74530
  {
74366
- id: "quan_ly_ban_hang.don_hang.CREATE",
74531
+ id: SALES_PERMISSIONS.QUANLY_DONHANG_CREATE,
74367
74532
  label: "Tạo đơn",
74368
74533
  is_primary: false,
74369
74534
  active: false,
@@ -74373,32 +74538,32 @@ const PERMISSION_GROUPS = [
74373
74538
  },
74374
74539
  {
74375
74540
  id: "QUANLY_BANHANG",
74376
- label: "Danh sách bán",
74541
+ label: "Danh sách bàn",
74377
74542
  permissions: [
74378
74543
  {
74379
- id: "QUANLY_BANHANG.READ",
74544
+ id: SALES_PERMISSIONS.TABLE_READ,
74380
74545
  label: "Xem thông tin",
74381
74546
  is_primary: true,
74382
74547
  active: false,
74383
74548
  max: 10
74384
74549
  },
74385
74550
  {
74386
- id: "QUANLY_BANHANG.CREATE",
74387
- label: "Tạo bán",
74551
+ id: SALES_PERMISSIONS.TABLE_CREATE,
74552
+ label: "Tạo bàn",
74388
74553
  is_primary: false,
74389
74554
  active: false,
74390
74555
  max: null
74391
74556
  },
74392
74557
  {
74393
- id: "QUANLY_BANHANG.UPDATE",
74394
- label: "Chỉnh sửa bán",
74558
+ id: SALES_PERMISSIONS.TABLE_UPDATE,
74559
+ label: "Chỉnh sửa bàn",
74395
74560
  is_primary: false,
74396
74561
  active: false,
74397
74562
  max: null
74398
74563
  },
74399
74564
  {
74400
- id: "QUANLY_BANHANG.DELETE",
74401
- label: "Xóa bán",
74565
+ id: SALES_PERMISSIONS.TABLE_DELETE,
74566
+ label: "Xóa bàn",
74402
74567
  is_primary: false,
74403
74568
  active: false,
74404
74569
  max: null
@@ -74406,25 +74571,25 @@ const PERMISSION_GROUPS = [
74406
74571
  ]
74407
74572
  },
74408
74573
  {
74409
- id: "quan_ly_ban_hang.thiet_lap",
74574
+ id: "THIETLAP_BANHANG",
74410
74575
  label: "Thiết lập",
74411
74576
  permissions: [
74412
74577
  {
74413
- id: "quan_ly_ban_hang.thiet_lap.xem",
74578
+ id: SETTINGS_PERMISSIONS.THIETLAP_BANHANG_READ,
74414
74579
  label: "Xem thông tin",
74415
74580
  is_primary: true,
74416
74581
  active: false,
74417
74582
  max: 10
74418
74583
  },
74419
74584
  {
74420
- id: "quan_ly_ban_hang.thiet_lap.sua",
74585
+ id: SETTINGS_PERMISSIONS.THIETLAP_BANHANG_UPDATE,
74421
74586
  label: "Chỉnh sửa",
74422
74587
  is_primary: false,
74423
74588
  active: false,
74424
74589
  max: null
74425
74590
  },
74426
74591
  {
74427
- id: "quan_ly_ban_hang.thiet_lap.them_may_in",
74592
+ id: SETTINGS_PERMISSIONS.THIETLAP_BANHANG_CREATE,
74428
74593
  label: "Thêm máy in",
74429
74594
  is_primary: false,
74430
74595
  active: false,
@@ -74440,11 +74605,11 @@ const PERMISSION_GROUPS = [
74440
74605
  isNested: true,
74441
74606
  subGroups: [
74442
74607
  {
74443
- id: "thong_tin_ho_so.ho_so",
74608
+ id: "THONGTIN",
74444
74609
  label: "Hồ sơ",
74445
74610
  permissions: [
74446
74611
  {
74447
- id: "thong_tin_ho_so.ho_so.xem",
74612
+ id: BUSINESS_PERMISSIONS.THONGTIN_READ,
74448
74613
  label: "Xem thông tin",
74449
74614
  is_primary: true,
74450
74615
  active: false,
@@ -74453,11 +74618,11 @@ const PERMISSION_GROUPS = [
74453
74618
  ]
74454
74619
  },
74455
74620
  {
74456
- id: "thong_tin_ho_so.cua_hang",
74621
+ id: "QUANLY_CUAHANG",
74457
74622
  label: "Quản lý cửa hàng",
74458
74623
  permissions: [
74459
74624
  {
74460
- id: "thong_tin_ho_so.cua_hang.xem",
74625
+ id: BUSINESS_PERMISSIONS.STORE_READ,
74461
74626
  label: "Xem thông tin",
74462
74627
  is_primary: true,
74463
74628
  active: false,
@@ -74470,35 +74635,35 @@ const PERMISSION_GROUPS = [
74470
74635
  label: "Quản lý nhân viên",
74471
74636
  permissions: [
74472
74637
  {
74473
- id: "QUANLY_NHANVIEN.READ",
74638
+ id: BUSINESS_PERMISSIONS.STAFF_READ,
74474
74639
  label: "Xem thông tin",
74475
74640
  is_primary: true,
74476
74641
  active: false,
74477
74642
  max: 10
74478
74643
  },
74479
74644
  {
74480
- id: "QUANLY_NHANVIEN.CREATE",
74645
+ id: BUSINESS_PERMISSIONS.STAFF_CREATE,
74481
74646
  label: "Tạo mới",
74482
74647
  is_primary: false,
74483
74648
  active: false,
74484
74649
  max: null
74485
74650
  },
74486
74651
  {
74487
- id: "QUANLY_NHANVIEN.UPDATE",
74652
+ id: BUSINESS_PERMISSIONS.STAFF_UPDATE,
74488
74653
  label: "Chỉnh sửa",
74489
74654
  is_primary: false,
74490
74655
  active: false,
74491
74656
  max: null
74492
74657
  },
74493
74658
  {
74494
- id: "QUANLY_NHANVIEN.DELETE",
74659
+ id: BUSINESS_PERMISSIONS.STAFF_DELETE,
74495
74660
  label: "Xóa",
74496
74661
  is_primary: false,
74497
74662
  active: false,
74498
74663
  max: null
74499
74664
  },
74500
74665
  {
74501
- id: "thong_tin_ho_so.nhan_vien.cap_tai_khoan",
74666
+ id: BUSINESS_PERMISSIONS.STAFF_ACCOUNT,
74502
74667
  label: "Cấp tài khoản/ Thu hồi",
74503
74668
  is_primary: false,
74504
74669
  active: false,
@@ -74518,21 +74683,21 @@ const PERMISSION_GROUPS = [
74518
74683
  label: "Danh sách hóa đơn điện tử",
74519
74684
  permissions: [
74520
74685
  {
74521
- id: "HOA_DON_DIEN_TU.READ",
74686
+ id: EINVOICE_PERMISSIONS.EINVOICE_READ,
74522
74687
  label: "Xem thông tin",
74523
74688
  is_primary: true,
74524
74689
  active: false,
74525
74690
  max: 10
74526
74691
  },
74527
74692
  {
74528
- id: "HOA_DON_DIEN_TU.CREATE",
74693
+ id: EINVOICE_PERMISSIONS.EINVOICE_CREATE,
74529
74694
  label: "Xuất hóa đơn",
74530
74695
  is_primary: false,
74531
74696
  active: false,
74532
74697
  max: null
74533
74698
  },
74534
74699
  {
74535
- id: "HOA_DON_DIEN_TU.UPDATE",
74700
+ id: EINVOICE_PERMISSIONS.EINVOICE_UPDATE,
74536
74701
  label: "Ký hóa đơn",
74537
74702
  is_primary: false,
74538
74703
  active: false,
@@ -74543,16 +74708,102 @@ const PERMISSION_GROUPS = [
74543
74708
  ]
74544
74709
  }
74545
74710
  ];
74711
+ const findPermission = (permissions, permissionCode) => {
74712
+ if (!permissionCode) return null;
74713
+ return permissions.find((item) => item.code === permissionCode) || null;
74714
+ };
74715
+ const hasPermission = (permissions, permissionCode) => {
74716
+ if (!permissionCode) return false;
74717
+ const permission = findPermission(permissions, permissionCode);
74718
+ return !!(permission == null ? void 0 : permission.active);
74719
+ };
74720
+ const getAllSubPermissions = (permissions) => {
74721
+ if (!Array.isArray(permissions)) {
74722
+ return [];
74723
+ }
74724
+ return permissions.flatMap((group) => group.sub_permissions || []);
74725
+ };
74726
+ const formatParams = (params) => {
74727
+ const searchParams = new URLSearchParams();
74728
+ Object.entries(params).forEach(([key, value]) => {
74729
+ if (value !== void 0 && value !== null) {
74730
+ searchParams.append(key, String(value));
74731
+ }
74732
+ });
74733
+ return searchParams.toString();
74734
+ };
74735
+ const createRoleService = (axiosClientPortal) => {
74736
+ return {
74737
+ getAll: (params) => __async(exports, null, function* () {
74738
+ var _a, _b, _c, _d;
74739
+ const response = yield axiosClientPortal.get(
74740
+ `/roles/?${formatParams(params)}`
74741
+ );
74742
+ const raw = response.data;
74743
+ return {
74744
+ data: (_a = raw == null ? void 0 : raw.data) != null ? _a : [],
74745
+ errors: (_b = raw == null ? void 0 : raw.errors) != null ? _b : null,
74746
+ error_code: (_c = raw == null ? void 0 : raw.error_code) != null ? _c : null,
74747
+ msg: (_d = raw == null ? void 0 : raw.msg) != null ? _d : null
74748
+ };
74749
+ }),
74750
+ getRoleById: (role_id) => __async(exports, null, function* () {
74751
+ const response = yield axiosClientPortal.get(`/roles/${role_id}`);
74752
+ return response.data;
74753
+ }),
74754
+ create: (data) => __async(exports, null, function* () {
74755
+ const response = yield axiosClientPortal.post(`/metadata/roles/`, data);
74756
+ return response.data;
74757
+ }),
74758
+ update: (role_id, data) => __async(exports, null, function* () {
74759
+ const response = yield axiosClientPortal.put(`/metadata/roles/${role_id}`, data);
74760
+ return response.data;
74761
+ }),
74762
+ delete: (roleId) => __async(exports, null, function* () {
74763
+ const response = yield axiosClientPortal.delete(
74764
+ `/metadata/roles?id=${roleId}`
74765
+ );
74766
+ return response.data;
74767
+ }),
74768
+ validateRoleData: (data) => {
74769
+ const errors = [];
74770
+ if (!data.role_name || data.role_name.trim().length === 0) {
74771
+ errors.push("Tên role không được để trống");
74772
+ }
74773
+ if (!data.permissions || data.permissions.length === 0) {
74774
+ errors.push("Phải chọn ít nhất một permission");
74775
+ }
74776
+ return {
74777
+ isValid: errors.length === 0,
74778
+ errors
74779
+ };
74780
+ }
74781
+ };
74782
+ };
74783
+ exports.BUSINESS_PERMISSIONS = BUSINESS_PERMISSIONS;
74784
+ exports.DASHBOARD_PERMISSIONS = DASHBOARD_PERMISSIONS;
74785
+ exports.EDC_PERMISSIONS = EDC_PERMISSIONS;
74786
+ exports.EINVOICE_PERMISSIONS = EINVOICE_PERMISSIONS;
74787
+ exports.FEEDBACK_PERMISSIONS = FEEDBACK_PERMISSIONS;
74546
74788
  exports.MerchantBatchCreateForm = MerchantBatchCreateForm;
74547
74789
  exports.MerchantEdit = MerchantEdit;
74548
74790
  exports.MerchantRegistrationForm = MerchantRegistrationForm;
74549
74791
  exports.MerchantTable = MerchantTable;
74550
74792
  exports.MerchantView = MerchantView;
74551
74793
  exports.NewAccountCreate = NewAccountCreate;
74794
+ exports.PAYMENT_PERMISSIONS = PAYMENT_PERMISSIONS;
74552
74795
  exports.PERMISSION_GROUPS = PERMISSION_GROUPS;
74553
74796
  exports.PermissionCheckboxGroup = PermissionCheckboxGroup;
74797
+ exports.REPORT_PERMISSIONS = REPORT_PERMISSIONS;
74554
74798
  exports.ROLE_FORM = ROLE_FORM;
74799
+ exports.SALES_PERMISSIONS = SALES_PERMISSIONS;
74800
+ exports.SETTINGS_PERMISSIONS = SETTINGS_PERMISSIONS;
74801
+ exports.TRACKING_PERMISSIONS = TRACKING_PERMISSIONS;
74802
+ exports.createRoleService = createRoleService;
74803
+ exports.findPermission = findPermission;
74804
+ exports.getAllSubPermissions = getAllSubPermissions;
74555
74805
  exports.getDefaultActivePermissions = getDefaultActivePermissions;
74806
+ exports.hasPermission = hasPermission;
74556
74807
  exports.setAccessToken = setAccessToken;
74557
74808
  exports.useExternalConfig = useExternalConfigStore;
74558
74809
  exports.usePortalApiConfig = usePortalApiConfig;