From c0523d8c4c6c4a2bf434f5e44966d4bd2196d99e Mon Sep 17 00:00:00 2001 From: saeid_01 Date: Sat, 4 May 2019 08:48:32 +0430 Subject: [PATCH] Forgot Password --- .../Messaging/src/Facades/MessageResponse.php | 11 - app/Packages/Messaging/src/Message.php | 20 - packages/Auth/SendsPasswordResetEmails.php | 7 +- packages/SMSSender/SMSSender.php | 5 - public/0.js | 2 +- public/1.js | 2 +- public/3.js | 2 +- public/4.js | 2 +- public/6.js | 62 +++- public/7.js | 56 +-- public/mix-manifest.json | 2 +- public/vue/js/app.js | 350 +++++++++--------- .../components/modal/auth/ChangePassword.vue | 61 +++ .../vue/components/modal/auth/VerifyCode.vue | 12 +- resources/js/vue/config/urls.js | 3 + .../js/vue/services/auth/user.service.js | 63 ---- .../js/vue/store/modules/auth/actions.js | 32 +- .../js/vue/views/Auth/ForgotPassword.vue | 17 +- resources/js/vue/views/Auth/Login.vue | 10 +- 19 files changed, 335 insertions(+), 384 deletions(-) delete mode 100644 app/Packages/Messaging/src/Facades/MessageResponse.php delete mode 100644 app/Packages/Messaging/src/Message.php create mode 100644 resources/js/vue/components/modal/auth/ChangePassword.vue diff --git a/app/Packages/Messaging/src/Facades/MessageResponse.php b/app/Packages/Messaging/src/Facades/MessageResponse.php deleted file mode 100644 index a982eb51..00000000 --- a/app/Packages/Messaging/src/Facades/MessageResponse.php +++ /dev/null @@ -1,11 +0,0 @@ -json(['status' => $status, 'message' => $message, 'title' => $title, 'data' => $data], 200); - } - - public function error($message = null, $title = null, $statusCode = 422, $status = 'Faild', $data = null) - { - $message = isset($message) ? $message : trans('messages.faild_message'); - $title = isset($title) ? $title : trans('messages.faild'); - return response()->json(['status' => $status, 'errors' => ['message' => [$message, 'Title' => $title]], 'data' => $data], $statusCode); - } -} \ No newline at end of file diff --git a/packages/Auth/SendsPasswordResetEmails.php b/packages/Auth/SendsPasswordResetEmails.php index 66fae030..40f26627 100644 --- a/packages/Auth/SendsPasswordResetEmails.php +++ b/packages/Auth/SendsPasswordResetEmails.php @@ -4,7 +4,9 @@ namespace Packages\Auth; use Illuminate\Http\Request; use App\User; -use App\Http\Controller\Api\Auth\LoginController; +use Carbon\Carbon; +use App\Http\Controllers\Api\Auth\LoginController; +use Packages\SMSSender\SMSSender; trait SendsPasswordResetEmails { @@ -40,11 +42,10 @@ trait SendsPasswordResetEmails if($user) { $password = rand(10000000, 999999999); - $user->password = Hash::make($password); + $user->password = \Hash::make($password); $user->save(); $request->merge([ 'cell_number' => $user->cell_number, 'password' => $password ]); - return (new LoginController())->login($request); } return \MessageResponse::error('User Not Found'); diff --git a/packages/SMSSender/SMSSender.php b/packages/SMSSender/SMSSender.php index 40a18247..7f80e911 100644 --- a/packages/SMSSender/SMSSender.php +++ b/packages/SMSSender/SMSSender.php @@ -8,12 +8,7 @@ class SMSSender private $password = null; private $webService = null; private $fromNumber = null; - private $messageFee = 15; - private $type = 'Other'; private static $panel = null; - private $pattern = [ - '121' => 'کد فعال سازی: %activate-code%', - ]; private function __construct() { } diff --git a/public/0.js b/public/0.js index 4bc3f51e..698b2af7 100644 --- a/public/0.js +++ b/public/0.js @@ -219,7 +219,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar exports = module.exports = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false); // Module -exports.push([module.i, "\n.WM-ActionButton[data-v-1346f0a2] {\r\n padding: 8px 22px;\n}\r\n", ""]); +exports.push([module.i, "\n.WM-ActionButton[data-v-1346f0a2] {\n padding: 8px 22px;\n}\n", ""]); diff --git a/public/1.js b/public/1.js index 0c130f6e..e08f9336 100644 --- a/public/1.js +++ b/public/1.js @@ -210,7 +210,7 @@ __webpack_require__.r(__webpack_exports__); exports = module.exports = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false); // Module -exports.push([module.i, "\n.WM-Border[data-v-7eb32e4a] {\r\n border: 1px solid;\n}\n.WM-Border-Black[data-v-7eb32e4a] {\r\n border-color: #2f353b !important;\n}\n.WM-Border-Gray[data-v-7eb32e4a] {\r\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-7eb32e4a] {\r\n background-color : #F5F5F5;\n}\n.WM-Relative[data-v-7eb32e4a] {\r\n position: relative;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-7eb32e4a] {\r\n top: -25px !important;\n}\r\n", ""]); +exports.push([module.i, "\n.WM-Border[data-v-7eb32e4a] {\n border: 1px solid;\n}\n.WM-Border-Black[data-v-7eb32e4a] {\n border-color: #2f353b !important;\n}\n.WM-Border-Gray[data-v-7eb32e4a] {\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-7eb32e4a] {\n background-color : #F5F5F5;\n}\n.WM-Relative[data-v-7eb32e4a] {\n position: relative;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-7eb32e4a] {\n top: -25px !important;\n}\n", ""]); diff --git a/public/3.js b/public/3.js index 0f2a1828..3fd96b88 100644 --- a/public/3.js +++ b/public/3.js @@ -562,7 +562,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar exports = module.exports = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false); // Module -exports.push([module.i, "\n.WM-Border-Gray[data-v-5cc5a650] {\r\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-5cc5a650] {\r\n background-color: #f5f5f5;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-5cc5a650] {\r\n top: -25px !important;\n}\n.v-btn--bottom.v-btn--absolute.v-btn--small[data-v-5cc5a650] {\r\n bottom: -24px !important;\n}\r\n", ""]); +exports.push([module.i, "\n.WM-Border-Gray[data-v-5cc5a650] {\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-5cc5a650] {\n background-color: #f5f5f5;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-5cc5a650] {\n top: -25px !important;\n}\n.v-btn--bottom.v-btn--absolute.v-btn--small[data-v-5cc5a650] {\n bottom: -24px !important;\n}\n", ""]); diff --git a/public/4.js b/public/4.js index 07738567..060c14fc 100644 --- a/public/4.js +++ b/public/4.js @@ -225,7 +225,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar exports = module.exports = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false); // Module -exports.push([module.i, "\n.WM-ActionButton[data-v-b1f1b72e] {\r\n padding: 8px 22px;\n}\r\n", ""]); +exports.push([module.i, "\n.WM-ActionButton[data-v-b1f1b72e] {\n padding: 8px 22px;\n}\n", ""]); diff --git a/public/6.js b/public/6.js index 5d4df247..a1189332 100644 --- a/public/6.js +++ b/public/6.js @@ -9,7 +9,17 @@ "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.esm.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.esm.js"); +/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/services */ "./resources/js/vue/services/index.js"); +/* harmony import */ var _config_urls__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/config/urls */ "./resources/js/vue/config/urls.js"); + + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } @@ -56,20 +66,45 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope // // // -// + + /* harmony default export */ __webpack_exports__["default"] = ({ data: function data() { return { - cell_number: "" + form: { + cell_number: "" + } }; }, - methods: _objectSpread({}, Object(vuex__WEBPACK_IMPORTED_MODULE_0__["mapActions"])("auth", ["forgotPassword"]), Object(vuex__WEBPACK_IMPORTED_MODULE_0__["mapMutations"])("modal", ["changeCurrentModal"]), { - handleSubmit: function handleSubmit() { - this.changeCurrentModal({ - modal: "modal-auth-verify-code" - }); - } + methods: _objectSpread({}, Object(vuex__WEBPACK_IMPORTED_MODULE_1__["mapActions"])("auth", ["forgotPassword"]), { + // ...mapMutations("modal", ["changeCurrentModal"]), + handleSubmit: function () { + var _handleSubmit = _asyncToGenerator( + /*#__PURE__*/ + _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + this.forgotPassword({ + form: this.form + }); + + case 1: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function handleSubmit() { + return _handleSubmit.apply(this, arguments); + } + + return handleSubmit; + }() }) }); @@ -124,15 +159,14 @@ var render = function() { attrs: { name: "cellnumber", label: "Cell Number", - id: "id1", color: "black" }, model: { - value: _vm.cell_number, + value: _vm.form.cell_number, callback: function($$v) { - _vm.cell_number = $$v + _vm.$set(_vm.form, "cell_number", $$v) }, - expression: "cell_number" + expression: "form.cell_number" } }) ], @@ -190,7 +224,7 @@ var render = function() { "router-link", { staticClass: "black--text", - attrs: { to: "login" } + attrs: { to: { name: "Login" } } }, [ _c( diff --git a/public/7.js b/public/7.js index 9819f2b4..e365828c 100644 --- a/public/7.js +++ b/public/7.js @@ -68,14 +68,6 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope // // // -// -// -// -// -// -// -// -// /* harmony default export */ __webpack_exports__["default"] = ({ data: function data() { @@ -242,52 +234,6 @@ var render = function() { ) ], 1 - ), - _vm._v(" "), - _c( - "v-flex", - { - staticClass: - "text-md-right text-sm-center text-xs-center", - attrs: { xs12: "", md6: "", sm6: "" } - }, - [ - _c( - "router-link", - { - staticClass: "black--text", - attrs: { to: "register" } - }, - [ - _c( - "v-btn", - { - staticClass: - "WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black" - }, - [ - _c( - "v-icon", - { - staticClass: - "black--text mr-2 caption" - }, - [_vm._v("fas fa-plus")] - ), - _vm._v(" "), - _c( - "span", - { staticClass: "black--text" }, - [_vm._v("Register")] - ) - ], - 1 - ) - ], - 1 - ) - ], - 1 ) ], 1 @@ -310,7 +256,7 @@ var render = function() { [ _c( "router-link", - { attrs: { to: "/forgot-password" } }, + { attrs: { to: { name: "ForgotPassword" } } }, [ _c( "span", diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 61ac1f73..aa50df77 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,3 +1,3 @@ { - "/vue/js/app.js": "/vue/js/app.js?id=38cf613a394ed614a026" + "/vue/js/app.js": "/vue/js/app.js?id=8c04dcb4c96b990c50a9" } diff --git a/public/vue/js/app.js b/public/vue/js/app.js index f4a4f03e..b0b0b9ab 100644 --- a/public/vue/js/app.js +++ b/public/vue/js/app.js @@ -3352,14 +3352,16 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope /* harmony default export */ __webpack_exports__["default"] = ({ data: function data() { return { - verifyCode: "" + form: { + code: "" + } }; }, methods: _objectSpread({}, Object(vuex__WEBPACK_IMPORTED_MODULE_0__["mapActions"])('auth', ['verifyCodeSMS']), { submitVerifyCode: function submitVerifyCode() { - if (this.verifyCode != '') { + if (this.form.code != '') { this.verifyCodeSMS({ - verifyCode: this.verifyCode + form: this.form }); } } @@ -8263,7 +8265,7 @@ exports.push([module.i, "/*!\n* Vuetify v1.5.11\n* Forged by John Leider\n* Rele exports = module.exports = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false); // Module -exports.push([module.i, "\n#core-footer {\r\n z-index: 0;\n}\r\n", ""]); +exports.push([module.i, "\n#core-footer {\n z-index: 0;\n}\n", ""]); @@ -17001,11 +17003,11 @@ var render = function() { color: "black" }, model: { - value: _vm.verifyCode, + value: _vm.form.code, callback: function($$v) { - _vm.verifyCode = $$v + _vm.$set(_vm.form, "code", $$v) }, - expression: "verifyCode" + expression: "form.code" } }) ], @@ -60537,6 +60539,7 @@ var map = { "./material/Notification.vue": "./resources/js/vue/components/material/Notification.vue", "./material/StatsCard.vue": "./resources/js/vue/components/material/StatsCard.vue", "./modal/Base.vue": "./resources/js/vue/components/modal/Base.vue", + "./modal/auth/ChangePassword.vue": "./resources/js/vue/components/modal/auth/ChangePassword.vue", "./modal/auth/VerifyCode.vue": "./resources/js/vue/components/modal/auth/VerifyCode.vue", "./modal/user/Role.vue": "./resources/js/vue/components/modal/user/Role.vue" }; @@ -61686,6 +61689,38 @@ __webpack_require__.r(__webpack_exports__); +/***/ }), + +/***/ "./resources/js/vue/components/modal/auth/ChangePassword.vue": +/*!*******************************************************************!*\ + !*** ./resources/js/vue/components/modal/auth/ChangePassword.vue ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); +var render, staticRenderFns +var script = {} + + +/* normalize component */ + +var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_0__["default"])( + script, + render, + staticRenderFns, + false, + null, + null, + null + +) + +component.options.__file = "resources/js/vue/components/modal/auth/ChangePassword.vue" +/* harmony default export */ __webpack_exports__["default"] = (component.exports); + /***/ }), /***/ "./resources/js/vue/components/modal/auth/VerifyCode.vue": @@ -61846,6 +61881,9 @@ var urls = { storeTestType: "/TestTypes", listTestTypeName: "/TestTypes/ListNames", getInputs: "/GetInputs", + forgotPassword: "/password/phone", + sendVerifyCode: "/password/verifyCode", + changePassword: "/password/reset", listTestType: function listTestType(page) { return "/TestTypes?page=" + page; }, @@ -62707,7 +62745,7 @@ var UserService = { }, auth: { username: "2", - password: "vAhCu2Y4mxfjlr8uTSxpBmjn2rWPIEolnr73ETAE" + password: "r46iu0QJFTrC30H0fEoBbxTGmbJQjjOlSQYFYS7w" } }; _context.prev = 1; @@ -62744,127 +62782,17 @@ var UserService = { return login; }(), - /** - * Login the user and store the access token to TokenService. - * - * @returns access_token - * @throws AuthenticationError - **/ - forgotPassword: function () { - var _forgotPassword = _asyncToGenerator( - /*#__PURE__*/ - _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee2(cell_number) { - var requestData, response; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee2$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - requestData = { - method: "post", - url: "forgotPassword", - data: { - cell_number: cell_number - }, - auth: { - username: "2", - password: "vAhCu2Y4mxfjlr8uTSxpBmjn2rWPIEolnr73ETAE" - } - }; - _context2.prev = 1; - _context2.next = 4; - return _global_api_service__WEBPACK_IMPORTED_MODULE_1__["ApiService"].customRequest(requestData); - - case 4: - response = _context2.sent; - _global_api_service__WEBPACK_IMPORTED_MODULE_1__["ApiService"].setAuthHeader(); - return _context2.abrupt("return", response.data); - - case 9: - _context2.prev = 9; - _context2.t0 = _context2["catch"](1); - throw new AuthenticationError(_context2.t0.response.status, _context2.t0.response.data.detail); - - case 12: - case "end": - return _context2.stop(); - } - } - }, _callee2, null, [[1, 9]]); - })); - - function forgotPassword(_x3) { - return _forgotPassword.apply(this, arguments); - } - - return forgotPassword; - }(), - - /** - * Login the user and store the access token to TokenService. - * - * @returns access_token - * @throws AuthenticationError - **/ - verifyCode: function () { - var _verifyCode2 = _asyncToGenerator( - /*#__PURE__*/ - _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee3(_verifyCode) { - var requestData, response; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee3$(_context3) { - while (1) { - switch (_context3.prev = _context3.next) { - case 0: - requestData = { - method: "post", - url: "forgotPassword", - data: { - verifyCode: _verifyCode - }, - auth: { - username: "2", - password: "vAhCu2Y4mxfjlr8uTSxpBmjn2rWPIEolnr73ETAE" - } - }; - _context3.prev = 1; - _context3.next = 4; - return _global_api_service__WEBPACK_IMPORTED_MODULE_1__["ApiService"].customRequest(requestData); - - case 4: - response = _context3.sent; - _global_api_service__WEBPACK_IMPORTED_MODULE_1__["ApiService"].setAuthHeader(); - return _context3.abrupt("return", response.data); - - case 9: - _context3.prev = 9; - _context3.t0 = _context3["catch"](1); - throw new AuthenticationError(_context3.t0.response.status, _context3.t0.response.data.detail); - - case 12: - case "end": - return _context3.stop(); - } - } - }, _callee3, null, [[1, 9]]); - })); - - function verifyCode(_x4) { - return _verifyCode2.apply(this, arguments); - } - - return verifyCode; - }(), - /** * Refresh the access token. **/ refreshToken: function () { var _refreshToken = _asyncToGenerator( /*#__PURE__*/ - _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee4() { + _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee2() { var refreshToken, requestData, response; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee4$(_context4) { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee2$(_context2) { while (1) { - switch (_context4.prev = _context4.next) { + switch (_context2.prev = _context2.next) { case 0: refreshToken = _storage_service__WEBPACK_IMPORTED_MODULE_2__["TokenService"].getRefreshToken(); requestData = { @@ -62876,32 +62804,32 @@ var UserService = { }, auth: { username: "2", - password: "vAhCu2Y4mxfjlr8uTSxpBmjn2rWPIEolnr73ETAE" + password: "r46iu0QJFTrC30H0fEoBbxTGmbJQjjOlSQYFYS7w" } }; - _context4.prev = 2; - _context4.next = 5; + _context2.prev = 2; + _context2.next = 5; return _global_api_service__WEBPACK_IMPORTED_MODULE_1__["ApiService"].customRequest(requestData); case 5: - response = _context4.sent; + response = _context2.sent; _storage_service__WEBPACK_IMPORTED_MODULE_2__["TokenService"].saveToken(response.data.access_token); _storage_service__WEBPACK_IMPORTED_MODULE_2__["TokenService"].saveRefreshToken(response.data.refresh_token); // Update the header in ApiService _global_api_service__WEBPACK_IMPORTED_MODULE_1__["ApiService"].setAuthHeader(); - return _context4.abrupt("return", response.data.access_token); + return _context2.abrupt("return", response.data.access_token); case 12: - _context4.prev = 12; - _context4.t0 = _context4["catch"](2); - throw new AuthenticationError(_context4.t0.response.status, _context4.t0.response.data.detail); + _context2.prev = 12; + _context2.t0 = _context2["catch"](2); + throw new AuthenticationError(_context2.t0.response.status, _context2.t0.response.data.detail); case 15: case "end": - return _context4.stop(); + return _context2.stop(); } } - }, _callee4, null, [[2, 12]]); + }, _callee2, null, [[2, 12]]); })); function refreshToken() { @@ -62919,18 +62847,18 @@ var UserService = { logout: function () { var _logout = _asyncToGenerator( /*#__PURE__*/ - _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee5() { + _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee3() { var response; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee5$(_context5) { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee3$(_context3) { while (1) { - switch (_context5.prev = _context5.next) { + switch (_context3.prev = _context3.next) { case 0: - _context5.prev = 0; - _context5.next = 3; + _context3.prev = 0; + _context3.next = 3; return _global_api_service__WEBPACK_IMPORTED_MODULE_1__["ApiService"].post(_config_urls__WEBPACK_IMPORTED_MODULE_3__["urls"].logout); case 3: - response = _context5.sent; + response = _context3.sent; // Remove the token and remove Authorization header from Api Service as well _storage_service__WEBPACK_IMPORTED_MODULE_2__["TokenService"].removeToken(); _storage_service__WEBPACK_IMPORTED_MODULE_2__["TokenService"].removeRefreshToken(); @@ -62938,19 +62866,19 @@ var UserService = { _global_api_service__WEBPACK_IMPORTED_MODULE_1__["ApiService"].removeAuthHeader(); // NOTE: Again, we'll cover the 401 Interceptor a bit later. _global_api_service__WEBPACK_IMPORTED_MODULE_1__["ApiService"].unmount401Interceptor(); - return _context5.abrupt("return", response.data); + return _context3.abrupt("return", response.data); case 12: - _context5.prev = 12; - _context5.t0 = _context5["catch"](0); - throw new AuthenticationError(_context5.t0.response.status, _context5.t0.response.data.detail); + _context3.prev = 12; + _context3.t0 = _context3["catch"](0); + throw new AuthenticationError(_context3.t0.response.status, _context3.t0.response.data.detail); case 15: case "end": - return _context5.stop(); + return _context3.stop(); } } - }, _callee5, null, [[0, 12]]); + }, _callee3, null, [[0, 12]]); })); function logout() { @@ -62968,26 +62896,26 @@ var UserService = { getInfo: function () { var _getInfo = _asyncToGenerator( /*#__PURE__*/ - _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee6() { + _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee4() { var response; - return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee6$(_context6) { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee4$(_context4) { while (1) { - switch (_context6.prev = _context6.next) { + switch (_context4.prev = _context4.next) { case 0: - _context6.next = 2; + _context4.next = 2; return _global_api_service__WEBPACK_IMPORTED_MODULE_1__["ApiService"].get(_config_urls__WEBPACK_IMPORTED_MODULE_3__["urls"].getInfo); case 2: - response = _context6.sent; + response = _context4.sent; _storage_service__WEBPACK_IMPORTED_MODULE_2__["TokenService"].saveInfo(response.data.data); - return _context6.abrupt("return", response.data.data); + return _context4.abrupt("return", response.data.data); case 5: case "end": - return _context6.stop(); + return _context4.stop(); } } - }, _callee6); + }, _callee4); })); function getInfo() { @@ -63494,8 +63422,9 @@ __webpack_require__.r(__webpack_exports__); __webpack_require__.r(__webpack_exports__); /* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); /* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _services_auth_user_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/services/auth/user.service */ "./resources/js/vue/services/auth/user.service.js"); +/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/services */ "./resources/js/vue/services/index.js"); /* harmony import */ var _router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/router */ "./resources/js/vue/router/index.js"); +/* harmony import */ var _config_urls__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/config/urls */ "./resources/js/vue/config/urls.js"); function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } @@ -63504,6 +63433,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar + /* harmony default export */ __webpack_exports__["default"] = ({ login: function () { var _login = _asyncToGenerator( @@ -63519,7 +63449,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar commit('loginRequest'); _context.prev = 3; _context.next = 6; - return _services_auth_user_service__WEBPACK_IMPORTED_MODULE_1__["UserService"].login(cell_number, password); + return _services__WEBPACK_IMPORTED_MODULE_1__["UserService"].login(cell_number, password); case 6: token = _context.sent; @@ -63535,7 +63465,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar _context.prev = 13; _context.t0 = _context["catch"](3); - if (_context.t0 instanceof _services_auth_user_service__WEBPACK_IMPORTED_MODULE_1__["AuthenticationError"]) { + if (_context.t0 instanceof _services__WEBPACK_IMPORTED_MODULE_1__["AuthenticationError"]) { commit('loginError', { errorCode: _context.t0.errorCode, errorMessage: _context.t0.message @@ -63562,20 +63492,28 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar var _forgotPassword = _asyncToGenerator( /*#__PURE__*/ _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee2(_ref3, _ref4) { - var commit, cell_number, result; + var commit, form, result; return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: commit = _ref3.commit; - cell_number = _ref4.cell_number; + form = _ref4.form; _context2.next = 4; - return _services_auth_user_service__WEBPACK_IMPORTED_MODULE_1__["UserService"].forgotPassword(cell_number); + return _services__WEBPACK_IMPORTED_MODULE_1__["ApiService"].post(_config_urls__WEBPACK_IMPORTED_MODULE_3__["urls"].forgotPassword, form); case 4: result = _context2.sent; - case 5: + if (result && result.status == 200) { + commit('modal/changeCurrentModal', { + modal: "modal-auth-verify-code" + }, { + root: true + }); + } + + case 6: case "end": return _context2.stop(); } @@ -63593,20 +63531,35 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar var _verifyCodeSMS = _asyncToGenerator( /*#__PURE__*/ _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee3(_ref5, _ref6) { - var commit, verifyCode, result; + var commit, dispatch, form, response; return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: - commit = _ref5.commit; - verifyCode = _ref6.verifyCode; + commit = _ref5.commit, dispatch = _ref5.dispatch; + form = _ref6.form; _context3.next = 4; - return _services_auth_user_service__WEBPACK_IMPORTED_MODULE_1__["UserService"].verifyCode(verifyCode); + return _services__WEBPACK_IMPORTED_MODULE_1__["ApiService"].post(_config_urls__WEBPACK_IMPORTED_MODULE_3__["urls"].sendVerifyCode, form); case 4: - result = _context3.sent; + response = _context3.sent; - case 5: + if (response && response.status == 200 && response.data.access_token) { + _services__WEBPACK_IMPORTED_MODULE_1__["TokenService"].saveToken(response.data.access_token); + _services__WEBPACK_IMPORTED_MODULE_1__["TokenService"].saveRefreshToken(response.data.refresh_token); + _services__WEBPACK_IMPORTED_MODULE_1__["ApiService"].setAuthHeader(); + commit('loginSuccess', response.data.access_token); + commit('modal/changeCurrentModal', { + modal: "modal-auth-change-password" + }, { + root: true + }); + dispatch('info', {}, { + root: true + }); + } + + case 6: case "end": return _context3.stop(); } @@ -63620,23 +63573,28 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar return verifyCodeSMS; }(), - logout: function () { - var _logout = _asyncToGenerator( + changePassword: function () { + var _changePassword = _asyncToGenerator( /*#__PURE__*/ - _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee4(_ref7) { - var commit, result; + _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee4(_ref7, _ref8) { + var commit, form, response; return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: commit = _ref7.commit; - _context4.next = 3; - return _services_auth_user_service__WEBPACK_IMPORTED_MODULE_1__["UserService"].logout(); + form = _ref8.form; + _context4.next = 4; + return _services__WEBPACK_IMPORTED_MODULE_1__["ApiService"].post(_config_urls__WEBPACK_IMPORTED_MODULE_3__["urls"].changePassword, form); - case 3: - result = _context4.sent; - commit('logoutSuccess'); - _router__WEBPACK_IMPORTED_MODULE_2__["default"].push('/login'); + case 4: + response = _context4.sent; + + if (response && response.status == 200) { + commit('modal/closeModal', {}, { + root: true + }); + } case 6: case "end": @@ -63646,20 +63604,52 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar }, _callee4); })); - function logout(_x7) { + function changePassword(_x7, _x8) { + return _changePassword.apply(this, arguments); + } + + return changePassword; + }(), + logout: function () { + var _logout = _asyncToGenerator( + /*#__PURE__*/ + _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee5(_ref9) { + var commit, result; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + commit = _ref9.commit; + _context5.next = 3; + return _services__WEBPACK_IMPORTED_MODULE_1__["UserService"].logout(); + + case 3: + result = _context5.sent; + commit('logoutSuccess'); + _router__WEBPACK_IMPORTED_MODULE_2__["default"].push('/login'); + + case 6: + case "end": + return _context5.stop(); + } + } + }, _callee5); + })); + + function logout(_x9) { return _logout.apply(this, arguments); } return logout; }(), - refreshToken: function refreshToken(_ref8) { - var commit = _ref8.commit, - state = _ref8.state; + refreshToken: function refreshToken(_ref10) { + var commit = _ref10.commit, + state = _ref10.state; // If this is the first time the refreshToken has been called, make a request // otherwise return the same promise to the caller if (!state.refreshTokenPromise) { - var p = _services_auth_user_service__WEBPACK_IMPORTED_MODULE_1__["UserService"].refreshToken(); + var p = _services__WEBPACK_IMPORTED_MODULE_1__["UserService"].refreshToken(); commit('refreshTokenPromise', p); // Wait for the UserService.refreshToken() to resolve. On success set the token and clear promise // Clear the promise on error as well. @@ -64059,7 +64049,7 @@ module.exports = webpackAsyncContext; /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__(/*! D:\Atom\Git\CSSD\resources\js\vue\main.js */"./resources/js/vue/main.js"); +module.exports = __webpack_require__(/*! /home/saeid/Projects/Git/CSSD/resources/js/vue/main.js */"./resources/js/vue/main.js"); /***/ }) diff --git a/resources/js/vue/components/modal/auth/ChangePassword.vue b/resources/js/vue/components/modal/auth/ChangePassword.vue new file mode 100644 index 00000000..f4466ec4 --- /dev/null +++ b/resources/js/vue/components/modal/auth/ChangePassword.vue @@ -0,0 +1,61 @@ + + diff --git a/resources/js/vue/components/modal/auth/VerifyCode.vue b/resources/js/vue/components/modal/auth/VerifyCode.vue index 48d2d952..eac8e9cc 100644 --- a/resources/js/vue/components/modal/auth/VerifyCode.vue +++ b/resources/js/vue/components/modal/auth/VerifyCode.vue @@ -9,7 +9,7 @@ @@ -30,11 +30,13 @@