Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 

439 řádky
12 KiB

  1. module.exports =
  2. /******/ (function(modules) { // webpackBootstrap
  3. /******/ // The module cache
  4. /******/ var installedModules = require('../../../../../ssr-module-cache.js');
  5. /******/
  6. /******/ // The require function
  7. /******/ function __webpack_require__(moduleId) {
  8. /******/
  9. /******/ // Check if module is in cache
  10. /******/ if(installedModules[moduleId]) {
  11. /******/ return installedModules[moduleId].exports;
  12. /******/ }
  13. /******/ // Create a new module (and put it into the cache)
  14. /******/ var module = installedModules[moduleId] = {
  15. /******/ i: moduleId,
  16. /******/ l: false,
  17. /******/ exports: {}
  18. /******/ };
  19. /******/
  20. /******/ // Execute the module function
  21. /******/ var threw = true;
  22. /******/ try {
  23. /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
  24. /******/ threw = false;
  25. /******/ } finally {
  26. /******/ if(threw) delete installedModules[moduleId];
  27. /******/ }
  28. /******/
  29. /******/ // Flag the module as loaded
  30. /******/ module.l = true;
  31. /******/
  32. /******/ // Return the exports of the module
  33. /******/ return module.exports;
  34. /******/ }
  35. /******/
  36. /******/
  37. /******/ // expose the modules object (__webpack_modules__)
  38. /******/ __webpack_require__.m = modules;
  39. /******/
  40. /******/ // expose the module cache
  41. /******/ __webpack_require__.c = installedModules;
  42. /******/
  43. /******/ // define getter function for harmony exports
  44. /******/ __webpack_require__.d = function(exports, name, getter) {
  45. /******/ if(!__webpack_require__.o(exports, name)) {
  46. /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
  47. /******/ }
  48. /******/ };
  49. /******/
  50. /******/ // define __esModule on exports
  51. /******/ __webpack_require__.r = function(exports) {
  52. /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  53. /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  54. /******/ }
  55. /******/ Object.defineProperty(exports, '__esModule', { value: true });
  56. /******/ };
  57. /******/
  58. /******/ // create a fake namespace object
  59. /******/ // mode & 1: value is a module id, require it
  60. /******/ // mode & 2: merge all properties of value into the ns
  61. /******/ // mode & 4: return value when already ns object
  62. /******/ // mode & 8|1: behave like require
  63. /******/ __webpack_require__.t = function(value, mode) {
  64. /******/ if(mode & 1) value = __webpack_require__(value);
  65. /******/ if(mode & 8) return value;
  66. /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
  67. /******/ var ns = Object.create(null);
  68. /******/ __webpack_require__.r(ns);
  69. /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
  70. /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
  71. /******/ return ns;
  72. /******/ };
  73. /******/
  74. /******/ // getDefaultExport function for compatibility with non-harmony modules
  75. /******/ __webpack_require__.n = function(module) {
  76. /******/ var getter = module && module.__esModule ?
  77. /******/ function getDefault() { return module['default']; } :
  78. /******/ function getModuleExports() { return module; };
  79. /******/ __webpack_require__.d(getter, 'a', getter);
  80. /******/ return getter;
  81. /******/ };
  82. /******/
  83. /******/ // Object.prototype.hasOwnProperty.call
  84. /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
  85. /******/
  86. /******/ // __webpack_public_path__
  87. /******/ __webpack_require__.p = "";
  88. /******/
  89. /******/
  90. /******/ // Load entry module and return exports
  91. /******/ return __webpack_require__(__webpack_require__.s = 4);
  92. /******/ })
  93. /************************************************************************/
  94. /******/ ({
  95. /***/ "+B7X":
  96. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  97. "use strict";
  98. __webpack_require__.r(__webpack_exports__);
  99. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return handler; });
  100. /* harmony import */ var _api_auth_auth__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("Cl2b");
  101. /* harmony import */ var _api_auth_auth__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_api_auth_auth__WEBPACK_IMPORTED_MODULE_0__);
  102. /* harmony import */ var cookies__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Vjj2");
  103. /* harmony import */ var cookies__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(cookies__WEBPACK_IMPORTED_MODULE_1__);
  104. async function handler(req, res) {
  105. if (req.method == "POST") {
  106. const cookies = new cookies__WEBPACK_IMPORTED_MODULE_1___default.a(req, res);
  107. const partner = req.body.p;
  108. var user = await cookies.get("user");
  109. var token = await cookies.get("myToken");
  110. var userObj = user ? JSON.parse(user) : null;
  111. let sessionId = userObj["partners_login_states"].filter(i => i.business_partner && i.business_partner.name.toUpperCase() == partner.toUpperCase());
  112. sessionId.forEach(async i => {
  113. var resp = await _api_auth_auth__WEBPACK_IMPORTED_MODULE_0___default.a.logout(i.id, token);
  114. if (resp["STATUS"] == 0) {
  115. return res.status(400).send(resp["DATA"]);
  116. }
  117. });
  118. userObj["partners_login_states"] = userObj["partners_login_states"].filter(i => i.business_partner && i.business_partner.name.toUpperCase() != partner.toUpperCase());
  119. await cookies.set("user", JSON.stringify(userObj), {
  120. httpOnly: true // true by default
  121. });
  122. return res.status(200).send("Success Logout");
  123. } else {
  124. return res.status(400).send("NOT FOUND");
  125. }
  126. }
  127. /***/ }),
  128. /***/ "3JHI":
  129. /***/ (function(module, exports, __webpack_require__) {
  130. "use strict";
  131. var _apollo = _interopRequireDefault(__webpack_require__("B/3u"));
  132. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  133. async function getID(partner, token = "") {
  134. var res = await _apollo.default.query(`
  135. query($input : String!){
  136. businessPartners(where:{name_contains:$input}){
  137. id
  138. }
  139. }`, token, {
  140. input: partner
  141. });
  142. return res;
  143. }
  144. module.exports = {
  145. getID: getID
  146. };
  147. /***/ }),
  148. /***/ 4:
  149. /***/ (function(module, exports, __webpack_require__) {
  150. module.exports = __webpack_require__("+B7X");
  151. /***/ }),
  152. /***/ "B/3u":
  153. /***/ (function(module, exports, __webpack_require__) {
  154. "use strict";
  155. var _client = __webpack_require__("z+8S");
  156. var _apolloConfig = _interopRequireDefault(__webpack_require__("bx/+"));
  157. var _crossFetch = _interopRequireDefault(__webpack_require__("CCqr"));
  158. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  159. function errorHandler(object) {
  160. return object.graphQLErrors.length != 0 ? object.graphQLErrors[0].message : object.networkError && object.networkError.result ? object.networkError.result.errors.join(" ; ") : object.networkError ? object.networkError[Object.keys(object.networkError)[0]].toString() : "Fetch failed";
  161. }
  162. function initApollo(token) {
  163. const httpLink = (0, _client.createHttpLink)({
  164. uri: _apolloConfig.default.graphql_uri,
  165. fetch: _crossFetch.default,
  166. headers: token != "" ? {
  167. Authorization: `Bearer ${token}`
  168. } : null
  169. });
  170. return new _client.ApolloClient({
  171. ssrMode: false,
  172. cache: new _client.InMemoryCache({
  173. addTypename: false
  174. }),
  175. link: httpLink
  176. });
  177. }
  178. async function query(query, token = "", variables = {}, cache = false) {
  179. const client = initApollo(token);
  180. var res;
  181. try {
  182. var sql = await client.query({
  183. query: (0, _client.gql)`
  184. ${query}
  185. `,
  186. variables: variables,
  187. fetchPolicy: cache ? "cache-first" : "no-cache"
  188. });
  189. res = {
  190. STATUS: 1,
  191. DATA: sql.data
  192. };
  193. } catch (e) {
  194. res = {
  195. STATUS: 0,
  196. DATA: errorHandler(e)
  197. };
  198. }
  199. return res;
  200. }
  201. async function mutation(mutation, token = "", variables = {}) {
  202. const client = initApollo(token);
  203. var res;
  204. try {
  205. var sql = await client.mutate({
  206. mutation: (0, _client.gql)`
  207. ${mutation}
  208. `,
  209. variables: variables
  210. });
  211. res = {
  212. STATUS: 1,
  213. DATA: sql.data
  214. };
  215. } catch (e) {
  216. console.log(e.networkError.result);
  217. res = {
  218. STATUS: 0,
  219. DATA: errorHandler(e)
  220. };
  221. }
  222. return res;
  223. }
  224. module.exports = {
  225. query: query,
  226. mutation: mutation
  227. };
  228. /***/ }),
  229. /***/ "CCqr":
  230. /***/ (function(module, exports) {
  231. module.exports = require("cross-fetch");
  232. /***/ }),
  233. /***/ "Cl2b":
  234. /***/ (function(module, exports, __webpack_require__) {
  235. "use strict";
  236. var _apollo = _interopRequireDefault(__webpack_require__("B/3u"));
  237. var _partner = _interopRequireDefault(__webpack_require__("3JHI"));
  238. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  239. async function register(content, token = "") {
  240. var res = await _apollo.default.mutation(`
  241. mutation($input : RegisterInput!){
  242. register( input:{data:$input} )
  243. {
  244. user{
  245. id
  246. }
  247. }
  248. }
  249. `, token, {
  250. input: content
  251. });
  252. return res;
  253. }
  254. async function login(partner, email, password, token = "") {
  255. var cookiesData = {};
  256. var res = await _apollo.default.mutation(`
  257. mutation($email: String! $password: String!) {
  258. login(input: { identifier: $email, password: $password }) {
  259. user{
  260. id
  261. username
  262. }
  263. jwt
  264. }
  265. }`, token, {
  266. email: email,
  267. password: password
  268. });
  269. if (res["STATUS"] == 1) {
  270. token = res["DATA"]["login"]["jwt"];
  271. res = await _apollo.default.mutation(`
  272. query{
  273. self{
  274. id
  275. username
  276. email
  277. role{
  278. name
  279. description
  280. }
  281. partners_login_states{
  282. id
  283. business_partner{
  284. id
  285. name
  286. }
  287. }
  288. }
  289. }
  290. `, token);
  291. }
  292. if (res["STATUS"] == 1) {
  293. var user = res["DATA"]["self"];
  294. var sessions = [];
  295. for (const i of user["partners_login_states"]) {
  296. sessions.push(i.business_partner);
  297. }
  298. sessions = sessions.filter(i => i.business_partner && i.business_partner.name.toUpperCase() == partner.toUpperCase());
  299. if (sessions.length == 0) {
  300. res = await _partner.default.getID(partner, token);
  301. if (res["STATUS"] == 1) {
  302. res = await _apollo.default.mutation(`
  303. mutation($input: PartnersLoginStateInput!) {
  304. createPartnersLoginState(input:{data:$input}){
  305. partnersLoginState{
  306. id
  307. business_partner{
  308. id
  309. name
  310. }
  311. }
  312. }
  313. }
  314. `, token, {
  315. input: {
  316. user: user["id"],
  317. business_partner: res["DATA"]["businessPartners"][0]["id"]
  318. }
  319. });
  320. if (res["STATUS"] == 1) {
  321. user["partners_login_states"].push(res["DATA"]["createPartnersLoginState"]["partnersLoginState"]);
  322. }
  323. }
  324. }
  325. cookiesData["user"] = user;
  326. cookiesData["token"] = token;
  327. }
  328. return {
  329. res: res,
  330. cookies: cookiesData
  331. };
  332. }
  333. async function logout(id, token = "") {
  334. var res = await _apollo.default.mutation(`
  335. mutation($input: ID!) {
  336. deletePartnersLoginState(input:{where:{id:$input}}){
  337. partnersLoginState{
  338. id
  339. }
  340. }
  341. }`, token, {
  342. input: id
  343. });
  344. return res;
  345. }
  346. module.exports = {
  347. register: register,
  348. login: login,
  349. logout: logout
  350. };
  351. /***/ }),
  352. /***/ "Vjj2":
  353. /***/ (function(module, exports) {
  354. module.exports = require("cookies");
  355. /***/ }),
  356. /***/ "bx/+":
  357. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  358. "use strict";
  359. __webpack_require__.r(__webpack_exports__);
  360. // Apollo Value Configuration
  361. const ApolloConfig = {
  362. graphql_uri: process.env.API_GRAPHQL_URI
  363. };
  364. /* harmony default export */ __webpack_exports__["default"] = (ApolloConfig);
  365. /***/ }),
  366. /***/ "z+8S":
  367. /***/ (function(module, exports) {
  368. module.exports = require("@apollo/client");
  369. /***/ })
  370. /******/ });