mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-10 19:51:07 +03:30
Forgot Password
This commit is contained in:
@@ -1,11 +0,0 @@
|
||||
<?php
|
||||
namespace App\Packages\Messaging\src\Facades;
|
||||
|
||||
use Illuminate\Support\Facades\Facade;
|
||||
use App\Packages\Messaging\src\Message;
|
||||
|
||||
class MessageResponse extends Facade {
|
||||
|
||||
protected static function getFacadeAccessor() { return Message::class; }
|
||||
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Packages\Messaging\src;
|
||||
|
||||
class Message
|
||||
{
|
||||
public function success($data = null, $message = null, $title = null, $status = 'Success')
|
||||
{
|
||||
$message = isset($message) ? $message : trans('success_title');
|
||||
$title = isset($title) ? $title : trans('success');
|
||||
return response()->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);
|
||||
}
|
||||
}
|
||||
@@ -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');
|
||||
|
||||
@@ -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() { }
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -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", ""]);
|
||||
|
||||
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -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", ""]);
|
||||
|
||||
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -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", ""]);
|
||||
|
||||
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -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", ""]);
|
||||
|
||||
|
||||
|
||||
|
||||
Vendored
+48
-14
@@ -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(
|
||||
|
||||
Vendored
+1
-55
@@ -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",
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
{
|
||||
"/vue/js/app.js": "/vue/js/app.js?id=38cf613a394ed614a026"
|
||||
"/vue/js/app.js": "/vue/js/app.js?id=8c04dcb4c96b990c50a9"
|
||||
}
|
||||
|
||||
Vendored
+170
-180
@@ -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");
|
||||
|
||||
|
||||
/***/ })
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
<template>
|
||||
<v-form >
|
||||
<v-container grid-list-xs>
|
||||
<v-layout row wrap class="justify-center">
|
||||
<v-flex xs12 md3 sm3 class="WM-WidthScreen-SM WM-WidthScreen-XS">
|
||||
<material-card
|
||||
color="black"
|
||||
title="Change Password">
|
||||
<v-layout row wrap class="px-3">
|
||||
<v-flex xs12 md12 sm12>
|
||||
<v-text-field
|
||||
v-model="form.password"
|
||||
label="Password"
|
||||
color="black"
|
||||
></v-text-field>
|
||||
</v-flex>
|
||||
<v-flex xs12 md12 sm12>
|
||||
<v-text-field
|
||||
v-model="form.password_confirmation"
|
||||
label="Confirm Password"
|
||||
color="black"
|
||||
></v-text-field>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
<v-layout row wrap class="px-3">
|
||||
<v-flex xs12 md6 sm6 class="text-md-left text-sm-center text-xs-center">
|
||||
<v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 60px" @click="submitChangePassword">
|
||||
<v-icon class="white--text mr-2 caption">fas fa-sign-in-alt</v-icon>
|
||||
<span class="white--text">Submit</span>
|
||||
</v-btn>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
</material-card>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
</v-container>
|
||||
</v-form>
|
||||
</template>
|
||||
<script>
|
||||
import { mapActions } from "vuex";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
password: "",
|
||||
password_confirmation: "",
|
||||
}
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
...mapActions('auth', [
|
||||
'changePassword'
|
||||
]),
|
||||
submitVerifyCode() {
|
||||
if (this.form.code != '') {
|
||||
this.changePassword({form: this.form});
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@@ -9,7 +9,7 @@
|
||||
<v-layout row wrap class="px-3">
|
||||
<v-flex xs12 md12 sm12>
|
||||
<v-text-field
|
||||
v-model="verifyCode"
|
||||
v-model="form.code"
|
||||
label="Verify Code Number"
|
||||
color="black"
|
||||
></v-text-field>
|
||||
@@ -30,11 +30,13 @@
|
||||
</v-form>
|
||||
</template>
|
||||
<script>
|
||||
import { mapGetters, mapActions } from "vuex";
|
||||
import { mapActions } from "vuex";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
verifyCode: "",
|
||||
form: {
|
||||
code: "",
|
||||
}
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
@@ -42,8 +44,8 @@ export default {
|
||||
'verifyCodeSMS'
|
||||
]),
|
||||
submitVerifyCode() {
|
||||
if (this.verifyCode != '') {
|
||||
this.verifyCodeSMS({verifyCode: this.verifyCode});
|
||||
if (this.form.code != '') {
|
||||
this.verifyCodeSMS({form: this.form});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+3
@@ -8,6 +8,9 @@ const urls = {
|
||||
storeTestType : "/TestTypes",
|
||||
listTestTypeName : "/TestTypes/ListNames",
|
||||
getInputs : `/GetInputs`,
|
||||
forgotPassword : `/password/phone`,
|
||||
sendVerifyCode : `/password/verifyCode`,
|
||||
changePassword : `/password/reset`,
|
||||
listTestType : function(page) {
|
||||
return "/TestTypes?page=" + page;
|
||||
},
|
||||
|
||||
-63
@@ -50,69 +50,6 @@ const UserService = {
|
||||
);
|
||||
}
|
||||
},
|
||||
/**
|
||||
* Login the user and store the access token to TokenService.
|
||||
*
|
||||
* @returns access_token
|
||||
* @throws AuthenticationError
|
||||
**/
|
||||
forgotPassword: async function(cell_number) {
|
||||
const requestData = {
|
||||
method: "post",
|
||||
url: "forgotPassword",
|
||||
data: {
|
||||
cell_number
|
||||
},
|
||||
auth: {
|
||||
username: process.env.MIX_APP_CLIENT_ID,
|
||||
password: process.env.MIX_APP_CLIENT_SECRET
|
||||
}
|
||||
};
|
||||
|
||||
try {
|
||||
const response = await ApiService.customRequest(requestData);
|
||||
ApiService.setAuthHeader();
|
||||
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
throw new AuthenticationError(
|
||||
error.response.status,
|
||||
error.response.data.detail
|
||||
);
|
||||
}
|
||||
},
|
||||
/**
|
||||
* Login the user and store the access token to TokenService.
|
||||
*
|
||||
* @returns access_token
|
||||
* @throws AuthenticationError
|
||||
**/
|
||||
verifyCode: async function(verifyCode) {
|
||||
const requestData = {
|
||||
method: "post",
|
||||
url: "forgotPassword",
|
||||
data: {
|
||||
verifyCode
|
||||
},
|
||||
auth: {
|
||||
username: process.env.MIX_APP_CLIENT_ID,
|
||||
password: process.env.MIX_APP_CLIENT_SECRET
|
||||
}
|
||||
};
|
||||
|
||||
try {
|
||||
const response = await ApiService.customRequest(requestData);
|
||||
ApiService.setAuthHeader();
|
||||
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
throw new AuthenticationError(
|
||||
error.response.status,
|
||||
error.response.data.detail
|
||||
);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Refresh the access token.
|
||||
**/
|
||||
|
||||
+25
-7
@@ -1,5 +1,6 @@
|
||||
import { UserService, AuthenticationError } from '@/services/auth/user.service'
|
||||
import { UserService, AuthenticationError, ApiService, TokenService } from '@/services'
|
||||
import router from '@/router'
|
||||
import { urls } from '@/config/urls'
|
||||
|
||||
export default {
|
||||
async login({ commit, dispatch }, {cell_number, password}) {
|
||||
@@ -22,14 +23,31 @@ export default {
|
||||
}
|
||||
},
|
||||
|
||||
async forgotPassword({ commit }, {cell_number}) {
|
||||
const result = await UserService.forgotPassword(cell_number);
|
||||
// TODO: Open Modal For Get Section
|
||||
async forgotPassword({commit}, {form}) {
|
||||
var result = await ApiService.post(urls.forgotPassword, form);
|
||||
if(result && result.status == 200) {
|
||||
commit('modal/changeCurrentModal', { modal: "modal-auth-verify-code" }, {root: true});
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
async verifyCodeSMS({commit, dispatch}, {form}) {
|
||||
var response = await ApiService.post(urls.sendVerifyCode, form);
|
||||
if(response && response.status == 200 && response.data.access_token) {
|
||||
TokenService.saveToken(response.data.access_token);
|
||||
TokenService.saveRefreshToken(response.data.refresh_token);
|
||||
ApiService.setAuthHeader();
|
||||
commit('loginSuccess', response.data.access_token);
|
||||
commit('modal/changeCurrentModal', { modal: "modal-auth-change-password" }, {root: true});
|
||||
dispatch('info', {}, {root : true});
|
||||
}
|
||||
},
|
||||
|
||||
async verifyCodeSMS({ commit }, {verifyCode}) {
|
||||
const result = await UserService.verifyCode(verifyCode);
|
||||
// TODO: Open Modal For Get Section
|
||||
async changePassword({commit}, {form}) {
|
||||
var response = await ApiService.post(urls.changePassword, form);
|
||||
if(response && response.status == 200 ) {
|
||||
commit('modal/closeModal', {}, {root: true});
|
||||
}
|
||||
},
|
||||
|
||||
async logout({ commit }) {
|
||||
|
||||
@@ -7,10 +7,9 @@
|
||||
<v-layout row wrap class="px-3">
|
||||
<v-flex xs12 md12 sm12>
|
||||
<v-text-field
|
||||
v-model="cell_number"
|
||||
v-model="form.cell_number"
|
||||
name="cellnumber"
|
||||
label="Cell Number"
|
||||
id="id1"
|
||||
color="black"
|
||||
></v-text-field>
|
||||
</v-flex>
|
||||
@@ -27,7 +26,7 @@
|
||||
</v-btn>
|
||||
</v-flex>
|
||||
<v-flex xs12 md6 sm6 class="text-md-right text-sm-center text-xs-center">
|
||||
<router-link class="black--text" to="login">
|
||||
<router-link class="black--text" :to="{name: 'Login'}">
|
||||
<v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black">
|
||||
<v-icon class="black--text mr-2 caption">fas fa-sign-in-alt</v-icon>
|
||||
<span class="black--text">Login</span>
|
||||
@@ -43,17 +42,21 @@
|
||||
</template>
|
||||
<script>
|
||||
import { mapActions, mapMutations } from "vuex";
|
||||
import { ApiService } from "@/services";
|
||||
import { urls } from "@/config/urls";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
cell_number: ""
|
||||
form :{
|
||||
cell_number: ""
|
||||
}
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
...mapActions("auth", ["forgotPassword"]),
|
||||
...mapMutations("modal", ["changeCurrentModal"]),
|
||||
handleSubmit() {
|
||||
this.changeCurrentModal({ modal: "modal-auth-verify-code" });
|
||||
// ...mapMutations("modal", ["changeCurrentModal"]),
|
||||
async handleSubmit() {
|
||||
this.forgotPassword({form : this.form});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -38,18 +38,10 @@
|
||||
<span class="white--text">Login</span>
|
||||
</v-btn>
|
||||
</v-flex>
|
||||
<v-flex xs12 md6 sm6 class="text-md-right text-sm-center text-xs-center">
|
||||
<router-link class="black--text" to="register">
|
||||
<v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black">
|
||||
<v-icon class="black--text mr-2 caption">fas fa-plus</v-icon>
|
||||
<span class="black--text">Register</span>
|
||||
</v-btn>
|
||||
</router-link>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
<v-layout row wrap class="text-md-left text-sm-center text-xs-center">
|
||||
<v-flex xs12 md6 sm6 class="px-4 py-3">
|
||||
<router-link to="/forgot-password">
|
||||
<router-link :to="{name: 'ForgotPassword'}">
|
||||
<span class="black--text" style="border-bottom:1px solid #000;">Forgot Password ?</span>
|
||||
</router-link>
|
||||
</v-flex>
|
||||
|
||||
Reference in New Issue
Block a user