mario-core 2.7.4 → 2.7.8

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.
@@ -0,0 +1,10 @@
1
+ declare const changePasswordSchema: import("yup/lib/object").OptionalObjectSchema<{
2
+ oldPassword: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
3
+ newPassword: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
4
+ confirmedNewPassword: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
5
+ }, Record<string, any>, import("yup/lib/object").TypeOfShape<{
6
+ oldPassword: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
7
+ newPassword: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
8
+ confirmedNewPassword: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
9
+ }>>;
10
+ export default changePasswordSchema;
@@ -18,5 +18,6 @@ declare const useUserDetail: (id?: string | undefined) => {
18
18
  edited: boolean;
19
19
  setEdited: import("react").Dispatch<import("react").SetStateAction<boolean>>;
20
20
  setEditedTrue: () => Promise<void>;
21
+ confirmChangePassword: (data: any) => Promise<void>;
21
22
  };
22
23
  export default useUserDetail;
package/dist/index.js CHANGED
@@ -4056,6 +4056,7 @@ var setUserList = toolkit.createAction("users/setUserList");
4056
4056
  var setStudentList = toolkit.createAction("users/setStudentList");
4057
4057
 
4058
4058
  var USER_URL = BASE_URL + "/api/user";
4059
+ var CHANGE_PASSWORD = BASE_URL + "/api/Account/changePassword";
4059
4060
  var get$5 = function get(filter) {
4060
4061
  return api.get("" + USER_URL, {
4061
4062
  params: filter
@@ -4073,6 +4074,9 @@ var update$3 = function update(data) {
4073
4074
  var remove$3 = function remove(id) {
4074
4075
  return api["delete"](USER_URL + "/" + id);
4075
4076
  };
4077
+ var changePassword = function changePassword(formData) {
4078
+ return api.post(CHANGE_PASSWORD, formData);
4079
+ };
4076
4080
 
4077
4081
  var USER_URL$1 = "/admin/user";
4078
4082
  var CREATE_USER_URL = "/admin/create-user";
@@ -4520,7 +4524,7 @@ var useUserDetail = function useUserDetail(id) {
4520
4524
  }
4521
4525
  }, [id]);
4522
4526
  var backToList = React.useCallback(function (user) {
4523
- !!user ? history.push(USER_LIST_URL + ("?query=" + user)) : history.push(USER_LIST_URL);
4527
+ !!user && typeof user === "string" ? history.push(USER_LIST_URL + ("?query=" + user)) : history.push(USER_LIST_URL);
4524
4528
  }, []);
4525
4529
  var confirmData = React.useCallback(function (data) {
4526
4530
  try {
@@ -4577,6 +4581,37 @@ var useUserDetail = function useUserDetail(id) {
4577
4581
  return Promise.reject(e);
4578
4582
  }
4579
4583
  }, [id, file]);
4584
+
4585
+ var confirmChangePassword = function confirmChangePassword(data) {
4586
+ try {
4587
+ var _temp13 = function _temp13() {
4588
+ dispatch(setLoading(false));
4589
+ };
4590
+
4591
+ dispatch(setLoading(true));
4592
+
4593
+ var _temp14 = _catch(function () {
4594
+ return Promise.resolve(changePassword(data)).then(function () {
4595
+ dispatch(setAlert({
4596
+ type: "success",
4597
+ message: "Change password successfully"
4598
+ }));
4599
+ });
4600
+ }, function (e) {
4601
+ var _e$response, _e$response$data;
4602
+
4603
+ dispatch(setAlert({
4604
+ type: "danger",
4605
+ message: ((_e$response = e.response) === null || _e$response === void 0 ? void 0 : (_e$response$data = _e$response.data) === null || _e$response$data === void 0 ? void 0 : _e$response$data.title) || e.message
4606
+ }));
4607
+ });
4608
+
4609
+ return Promise.resolve(_temp14 && _temp14.then ? _temp14.then(_temp13) : _temp13(_temp14));
4610
+ } catch (e) {
4611
+ return Promise.reject(e);
4612
+ }
4613
+ };
4614
+
4580
4615
  return {
4581
4616
  userDetail: userDetail,
4582
4617
  backToList: backToList,
@@ -4585,7 +4620,8 @@ var useUserDetail = function useUserDetail(id) {
4585
4620
  setFile: setFile,
4586
4621
  edited: edited,
4587
4622
  setEdited: setEdited,
4588
- setEditedTrue: setEditedTrue
4623
+ setEditedTrue: setEditedTrue,
4624
+ confirmChangePassword: confirmChangePassword
4589
4625
  };
4590
4626
  };
4591
4627
 
@@ -4597,8 +4633,15 @@ var userSchema = yup.object({
4597
4633
  roles: yup.array().of(yup.string()).min(1, "Role is required")
4598
4634
  });
4599
4635
 
4636
+ var changePasswordSchema = yup.object({
4637
+ oldPassword: yup.string().required("Current password is required"),
4638
+ newPassword: yup.string().required("New password is required"),
4639
+ confirmedNewPassword: yup.string().required("Confirm password is required")
4640
+ });
4641
+
4600
4642
  var CREATE_USER = "Create user";
4601
4643
  var EDIT_USER_HEADER = "Edit user";
4644
+ var CHANGE_PASSWORD$1 = "Change password";
4602
4645
  var ROLES = {
4603
4646
  ADMIN: "Admin",
4604
4647
  TEACHER: "Teacher",
@@ -4611,6 +4654,10 @@ var UserDetail = function UserDetail() {
4611
4654
  var _useParams = reactRouterDom.useParams(),
4612
4655
  id = _useParams.id;
4613
4656
 
4657
+ var user = reactRedux.useSelector(function (state) {
4658
+ return state.common.user;
4659
+ });
4660
+
4614
4661
  var _useUserDetail = useUserDetail(id),
4615
4662
  userDetail = _useUserDetail.userDetail,
4616
4663
  backToList = _useUserDetail.backToList,
@@ -4619,8 +4666,14 @@ var UserDetail = function UserDetail() {
4619
4666
  setFile = _useUserDetail.setFile,
4620
4667
  edited = _useUserDetail.edited,
4621
4668
  setEdited = _useUserDetail.setEdited,
4622
- setEditedTrue = _useUserDetail.setEditedTrue;
4669
+ setEditedTrue = _useUserDetail.setEditedTrue,
4670
+ confirmChangePassword = _useUserDetail.confirmChangePassword;
4623
4671
 
4672
+ var initialValueForm = {
4673
+ oldPassword: "",
4674
+ newPassword: "",
4675
+ confirmedNewPassword: ""
4676
+ };
4624
4677
  var header = !!id ? EDIT_USER_HEADER : CREATE_USER;
4625
4678
  var confirmText = !!id ? "Update" : "Create";
4626
4679
 
@@ -4826,7 +4879,82 @@ var UserDetail = function UserDetail() {
4826
4879
  style: {
4827
4880
  maxWidth: "100%"
4828
4881
  }
4829
- }))))), React__default.createElement(DetailActionButtons, {
4882
+ }))))), user.id === id ? React__default.createElement("div", null, React__default.createElement("h5", {
4883
+ className: "mt-3"
4884
+ }, CHANGE_PASSWORD$1), React__default.createElement(formik.Formik, {
4885
+ initialValues: initialValueForm,
4886
+ enableReinitialize: true,
4887
+ validationSchema: changePasswordSchema,
4888
+ onSubmit: function onSubmit(values) {
4889
+ confirmChangePassword(values);
4890
+ }
4891
+ }, function (formProps) {
4892
+ var values = formProps.values,
4893
+ touched = formProps.touched,
4894
+ errors = formProps.errors,
4895
+ handleChange = formProps.handleChange,
4896
+ handleSubmit = formProps.handleSubmit;
4897
+ return React__default.createElement(reactstrap.Row, {
4898
+ className: "pt-2 pb-5"
4899
+ }, React__default.createElement(reactstrap.Col, {
4900
+ md: 7
4901
+ }, React__default.createElement(reactstrap.FormGroup, null, React__default.createElement(RequiredLabel$1, {
4902
+ text: "Current password"
4903
+ }), React__default.createElement(reactstrap.Input, {
4904
+ name: "oldPassword",
4905
+ type: "password",
4906
+ value: values.oldPassword,
4907
+ onChange: function onChange(e) {
4908
+ handleChange(e);
4909
+ setEditedTrue();
4910
+ },
4911
+ onBlur: handleBlur("subject"),
4912
+ placeholder: "Current password"
4913
+ }), touched.oldPassword && errors.oldPassword && React__default.createElement(ErrorHandler, {
4914
+ text: errors.oldPassword
4915
+ }))), React__default.createElement(reactstrap.Col, {
4916
+ md: 7
4917
+ }, React__default.createElement(reactstrap.FormGroup, null, React__default.createElement(RequiredLabel$1, {
4918
+ text: "New password"
4919
+ }), React__default.createElement(reactstrap.Input, {
4920
+ name: "newPassword",
4921
+ type: "password",
4922
+ value: values.newPassword,
4923
+ onChange: function onChange(e) {
4924
+ handleChange(e);
4925
+ setEditedTrue();
4926
+ },
4927
+ onBlur: handleBlur("subject"),
4928
+ placeholder: "New password"
4929
+ }), touched.newPassword && errors.newPassword && React__default.createElement(ErrorHandler, {
4930
+ text: errors.newPassword
4931
+ }))), React__default.createElement(reactstrap.Col, {
4932
+ md: 7
4933
+ }, React__default.createElement(reactstrap.FormGroup, null, React__default.createElement(RequiredLabel$1, {
4934
+ text: "Confirm password"
4935
+ }), React__default.createElement(reactstrap.Input, {
4936
+ name: "confirmedNewPassword",
4937
+ type: "password",
4938
+ value: values.confirmedNewPassword,
4939
+ onChange: function onChange(e) {
4940
+ handleChange(e);
4941
+ setEditedTrue();
4942
+ },
4943
+ onBlur: handleBlur("subject"),
4944
+ placeholder: "Confirm password"
4945
+ }), touched.confirmedNewPassword && errors.confirmedNewPassword && React__default.createElement(ErrorHandler, {
4946
+ text: errors.confirmedNewPassword
4947
+ }))), React__default.createElement(reactstrap.Col, {
4948
+ md: 12
4949
+ }, React__default.createElement(reactstrap.Button, {
4950
+ color: "primary",
4951
+ size: "sm",
4952
+ className: "px-4 pl-1 mr-2 ml-3",
4953
+ onClick: function onClick() {
4954
+ return handleSubmit();
4955
+ }
4956
+ }, "Save")));
4957
+ })) : null, React__default.createElement(DetailActionButtons, {
4830
4958
  confirmText: confirmText,
4831
4959
  onConfirm: handleSubmit,
4832
4960
  onCancel: backToList