{"version":3,"sources":["webpack:///webpack/bootstrap","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/main.ts","webpack:///./src/App.vue?23e0","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","translation","find","entry","translationString","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","forgotPassword","redirect","beforeEach","isLogged","isLoggedIn","bodee","classList","remove","endsWith","userType","startsWith","isRecipeOrDishLimitExceeded","subscriptionStatus","SubscriptionStatus","Active","matched","some","record","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","render","_vm","_c","_self","_setupProxy","attrs","staticRenderFns","extend","created","$snotify","config","global","maxOnScreen","preventDuplicates","mounted","navigator","appVersion","indexOf","innerHTML","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.bfe86375.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-1cc91b0a\":\"96d7c124\",\"chunk-0aea58e0\":\"8cc7692c\",\"chunk-2294798f\":\"db4e8e18\",\"chunk-2ff6aeb2\":\"3dbd716c\",\"chunk-2218f62b\":\"88b1e5ef\",\"chunk-4f7ab56a\":\"0c333096\",\"chunk-618f3dbe\":\"7c4f39be\",\"chunk-55c0567b\":\"a96c17df\",\"chunk-ccd50c58\":\"52a0c1d8\",\"chunk-68640080\":\"96053ac9\",\"chunk-697d3d88\":\"56c3d166\",\"chunk-6fcd28af\":\"a5eb62a0\",\"chunk-887a58b6\":\"804cbf32\",\"chunk-ba5d5900\":\"25b76b26\",\"chunk-15862053\":\"73159d06\",\"chunk-69183aef\":\"bd08cf53\",\"chunk-7552eb7c\":\"161d9705\",\"chunk-cf187d42\":\"2627edac\",\"chunk-d9d6a8ac\":\"9e400ee4\",\"chunk-ff506962\":\"1cbe8bcd\",\"chunk-fffd2608\":\"54119385\",\"chunk-29d1137e\":\"36f8600c\",\"chunk-478f74f9\":\"cd910107\",\"chunk-457f514a\":\"a8207602\",\"chunk-6c337256\":\"44923446\",\"chunk-50cabae6\":\"593cf0c4\",\"chunk-61eecde7\":\"833083ad\",\"chunk-8daa19ae\":\"e9e3b094\",\"chunk-58197502\":\"cb049145\",\"chunk-585e43ae\":\"fa1d2069\",\"chunk-7e9577f2\":\"f8fb452e\",\"chunk-9ec299b8\":\"940bf01f\",\"chunk-5343d2f7\":\"65b97aa8\",\"chunk-b853d76e\":\"09454816\",\"chunk-c419c42e\":\"c0ba33b4\",\"chunk-2a3fd1b9\":\"3794297b\",\"chunk-5195146b\":\"eb322616\",\"chunk-2d0c05f5\":\"be6563a8\",\"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-2d0c898c\":\"4e8ce153\",\"chunk-6ea5c83c\":\"6a9b8fac\"}[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-1cc91b0a\":1,\"chunk-0aea58e0\":1,\"chunk-2294798f\":1,\"chunk-2218f62b\":1,\"chunk-4f7ab56a\":1,\"chunk-618f3dbe\":1,\"chunk-55c0567b\":1,\"chunk-ccd50c58\":1,\"chunk-68640080\":1,\"chunk-697d3d88\":1,\"chunk-6fcd28af\":1,\"chunk-887a58b6\":1,\"chunk-ba5d5900\":1,\"chunk-15862053\":1,\"chunk-69183aef\":1,\"chunk-7552eb7c\":1,\"chunk-cf187d42\":1,\"chunk-d9d6a8ac\":1,\"chunk-ff506962\":1,\"chunk-fffd2608\":1,\"chunk-29d1137e\":1,\"chunk-478f74f9\":1,\"chunk-457f514a\":1,\"chunk-6c337256\":1,\"chunk-50cabae6\":1,\"chunk-61eecde7\":1,\"chunk-8daa19ae\":1,\"chunk-58197502\":1,\"chunk-585e43ae\":1,\"chunk-7e9577f2\":1,\"chunk-9ec299b8\":1,\"chunk-5343d2f7\":1,\"chunk-b853d76e\":1,\"chunk-c419c42e\":1,\"chunk-2a3fd1b9\":1,\"chunk-5195146b\":1,\"chunk-6ea5c83c\":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-1cc91b0a\":\"bb738a5d\",\"chunk-0aea58e0\":\"1f5715f1\",\"chunk-2294798f\":\"7b05ca3d\",\"chunk-2ff6aeb2\":\"31d6cfe0\",\"chunk-2218f62b\":\"0130cdb3\",\"chunk-4f7ab56a\":\"eb3fa46c\",\"chunk-618f3dbe\":\"6f2f086b\",\"chunk-55c0567b\":\"a872dd89\",\"chunk-ccd50c58\":\"2c951f39\",\"chunk-68640080\":\"49de9635\",\"chunk-697d3d88\":\"eb7cd3e9\",\"chunk-6fcd28af\":\"751d0778\",\"chunk-887a58b6\":\"af3aa0f3\",\"chunk-ba5d5900\":\"6f2f086b\",\"chunk-15862053\":\"4088d651\",\"chunk-69183aef\":\"66cb6619\",\"chunk-7552eb7c\":\"b9a4b5b3\",\"chunk-cf187d42\":\"6f2f086b\",\"chunk-d9d6a8ac\":\"d19e1298\",\"chunk-ff506962\":\"87601314\",\"chunk-fffd2608\":\"a4146bb6\",\"chunk-29d1137e\":\"f9c52d3c\",\"chunk-478f74f9\":\"3fe44f26\",\"chunk-457f514a\":\"c61404d7\",\"chunk-6c337256\":\"405b0295\",\"chunk-50cabae6\":\"b7c6a853\",\"chunk-61eecde7\":\"e9c8a9d4\",\"chunk-8daa19ae\":\"4f1f6965\",\"chunk-58197502\":\"4704a25f\",\"chunk-585e43ae\":\"da2c2487\",\"chunk-7e9577f2\":\"2cdb4bb8\",\"chunk-9ec299b8\":\"bed542b9\",\"chunk-5343d2f7\":\"66288655\",\"chunk-b853d76e\":\"5846e98e\",\"chunk-c419c42e\":\"ef5930db\",\"chunk-2a3fd1b9\":\"6652d51b\",\"chunk-5195146b\":\"6f2f086b\",\"chunk-2d0c05f5\":\"31d6cfe0\",\"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-2d0c898c\":\"31d6cfe0\",\"chunk-6ea5c83c\":\"803964a0\"}[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 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 \r\n let translationString = '';\r\n\r\n \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 } 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>(\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 },\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 },\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 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 = {\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 = {\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 = {\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 = {\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 = {\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 = {\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 = {\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 = {\r\n [NUTRIENTS_SET_STATE](state, nutrients: NutrientsGroup) {\r\n state.nutrientSourceGroup = nutrients;\r\n },\r\n};\r\n\r\nconst getters: GetterTree = {\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\n\r\nVue.use(Vuex);\r\n\r\nexport const strict = true;\r\n\r\nexport default 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","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 '';\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=5c30f066\"\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=5c30f066&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 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\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\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","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=5c30f066&prod&lang=css\"","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(`${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":""}