{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?aa98","webpack:///./src/models/Localization/Translations.ts","webpack:///./src/utils/API/SystemConfigurationRepository.ts","webpack:///./src/utils/API/UserRepository.ts","webpack:///./src/models/Subscriptions/AddOns/AddOnType.ts","webpack:///./src/router.ts","webpack:///./src/utils/API/RepositoryFactory.ts","webpack:///./src/store/modules/AccountModule.ts","webpack:///./src/utils/API/Repository.ts","webpack:///./src/models/Subscriptions/SubscriptionStatus.ts","webpack:///./src/store/ActionTypes.ts","webpack:///./src/store/modules/LocalizationModule.ts","webpack:///./src/store/modules/NutrientsModule.ts","webpack:///./src/store/store.ts","webpack:///./src/models/User/UserTypes.ts","webpack:///./src/App.vue","webpack:///./src/App.vue?60ad","webpack:///./src/App.vue?5197","webpack:///./src/App.vue?a938","webpack:///./src/utils/Validators.ts","webpack:///./src/main.ts","webpack:///./src/utils/API/LocalizationRepository.ts","webpack:///./src/store/MutationTypes.ts","webpack:///./src/models/User/UserDetails.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","Translations","translations","arguments","_classCallCheck","_defineProperty","this","_createClass","translationString","translation","find","entry","index","tmp","replace","resource","fetchNutrientSourcesList","Repository","concat","withCredentials","updateNutrientSource","post","listNutrients","fetchUserInfo","login","user","logout","getUserProfile","updateUser","changePassword","requestResetPassword","validateResetPasswordToken","resetPassword","impersonateUser","updateLanguage","language","listAdminUsers","listRequest","createAdminUser","updateAdminUser","deleteAdminUsers","ids","AddOnType","Vue","use","Router","router","routes","path","component","props","children","meta","breadCrumbs","authorizationRoles","UserTypes","Owner","beforeEnter","to","from","next","userDetails","store","getters","getUserDetails","addOns","map","x","addOn","includes","RecipeCost","requiresAuth","Chef","redirectsTo","SuperAdministrator","Administrator","Helpdesk","description","forgotPassword","redirect","beforeEach","isLogged","isLoggedIn","bodee","classList","remove","endsWith","userType","startsWith","isRecipeOrDishLimitExceeded","subscriptionStatus","SubscriptionStatus","Active","matched","some","record","querySelector","RepositoryTypes","repositories","UserRepository","RepositoryFactory","valueOf","AuthStates","LoginRepository","Login","state","UserDetails","Guest","authState","authMessage","actions","LOGIN_USER","_ref","commit","SET_AUTH_STATE","LoggingIn","response","SET_USER_DETAILS","logged","Success","statusText","catch","Failed","errorMessages","userVisibleMessage","FETCH_USER_DETAILS","_ref2","LOGOUT_USER","_ref3","Idle","log","IMPERSONATE_USER","_ref4","id","userId","mutations","_ref5","_ref6","getUserType","getAuthState","getAuthMessage","AccountModule","baseURL","process","repository","Axios","interceptors","status","CUSTOMERS_FETCH","CUSTOMERS_NEW","CUSTOMERS_EDIT","CUSTOMERS_ACTIVE","PARTNERS_FETCH","PARTNERS_CREATE","PARTNERS_EDIT","PARTNERS_REMOVE","PARTNERS_REDIRECT","TRANSLATIONS_FETCH","NUTRIENTS_FETCH","totalCount","count","translationsRequest","LocalizationRepository","getTranslations","translationList","_toConsumableArray","getElements","uniqueTransaltions","Array","Set","TRANSLATIONS_SET_STATE","LocalizationModule","nutrientSourceGroup","SystemConfigurationRepository","nutrients","NUTRIENTS_SET_STATE","getNutrients","NutrientsModule","Vuex","Store","strict","useTranslations","_len","fetchCollections","_key","dispatch","category","collections","render","_vm","_c","_self","_setupProxy","attrs","staticRenderFns","extend","created","$snotify","config","global","maxOnScreen","preventDuplicates","mounted","navigator","appVersion","indexOf","innerHTML","registerValidators","Validator","validate","min","Number","paramNames","Datepicker","vueCountryRegionSelect","Moment","vSelect","VeeValidate","globalOptions","VueTelInput","VueAnalytics","Snotify","toast","showProgressBar","position","closeOnClick","$eventBus","$http","productionTip","h","App","$mount","listTranslations","createLocalizationLanguage","getLanguages","getCategories","getCollections","categoryId","createLocalizationCategory","Name","createLocalizationCollection","model","createTranslation","deleteLocalizationKeys","LocalizationKeyIds","updateTranslation","getAvailableLanguagesForAdding","CUSTOMER_SET_STATE","CUSTOMER_SET_FETCH_STATUS","PARTNER_SET_STATE","PARTNER_SET_FETCH_STATUS","PARTNER_SET_LISTREQUEST","_userType","email","localization","_id","restaurantId","restaurantName","subscriptionName","isTrial","subscriptionStartDate","subscriptionEndDate","subscriptionCycle","hasDraftSubscription","availableNutrientSources","isRecurring","_subscriptionPackageId","firstName","lastName","restaurantNotificationEmail","phone","freeUserLicenses","paidUserLicenses"],"mappings":"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","file":"js/app.a79a806a.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-37027308\":\"134600ad\",\"chunk-078b9232\":\"8ee24a79\",\"chunk-122a47e0\":\"652eb636\",\"chunk-571610ac\":\"57afd82b\",\"chunk-30329c4e\":\"d90dea3a\",\"chunk-78932a0c\":\"50b864f1\",\"chunk-70c2bc5d\":\"7b1c0263\",\"chunk-235a5f44\":\"67bac3ff\",\"chunk-8daa19ae\":\"e9e3b094\",\"chunk-20bdb2db\":\"48380b99\",\"chunk-63aecf5c\":\"9da94c9e\",\"chunk-7d1c86ca\":\"6ceb4245\",\"chunk-664fb95f\":\"5148a261\",\"chunk-24ba5335\":\"752f0ee0\",\"chunk-463589d2\":\"f95878a9\",\"chunk-3b360986\":\"e263aa46\",\"chunk-b72548be\":\"62cb7399\",\"chunk-142179c2\":\"5c09d081\",\"chunk-29cd9be6\":\"f1853f49\",\"chunk-4c1618fc\":\"37f98787\",\"chunk-4d5302e8\":\"091ac61d\",\"chunk-4f7ab56a\":\"b8a0158f\",\"chunk-60d5b692\":\"c7e45e3f\",\"chunk-76a834dc\":\"67f773ec\",\"chunk-ccd50c58\":\"c2c8eb82\",\"chunk-6fcd675c\":\"daa46543\",\"chunk-7b411fab\":\"da99f79b\",\"chunk-b3fdb2fc\":\"ac02c057\",\"chunk-d3fa1910\":\"9b6f83b0\",\"chunk-ebc89bc2\":\"220d2b5f\",\"chunk-6c337256\":\"44923446\",\"chunk-1f5b6350\":\"0cff969e\",\"chunk-50cabae6\":\"1e05da6a\",\"chunk-57994f1f\":\"dccdf17c\",\"chunk-3157898a\":\"25fbfb95\",\"chunk-a4443c2c\":\"cc304bdb\",\"chunk-bb4cceb6\":\"3885adca\",\"chunk-e1f41686\":\"9d025ecf\",\"chunk-2d0c898c\":\"a0a0dce1\",\"chunk-52b2c7b4\":\"588fe281\",\"chunk-2d0a4f5a\":\"79e1860d\",\"chunk-2d0ab4d9\":\"c8848ee7\",\"chunk-2d0ae8de\":\"77ce98c9\",\"chunk-2d0b1d8a\":\"35025c20\",\"chunk-2d0b1e82\":\"0c36d5df\",\"chunk-2d0b2547\":\"7424b95b\",\"chunk-2d0b2b1a\":\"dbd7603d\",\"chunk-2d0b8a48\":\"ca1001cf\",\"chunk-2d0b8b00\":\"a7971ed8\",\"chunk-2d0b8dd4\":\"f1d829ad\",\"chunk-2d0c0703\":\"df051d66\",\"chunk-2d0c0c73\":\"cb49748d\",\"chunk-2d0c18bb\":\"7a07844b\",\"chunk-2d0c1cbe\":\"8c39fd73\",\"chunk-2d0c45fa\":\"6818dd21\",\"chunk-2d0c9b36\":\"170f260f\",\"chunk-2d0cba78\":\"9da4fe67\",\"chunk-2d0d0235\":\"4bb6a44e\",\"chunk-2d0d7e43\":\"2e2cd7f0\",\"chunk-2d0daad8\":\"9ee72ffb\",\"chunk-2d0dd016\":\"6324b41c\",\"chunk-2d0dd0aa\":\"275ece36\",\"chunk-2d0dd613\":\"cb879bb9\",\"chunk-2d0dee93\":\"8ad86a3c\",\"chunk-2d0e1760\":\"5feba035\",\"chunk-2d0e1fa0\":\"5cf159ad\",\"chunk-2d0e2380\":\"f38c7c99\",\"chunk-2d0e906d\":\"d4b5f065\",\"chunk-2d0e925f\":\"570427a9\",\"chunk-2d0e982e\":\"ce38a16f\",\"chunk-2d0e9b83\":\"3b1173ae\",\"chunk-2d20738a\":\"0aa5fba6\",\"chunk-2d207b36\":\"54394b51\",\"chunk-2d207d82\":\"3a86b24a\",\"chunk-2d208e0b\":\"5a7ce54b\",\"chunk-2d20f724\":\"d81ffa2f\",\"chunk-2d216023\":\"1137117a\",\"chunk-2d217329\":\"f0292ccf\",\"chunk-2d21b49e\":\"6be58a12\",\"chunk-2d21b4ba\":\"239aa032\",\"chunk-2d21b8d8\":\"891614b5\",\"chunk-2d22d204\":\"8df385d6\",\"chunk-2d22e0d7\":\"b8ffd69d\",\"chunk-2d230448\":\"e83c3336\",\"chunk-2d2307da\":\"8cb759bd\",\"chunk-2d2308ce\":\"0a3e03a6\",\"chunk-2d237562\":\"79d228a6\",\"chunk-2d237d3e\":\"f42cd098\",\"chunk-2d0c05f5\":\"141eb13a\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-078b9232\":1,\"chunk-122a47e0\":1,\"chunk-30329c4e\":1,\"chunk-78932a0c\":1,\"chunk-70c2bc5d\":1,\"chunk-235a5f44\":1,\"chunk-8daa19ae\":1,\"chunk-20bdb2db\":1,\"chunk-63aecf5c\":1,\"chunk-7d1c86ca\":1,\"chunk-664fb95f\":1,\"chunk-24ba5335\":1,\"chunk-463589d2\":1,\"chunk-3b360986\":1,\"chunk-b72548be\":1,\"chunk-142179c2\":1,\"chunk-29cd9be6\":1,\"chunk-4c1618fc\":1,\"chunk-4d5302e8\":1,\"chunk-4f7ab56a\":1,\"chunk-60d5b692\":1,\"chunk-76a834dc\":1,\"chunk-ccd50c58\":1,\"chunk-6fcd675c\":1,\"chunk-7b411fab\":1,\"chunk-b3fdb2fc\":1,\"chunk-d3fa1910\":1,\"chunk-ebc89bc2\":1,\"chunk-6c337256\":1,\"chunk-1f5b6350\":1,\"chunk-50cabae6\":1,\"chunk-57994f1f\":1,\"chunk-3157898a\":1,\"chunk-a4443c2c\":1,\"chunk-bb4cceb6\":1,\"chunk-e1f41686\":1,\"chunk-52b2c7b4\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-37027308\":\"31d6cfe0\",\"chunk-078b9232\":\"03f95bb8\",\"chunk-122a47e0\":\"01ccee72\",\"chunk-571610ac\":\"31d6cfe0\",\"chunk-30329c4e\":\"1a1fef9c\",\"chunk-78932a0c\":\"0c294eb8\",\"chunk-70c2bc5d\":\"c3158be1\",\"chunk-235a5f44\":\"be006ada\",\"chunk-8daa19ae\":\"4f1f6965\",\"chunk-20bdb2db\":\"43441c83\",\"chunk-63aecf5c\":\"03f95bb8\",\"chunk-7d1c86ca\":\"c61404d7\",\"chunk-664fb95f\":\"10704f25\",\"chunk-24ba5335\":\"0f48e49c\",\"chunk-463589d2\":\"e21f940d\",\"chunk-3b360986\":\"f12e9f16\",\"chunk-b72548be\":\"07c9d17d\",\"chunk-142179c2\":\"3d20786f\",\"chunk-29cd9be6\":\"ede80de2\",\"chunk-4c1618fc\":\"3c2b0ee5\",\"chunk-4d5302e8\":\"0fa7ea1a\",\"chunk-4f7ab56a\":\"eb3fa46c\",\"chunk-60d5b692\":\"db193bd8\",\"chunk-76a834dc\":\"a872dd89\",\"chunk-ccd50c58\":\"2c951f39\",\"chunk-6fcd675c\":\"f4ba043b\",\"chunk-7b411fab\":\"48116ede\",\"chunk-b3fdb2fc\":\"8db1e71a\",\"chunk-d3fa1910\":\"03f95bb8\",\"chunk-ebc89bc2\":\"2036a2c9\",\"chunk-6c337256\":\"405b0295\",\"chunk-1f5b6350\":\"a9c999a6\",\"chunk-50cabae6\":\"b7c6a853\",\"chunk-57994f1f\":\"03f95bb8\",\"chunk-3157898a\":\"629488fc\",\"chunk-a4443c2c\":\"50ac1d02\",\"chunk-bb4cceb6\":\"ef0e7af0\",\"chunk-e1f41686\":\"e499c13d\",\"chunk-2d0c898c\":\"31d6cfe0\",\"chunk-52b2c7b4\":\"22ce7908\",\"chunk-2d0a4f5a\":\"31d6cfe0\",\"chunk-2d0ab4d9\":\"31d6cfe0\",\"chunk-2d0ae8de\":\"31d6cfe0\",\"chunk-2d0b1d8a\":\"31d6cfe0\",\"chunk-2d0b1e82\":\"31d6cfe0\",\"chunk-2d0b2547\":\"31d6cfe0\",\"chunk-2d0b2b1a\":\"31d6cfe0\",\"chunk-2d0b8a48\":\"31d6cfe0\",\"chunk-2d0b8b00\":\"31d6cfe0\",\"chunk-2d0b8dd4\":\"31d6cfe0\",\"chunk-2d0c0703\":\"31d6cfe0\",\"chunk-2d0c0c73\":\"31d6cfe0\",\"chunk-2d0c18bb\":\"31d6cfe0\",\"chunk-2d0c1cbe\":\"31d6cfe0\",\"chunk-2d0c45fa\":\"31d6cfe0\",\"chunk-2d0c9b36\":\"31d6cfe0\",\"chunk-2d0cba78\":\"31d6cfe0\",\"chunk-2d0d0235\":\"31d6cfe0\",\"chunk-2d0d7e43\":\"31d6cfe0\",\"chunk-2d0daad8\":\"31d6cfe0\",\"chunk-2d0dd016\":\"31d6cfe0\",\"chunk-2d0dd0aa\":\"31d6cfe0\",\"chunk-2d0dd613\":\"31d6cfe0\",\"chunk-2d0dee93\":\"31d6cfe0\",\"chunk-2d0e1760\":\"31d6cfe0\",\"chunk-2d0e1fa0\":\"31d6cfe0\",\"chunk-2d0e2380\":\"31d6cfe0\",\"chunk-2d0e906d\":\"31d6cfe0\",\"chunk-2d0e925f\":\"31d6cfe0\",\"chunk-2d0e982e\":\"31d6cfe0\",\"chunk-2d0e9b83\":\"31d6cfe0\",\"chunk-2d20738a\":\"31d6cfe0\",\"chunk-2d207b36\":\"31d6cfe0\",\"chunk-2d207d82\":\"31d6cfe0\",\"chunk-2d208e0b\":\"31d6cfe0\",\"chunk-2d20f724\":\"31d6cfe0\",\"chunk-2d216023\":\"31d6cfe0\",\"chunk-2d217329\":\"31d6cfe0\",\"chunk-2d21b49e\":\"31d6cfe0\",\"chunk-2d21b4ba\":\"31d6cfe0\",\"chunk-2d21b8d8\":\"31d6cfe0\",\"chunk-2d22d204\":\"31d6cfe0\",\"chunk-2d22e0d7\":\"31d6cfe0\",\"chunk-2d230448\":\"31d6cfe0\",\"chunk-2d2307da\":\"31d6cfe0\",\"chunk-2d2308ce\":\"31d6cfe0\",\"chunk-2d237562\":\"31d6cfe0\",\"chunk-2d237d3e\":\"31d6cfe0\",\"chunk-2d0c05f5\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=75de5971&prod&lang=css\"","export default class Translations {\r\n\r\n  constructor(private translations: Translation[] = []) {\r\n    this.translations = translations;\r\n  }\r\n\r\n  public get(key: string, ...args: []) {\r\n    const translation = this.translations.find((entry) => entry.key === key);\r\n    let translationString;\r\n\r\n    if (typeof translation !== 'undefined') {\r\n      translationString = translation.value;\r\n\r\n      for (let index = 0; index < args.length; index++) {\r\n        const tmp = index + 1;\r\n\r\n        translationString = translationString.replace('{{' + tmp + '}}', args[index]);\r\n      }\r\n    }\r\n\r\n    else {\r\n      translationString = '---';\r\n    }\r\n\r\n    return translationString;\r\n  }\r\n\r\n  public length(){\r\n    return this.translations.length;\r\n  }\r\n\r\n  public getElements(){\r\n    return this.translations;\r\n  }\r\n}\r\n\r\nexport interface Translation {\r\n    key: string;\r\n    value: string;\r\n}\r\n","import Repository from './Repository';\r\nimport { UpdateNutrientSource } from '@/models/NutrientSource/UpdateNutrientSource';\r\nimport {CategorizedNutrients} from \"@/models/Nutrient/CategorizedNutrients\";\r\nimport {MethodResult} from \"@/utils/API/ResultTypes/MethodResult\";\r\n\r\n\r\nconst resource = '/nutrients';\r\n\r\nexport default {\r\n  fetchNutrientSourcesList() {\r\n    return Repository.get(`${resource}/ListNutrientSources`, {withCredentials: true});\r\n  },\r\n  updateNutrientSource(updateNutrientSource: UpdateNutrientSource) {\r\n    return Repository.post(`${resource}/updatenutrientsource`, updateNutrientSource, {withCredentials: true});\r\n  },\r\n  listNutrients() {\r\n    return Repository.get<MethodResult<CategorizedNutrients>>(\r\n      `${resource}/ListNutrients`,\r\n      {withCredentials: true}\r\n    );\r\n  }\r\n};\r\n","import Repository from './Repository';\r\nimport UserLogin from '@/models/User/UserLogin';\r\nimport UpdateUser from '@/models/User/UpdateUser';\r\nimport ChangePassword from '@/models/User/ChangePassword';\r\nimport { RequestResetPassword } from '@/models/User/RequestResetPassword';\r\nimport { ValidateResetPasswordToken } from '@/models/User/ValidateResetPasswordToken';\r\nimport { ResetPassword } from '@/models/User/ResetPassword';\r\nimport { ImpersonateUser } from '@/models/User/ImpersonateUser';\r\nimport UpdateLanguage from '@/models/User/UpdateLanguage';\r\nimport UpdateDatabase from '@/models/User/UpdateDatabase';\r\nimport ListRequest from '@/models/ListRequest';\r\nimport CreateAdminUser from '@/models/User/CreateAdminUser';\r\nimport UpdateAdminUser from '@/models/User/UpdateAdminUser';\r\n\r\nconst resource = '/users';\r\n\r\nexport default {\r\n    fetchUserInfo() {\r\n        return Repository.get(`${resource}/getloggedinuserdetails`, {withCredentials: true});\r\n    },\r\n    login(user: UserLogin) {\r\n        return Repository.post(`${resource}/login`, user, {withCredentials: true});\r\n    },\r\n    logout() {\r\n        return Repository.post(`${resource}/logout`, null, {withCredentials: true});\r\n    },\r\n    getUserProfile() {\r\n        return Repository.get(`${resource}/getloggedinuserprofile`, {withCredentials: true});\r\n    },\r\n    updateUser(user: UpdateUser) {\r\n        return Repository.post(`${resource}/updateuser`, user, {withCredentials: true});\r\n    },\r\n    changePassword(changePassword: ChangePassword) {\r\n        return Repository.post(`${resource}/changepassword`, changePassword, {withCredentials: true});\r\n    },\r\n    requestResetPassword(requestResetPassword: RequestResetPassword) {\r\n        return Repository.post(`${resource}/RequestResetPassword`, requestResetPassword);\r\n    },\r\n    validateResetPasswordToken(validateResetPasswordToken: ValidateResetPasswordToken) {\r\n        return Repository.post(`${resource}/ValidateResetPasswordToken`, validateResetPasswordToken);\r\n    },\r\n    resetPassword(resetPassword: ResetPassword) {\r\n        return Repository.post(`${resource}/ResetPassword`, resetPassword);\r\n    },\r\n    impersonateUser(impersonateUser: ImpersonateUser) {\r\n        return Repository.post(`${resource}/ImpersonateUser`, impersonateUser, {withCredentials: true});\r\n    },\r\n    updateLanguage(language: UpdateLanguage) {\r\n        return Repository.post(`${resource}/UpdateUserLanguage`, language, {withCredentials: true});\r\n    },\r\n    listAdminUsers(listRequest: ListRequest) {\r\n        return Repository.post(`${resource}/ListAdminUsers`, listRequest, {withCredentials: true});\r\n    },\r\n    createAdminUser(createAdminUser: CreateAdminUser) {\r\n        return Repository.post(`${resource}/CreateAdminUser`, createAdminUser, {withCredentials: true});\r\n    },\r\n    updateAdminUser(updateAdminUser: UpdateAdminUser) {\r\n        return Repository.post(`${resource}/UpdateAdminUser`, updateAdminUser, {withCredentials: true});\r\n    },\r\n    deleteAdminUsers(ids: number[]) {\r\n        return Repository.post(`${resource}/DeleteAdminUsers`, {ids: ids}, {withCredentials: true});\r\n    },\r\n};\r\n","import IngredientCostRepository from '@/utils/API/IngredientCostRepository'\r\n\r\nexport enum AddOnType {\r\n    RecipeCost, SugarAlcohols, FieldEagle\r\n}","import Vue from 'vue';\r\nimport Router from 'vue-router';\r\nimport { UserTypes } from '@/models/User/UserTypes';\r\nimport { SubscriptionStatus } from '@/models/Subscriptions/SubscriptionStatus';\r\nimport UserDetails from './models/User/UserDetails';\r\nimport store from './store/store';\r\nimport { AddOnType } from './models/Subscriptions/AddOns/AddOnType';\r\n\r\nVue.use(Router);\r\n\r\nconst router = new Router({\r\n  routes: [\r\n    {\r\n      path: '/',\r\n      component: () => import('./views/User/User.vue'),\r\n      props: true,\r\n      children: [\r\n        {\r\n          path: '',\r\n          name: 'dashboard',\r\n          component: () => import('./views/User/Home.vue'),\r\n        },\r\n        {\r\n          path: '/profile',\r\n          name: 'profile',\r\n          component: () => import('./views/User/Profile.vue'),\r\n          meta: { breadCrumbs: ['dashboard', 'profile'] }\r\n        },\r\n        {\r\n          path: '/manageLimits',\r\n          name: 'manageLimits',\r\n          component: () => import('./views/User/ManageLimits.vue'),\r\n          meta: { breadCrumbs: ['dashboard', 'profile'] }\r\n        },\r\n        {\r\n          path: '/subscription',\r\n          name: 'subscription',\r\n          component: () => import('./views/User/ManageSubscription.vue'),\r\n          meta: {\r\n            authorizationRoles: [UserTypes.Owner],\r\n            breadCrumbs: ['dashboard', 'subscription']\r\n          }\r\n        },\r\n        {\r\n          path: '/payment',\r\n          name: 'payment',\r\n          component: () => import('./views/User/ManagePayment.vue'),\r\n          meta: {\r\n            authorizationRoles: [UserTypes.Owner],\r\n            breadCrumbs: ['dashboard', 'payment']\r\n          }\r\n        },\r\n        {\r\n          path: '/subscription/pay/:id/:subscriptionCycle',\r\n          name: 'subscriptionPay',\r\n          component: () => import('./views/User/ManageSubscription.vue'),\r\n          meta: {\r\n            authorizationRoles: [UserTypes.Owner],\r\n            breadCrumbs: ['dashboard', 'subscription']\r\n          }\r\n        },\r\n        {\r\n          path: '/subscription/success',\r\n          name: 'subscriptionSuccess',\r\n          component: () => import('./views/User/ManageSubscription.vue'),\r\n          meta: {\r\n            authorizationRoles: [UserTypes.Owner],\r\n            breadCrumbs: ['dashboard', 'subscription']\r\n          }\r\n        },\r\n        {\r\n          path: '/ingredients',\r\n          name: 'ingredients',\r\n          component: () => import('./views/User/Ingredients.vue'),\r\n          meta: { breadCrumbs: ['dashboard', 'ingredients'] }\r\n        },\r\n        {\r\n          path: '/ingredient-cost',\r\n          name: 'ingredientCost',\r\n          component: () => import('./views/User/IngredientCost.vue'),\r\n          meta: { breadCrumbs: ['dashboard', 'ingr-cost-title'] }\r\n        },\r\n        {\r\n          path: '/recipes',\r\n          name: 'recipes',\r\n          component: () => import('./views/User/Recipes.vue'),\r\n          meta: { breadCrumbs: ['dashboard', 'recipes'] }\r\n        },\r\n        {\r\n          path: '/recipes/add',\r\n          name: 'recipesAdd',\r\n          component: () => import('./views/User/RecipesManagement.vue'),\r\n          meta: { breadCrumbs: ['dashboard', 'recipes', 'recipesAdd'] }\r\n        },\r\n        {\r\n          path: '/recipes/:id',\r\n          name: 'recipesEdit',\r\n          component: () => import('./views/User/RecipesManagement.vue'),\r\n          meta: { breadCrumbs: ['dashboard', 'recipes', 'recipeDetails'] }\r\n        },\r\n        {\r\n          path: '/recipe-cost',\r\n          name: 'recipesCost',\r\n          component: () => import('./views/User/RecipesCost.vue'),\r\n          meta: { breadCrumbs: ['dashboard', 'recipe-cost'] },\r\n          beforeEnter: (to, from, next) => {\r\n            var userDetails: UserDetails = store.getters.getUserDetails;\r\n            // Check if appropriate add on exists\r\n            if (userDetails.addOns &&\r\n              userDetails.addOns.map((x: any) => x.addOn).includes(AddOnType.RecipeCost)) {\r\n              next();\r\n            }\r\n            else {\r\n              next({ name: \"dashboard\" });\r\n            }\r\n          }\r\n        },\r\n        {\r\n          path: '/recipes/cost/:id',\r\n          name: 'calculateRecipesCost',\r\n          component: () => import('./views/User/CreateRecipeCost.vue'),\r\n          meta: { breadCrumbs: ['dashboard', 'recipes', 'rec-cost-calculate-recipe-cost'] },\r\n          beforeEnter: (to, from, next) => {\r\n            var userDetails: UserDetails = store.getters.getUserDetails;\r\n            // Check if appropriate add on exists\r\n            if (userDetails.addOns &&\r\n              userDetails.addOns.map((x: any) => x.addOn).includes(AddOnType.RecipeCost)) {\r\n              next();\r\n            }\r\n            else {\r\n              next({ name: \"dashboard\" });\r\n            }\r\n          }\r\n        },\r\n        {\r\n          path: '/recipes/update-cost/:id',\r\n          name: 'updateRecipeCost',\r\n          component: () => import('./views/User/UpdateRecipeCost.vue'),\r\n          meta: { breadCrumbs: ['dashboard', 'recipes', 'rec-cost-calculate-recipe-cost'] },\r\n          beforeEnter: (to, from, next) => {\r\n            var userDetails: UserDetails = store.getters.getUserDetails;\r\n            // Check if appropriate add on exists\r\n            if (userDetails.addOns &&\r\n              userDetails.addOns.map((x: any) => x.addOn).includes(AddOnType.RecipeCost)) {\r\n              next();\r\n            }\r\n            else {\r\n              next({ name: \"dashboard\" });\r\n            }\r\n          }\r\n        },\r\n        {\r\n          path: '/dishes',\r\n          name: 'dishes',\r\n          component: () => import('./views/User/Dishes.vue'),\r\n          meta: { breadCrumbs: ['dashboard', 'dishes'] }\r\n        },\r\n        {\r\n          path: '/dishes/add',\r\n          name: 'dishesAdd',\r\n          component: () => import('./views/User/DishesManagement.vue'),\r\n          meta: { breadCrumbs: ['dashboard', 'dishes', 'dishesAdd'] }\r\n        },\r\n        {\r\n          path: '/dishes/:id',\r\n          name: 'dishesEdit',\r\n          component: () => import('./views/User/DishesManagement.vue'),\r\n          meta: { breadCrumbs: ['dashboard', 'dishes', 'dishDetails'] }\r\n        },\r\n        {\r\n          path: '/accountsettings',\r\n          name: 'accountsettings',\r\n          component: () => import('./views/User/AccountSettings.vue'),\r\n          meta: { breadCrumbs: ['dashboard', 'account'] }\r\n        }\r\n      ],\r\n      meta: {\r\n        requiresAuth: true,\r\n        authorizationRoles: [UserTypes.Chef, UserTypes.Owner],\r\n        redirectsTo: '/administration/login',\r\n      },\r\n    },\r\n    {\r\n      path: '/administration',\r\n      component: () => import('./views/Admin/Admin.vue'),\r\n      children: [\r\n        {\r\n          path: 'customers',\r\n          name: 'customers',\r\n          component: () => import('./views/Admin/Customers.vue'),\r\n          meta: {\r\n            authorizationRoles: [UserTypes.SuperAdministrator, UserTypes.Administrator, UserTypes.Helpdesk]\r\n          }\r\n        },\r\n        {\r\n          path: 'partners',\r\n          name: 'partners',\r\n          component: () => import('./views/Admin/Partners.vue'),\r\n          meta: {\r\n            authorizationRoles: [UserTypes.SuperAdministrator, UserTypes.Administrator]\r\n          }\r\n        },\r\n        {\r\n          path: 'packages',\r\n          name: 'packages',\r\n          component: () => import('./views/Admin/Packages.vue'),\r\n          meta: {\r\n            authorizationRoles: [UserTypes.SuperAdministrator, UserTypes.Helpdesk]\r\n          }\r\n        },\r\n        {\r\n          path: 'coupons',\r\n          name: 'coupons',\r\n          component: () => import('./views/Admin/Coupons.vue'),\r\n          meta: {\r\n            authorizationRoles: [UserTypes.SuperAdministrator, UserTypes.Administrator, UserTypes.Helpdesk]\r\n          }\r\n        },\r\n        {\r\n          path: 'search_reports',\r\n          name: 'search_reports',\r\n          component: () => import('./views/Admin/SearchReports.vue'),\r\n          meta: {\r\n            authorizationRoles: [UserTypes.SuperAdministrator, UserTypes.Administrator, UserTypes.Helpdesk]\r\n          }\r\n        },\r\n        {\r\n          path: 'admins',\r\n          name: 'admins',\r\n          component: () => import('./views/Admin/AdminUsers.vue'),\r\n          meta: {\r\n            authorizationRoles: [UserTypes.SuperAdministrator]\r\n          }\r\n        },\r\n        {\r\n          path: 'configuration',\r\n          name: 'configuration',\r\n          component: () => import('./views/Admin/SystemConfiguration.vue'),\r\n        },\r\n        {\r\n          path: 'account',\r\n          name: 'account',\r\n          component: () => import('./views/Admin/AccountSettings.vue'),\r\n        },\r\n        {\r\n          path: 'calculations',\r\n          name: 'calculations',\r\n          component: () => import('./views/Admin/Calculations.vue'),\r\n        },\r\n      ],\r\n      meta: {\r\n        requiresAuth: true,\r\n        authorizationRoles: [UserTypes.SuperAdministrator, UserTypes.Administrator, UserTypes.Helpdesk,],\r\n      },\r\n    },\r\n    {\r\n      path: '/login',\r\n      name: 'login',\r\n      component: () => import('./views/User/Login.vue'),\r\n      meta: { description: 'Access your MenuSano account to manage recipes, perform nutrition analysis, and generate compliant nutrition labels effortlessly.' },\r\n    },\r\n    {\r\n      path: '/administration/login',\r\n      name: 'administrationLogin',\r\n      component: () => import('./views/Admin/AdminLogin.vue'),\r\n    },\r\n    {\r\n      path: '/create',\r\n      name: 'create',\r\n      component: () => import('./views/User/Login.vue'),\r\n    },\r\n    {\r\n      path: '/forgot',\r\n      name: 'forgot',\r\n      props: { forgotPassword: true },\r\n      component: () => import('./views/User/Login.vue'),\r\n      meta: { description: 'Reset your MenuSano account to manage recipes, perform nutrition analysis, and generate compliant nutrition labels effortlessly.' },\r\n    },\r\n    {\r\n      path: '/resetpassword/:token',\r\n      name: 'resetpassword',\r\n      component: () => import('./views/User/ResetPassword.vue'),\r\n    },\r\n    {\r\n      path: '/ingr',\r\n      name: 'ingr',\r\n      component: () => import('./components/vIngredientManagement.vue'),\r\n    },\r\n    {\r\n      path: '*',\r\n      redirect: { name: 'dashboard' },\r\n    },\r\n  ],\r\n});\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n\r\n  var userDetails: UserDetails = store.getters.getUserDetails;\r\n  var isLogged: boolean = store.getters.isLoggedIn;\r\n\r\n  // REMOVE MODAL OVERFLOW SETTING FROM BODY\r\n  var bodee = document.getElementsByTagName(\"body\")[0];\r\n  bodee.classList.remove(\"modalOpen\");\r\n\r\n  if ((to.path.endsWith('login') || to.path.endsWith('create')) && isLogged) {\r\n    if ([UserTypes.Administrator, UserTypes.SuperAdministrator, UserTypes.Helpdesk].includes(userDetails.userType)) {\r\n      next('/administration/customers');\r\n      return;\r\n  }\r\n    next('/');\r\n    return;\r\n  }\r\n\r\n  if (to.path.endsWith('/administration')) {\r\n    next('/administration/customers');\r\n    return;\r\n  }\r\n\r\n  // Check if logged-in user AND the user type is in the restaurants roles list [owner, chef]\r\n  if (!to.path.startsWith(\"/subscription\") &&\r\n    !to.path.startsWith(\"/payment\") &&\r\n    !to.path.endsWith('manageLimits') &&\r\n    isLogged &&\r\n    [UserTypes.Owner, UserTypes.Chef].includes(userDetails.userType) &&\r\n    userDetails.isRecipeOrDishLimitExceeded && \r\n    userDetails.subscriptionStatus == SubscriptionStatus.Active\r\n  ) {\r\n    next(\"/manageLimits\");\r\n    return;\r\n  }\r\n\r\n  // Check authentication/authorization\r\n  if (to.matched.some((record) => record.meta.requiresAuth)) {\r\n\r\n    let r = to.matched.find(record => record.meta.authorizationRoles);\r\n\r\n    if (typeof r !== 'undefined') {\r\n\r\n      if (isLogged && r.meta.authorizationRoles.includes(userDetails.userType)) {\r\n\r\n        // check if child route is further filtered by role\r\n        if (typeof to.meta.authorizationRoles !== 'undefined') {\r\n          if (to.meta.authorizationRoles.includes(userDetails.userType)) {\r\n            next();\r\n            return\r\n          } else {\r\n            next('/');\r\n            return;\r\n          }\r\n        }\r\n\r\n        next();\r\n        return;\r\n      } else {\r\n\r\n        if (r.meta.authorizationRoles.includes([UserTypes.Administrator, UserTypes.SuperAdministrator, UserTypes.Helpdesk].includes(userDetails.userType))) {\r\n          next('/administration/login');\r\n          return;\r\n        }\r\n      }\r\n    }\r\n\r\n    next('/login');\r\n    return;\r\n  }\r\n\r\n  // Update the page meta description\r\n  if (to.meta.description) {\r\n    document.head.querySelector('meta[name=\"description\"]').setAttribute('content', to.meta.description);\r\n  }\r\n  \r\n  next();\r\n});\r\n\r\nexport default router;\r\n","import UserRepository from './UserRepository';\r\n\r\nconst repositories = {\r\n    login: UserRepository,\r\n    // drugi repos\r\n};\r\n\r\nexport enum RepositoryTypes {\r\n    Login = 'login',\r\n}\r\n\r\nexport const RepositoryFactory = {\r\n    get : (name: RepositoryTypes) => (repositories as any)[name.valueOf()],\r\n};\r\n","import UserDetails from \"@/models/User/UserDetails\";\r\nimport { ActionTree, MutationTree, GetterTree } from \"vuex\";\r\nimport {\r\n  RepositoryFactory,\r\n  RepositoryTypes,\r\n} from \"@/utils/API/RepositoryFactory\";\r\nimport { SET_USER_DETAILS, SET_AUTH_STATE } from \"../MutationTypes\";\r\nimport router from \"@/router\";\r\nimport UserLogin from \"@/models/User/UserLogin\";\r\nimport {\r\n  FETCH_USER_DETAILS,\r\n  LOGIN_USER,\r\n  LOGOUT_USER,\r\n  IMPERSONATE_USER,\r\n} from \"../ActionTypes\";\r\nimport { UserTypes } from \"@/models/User/UserTypes\";\r\nimport UserRepository from \"@/utils/API/UserRepository\";\r\n\r\nconst LoginRepository = RepositoryFactory.get(RepositoryTypes.Login);\r\n\r\nexport enum AuthStates {\r\n  Idle,\r\n  LoggingIn,\r\n  Success,\r\n  Failed,\r\n}\r\n\r\nexport interface AccountState {\r\n  userDetails: UserDetails;\r\n  isLogged: boolean;\r\n  authState: AuthStates;\r\n  authMessage: string;\r\n}\r\n\r\nconst state: AccountState = {\r\n  userDetails: new UserDetails(UserTypes.Guest, \"\", \"\"),\r\n  isLogged: false,\r\n  authState: 0,\r\n  authMessage: \"\",\r\n};\r\n\r\nconst actions: ActionTree<any, any> = {\r\n  [LOGIN_USER]({ commit, state }, user: UserLogin) {\r\n    commit(SET_AUTH_STATE, {\r\n      authState: AuthStates.LoggingIn,\r\n      authMessage: \"\",\r\n    });\r\n\r\n    return new Promise((resolve, reject) => {\r\n      LoginRepository.login(user)\r\n        .then((response: any) => {\r\n          const userDetails: UserDetails = response.data.result;\r\n\r\n          commit(SET_USER_DETAILS, {\r\n            userDetails,\r\n            logged: true,\r\n          });\r\n\r\n          commit(SET_AUTH_STATE, {\r\n            authState: AuthStates.Success,\r\n            authMessage: response.statusText,\r\n          });\r\n\r\n          resolve(response);\r\n        })\r\n        .catch((err: any) => {\r\n          if (err.response) {\r\n            commit(SET_AUTH_STATE, {\r\n              authState: AuthStates.Failed,\r\n              authMessage:\r\n                err.response.data.errorMessages[0].userVisibleMessage,\r\n            });\r\n            reject(err.response.data.errorMessages[0].userVisibleMessage);\r\n          } else {\r\n            commit(SET_AUTH_STATE, {\r\n              authState: AuthStates.Failed,\r\n              authMessage: \"Network error!\",\r\n            });\r\n            reject(\"Network error\");\r\n          }\r\n        });\r\n    });\r\n  },\r\n\r\n  [FETCH_USER_DETAILS]({ commit, state }) {\r\n    return new Promise((resolve, reject) => {\r\n      LoginRepository.fetchUserInfo()\r\n        .then((response: any) => {\r\n          const userDetails: UserDetails = response.data.result;\r\n\r\n          commit(SET_USER_DETAILS, {\r\n            userDetails,\r\n            logged: true,\r\n          });\r\n\r\n          commit(SET_AUTH_STATE, {\r\n            authState: AuthStates.Success,\r\n            authMessage: response.statusText,\r\n          });\r\n\r\n          resolve(response);\r\n        })\r\n        .catch((error: any) => {\r\n          commit(SET_USER_DETAILS, {\r\n            userDetails: new UserDetails(UserTypes.Guest, \"\", \"\"),\r\n            logged: false,\r\n          });\r\n\r\n          reject(error);\r\n        });\r\n    });\r\n  },\r\n\r\n  [LOGOUT_USER]({ commit, state }) {\r\n    LoginRepository.logout()\r\n      .then((response: any) => {\r\n        if (response.data.result === null) {\r\n          commit(SET_USER_DETAILS, {\r\n            userDetails: new UserDetails(UserTypes.Guest, \"\", \"\"),\r\n            logged: false,\r\n          });\r\n\r\n          commit(SET_AUTH_STATE, {\r\n            authState: AuthStates.Idle,\r\n            authMessage: \"\",\r\n          });\r\n\r\n          router.push(\"/login\");\r\n        } else {\r\n          const userDetails: UserDetails = response.data.result;\r\n\r\n          commit(SET_USER_DETAILS, {\r\n            userDetails,\r\n            logged: true,\r\n          });\r\n\r\n          commit(SET_AUTH_STATE, {\r\n            authState: AuthStates.Success,\r\n            authMessage: response.statusText,\r\n          });\r\n\r\n          router.push(\"/administration\");\r\n        }\r\n      })\r\n      .catch((error: any) => {\r\n        console.log(error);\r\n      });\r\n  },\r\n\r\n  [IMPERSONATE_USER]({ commit, state }, id: number) {\r\n    return new Promise((resolve, reject) => {\r\n      UserRepository.impersonateUser({ userId: id })\r\n        .then((response) => {\r\n          const userDetails: UserDetails = response.data.result;\r\n\r\n          commit(SET_USER_DETAILS, {\r\n            userDetails,\r\n            logged: true,\r\n          });\r\n\r\n          commit(SET_AUTH_STATE, {\r\n            authState: AuthStates.Success,\r\n            authMessage: response.statusText,\r\n          });\r\n\r\n          resolve(response);\r\n        })\r\n        .catch((error) => {\r\n          if (error.response) {\r\n            commit(SET_AUTH_STATE, {\r\n              authState: AuthStates.Failed,\r\n              authMessage:\r\n                error.response.data.errorMessages[0].userVisibleMessage,\r\n            });\r\n            reject(error.response.data.errorMessages[0].userVisibleMessage);\r\n          } else {\r\n            commit(SET_AUTH_STATE, {\r\n              authState: AuthStates.Failed,\r\n              authMessage: \"Network error!\",\r\n            });\r\n            reject(\"Network error\");\r\n          }\r\n        });\r\n    });\r\n  },\r\n};\r\n\r\nconst mutations: MutationTree<AccountState> = {\r\n  // tslint:disable-next-line:no-shadowed-variable\r\n  [SET_USER_DETAILS](\r\n    state,\r\n    { userDetails, logged }: { userDetails: UserDetails; logged: boolean }\r\n  ) {\r\n    state.userDetails = userDetails;\r\n    state.isLogged = logged;\r\n    // @ts-ignore\r\n    // window.Appcues.identify(userDetails.id, {email: userDetails.email});\r\n  },\r\n  // tslint:disable-next-line:no-shadowed-variable\r\n  [SET_AUTH_STATE](\r\n    state,\r\n    { authState, authMessage }: { authState: AuthStates; authMessage: string }\r\n  ) {\r\n    state.authState = authState;\r\n    state.authMessage = authMessage;\r\n  },\r\n};\r\n\r\nconst getters: GetterTree<AccountState, any> = {\r\n  // tslint:disable-next-line:no-shadowed-variable\r\n  isLoggedIn(state: AccountState): boolean {\r\n    return state.isLogged;\r\n  },\r\n\r\n  // tslint:disable-next-line:no-shadowed-variable\r\n  getUserType(state: AccountState): UserTypes {\r\n    if (typeof state.userDetails !== \"undefined\") {\r\n      return state.userDetails.userType;\r\n    }\r\n    return UserTypes.Guest;\r\n  },\r\n  // tslint:disable-next-line:no-shadowed-variable\r\n  getAuthState(state: AccountState): AuthStates {\r\n    return state.authState;\r\n  },\r\n  // tslint:disable-next-line:no-shadowed-variable\r\n  getAuthMessage(state: AccountState): string {\r\n    return state.authMessage;\r\n  },\r\n\r\n  // tslint:disable-next-line:no-shadowed-variable\r\n  getUserDetails(state: AccountState): UserDetails {\r\n    return state.userDetails as UserDetails;\r\n  },\r\n};\r\n\r\nexport const AccountModule = {\r\n  actions,\r\n  getters,\r\n  mutations,\r\n  state,\r\n};\r\n","import router from '@/router';\r\nimport Axios from 'axios';\r\nimport store from '../../store/store';\r\nimport { SET_USER_DETAILS } from '@/store/MutationTypes';\r\nimport UserDetails from '@/models/User/UserDetails';\r\nimport { UserTypes } from '@/models/User/UserTypes';\r\n\r\nconst baseURL = process.env.VUE_APP_BASE_DOMAIN + process.env.VUE_APP_BASE_DIRECTORY;\r\n\r\nconst repository = Axios.create({\r\n    baseURL,\r\n    // headers: {'Authorization' : ''}\r\n});\r\n\r\nrepository.interceptors.response.use(\r\n    (response) => response,\r\n    (err: any) => {\r\n        if (err.response) {\r\n            if (err.response.status === 401) {\r\n\r\n                store.commit(SET_USER_DETAILS, {\r\n                    userDetails: new UserDetails(UserTypes.Guest, '', ''),\r\n                    logged: false,\r\n                });\r\n                router.push('/login');\r\n            }\r\n\r\n            // check if subscription or trial is expired\r\n            if (err.response.status === 402) {\r\n                router.push('/subscription');\r\n            }\r\n\r\n            if (err.response.status === 403) {\r\n                router.push('/');\r\n            }\r\n\r\n            return Promise.reject(err);\r\n        }    \r\n    });\r\n\r\nexport default repository;\r\n","export enum SubscriptionStatus {\r\n    Draft, Active, Expired, Cancelled,\r\n}\r\n","export const FETCH_USER_DETAILS = 'fetchUserDetails';\r\nexport const CHANGE_USER = 'changeUser';\r\nexport const LOGIN_USER = 'login';\r\nexport const LOGOUT_USER = 'logout';\r\nexport const IMPERSONATE_USER = 'impersonateUser';\r\n\r\nexport const CUSTOMERS_FETCH = 'customersFetch';\r\nexport const CUSTOMERS_NEW = 'customersNew';\r\nexport const CUSTOMERS_EDIT = 'customersEdit';\r\nexport const CUSTOMERS_ACTIVE = 'customersActive';\r\nexport const CUSTOMER_TRANSLATE_TABLE = 'customerTranslateTable';\r\n\r\nexport const PARTNERS_FETCH = 'partnersFetch';\r\nexport const PARTNERS_CREATE = 'partnersCreate';\r\nexport const PARTNERS_EDIT = 'partnersEdit';\r\nexport const PARTNERS_REMOVE = 'partnersRemove';\r\nexport const PARTNERS_FILTERS = 'partnersFilters';\r\nexport const PARTNERS_REDIRECT = 'partnersRedirect';\r\n\r\nexport const TRANSLATIONS_FETCH = 'translationsFetch';\r\n\r\nexport const NUTRIENTS_FETCH = 'nutrientsFetch';\r\n\r\nexport const SYSCONFIG_FETCH = 'sysConfigFetch';\r\nexport const SYSCONFIG_UPDATE_SOURCE = 'sysConfigUpdateSource';\r\n","\r\nimport { ActionTree, MutationTree, GetterTree } from 'vuex';\r\nimport Translations from '@/models/Localization/Translations';\r\nimport { TRANSLATIONS_SET_STATE } from '../MutationTypes';\r\nimport { TRANSLATIONS_FETCH } from '../ActionTypes';\r\nimport TranslationsRequest from '@/models/Localization/TranslationsRequest';\r\nimport LocalizationRepository from '@/utils/API/LocalizationRepository';\r\n\r\n\r\n\r\nexport interface LocalizationState {\r\n    totalCount: number;\r\n    count: number;\r\n    translations: Translations;\r\n}\r\n\r\nconst state: LocalizationState = {\r\n  totalCount: 0,\r\n  count: 0,\r\n  translations: new Translations(),\r\n};\r\n\r\nconst actions: ActionTree<any, any> = {\r\n  [TRANSLATIONS_FETCH]({ commit }, translationsRequest: TranslationsRequest) {\r\n    return new Promise((resolve, reject) => {\r\n      LocalizationRepository.getTranslations(translationsRequest)\r\n        .then((response) => {\r\n          const translationList = response.data.result;\r\n          if (state.translations.length() != 0) {\r\n            translationList.push(...state.translations.getElements());\r\n          }\r\n          // Remove duplicates from transaltionList\r\n          const uniqueTransaltions = Array.from(new Set(translationList.map((translation: { key: string; }) => translation.key)))\r\n            .map((key) => {\r\n              return translationList.find((translation: { key: string; }) => translation.key === key);\r\n            });\r\n          const translations = new Translations(uniqueTransaltions);\r\n\r\n          commit(TRANSLATIONS_SET_STATE,\r\n            { totalCount: response.data.totalCount, count: response.data.count, translations });\r\n\r\n          resolve(response);\r\n        })\r\n        .catch((error) => {\r\n          reject(error);\r\n        });\r\n    });\r\n\r\n  },\r\n};\r\n\r\nconst mutations: MutationTree<LocalizationState> = {\r\n  [TRANSLATIONS_SET_STATE](state, { totalCount, count, translations }:\r\n        { totalCount: number, count: number, translations: Translations }) {\r\n\r\n    state.totalCount = totalCount;\r\n    state.count = count;\r\n    state.translations = translations;\r\n  },\r\n};\r\n\r\nconst getters: GetterTree<LocalizationState, any> = {\r\n};\r\n\r\nexport const LocalizationModule = {\r\n  state,\r\n  actions,\r\n  getters,\r\n  mutations,\r\n};\r\n","import { NutrientsGroup } from '@/models/Ingredient/NutrientUnitList';\r\nimport SystemConfigurationRepository from '@/utils/API/SystemConfigurationRepository';\r\nimport { ActionTree, MutationTree, GetterTree } from 'vuex';\r\nimport { NUTRIENTS_FETCH } from '../ActionTypes';\r\nimport { NUTRIENTS_SET_STATE } from '../MutationTypes';\r\n\r\nexport interface NutrientsState {\r\n  nutrientSourceGroup: NutrientsGroup | null;\r\n}\r\n\r\nconst state: NutrientsState = {\r\n  nutrientSourceGroup: null,\r\n};\r\n\r\nconst actions: ActionTree<NutrientsState, any> = {\r\n  [NUTRIENTS_FETCH]({ commit }) {\r\n    return new Promise((resolve, reject) => {\r\n      SystemConfigurationRepository.listNutrients()\r\n        .then((response) => {\r\n          const nutrients = response.data.result;\r\n          commit(NUTRIENTS_SET_STATE, nutrients);\r\n          resolve(nutrients);\r\n        })\r\n        .catch((error) => {\r\n          reject(error);\r\n        });\r\n    });\r\n  },\r\n};\r\n\r\nconst mutations: MutationTree<NutrientsState> = {\r\n  [NUTRIENTS_SET_STATE](state, nutrients: NutrientsGroup) {\r\n    state.nutrientSourceGroup = nutrients;\r\n  },\r\n};\r\n\r\nconst getters: GetterTree<NutrientsState, any> = {\r\n  getNutrients: (state) => state.nutrientSourceGroup,\r\n};\r\n\r\nexport const NutrientsModule = {\r\n  state,\r\n  actions,\r\n  getters,\r\n  mutations,\r\n};\r\n","import Vue from 'vue';\r\nimport Vuex from 'vuex';\r\nimport { AccountModule } from './modules/AccountModule';\r\n// import { CustomersModule } from './modules/CustomersModule';\r\n// import { PartnersModule } from './modules/PartnersModule';\r\nimport { LocalizationModule } from './modules/LocalizationModule';\r\nimport { NutrientsModule } from './modules/NutrientsModule';\r\nimport {TRANSLATIONS_FETCH} from \"@/store/ActionTypes\";\r\n\r\nVue.use(Vuex);\r\n\r\nexport const strict = true;\r\n\r\nconst store = new Vuex.Store({\r\n  strict: process.env.NODE_ENV !== 'production',\r\n  modules: {\r\n    AccountModule,\r\n    // CustomersModule,\r\n    // PartnersModule,\r\n    LocalizationModule,\r\n    NutrientsModule,\r\n  },\r\n});\r\n\r\nexport const useStore = () => store;\r\nexport const useTranslations = (...fetchCollections: string[]) => {\r\n  if (fetchCollections) {\r\n    store.dispatch(\r\n      TRANSLATIONS_FETCH,\r\n      {\r\n        category: \"pages\",\r\n        collections: fetchCollections,\r\n      }\r\n    );\r\n  }\r\n  return store.state.LocalizationModule.translations;\r\n};\r\nexport default store;\r\n","export enum UserTypes {\r\n  SuperAdministrator,\r\n  Administrator,\r\n  Helpdesk,\r\n  Chef,\r\n  Owner,\r\n  Guest,\r\n}\r\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view'),_c('vue-snotify')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n  created() {\r\n    this.$snotify.config.global = {\r\n      maxOnScreen: 5,\r\n      preventDuplicates: true,\r\n    };\r\n  },\r\n\r\n  mounted() {\r\n    if (navigator.appVersion.indexOf(\"Windows NT 6.2\") != -1) {\r\n      document.head.innerHTML +=\r\n        '<link rel=\"stylesheet\" type=\"text/css\" href=\"pages/css/windows.chrome.fix.css\" />';\r\n    }\r\n  }\r\n});\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--13-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--13-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=75de5971\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=75de5971&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import {Validator} from \"vee-validate\";\r\n\r\nexport function registerValidators() {\r\n  Validator.extend(\"greater_than_0\", {\r\n    validate: (value: any) => {\r\n      return value > 0;\r\n    },\r\n  });\r\n\r\n  Validator.extend(\r\n    \"greater_than_equal_to\",\r\n    {\r\n      validate: (value: any, { min }: { min: any }) => {\r\n        return value >= Number(min);\r\n      }\r\n    },\r\n    { paramNames: [\"min\"] }\r\n  );\r\n}\r\n\r\n","import Vue from 'vue';\r\nimport App from './App.vue';\r\nimport router from './router';\r\nimport Axios, { AxiosStatic } from 'axios';\r\nimport store from '@/store/store';\r\n\r\nimport { SnotifyService } from 'vue-snotify/SnotifyService';\r\nimport Snotify from 'vue-snotify';\r\nimport 'vue-snotify/styles/material.css';\r\nimport Moment from 'vue-moment';\r\n\r\nimport VueAnalytics from 'vue-analytics';\r\n\r\nimport Datepicker from 'vuejs-datepicker';\r\nVue.component('Datepicker', Datepicker);\r\n\r\n// @ts-expect-error vue-country-region-select does not provide types\r\nimport vueCountryRegionSelect from 'vue-country-region-select';\r\nVue.use(vueCountryRegionSelect);\r\n\r\nVue.use(Moment);\r\n\r\nimport vSelect from 'vue-select';\r\nVue.component('VSelect', vSelect);\r\n\r\nimport VeeValidate from 'vee-validate';\r\nVue.use(VeeValidate);\r\n// Register all custom validators globally\r\nregisterValidators();\r\n\r\nimport VueTelInput from 'vue-tel-input';\r\nlet globalOptions = {\r\n\r\n};\r\nVue.use(VueTelInput, [globalOptions]);\r\n\r\nimport UserRepository from './utils/API/UserRepository';\r\nimport { SET_USER_DETAILS } from './store/MutationTypes';\r\nimport {registerValidators} from \"@/utils/Validators\";\r\n\r\nVue.use(VueAnalytics, {\r\n  id: 'G-ZDX2F0RV4B'\r\n});\r\n\r\nVue.use(Snotify, {\r\n  toast: {\r\n    timeout: 5000,\r\n    showProgressBar: false,\r\n    position: 'leftTop',\r\n    closeOnClick: true,\r\n  },\r\n});\r\n\r\nVue.prototype.$eventBus = new Vue();\r\nVue.prototype.$http = Axios;\r\n\r\ndeclare module 'vue/types/vue' {\r\n  interface Vue {\r\n    $eventBus: Vue;\r\n    $http: AxiosStatic;\r\n    $snotify: SnotifyService;\r\n    $moment: any;\r\n  }\r\n}\r\n\r\n\r\nVue.config.productionTip = false;\r\n\r\nUserRepository.fetchUserInfo()\r\n  .then((response) => {\r\n\r\n    store.commit(SET_USER_DETAILS, { userDetails: response.data.result, logged: true });\r\n\r\n    new Vue({\r\n      router,\r\n      store,\r\n      render: (h) => h(App)\r\n    }).$mount('#app');\r\n\r\n  })\r\n  .catch(() => {\r\n    new Vue({\r\n      router,\r\n      store,\r\n      render: (h) => h(App)\r\n    }).$mount('#app');\r\n  });\r\n\r\n// document.getElementById(\"contact-email\").style.pointerEvents = \"none\";\r\n// var email = document.querySelector('input[email=\"contact.email\"]');\r\n// email.addEventListener(\"focus\", (event) => {\r\n//   event.target.style.pointerEvents = \"none\";\r\n// });\r\n\r\n\r\n","import Repository from './Repository';\r\nimport TranslationsRequests from '@/models/Localization/TranslationsRequest';\r\nimport ListRequest from '@/models/ListRequest';\r\nimport { LocalizationLanguage } from '@/models/Localization/LocalizationLanguage';\r\n\r\nconst resource = '/localization';\r\n\r\nexport default {\r\n  listTranslations(listRequest: ListRequest) {\r\n    return Repository.post(`${resource}/listTranslations`, listRequest, {withCredentials: true});\r\n  },\r\n  getTranslations(translationsRequest: TranslationsRequests) {\r\n    return Repository.post(`${resource}/getTranslations`, translationsRequest, {withCredentials: true});\r\n  },\r\n  createLocalizationLanguage(name: string){\r\n    return Repository.post(`${resource}/createLocalizationLanguage`, {name}, {withCredentials: true});\r\n  },\r\n  getLanguages(){\r\n    return Repository.get(`${resource}/getLanguages`, {withCredentials: true});\r\n  },\r\n  getCategories(){\r\n    return Repository.get(`${resource}/getCategories`, {withCredentials: true});\r\n  },\r\n  getCollections(categoryId: number|undefined){\r\n    return Repository.get(`${resource}/getCollections?categoryId=${categoryId}`, {withCredentials: true});\r\n  },\r\n  createLocalizationCategory(Name: string){\r\n    return Repository.post(`${resource}/createLocalizationCategory`, {Name}, {withCredentials: true});\r\n  },\r\n  createLocalizationCollection(model: any){\r\n    return Repository.post(`${resource}/createLocalizationCollection`, model, {withCredentials: true});\r\n  },\r\n  createTranslation(model: any){\r\n    return Repository.post(`${resource}/createTranslation`, model, {withCredentials: true});\r\n  },\r\n  deleteLocalizationKeys(LocalizationKeyIds: number[]){\r\n    return Repository.post(`${resource}/deleteLocalizationKeys`, {LocalizationKeyIds}, {withCredentials: true});\r\n  },\r\n  updateTranslation(model: any){\r\n    return Repository.post(`${resource}/updateTranslation`, model, {withCredentials: true});\r\n  },\r\n  getAvailableLanguagesForAdding(){\r\n    return Repository.get<void, LocalizationLanguage[]>(`${resource}/getAvailableLanguagesForAdding`, {withCredentials: true});\r\n  },\r\n};","export const SET_USER_DETAILS = 'setUserDetails';\r\nexport const SET_AUTH_STATE = 'setAuthState';\r\nexport const LOGOUT_USER = 'logoutUser';\r\nexport const SET_USER_PACKAGE = 'setUserPackage';\r\n\r\nexport const CUSTOMER_SET_STATE = 'customerSetState';\r\nexport const CUSTOMER_SET_FETCH_STATUS = 'customerSetFetchStatus';\r\nexport const CUSTOMER_SET_TRANSLATIONS = 'customerSetTranslations';\r\n\r\nexport const PARTNER_SET_STATE = 'partnerSetState';\r\nexport const PARTNER_SET_FETCH_STATUS = 'partnerSetFetchStatus';\r\nexport const PARTNER_SET_FILTERS = 'partnerSetFilters';\r\nexport const PARTNER_SET_LISTREQUEST = 'partnerSetListRequest';\r\n\r\nexport const TRANSLATIONS_SET_STATE = 'translationsSetState';\r\n\r\nexport const NUTRIENTS_SET_STATE = 'nutrientsSetState';\r\n\r\nexport const SYSCONFIG_SET_NUTRIENT_SOURCES = 'sysConfigSetNutrientSources';\r\nexport const SYSCONFIG_UPDATE_NUTRIENT_SOURCE = 'sysConfigUpdateNutritionSource';\r\n","import { UserTypes } from \"./UserTypes\";\r\nimport { SubscriptionStatus } from \"../Subscriptions/SubscriptionStatus\";\r\nimport { SubscriptionRecurrenceType } from \"../Subscriptions/SubscriptionRecurrenceType\";\r\nimport { NutrientSource } from \"../NutrientSource/NutrientSource\";\r\n\r\n// export default interface UserDetails {\r\n//     autoRenewal: boolean;\r\n//     email: string;\r\n//     firstName: string;\r\n//     hasWebAccess: boolean;\r\n//     id: number;\r\n//     impersonatedByAdministratorId: number;\r\n//     isInitialPayment: boolean;\r\n//     lastName: string;\r\n//     localization: string;\r\n//     restaurantId: number;\r\n//     restaurantName: string;\r\n//     subscriptionEndDate: string;\r\n//     subscriptionName: string;\r\n//     subscriptionPackageId: number;\r\n//     subscriptionRecurrenceType: SubscriptionRecurrenceType;\r\n//     subscriptionStartDate: string;\r\n//     subscriptionStatus: SubscriptionStatus;\r\n//     subscriptionType: SubscriptionTypes;\r\n//     userType: UserTypes;\r\n// }\r\n\r\nclass UserDetails {\r\n  constructor(\r\n    // tslint:disable-next-line:variable-name\r\n    private _userType: UserTypes,\r\n    public email: string,\r\n    protected localization: string,\r\n    public isRecipeOrDishLimitExceeded: boolean = false,\r\n    protected _id?: number,\r\n    public restaurantId?: number,\r\n    protected restaurantName?: string,\r\n    protected subscriptionName?: string,\r\n    protected isTrial?: boolean,\r\n    public subscriptionStatus?: SubscriptionStatus,\r\n    protected subscriptionStartDate?: Date,\r\n    protected subscriptionEndDate?: Date,\r\n    protected subscriptionCycle?: SubscriptionRecurrenceType,\r\n    protected hasDraftSubscription?: boolean,\r\n    protected availableNutrientSources?: NutrientSource[],\r\n    protected isRecurring?: boolean,\r\n    protected _subscriptionPackageId?: number,\r\n    public firstName?: string,\r\n    public lastName?: string,\r\n    protected restaurantNotificationEmail?: string,\r\n    public addOns?: [],\r\n    protected phone?: string,\r\n    protected freeUserLicenses?: number,\r\n    protected paidUserLicenses?: number\r\n  ) {\r\n    this._id = _id;\r\n    this.restaurantId = restaurantId;\r\n    this.restaurantName = restaurantName;\r\n    this.subscriptionName = subscriptionName;\r\n    this.subscriptionStartDate = subscriptionStartDate;\r\n    this.subscriptionEndDate = subscriptionEndDate;\r\n    this.subscriptionCycle = subscriptionCycle;\r\n    this.hasDraftSubscription = hasDraftSubscription;\r\n    this.availableNutrientSources = availableNutrientSources;\r\n    this._userType = _userType;\r\n    this.firstName = firstName;\r\n    this.lastName = lastName;\r\n    this.email = email;\r\n    this.localization = localization;\r\n    this.isTrial = isTrial;\r\n    this.subscriptionStatus = subscriptionStatus;\r\n    this._subscriptionPackageId = _subscriptionPackageId;\r\n    this.restaurantNotificationEmail = restaurantNotificationEmail;\r\n    this.addOns = addOns;\r\n    this.isRecurring = isRecurring;\r\n    this.phone = phone;\r\n    this.isRecipeOrDishLimitExceeded = isRecipeOrDishLimitExceeded;\r\n    this.freeUserLicenses = freeUserLicenses;\r\n    this.paidUserLicenses = paidUserLicenses;\r\n  }\r\n\r\n  get userId(): number {\r\n    return this._id;\r\n  }\r\n\r\n  get userType(): UserTypes {\r\n    return this._userType;\r\n  }\r\n\r\n  get subscriptionPackageId(): number {\r\n    return this._subscriptionPackageId as number;\r\n  }\r\n}\r\n\r\nexport default UserDetails;\r\n"],"sourceRoot":""}