@atomsolution/sdk-merchant 1.0.1 → 1.1.0
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/components/role/index.d.ts +2 -0
- package/dist/constants/permission.d.ts +293 -0
- package/dist/index.cjs +307 -56
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.esm.js +307 -56
- package/dist/index.esm.js.map +1 -1
- package/dist/services/roleService.d.ts +43 -0
- package/dist/types/permission.d.ts +7 -0
- package/dist/utils/permission.d.ts +4 -0
- package/dist/utils/useRouterNavigate.d.ts +4 -0
- package/package.json +2 -2
package/dist/index.esm.js
CHANGED
|
@@ -103,7 +103,6 @@ import React__default, { useReducer, useRef, useEffect, useLayoutEffect, useDebu
|
|
|
103
103
|
import * as ReactDOM from "react-dom";
|
|
104
104
|
import ReactDOM__default, { createPortal } from "react-dom";
|
|
105
105
|
import { toast, ToastContainer } from "react-toastify";
|
|
106
|
-
import { useHistory } from "react-router-dom";
|
|
107
106
|
function setAccessToken(token) {
|
|
108
107
|
}
|
|
109
108
|
function createStore(createState) {
|
|
@@ -13874,14 +13873,22 @@ function NewAccountCreate({
|
|
|
13874
13873
|
label: translate2("form_pwd_label"),
|
|
13875
13874
|
value: password,
|
|
13876
13875
|
onChange: (e) => {
|
|
13877
|
-
|
|
13878
|
-
|
|
13876
|
+
const newPassword = e.target.value;
|
|
13877
|
+
setPassword(newPassword);
|
|
13878
|
+
if (!newPassword) {
|
|
13879
13879
|
setPasswordError(translate2("form_pwd_err_required"));
|
|
13880
|
-
} else if (!validate(
|
|
13880
|
+
} else if (!validate(newPassword).isValid) {
|
|
13881
13881
|
setPasswordError(translate2("form_pwd_err_invalid"));
|
|
13882
13882
|
} else {
|
|
13883
13883
|
setPasswordError("");
|
|
13884
13884
|
}
|
|
13885
|
+
if (confirmPassword && confirmPassword !== newPassword) {
|
|
13886
|
+
setConfirmPasswordError(
|
|
13887
|
+
translate2("form_confirm_pwd_err_no_match")
|
|
13888
|
+
);
|
|
13889
|
+
} else {
|
|
13890
|
+
setConfirmPasswordError("");
|
|
13891
|
+
}
|
|
13885
13892
|
},
|
|
13886
13893
|
placeholder: translate2("form_pwd_placeholder"),
|
|
13887
13894
|
required: true,
|
|
@@ -13895,12 +13902,13 @@ function NewAccountCreate({
|
|
|
13895
13902
|
label: translate2("form_confirm_pwd_label"),
|
|
13896
13903
|
value: confirmPassword,
|
|
13897
13904
|
onChange: (e) => {
|
|
13898
|
-
|
|
13899
|
-
|
|
13905
|
+
const newConfirm = e.target.value;
|
|
13906
|
+
setConfirmPassword(newConfirm);
|
|
13907
|
+
if (!newConfirm) {
|
|
13900
13908
|
setConfirmPasswordError(
|
|
13901
13909
|
translate2("form_confirm_pwd_err_required")
|
|
13902
13910
|
);
|
|
13903
|
-
} else if (
|
|
13911
|
+
} else if (newConfirm !== password) {
|
|
13904
13912
|
setConfirmPasswordError(
|
|
13905
13913
|
translate2("form_confirm_pwd_err_no_match")
|
|
13906
13914
|
);
|
|
@@ -43249,6 +43257,34 @@ function getDateTimeMetrics(date2 = /* @__PURE__ */ new Date()) {
|
|
|
43249
43257
|
seconds
|
|
43250
43258
|
};
|
|
43251
43259
|
}
|
|
43260
|
+
function useRouterNavigate() {
|
|
43261
|
+
return useMemo(() => {
|
|
43262
|
+
try {
|
|
43263
|
+
const { useNavigate } = require("react-router-dom");
|
|
43264
|
+
if (typeof useNavigate === "function") {
|
|
43265
|
+
const navigate = useNavigate();
|
|
43266
|
+
return (path) => {
|
|
43267
|
+
var _a;
|
|
43268
|
+
if (typeof path === "string") navigate(path);
|
|
43269
|
+
else navigate(`${path.pathname}${(_a = path.search) != null ? _a : ""}`);
|
|
43270
|
+
};
|
|
43271
|
+
}
|
|
43272
|
+
} catch (_) {
|
|
43273
|
+
}
|
|
43274
|
+
try {
|
|
43275
|
+
const { useHistory } = require("react-router-dom");
|
|
43276
|
+
const history = useHistory();
|
|
43277
|
+
return (path) => {
|
|
43278
|
+
var _a;
|
|
43279
|
+
return typeof path === "string" ? history.push(path) : history.push(path.pathname + ((_a = path.search) != null ? _a : ""));
|
|
43280
|
+
};
|
|
43281
|
+
} catch (err) {
|
|
43282
|
+
console.error("[SDK Router] Cannot detect router version:", err);
|
|
43283
|
+
return () => {
|
|
43284
|
+
};
|
|
43285
|
+
}
|
|
43286
|
+
}, []);
|
|
43287
|
+
}
|
|
43252
43288
|
var exceljs_min = { exports: {} };
|
|
43253
43289
|
/*! ExcelJS 19-10-2023 */
|
|
43254
43290
|
(function(module, exports) {
|
|
@@ -66489,10 +66525,10 @@ const CreateProductSuccessModal = ({
|
|
|
66489
66525
|
return (((_a = state.userInfo) == null ? void 0 : _a.name) || "user").replace(/\s+/g, "-");
|
|
66490
66526
|
});
|
|
66491
66527
|
const { reset: reset2 } = useUploadStore();
|
|
66492
|
-
const
|
|
66528
|
+
const navigate = useRouterNavigate();
|
|
66493
66529
|
const onClose = () => {
|
|
66494
66530
|
reset2();
|
|
66495
|
-
|
|
66531
|
+
navigate({
|
|
66496
66532
|
pathname: "/sale-product",
|
|
66497
66533
|
search: "?page=1&page_size=10"
|
|
66498
66534
|
});
|
|
@@ -74109,6 +74145,135 @@ const getDefaultActivePermissions = (groups) => {
|
|
|
74109
74145
|
});
|
|
74110
74146
|
return activeIds;
|
|
74111
74147
|
};
|
|
74148
|
+
const DASHBOARD_PERMISSIONS = {
|
|
74149
|
+
OVERVIEW: "TONGQUAN_READ"
|
|
74150
|
+
};
|
|
74151
|
+
const REPORT_PERMISSIONS = {
|
|
74152
|
+
// Báo cáo giao dịch thẻ
|
|
74153
|
+
CARD_TRANSACTIONS_READ: "BAOCAO_GIAODICH_THE_READ",
|
|
74154
|
+
CARD_TRANSACTIONS_CREATE: "BAOCAO_GIAODICH_THE_CREATE",
|
|
74155
|
+
CARD_TRANSACTIONS_UPDATE: "BAOCAO_GIAODICH_THE_UPDATE",
|
|
74156
|
+
CARD_TRANSACTIONS_DELETE: "BAOCAO_GIAODICH_THE_DELETE",
|
|
74157
|
+
// Báo cáo giao dịch QR
|
|
74158
|
+
QR_TRANSACTIONS_READ: "BAOCAO_GIAODICH_QR_READ",
|
|
74159
|
+
QR_TRANSACTIONS_CREATE: "BAOCAO_GIAODICH_QR_CREATE",
|
|
74160
|
+
QR_TRANSACTIONS_UPDATE: "BAOCAO_GIAODICH_QR_UPDATE",
|
|
74161
|
+
QR_TRANSACTIONS_DELETE: "BAOCAO_GIAODICH_QR_DELETE",
|
|
74162
|
+
// Báo cáo giao dịch tiền mặt
|
|
74163
|
+
CASH_TRANSACTIONS_READ: "BAOCAO_GIAODICH_TIENMAT_READ",
|
|
74164
|
+
// Báo cáo giao dịch E-wallet
|
|
74165
|
+
EWALLET_TRANSACTIONS_READ: "BAOCAO_GIAODICH_EWALLET_READ",
|
|
74166
|
+
// Báo cáo giao dịch trả góp
|
|
74167
|
+
INSTALLMENT_TRANSACTIONS_READ: "BAOCAO_GIAODICH_TRAGOP_READ",
|
|
74168
|
+
// Báo cáo giao dịch E-commerce
|
|
74169
|
+
ECOM_TRANSACTIONS_READ: "BAOCAO_GIAODICH_ECOM_READ",
|
|
74170
|
+
// Báo cáo giao dịch tiết kiệm
|
|
74171
|
+
SAVING_TRANSACTIONS_READ: "BAOCAO_GIAODICH_TIETKIEM_READ",
|
|
74172
|
+
// Báo cáo giao dịch vay vốn
|
|
74173
|
+
LOAN_TRANSACTIONS_READ: "BAOCAO_GIAODICH_VAYVON_READ",
|
|
74174
|
+
// Xuất báo cáo
|
|
74175
|
+
EXPORT_QR_REPORT: "XUAT_BAOCAO_GIAODICH_QR_CREATE",
|
|
74176
|
+
EXPORT_CARD_REPORT: "XUAT_BAOCAO_GIAODICH_THE_CREATE"
|
|
74177
|
+
};
|
|
74178
|
+
const PAYMENT_PERMISSIONS = {
|
|
74179
|
+
// Tài khoản thanh toán
|
|
74180
|
+
PAYMENT_ACCOUNT_READ: "QUANLY_TAIKHOAN_THANHTOAN_READ",
|
|
74181
|
+
PAYMENT_ACCOUNT_CREATE: "QUANLY_TAIKHOAN_THANHTOAN_CREATE",
|
|
74182
|
+
PAYMENT_ACCOUNT_UPDATE: "QUANLY_TAIKHOAN_THANHTOAN_UPDATE",
|
|
74183
|
+
PAYMENT_ACCOUNT_DELETE: "QUANLY_TAIKHOAN_THANHTOAN_DELETE",
|
|
74184
|
+
// Shop QR
|
|
74185
|
+
SHOP_QR_READ: "QUANLY_SHOPQR_READ",
|
|
74186
|
+
SHOP_QR_CREATE: "QUANLY_SHOPQR_CREATE",
|
|
74187
|
+
SHOP_QR_UPDATE: "QUANLY_SHOPQR_UPDATE",
|
|
74188
|
+
SHOP_QR_DELETE: "QUANLY_SHOPQR_DELETE",
|
|
74189
|
+
// Pay by Link
|
|
74190
|
+
PAY_BY_LINK_READ: "PAY_BY_LINK_READ",
|
|
74191
|
+
PAY_BY_LINK_CREATE: "PAY_BY_LINK_CREATE",
|
|
74192
|
+
PAY_BY_LINK_UPDATE: "PAY_BY_LINK_UPDATE",
|
|
74193
|
+
PAY_BY_LINK_DELETE: "PAY_BY_LINK_DELETE",
|
|
74194
|
+
//Quản lí QR thanh toán
|
|
74195
|
+
QUANLY_QR_THANHTOAN_READ: "QUANLY_QR_THANHTOAN_READ",
|
|
74196
|
+
QUANLY_QR_THANHTOAN_CREATE: "QUANLY_QR_THANHTOAN_CREATE",
|
|
74197
|
+
QUANLY_QR_THANHTOAN_UPDATE: "QUANLY_QR_THANHTOAN_UPDATE",
|
|
74198
|
+
QUANLY_QR_THANHTOAN_DELETE: "QUANLY_QR_THANHTOAN_DELETE"
|
|
74199
|
+
};
|
|
74200
|
+
const EDC_PERMISSIONS = {
|
|
74201
|
+
POS_MACHINE_READ: "QUANLY_MAY_THANHTOAN_THE_READ",
|
|
74202
|
+
POS_MACHINE_CREATE: "QUANLY_MAY_THANHTOAN_THE_CREATE",
|
|
74203
|
+
POS_MACHINE_UPDATE: "QUANLY_MAY_THANHTOAN_THE_UPDATE",
|
|
74204
|
+
POS_MACHINE_DELETE: "QUANLY_MAY_THANHTOAN_THE_DELETE"
|
|
74205
|
+
};
|
|
74206
|
+
const SALES_PERMISSIONS = {
|
|
74207
|
+
// Khách hàng
|
|
74208
|
+
CUSTOMER_READ: "QUANLY_KHACHHANG_READ",
|
|
74209
|
+
CUSTOMER_CREATE: "QUANLY_KHACHHANG_CREATE",
|
|
74210
|
+
CUSTOMER_UPDATE: "QUANLY_KHACHHANG_UPDATE",
|
|
74211
|
+
CUSTOMER_DELETE: "QUANLY_KHACHHANG_DELETE",
|
|
74212
|
+
// Sản phẩm
|
|
74213
|
+
PRODUCT_READ: "QUANLY_SP_READ",
|
|
74214
|
+
PRODUCT_CREATE: "QUANLY_SP_CREATE",
|
|
74215
|
+
PRODUCT_UPDATE: "QUANLY_SP_UPDATE",
|
|
74216
|
+
PRODUCT_DELETE: "QUANLY_SP_DELETE",
|
|
74217
|
+
// Đơn hàng
|
|
74218
|
+
QUANLY_DONHANG_READ: "QUANLY_DONHANG_READ",
|
|
74219
|
+
QUANLY_DONHANG_CREATE: "QUANLY_DONHANG_CREATE",
|
|
74220
|
+
QUANLY_DONHANG_UPDATE: "QUANLY_DONHANG_UPDATE",
|
|
74221
|
+
QUANLY_DONHANG_DELETE: "QUANLY_DONHANG_DELETE",
|
|
74222
|
+
// Bàn (cho F&B)
|
|
74223
|
+
TABLE_READ: "QUANLY_BAN_READ",
|
|
74224
|
+
TABLE_CREATE: "QUANLY_BAN_CREATE",
|
|
74225
|
+
TABLE_UPDATE: "QUANLY_BAN_UPDATE",
|
|
74226
|
+
TABLE_DELETE: "QUANLY_BAN_DELETE",
|
|
74227
|
+
// Cài đặt bán hàng
|
|
74228
|
+
SALES_SETTINGS_READ: "CAIDAT_BANHANG_READ",
|
|
74229
|
+
SALES_SETTINGS_UPDATE: "CAIDAT_BANHANG_UPDATE",
|
|
74230
|
+
// Đăng ký bán hàng
|
|
74231
|
+
SALES_REGISTER_READ: "DANGKY_BANHANG_READ"
|
|
74232
|
+
};
|
|
74233
|
+
const SETTINGS_PERMISSIONS = {
|
|
74234
|
+
THIETLAP_BANHANG_READ: "THIETLAP_BANHANG_READ",
|
|
74235
|
+
THIETLAP_BANHANG_UPDATE: "THIETLAP_BANHANG_UPDATE",
|
|
74236
|
+
THIETLAP_BANHANG_CREATE: "THIETLAP_BANHANG_CREATE"
|
|
74237
|
+
};
|
|
74238
|
+
const EINVOICE_PERMISSIONS = {
|
|
74239
|
+
// Hóa đơn điện tử
|
|
74240
|
+
EINVOICE_READ: "HOA_DON_DIEN_TU_READ",
|
|
74241
|
+
EINVOICE_CREATE: "HOA_DON_DIEN_TU_CREATE",
|
|
74242
|
+
EINVOICE_UPDATE: "HOA_DON_DIEN_TU_UPDATE",
|
|
74243
|
+
EINVOICE_DELETE: "HOA_DON_DIEN_TU_DELETE",
|
|
74244
|
+
EINVOICE_ONBOARD: "HOA_DON_DIEN_TU_ONBOARD",
|
|
74245
|
+
EINVOICE_CONFIGURE: "HOA_DON_DIEN_TU_CONFIG"
|
|
74246
|
+
};
|
|
74247
|
+
const BUSINESS_PERMISSIONS = {
|
|
74248
|
+
// Hồ sơ
|
|
74249
|
+
THONGTIN_READ: "THONGTIN_READ",
|
|
74250
|
+
// Cửa hàng
|
|
74251
|
+
STORE_READ: "QUANLY_CUAHANG_READ",
|
|
74252
|
+
STORE_CREATE: "QUANLY_CUAHANG_CREATE",
|
|
74253
|
+
STORE_UPDATE: "QUANLY_CUAHANG_UPDATE",
|
|
74254
|
+
STORE_DELETE: "QUANLY_CUAHANG_DELETE",
|
|
74255
|
+
// Nhân viên
|
|
74256
|
+
STAFF_READ: "QUANLY_NHANVIEN_READ",
|
|
74257
|
+
STAFF_CREATE: "QUANLY_NHANVIEN_CREATE",
|
|
74258
|
+
STAFF_UPDATE: "QUANLY_NHANVIEN_UPDATE",
|
|
74259
|
+
STAFF_DELETE: "QUANLY_NHANVIEN_DELETE",
|
|
74260
|
+
STAFF_ACCOUNT: "QUANLY_NHANVIEN_ACCOUNT",
|
|
74261
|
+
// Phân quyền nhân viên (Vai trò)
|
|
74262
|
+
ROLE_READ: "QUANLY_VAITRO_READ",
|
|
74263
|
+
ROLE_CREATE: "QUANLY_VAITRO_CREATE",
|
|
74264
|
+
ROLE_UPDATE: "QUANLY_VAITRO_UPDATE",
|
|
74265
|
+
ROLE_DELETE: "QUANLY_VAITRO_DELETE"
|
|
74266
|
+
};
|
|
74267
|
+
const FEEDBACK_PERMISSIONS = {
|
|
74268
|
+
FEEDBACK_READ: "PHAN_HOI_READ",
|
|
74269
|
+
FEEDBACK_CREATE: "PHAN_HOI_CREATE",
|
|
74270
|
+
FEEDBACK_UPDATE: "PHAN_HOI_UPDATE",
|
|
74271
|
+
FEEDBACK_DELETE: "PHAN_HOI_DELETE"
|
|
74272
|
+
};
|
|
74273
|
+
const TRACKING_PERMISSIONS = {
|
|
74274
|
+
TRACKING_READ: "THEO_DOI_READ"
|
|
74275
|
+
};
|
|
74276
|
+
__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);
|
|
74112
74277
|
const ROLE_FORM = {
|
|
74113
74278
|
ROLE_NAME: "role_name",
|
|
74114
74279
|
PERMISSIONS: "permissions"
|
|
@@ -74119,7 +74284,7 @@ const PERMISSION_GROUPS = [
|
|
|
74119
74284
|
label: "Tổng quan",
|
|
74120
74285
|
permissions: [
|
|
74121
74286
|
{
|
|
74122
|
-
id:
|
|
74287
|
+
id: DASHBOARD_PERMISSIONS.OVERVIEW,
|
|
74123
74288
|
label: "Xem thông tin",
|
|
74124
74289
|
is_primary: true,
|
|
74125
74290
|
active: false,
|
|
@@ -74137,14 +74302,14 @@ const PERMISSION_GROUPS = [
|
|
|
74137
74302
|
label: "Giao dịch thẻ",
|
|
74138
74303
|
permissions: [
|
|
74139
74304
|
{
|
|
74140
|
-
id:
|
|
74305
|
+
id: REPORT_PERMISSIONS.CARD_TRANSACTIONS_READ,
|
|
74141
74306
|
label: "Xem thông tin",
|
|
74142
74307
|
is_primary: true,
|
|
74143
74308
|
active: false,
|
|
74144
74309
|
max: 10
|
|
74145
74310
|
},
|
|
74146
74311
|
{
|
|
74147
|
-
id:
|
|
74312
|
+
id: REPORT_PERMISSIONS.CARD_TRANSACTIONS_READ,
|
|
74148
74313
|
label: "Xuất báo cáo",
|
|
74149
74314
|
is_primary: false,
|
|
74150
74315
|
active: false,
|
|
@@ -74157,14 +74322,14 @@ const PERMISSION_GROUPS = [
|
|
|
74157
74322
|
label: "Giao dịch QR",
|
|
74158
74323
|
permissions: [
|
|
74159
74324
|
{
|
|
74160
|
-
id:
|
|
74325
|
+
id: REPORT_PERMISSIONS.QR_TRANSACTIONS_READ,
|
|
74161
74326
|
label: "Xem thông tin",
|
|
74162
74327
|
is_primary: true,
|
|
74163
74328
|
active: false,
|
|
74164
74329
|
max: 10
|
|
74165
74330
|
},
|
|
74166
74331
|
{
|
|
74167
|
-
id:
|
|
74332
|
+
id: REPORT_PERMISSIONS.QR_TRANSACTIONS_CREATE,
|
|
74168
74333
|
label: "Xuất báo cáo",
|
|
74169
74334
|
is_primary: false,
|
|
74170
74335
|
active: false,
|
|
@@ -74184,7 +74349,7 @@ const PERMISSION_GROUPS = [
|
|
|
74184
74349
|
label: "Tài khoản thanh toán",
|
|
74185
74350
|
permissions: [
|
|
74186
74351
|
{
|
|
74187
|
-
id:
|
|
74352
|
+
id: PAYMENT_PERMISSIONS.PAYMENT_ACCOUNT_READ,
|
|
74188
74353
|
label: "Xem thông tin",
|
|
74189
74354
|
is_primary: true,
|
|
74190
74355
|
active: false,
|
|
@@ -74197,21 +74362,21 @@ const PERMISSION_GROUPS = [
|
|
|
74197
74362
|
label: "Quản lý ShopQR",
|
|
74198
74363
|
permissions: [
|
|
74199
74364
|
{
|
|
74200
|
-
id:
|
|
74365
|
+
id: PAYMENT_PERMISSIONS.SHOP_QR_READ,
|
|
74201
74366
|
label: "Xem thông tin",
|
|
74202
74367
|
is_primary: true,
|
|
74203
74368
|
active: false,
|
|
74204
74369
|
max: 10
|
|
74205
74370
|
},
|
|
74206
74371
|
{
|
|
74207
|
-
id:
|
|
74372
|
+
id: PAYMENT_PERMISSIONS.SHOP_QR_CREATE,
|
|
74208
74373
|
label: "Tạo mới",
|
|
74209
74374
|
is_primary: false,
|
|
74210
74375
|
active: false,
|
|
74211
74376
|
max: null
|
|
74212
74377
|
},
|
|
74213
74378
|
{
|
|
74214
|
-
id:
|
|
74379
|
+
id: PAYMENT_PERMISSIONS.SHOP_QR_DELETE,
|
|
74215
74380
|
label: "Xóa",
|
|
74216
74381
|
is_primary: false,
|
|
74217
74382
|
active: false,
|
|
@@ -74224,14 +74389,14 @@ const PERMISSION_GROUPS = [
|
|
|
74224
74389
|
label: "Quản lý QR thanh toán",
|
|
74225
74390
|
permissions: [
|
|
74226
74391
|
{
|
|
74227
|
-
id:
|
|
74392
|
+
id: PAYMENT_PERMISSIONS.QUANLY_QR_THANHTOAN_READ,
|
|
74228
74393
|
label: "Xem thông tin",
|
|
74229
74394
|
is_primary: true,
|
|
74230
74395
|
active: false,
|
|
74231
74396
|
max: 10
|
|
74232
74397
|
},
|
|
74233
74398
|
{
|
|
74234
|
-
id:
|
|
74399
|
+
id: PAYMENT_PERMISSIONS.QUANLY_QR_THANHTOAN_CREATE,
|
|
74235
74400
|
label: "Tạo mới",
|
|
74236
74401
|
is_primary: false,
|
|
74237
74402
|
active: false,
|
|
@@ -74246,7 +74411,7 @@ const PERMISSION_GROUPS = [
|
|
|
74246
74411
|
label: "Pay By Link",
|
|
74247
74412
|
permissions: [
|
|
74248
74413
|
{
|
|
74249
|
-
id:
|
|
74414
|
+
id: PAYMENT_PERMISSIONS.PAY_BY_LINK_CREATE,
|
|
74250
74415
|
label: "Tạo Payment Link",
|
|
74251
74416
|
is_primary: false,
|
|
74252
74417
|
active: false,
|
|
@@ -74259,14 +74424,14 @@ const PERMISSION_GROUPS = [
|
|
|
74259
74424
|
label: "Quản lý máy thanh toán thẻ",
|
|
74260
74425
|
permissions: [
|
|
74261
74426
|
{
|
|
74262
|
-
id:
|
|
74427
|
+
id: EDC_PERMISSIONS.POS_MACHINE_READ,
|
|
74263
74428
|
label: "Xem thông tin",
|
|
74264
74429
|
is_primary: true,
|
|
74265
74430
|
active: false,
|
|
74266
74431
|
max: 10
|
|
74267
74432
|
},
|
|
74268
74433
|
{
|
|
74269
|
-
id:
|
|
74434
|
+
id: EDC_PERMISSIONS.POS_MACHINE_UPDATE,
|
|
74270
74435
|
label: "Tích hợp ShopQR",
|
|
74271
74436
|
is_primary: false,
|
|
74272
74437
|
active: false,
|
|
@@ -74284,21 +74449,21 @@ const PERMISSION_GROUPS = [
|
|
|
74284
74449
|
label: "Danh sách khách hàng",
|
|
74285
74450
|
permissions: [
|
|
74286
74451
|
{
|
|
74287
|
-
id:
|
|
74452
|
+
id: SALES_PERMISSIONS.CUSTOMER_READ,
|
|
74288
74453
|
label: "Xem thông tin",
|
|
74289
74454
|
is_primary: true,
|
|
74290
74455
|
active: false,
|
|
74291
74456
|
max: 10
|
|
74292
74457
|
},
|
|
74293
74458
|
{
|
|
74294
|
-
id:
|
|
74459
|
+
id: SALES_PERMISSIONS.CUSTOMER_CREATE,
|
|
74295
74460
|
label: "Tạo mới",
|
|
74296
74461
|
is_primary: false,
|
|
74297
74462
|
active: false,
|
|
74298
74463
|
max: null
|
|
74299
74464
|
},
|
|
74300
74465
|
{
|
|
74301
|
-
id:
|
|
74466
|
+
id: SALES_PERMISSIONS.CUSTOMER_UPDATE,
|
|
74302
74467
|
label: "Chỉnh sửa",
|
|
74303
74468
|
is_primary: false,
|
|
74304
74469
|
active: false,
|
|
@@ -74311,21 +74476,21 @@ const PERMISSION_GROUPS = [
|
|
|
74311
74476
|
label: "Danh sách sản phẩm",
|
|
74312
74477
|
permissions: [
|
|
74313
74478
|
{
|
|
74314
|
-
id: "
|
|
74479
|
+
id: "E_MENU_READ",
|
|
74315
74480
|
label: "Xem thông tin",
|
|
74316
74481
|
is_primary: true,
|
|
74317
74482
|
active: false,
|
|
74318
74483
|
max: 10
|
|
74319
74484
|
},
|
|
74320
74485
|
{
|
|
74321
|
-
id: "
|
|
74486
|
+
id: "E_MENU_CREATE",
|
|
74322
74487
|
label: "Tạo mới",
|
|
74323
74488
|
is_primary: false,
|
|
74324
74489
|
active: false,
|
|
74325
74490
|
max: null
|
|
74326
74491
|
},
|
|
74327
74492
|
{
|
|
74328
|
-
id: "
|
|
74493
|
+
id: "E_MENU_UPDATE",
|
|
74329
74494
|
label: "Chỉnh sửa",
|
|
74330
74495
|
is_primary: false,
|
|
74331
74496
|
active: false,
|
|
@@ -74334,18 +74499,18 @@ const PERMISSION_GROUPS = [
|
|
|
74334
74499
|
]
|
|
74335
74500
|
},
|
|
74336
74501
|
{
|
|
74337
|
-
id: "
|
|
74502
|
+
id: "QUANLY_DONHANG",
|
|
74338
74503
|
label: "Danh sách đơn hàng",
|
|
74339
74504
|
permissions: [
|
|
74340
74505
|
{
|
|
74341
|
-
id:
|
|
74506
|
+
id: SALES_PERMISSIONS.QUANLY_DONHANG_READ,
|
|
74342
74507
|
label: "Xem thông tin",
|
|
74343
74508
|
is_primary: true,
|
|
74344
74509
|
active: false,
|
|
74345
74510
|
max: 10
|
|
74346
74511
|
},
|
|
74347
74512
|
{
|
|
74348
|
-
id:
|
|
74513
|
+
id: SALES_PERMISSIONS.QUANLY_DONHANG_CREATE,
|
|
74349
74514
|
label: "Tạo đơn",
|
|
74350
74515
|
is_primary: false,
|
|
74351
74516
|
active: false,
|
|
@@ -74355,32 +74520,32 @@ const PERMISSION_GROUPS = [
|
|
|
74355
74520
|
},
|
|
74356
74521
|
{
|
|
74357
74522
|
id: "QUANLY_BANHANG",
|
|
74358
|
-
label: "Danh sách
|
|
74523
|
+
label: "Danh sách bàn",
|
|
74359
74524
|
permissions: [
|
|
74360
74525
|
{
|
|
74361
|
-
id:
|
|
74526
|
+
id: SALES_PERMISSIONS.TABLE_READ,
|
|
74362
74527
|
label: "Xem thông tin",
|
|
74363
74528
|
is_primary: true,
|
|
74364
74529
|
active: false,
|
|
74365
74530
|
max: 10
|
|
74366
74531
|
},
|
|
74367
74532
|
{
|
|
74368
|
-
id:
|
|
74369
|
-
label: "Tạo
|
|
74533
|
+
id: SALES_PERMISSIONS.TABLE_CREATE,
|
|
74534
|
+
label: "Tạo bàn",
|
|
74370
74535
|
is_primary: false,
|
|
74371
74536
|
active: false,
|
|
74372
74537
|
max: null
|
|
74373
74538
|
},
|
|
74374
74539
|
{
|
|
74375
|
-
id:
|
|
74376
|
-
label: "Chỉnh sửa
|
|
74540
|
+
id: SALES_PERMISSIONS.TABLE_UPDATE,
|
|
74541
|
+
label: "Chỉnh sửa bàn",
|
|
74377
74542
|
is_primary: false,
|
|
74378
74543
|
active: false,
|
|
74379
74544
|
max: null
|
|
74380
74545
|
},
|
|
74381
74546
|
{
|
|
74382
|
-
id:
|
|
74383
|
-
label: "Xóa
|
|
74547
|
+
id: SALES_PERMISSIONS.TABLE_DELETE,
|
|
74548
|
+
label: "Xóa bàn",
|
|
74384
74549
|
is_primary: false,
|
|
74385
74550
|
active: false,
|
|
74386
74551
|
max: null
|
|
@@ -74388,25 +74553,25 @@ const PERMISSION_GROUPS = [
|
|
|
74388
74553
|
]
|
|
74389
74554
|
},
|
|
74390
74555
|
{
|
|
74391
|
-
id: "
|
|
74556
|
+
id: "THIETLAP_BANHANG",
|
|
74392
74557
|
label: "Thiết lập",
|
|
74393
74558
|
permissions: [
|
|
74394
74559
|
{
|
|
74395
|
-
id:
|
|
74560
|
+
id: SETTINGS_PERMISSIONS.THIETLAP_BANHANG_READ,
|
|
74396
74561
|
label: "Xem thông tin",
|
|
74397
74562
|
is_primary: true,
|
|
74398
74563
|
active: false,
|
|
74399
74564
|
max: 10
|
|
74400
74565
|
},
|
|
74401
74566
|
{
|
|
74402
|
-
id:
|
|
74567
|
+
id: SETTINGS_PERMISSIONS.THIETLAP_BANHANG_UPDATE,
|
|
74403
74568
|
label: "Chỉnh sửa",
|
|
74404
74569
|
is_primary: false,
|
|
74405
74570
|
active: false,
|
|
74406
74571
|
max: null
|
|
74407
74572
|
},
|
|
74408
74573
|
{
|
|
74409
|
-
id:
|
|
74574
|
+
id: SETTINGS_PERMISSIONS.THIETLAP_BANHANG_CREATE,
|
|
74410
74575
|
label: "Thêm máy in",
|
|
74411
74576
|
is_primary: false,
|
|
74412
74577
|
active: false,
|
|
@@ -74422,11 +74587,11 @@ const PERMISSION_GROUPS = [
|
|
|
74422
74587
|
isNested: true,
|
|
74423
74588
|
subGroups: [
|
|
74424
74589
|
{
|
|
74425
|
-
id: "
|
|
74590
|
+
id: "THONGTIN",
|
|
74426
74591
|
label: "Hồ sơ",
|
|
74427
74592
|
permissions: [
|
|
74428
74593
|
{
|
|
74429
|
-
id:
|
|
74594
|
+
id: BUSINESS_PERMISSIONS.THONGTIN_READ,
|
|
74430
74595
|
label: "Xem thông tin",
|
|
74431
74596
|
is_primary: true,
|
|
74432
74597
|
active: false,
|
|
@@ -74435,11 +74600,11 @@ const PERMISSION_GROUPS = [
|
|
|
74435
74600
|
]
|
|
74436
74601
|
},
|
|
74437
74602
|
{
|
|
74438
|
-
id: "
|
|
74603
|
+
id: "QUANLY_CUAHANG",
|
|
74439
74604
|
label: "Quản lý cửa hàng",
|
|
74440
74605
|
permissions: [
|
|
74441
74606
|
{
|
|
74442
|
-
id:
|
|
74607
|
+
id: BUSINESS_PERMISSIONS.STORE_READ,
|
|
74443
74608
|
label: "Xem thông tin",
|
|
74444
74609
|
is_primary: true,
|
|
74445
74610
|
active: false,
|
|
@@ -74452,35 +74617,35 @@ const PERMISSION_GROUPS = [
|
|
|
74452
74617
|
label: "Quản lý nhân viên",
|
|
74453
74618
|
permissions: [
|
|
74454
74619
|
{
|
|
74455
|
-
id:
|
|
74620
|
+
id: BUSINESS_PERMISSIONS.STAFF_READ,
|
|
74456
74621
|
label: "Xem thông tin",
|
|
74457
74622
|
is_primary: true,
|
|
74458
74623
|
active: false,
|
|
74459
74624
|
max: 10
|
|
74460
74625
|
},
|
|
74461
74626
|
{
|
|
74462
|
-
id:
|
|
74627
|
+
id: BUSINESS_PERMISSIONS.STAFF_CREATE,
|
|
74463
74628
|
label: "Tạo mới",
|
|
74464
74629
|
is_primary: false,
|
|
74465
74630
|
active: false,
|
|
74466
74631
|
max: null
|
|
74467
74632
|
},
|
|
74468
74633
|
{
|
|
74469
|
-
id:
|
|
74634
|
+
id: BUSINESS_PERMISSIONS.STAFF_UPDATE,
|
|
74470
74635
|
label: "Chỉnh sửa",
|
|
74471
74636
|
is_primary: false,
|
|
74472
74637
|
active: false,
|
|
74473
74638
|
max: null
|
|
74474
74639
|
},
|
|
74475
74640
|
{
|
|
74476
|
-
id:
|
|
74641
|
+
id: BUSINESS_PERMISSIONS.STAFF_DELETE,
|
|
74477
74642
|
label: "Xóa",
|
|
74478
74643
|
is_primary: false,
|
|
74479
74644
|
active: false,
|
|
74480
74645
|
max: null
|
|
74481
74646
|
},
|
|
74482
74647
|
{
|
|
74483
|
-
id:
|
|
74648
|
+
id: BUSINESS_PERMISSIONS.STAFF_ACCOUNT,
|
|
74484
74649
|
label: "Cấp tài khoản/ Thu hồi",
|
|
74485
74650
|
is_primary: false,
|
|
74486
74651
|
active: false,
|
|
@@ -74500,21 +74665,21 @@ const PERMISSION_GROUPS = [
|
|
|
74500
74665
|
label: "Danh sách hóa đơn điện tử",
|
|
74501
74666
|
permissions: [
|
|
74502
74667
|
{
|
|
74503
|
-
id:
|
|
74668
|
+
id: EINVOICE_PERMISSIONS.EINVOICE_READ,
|
|
74504
74669
|
label: "Xem thông tin",
|
|
74505
74670
|
is_primary: true,
|
|
74506
74671
|
active: false,
|
|
74507
74672
|
max: 10
|
|
74508
74673
|
},
|
|
74509
74674
|
{
|
|
74510
|
-
id:
|
|
74675
|
+
id: EINVOICE_PERMISSIONS.EINVOICE_CREATE,
|
|
74511
74676
|
label: "Xuất hóa đơn",
|
|
74512
74677
|
is_primary: false,
|
|
74513
74678
|
active: false,
|
|
74514
74679
|
max: null
|
|
74515
74680
|
},
|
|
74516
74681
|
{
|
|
74517
|
-
id:
|
|
74682
|
+
id: EINVOICE_PERMISSIONS.EINVOICE_UPDATE,
|
|
74518
74683
|
label: "Ký hóa đơn",
|
|
74519
74684
|
is_primary: false,
|
|
74520
74685
|
active: false,
|
|
@@ -74525,17 +74690,103 @@ const PERMISSION_GROUPS = [
|
|
|
74525
74690
|
]
|
|
74526
74691
|
}
|
|
74527
74692
|
];
|
|
74693
|
+
const findPermission = (permissions, permissionCode) => {
|
|
74694
|
+
if (!permissionCode) return null;
|
|
74695
|
+
return permissions.find((item) => item.code === permissionCode) || null;
|
|
74696
|
+
};
|
|
74697
|
+
const hasPermission = (permissions, permissionCode) => {
|
|
74698
|
+
if (!permissionCode) return false;
|
|
74699
|
+
const permission = findPermission(permissions, permissionCode);
|
|
74700
|
+
return !!(permission == null ? void 0 : permission.active);
|
|
74701
|
+
};
|
|
74702
|
+
const getAllSubPermissions = (permissions) => {
|
|
74703
|
+
if (!Array.isArray(permissions)) {
|
|
74704
|
+
return [];
|
|
74705
|
+
}
|
|
74706
|
+
return permissions.flatMap((group) => group.sub_permissions || []);
|
|
74707
|
+
};
|
|
74708
|
+
const formatParams = (params) => {
|
|
74709
|
+
const searchParams = new URLSearchParams();
|
|
74710
|
+
Object.entries(params).forEach(([key, value]) => {
|
|
74711
|
+
if (value !== void 0 && value !== null) {
|
|
74712
|
+
searchParams.append(key, String(value));
|
|
74713
|
+
}
|
|
74714
|
+
});
|
|
74715
|
+
return searchParams.toString();
|
|
74716
|
+
};
|
|
74717
|
+
const createRoleService = (axiosClientPortal) => {
|
|
74718
|
+
return {
|
|
74719
|
+
getAll: (params) => __async(void 0, null, function* () {
|
|
74720
|
+
var _a, _b, _c, _d;
|
|
74721
|
+
const response = yield axiosClientPortal.get(
|
|
74722
|
+
`/roles/?${formatParams(params)}`
|
|
74723
|
+
);
|
|
74724
|
+
const raw = response.data;
|
|
74725
|
+
return {
|
|
74726
|
+
data: (_a = raw == null ? void 0 : raw.data) != null ? _a : [],
|
|
74727
|
+
errors: (_b = raw == null ? void 0 : raw.errors) != null ? _b : null,
|
|
74728
|
+
error_code: (_c = raw == null ? void 0 : raw.error_code) != null ? _c : null,
|
|
74729
|
+
msg: (_d = raw == null ? void 0 : raw.msg) != null ? _d : null
|
|
74730
|
+
};
|
|
74731
|
+
}),
|
|
74732
|
+
getRoleById: (role_id) => __async(void 0, null, function* () {
|
|
74733
|
+
const response = yield axiosClientPortal.get(`/roles/${role_id}`);
|
|
74734
|
+
return response.data;
|
|
74735
|
+
}),
|
|
74736
|
+
create: (data) => __async(void 0, null, function* () {
|
|
74737
|
+
const response = yield axiosClientPortal.post(`/metadata/roles/`, data);
|
|
74738
|
+
return response.data;
|
|
74739
|
+
}),
|
|
74740
|
+
update: (role_id, data) => __async(void 0, null, function* () {
|
|
74741
|
+
const response = yield axiosClientPortal.put(`/metadata/roles/${role_id}`, data);
|
|
74742
|
+
return response.data;
|
|
74743
|
+
}),
|
|
74744
|
+
delete: (roleId) => __async(void 0, null, function* () {
|
|
74745
|
+
const response = yield axiosClientPortal.delete(
|
|
74746
|
+
`/metadata/roles?id=${roleId}`
|
|
74747
|
+
);
|
|
74748
|
+
return response.data;
|
|
74749
|
+
}),
|
|
74750
|
+
validateRoleData: (data) => {
|
|
74751
|
+
const errors = [];
|
|
74752
|
+
if (!data.role_name || data.role_name.trim().length === 0) {
|
|
74753
|
+
errors.push("Tên role không được để trống");
|
|
74754
|
+
}
|
|
74755
|
+
if (!data.permissions || data.permissions.length === 0) {
|
|
74756
|
+
errors.push("Phải chọn ít nhất một permission");
|
|
74757
|
+
}
|
|
74758
|
+
return {
|
|
74759
|
+
isValid: errors.length === 0,
|
|
74760
|
+
errors
|
|
74761
|
+
};
|
|
74762
|
+
}
|
|
74763
|
+
};
|
|
74764
|
+
};
|
|
74528
74765
|
export {
|
|
74766
|
+
BUSINESS_PERMISSIONS,
|
|
74767
|
+
DASHBOARD_PERMISSIONS,
|
|
74768
|
+
EDC_PERMISSIONS,
|
|
74769
|
+
EINVOICE_PERMISSIONS,
|
|
74770
|
+
FEEDBACK_PERMISSIONS,
|
|
74529
74771
|
MerchantBatchCreateForm,
|
|
74530
74772
|
MerchantEdit,
|
|
74531
74773
|
MerchantRegistrationForm,
|
|
74532
74774
|
MerchantTable,
|
|
74533
74775
|
MerchantView,
|
|
74534
74776
|
NewAccountCreate,
|
|
74777
|
+
PAYMENT_PERMISSIONS,
|
|
74535
74778
|
PERMISSION_GROUPS,
|
|
74536
74779
|
PermissionCheckboxGroup,
|
|
74780
|
+
REPORT_PERMISSIONS,
|
|
74537
74781
|
ROLE_FORM,
|
|
74782
|
+
SALES_PERMISSIONS,
|
|
74783
|
+
SETTINGS_PERMISSIONS,
|
|
74784
|
+
TRACKING_PERMISSIONS,
|
|
74785
|
+
createRoleService,
|
|
74786
|
+
findPermission,
|
|
74787
|
+
getAllSubPermissions,
|
|
74538
74788
|
getDefaultActivePermissions,
|
|
74789
|
+
hasPermission,
|
|
74539
74790
|
setAccessToken,
|
|
74540
74791
|
useExternalConfigStore as useExternalConfig,
|
|
74541
74792
|
usePortalApiConfig,
|