{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/assets/avatar.png","webpack:///./src/services/api/apiController.js","webpack:///./src/services/api/axiosApiController.js","webpack:///./src/services/api/index.js","webpack:///./src/module/router.js","webpack:///./src/module/index.js","webpack:///./src/modules/users/state.js","webpack:///./src/modules/users/mutations.js","webpack:///./src/modules/users/actions.js","webpack:///./src/modules/users/getters.js","webpack:///./src/modules/users/index.js","webpack:///./src/modules/gamification/state.js","webpack:///./src/modules/gamification/mutations.js","webpack:///./src/modules/gamification/actions.js","webpack:///./src/modules/gamification/getters.js","webpack:///./src/modules/gamification/index.js","webpack:///./src/modules/modules/state.js","webpack:///./src/modules/modules/mutations.js","webpack:///./src/modules/modules/getters.js","webpack:///./src/modules/modules/index.js","webpack:///./src/modules/tasks/state.js","webpack:///./src/modules/tasks/mutations.js","webpack:///./src/modules/tasks/actions.js","webpack:///./src/modules/tasks/getters.js","webpack:///./src/modules/tasks/index.js","webpack:///./src/modules/checklist/state.js","webpack:///./src/modules/checklist/mutations.js","webpack:///./src/modules/checklist/actions.js","webpack:///./src/modules/checklist/getters.js","webpack:///./src/modules/checklist/index.js","webpack:///./src/modules/plan/state.js","webpack:///./src/modules/plan/mutations.js","webpack:///./src/modules/plan/actions.js","webpack:///./src/modules/plan/getters.js","webpack:///./src/modules/plan/index.js","webpack:///./src/modules/general/state.js","webpack:///./src/modules/general/mutations.js","webpack:///./src/modules/general/getters.js","webpack:///./src/modules/general/index.js","webpack:///./src/modules/timer/state.js","webpack:///./src/modules/timer/mutations.js","webpack:///./src/modules/timer/actions.js","webpack:///./src/modules/timer/getters.js","webpack:///./src/modules/timer/index.js","webpack:///./src/modules/share/state.js","webpack:///./src/modules/share/mutations.js","webpack:///./src/modules/share/index.js","webpack:///./src/store/index.js","webpack:///./src/assets/icons/icon-learn.svg","webpack:///./src/common/utils/Date.js","webpack:///./src/notifications/router.js","webpack:///./src/notifications/index.js","webpack:///./src/module/adapters/modulesAdapter.js","webpack:///./src/App.vue?75de","webpack:///src/App.vue","webpack:///./src/App.vue?a7d1","webpack:///./src/App.vue","webpack:///./src/RegisterModules.js","webpack:///./src/plugins/axios_interceptor.js","webpack:///./src/myTasks/router.js","webpack:///./src/onBoard/router.js","webpack:///./src/dashboard/router.js","webpack:///./src/main.js","webpack:///./src/App.vue?3c7a","webpack:///./src/myTasks/services/CQRS/queriesController.service.js","webpack:///./src/myTasks/services/CQRS/commandController.service.js","webpack:///./src/myTasks/services/paths/index.js","webpack:///./src/myTasks/services/CQRS/index.js","webpack:///./src/myTasks/services/index.js","webpack:///./src/auth/services/commandsController.service.js","webpack:///./src/plugins/index.js","webpack:///./src/common/router.js","webpack:///./src/common/plugins/persistance/index.js","webpack:///./src/common/index.js","webpack:///./src/checkList/container.js","webpack:///./src/module/adapters/surveysAdapter.js","webpack:///./src/module/adapters/index.js","webpack:///./src/gamification/services/CQRS/queriesController.service.js","webpack:///./src/gamification/services/CQRS/commandController.service.js","webpack:///./src/gamification/services/paths/index.js","webpack:///./src/gamification/services/CQRS/index.js","webpack:///./src/gamification/services/index.js","webpack:///./src/router/index.js","webpack:///./src/auth/router.js","webpack:///./src/auth/adapters/authAdapters.js","webpack:///./src/auth/services/queriesController.service.js","webpack:///./src/auth/services/paths.js","webpack:///./src/auth/index.js","webpack:///./src/checkList/services/index.js","webpack:///./src/common/services/CQRS/commandsController.service.js","webpack:///./src/common/services/CQRS/queriesController.service.js","webpack:///./src/common/services/paths/index.js","webpack:///./src/common/services/CQRS/index.js","webpack:///./src/common/services/index.js","webpack:///./src/module/services/CQRS/queriesController.service.js","webpack:///./src/module/services/CQRS/commandController.service.js","webpack:///./src/module/services/paths/index.js","webpack:///./src/module/services/CQRS/index.js","webpack:///./src/module/services/index.js","webpack:///./src/plugins/vue-axios.js","webpack:///./src/common/plugins/store/notifications.store.js","webpack:///./src/common/plugins/store/session.store.js","webpack:///./src/common/plugins/store/learnSkill.store.js","webpack:///./src/common/plugins/store/index.js","webpack:///./src/common/utils/coinsValueFormat.js","webpack:///./src/common/utils/Layout.js","webpack:///./src/common/utils/RegularExpressions.js","webpack:///./src/common/utils/getPlatform.js","webpack:///./src/common/utils/constants.js","webpack:///./src/common/utils/index.js","webpack:///./src/notifications/services/queriesController.service.js","webpack:///./src/notifications/services/commandsControlles.service.js","webpack:///./src/notifications/services/paths.js","webpack:///./src/notifications/container.js","webpack:///./src/notifications/services/index.js","webpack:///./src/checkList/router.js","webpack:///./src/checkList/services/queriesController.service.js","webpack:///./src/checkList/services/commandsController.service.js","webpack:///./src/checkList/services/paths.js","webpack:///./src/checkList/index.js","webpack:///./src/gamification/router.js","webpack:///./src/gamification/index.js","webpack:///./src/auth/services/index.js"],"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","ApiController","AxiosApiController","path","params","Vue","axios","method","url","headers","ApiInterface","axiosController","apiContainer","apiController","LearnSkills","lessons","lesson","Surveys","routes","component","children","router","forEach","element","addRoute","access_token","refresh_token","userData","hasChildren","childrenIds","childrenData","childSelectedId","childSelectedName","ChildselectedEmail","childrenCounter","isLogged","errorMessage","childDataGetted","genders","childFirstTime","theme","dark","avatar","id","setRefreshToken","state","token","$cookies","set","setUserIsLogged","setUserData","moduleFocusOn","setchildrenIds","ids","logout","setChildrenData","registerError","payload","cleanErrors","setChildSelectedData","themeSelection","markUniqueChildAsSelected","child","setUserType","saveGenders","incrementChildCount","parseInt","childFirstTimeComplete","setDarkMode","themeChange","use","VueCookies","getChildrenData","UserId","commit","to_Response","response","createChild","info","userChildName","last_name","userChildLastName","birthdate","userChildBirthday","email","userChildEmail","password","userChildPass","re_password","userChildRePass","parent","getUserId","modulesUnlocked","fecthAllGenders","passwordRecovery","changeTheme","isParent","idUser","idTheme","darkModeChange","getToken","getUserIsLogged","isKey","userIsAParent","getUserName","getChildrenIds","getChildrenCounter","getChildSelectedId","getChildSelectedName","getParentName","getParentId","getGendersList","text","getIsFirstTime","isFirstTime","getDarkMode","Boolean","getTheme","namespaced","mutations","actions","getters","CoinsBanked","CoinsPending","CoinsClaimed","CoinsByModule","rankingData","userPosition","userPoints","userLevel","progressInfo","progressDays","progressInfoModules","pendingCoins","typeCoinsValues","progressRange","LevelImage","saveCoinsInfo","Banked","Pending","Claimed","Modules","saveLevelInfo","ranking","userPos","photo","saveProgressInfo","days","range","saveProgressInfoModules","saveCoinsPending","setCoinsValues","getChildCoinsInformation","childId","getChildLevelInformation","getChildCoinsPending","aceptRejectCoin","items","getLevelImage","getChildLevelNumber","getChildLevelName","getChildCoinsBanked","getChildLevelPoints","getChildCoinsResume","pending","claimed","banked","getRankingData","getUserPosition","getModulesData","order","title","img","alt","unlocked","totalPoints","Points","pointsClaimed","pointsPending","pointsBanked","getProgressRange","getProgress","getProgressDays","getProgressModules","getPendingCoinsDetail","getCoinsValue","getDetailCoin","toreturn","modulesValue","complete","completeMessage","modulesList","correctComplete","saveModulesList","getCountModulesUnlocked","count","getIsModulesActive","getModulesList","getSelfManagementIsActive","module_order","moduleInfo","module_name","progress","reduce","acc","cv","viewed","lessonById","find","Number","allTasksNEvents","tasks","events","todayTasks","selectedTask","RepeatOptions","Classes","Priorities","Types","projects","earnPoints","pointsEarned","pendingTasks","notificationsTypes","taskPerDate","setTodayTasks","calculeIfDue","setAllTasks","setTaskPerDate","dates","datesFormat","date","task","removeRepeatedTasks","tasksPerDate","dateNames","keys","allTask","weekTasks","month","allTasksIds","map","repeatTaks","filter","includes","week","today","setSelectedTaskData","coins","setNotificationTypes","transformChoicesToDict","setRepeatOptions","setPriorities","setClasses","addNewClass","removeClass","index","counter","setTypes","setProjects","setTasktoProjects","project","setPendingTaks","now","Date","nowMinute","getHours","getMinutes","taskMinute","setHours","is_due","setTaskUpdated","hasTask","isProject","project_id","_task","fetchTodayTasks","userId","mesage","fetchAllTasks","query","allTasks","log","filterTaskPerDate","datesToFilter","promiseAll","fetchPendingTasks","objectToFormData","formData","FormData","entries","append","addNewTask","isChild","points","description","editTask","config","isEvent","UpdateTaskInformation","due_date","taskDate","taskHour","taskTitle","taskChild","taskProject","taskDescription","subject","taskClass","taskType","priority","taskPriority","attachment","taskAttachment","taskRepeat","taskRepeatDate","notification_date","taskId","UpdateTask","toReturn","DeliveryTask","UpdateTasks","FetchRepeatOptions","FetchTypes","FetchNotificationTypes","deleteTask","updateStatusToTask","status","put","getAllTasks","getOnlyTasks","getTasksPerDate","getOnlyEvents","getTodayTasks","getPendingTasks","getPendingTasksNoComplete","getClasses","color","getActiveClasses","getRepeatOptions","getTasksTypes","Tasks","getNotificationsType","getEventsTypes","Events","getTaskId","elementToReturn","getProjects","getProjectTaks","getProjectNames","getProject","checkListData","checkListDates","checkListCriteria","dataIsGetted","idSelectedModule","setCheckListDataToday","criterion","completeChild","checkList","criteria","checkListComplete","checkListDataToday","saveCheckListData","item","saveCheckListDates","addCriteriaToCheckList","moduleOrder","addCriteriaCreated","checkData","removeItemFromList","indexSelected","check","itemId","setCheckListDataPending","checkListDataPending","setCheckListCriteria","setSelectedModule","Mid","addDataToCheckList","Order","dataItem","resetCount","moduleIndex","idObject","fethCheckList","getChecklistsDates","setChildCheckValues","approvedChild","correct","updateCoinValues","updateCriteria","itemDescription","itemValue","post","setParentCheckValues","createCriteria","ModifyCriterion","DeleteCriterion","resetItemsCount","itemsId","getModuleCheckListPending","getDataIsGetted","getSelectedModId","getDataModuleSelected","getCheckListCriteria","getAllCheckListData","getAllCheckListDates","planInfo","options","setPlans","setOptions","fetchAllPlans","createPlan","to_return","often_times_per_week","times_of_week","where_place","place","what_activities","how_remember","daysTime","what_days","whenCheckDays","where_days","extra_data","editPlan","extra_data_how_remember","planId","fetchRememberOptions","getPlanByModule","havePlan","plan","getModulePlans","getOptions","extralabel","need_extra_data","charging","setIsCharging","getFormattedDate","strdate","replaceTimeZone","toString","search","strDateParts","split","strTodayParts","toISOString","day","getDate","months","getFullYear","dayName","getDay","monthName","getMonth","formatted","formatAMPM","AmPmInternal","formatAMPMHour","strHour","splitText","hours","minutes","ampm","strTime","tasksTimer","saveNewTimer","timeSpentSeconds","fetchTaskTime","send_minute_spent","completeTask","json","timer","send_total_time","totalTime","isComplete","getTaskSpentTime","parentToShare","setParentToShare","Vuex","Store","user","checklist","general","share","ABBREVIATED_DAY_NAMES","meridianTimeText","meridianTime","hour","formatMinutes","formatInMeridianTime","_date","getStringHour","_difference","formatToConventionalSystem","time","splitTime","meridianFormat","timeString","timeFormat","formatLongDate","dayOptions","year","replace","textDate","toLocaleDateString","formatLongDateTime","hour12","minute","formatDateTask","formatNumericDateCalendar","formatHourSelected","hourToDate","formatNameDay","weekday","formatDateAndWeekday","timeZone","formatDateToLocalISOString","newDate","seconds","getSeconds","getNumericDate","AdvanceTheTimeByXMinutes","jumpInMinutes","defaultJump","jumpMinutes","futureTime","setMinutes","getStartDateWhitHoursOfEndDate","initDate","endDate","finalDate","_endDate","hoursEndDate","minutesEndDate","secondsEndDate","setSeconds","datePriorToTheCurrentDate","selectedDateTime","currentDateTime","dateFormatAbbreviatedNameOfDayAndNumberedDay","dateCopy","dayOfWeek","dayOfMonth","Notification","defaultIcon","require","modulesAdapter","moduleSkill","icon","pages","topics","topics_viewed","_vm","this","_h","$createElement","_c","_self","attrs","staticClass","staticRenderFns","registerModule","registerModules","moduleKey","subscribeTokenRefresh","originalRequest","interceptors","Persistance","getPersistedVar","Authorization","refreshToken","remove","persistValue","retryOrigReq","store","dispatch","CalendarMainView","CalendarView","TaskView","ProjectsMainView","MyProjectsView","CreateNewProjectView","ProjectTasksView","TaskFormView","TaskDetailView","redirect","firstTime","DashboardView","defaultOptions","allowedTags","allowedAttributes","a","iframe","selfClosing","PiniaVuePlugin","pinia","createPinia","VueSanitize","BootstrapVue","$errorGlobal","Auth","Atom","CheckList","ModuleSkills","Gamifications","MyTasks","onBoard","dashboard","interceptor","render","h","App","$mount","QueriesController","requestService","paths","taskPriorities","Get","allChildTasks","myProjects","allProjects","projectId","projectInfo","taskInfoOrEdit","taskTypes","taskRepeatOptions","taskTypesNotifications","queryParams","calendar","getCalendar","getAllTaskTimers","newProjectBody","createProject","Post","taskData","Put","newTask","editProjectBody","editProject","Patch","deleteProject","Delete","tasksId","updateTimeInTask","updateTaskStatus","complement","API","QueriesControllerFactory","Paths","CommandsControllerFactory","CommandsController","container","queriesController","commandsController","freeze","getTaskPriorities","fetchTaskPriorities","filter_task","URLSearchParams","fetchAllChildTasks","getAllProjects","fetchProjects","setNewProject","newProject","due_hour","addNewProject","getProjectInfo","fetchProjectInfo","editProjectData","updateTimeInATask","getTaskInfo","fetchTaskInfo","getTaskTypes","fetchTaskTypes","getTaskRepeatOptions","fetchTaskRepeatOptions","getTaskTypesNotifications","fetchTaskTypesNotifications","setNewTask","createTask","setEditTask","setTaskStatus","fetchCalendar","persisttance","obj","_requestService","_paths","_persistance","username","Buffer","from","loginPath","containsKey","loadUserData","passwordRecoveryPath","profile_gender","registerChildPath","About","ChildList","Home","Settings","Tips","removeAll","cookie","MainLayout","LoadingRoute","getSurveysAdapter","listOfSurveys","survey","createAt","create_at","updateAt","update_at","survey_link","AvatarBankPath","RankingInfoPath","childCoinsInformation","AvatarSelectionPath","rewards","defaultRewards","badges","lockedBadges","unlockedBadges","rate","questions","weekAnswers","coinsUpdater","coinsValues","coinsApproved","childCoinsPending","avatarId","rewardId","body","updateReward","claimReward","rewardData","newReward","answersData","coinsToUpdate","saveCoinsValues","dataApproved","acceptOrRejectCoins","getAvatarImagesBank","fethAvatarImagesBank","getAvatarByChild","fetchAvatarBychild","saveAvatarSelection","saveChildAvatarSelection","getRankingAndLevelInformation","fetchRankingAndLevelInformation","getCoinsInformation","fetchCoinsInformation","getRewardsChild","fetchRewards","setUpdateReward","setDeleteReward","deleteReward","setClaimReward","setCreateReward","createReward","getDefaultRewards","fetchDefaultRewards","getChildLockedBadges","fetchChildLockedBadges","getChildUnlockedBadges","fetchChildUnlockedBadges","getQuestionsRate","fetchQuestionsRate","setAnswersRate","sendAnswersRate","getWeekAnswersRate","fetchWeekAnswersRate","getChildCoinsValues","fetchChildCoinsValues","updateCoinstValues","fetchChildCoinsPending","valueApproved","VueRouter","loadingInstance","meta","requiresAuth","scrollBehavior","to","savedPosition","x","y","mountingLoadingScreen","$el","disassemblingTheLoadingScreen","$destroy","goToFirstTime","sessionStore","useSessionStore","beforeEach","next","existsToken","route","matched","some","record","setSession","device","getPlatform","afterEach","location","Login","Logout","ChildRegister","publicRoutes","privateRoutes","childrenInfoAdapter","listOfChildren","parent_can_edit","childIsActive","account_access","lastName","level","parentCanEdit","persistance","_store","userInfo","parentName","parentId","profileInformation","userType","is_child","is_first_time","userName","userLastName","userEmail","saveProfileData","childInfoPath","childInfo","childrenInfoPath","parentInfoPath","profileType","modulesListPath","persistanceController","getChildPlans","fetchChildPlans","getPlansRememberOptions","fetchPlanRememberOptions","createNewPlan","createNewPlanRequest","requestData","day_of_week","is_when_check_day","is_active","day_name","calculeDayName","when_check_days","how_remember_id","has_extra","parentEdit","editPlanRequest","dayCode","1","2","3","4","5","6","7","getChildCheckList","fetchCheckList","datesResponse","datesTypeResponse","saveChildCriteria","addChildCriteria","getAllChecklistInformation","initialDate","fetchChecklistDates","checkListInfo","checkListResult","checkListItem","dateItem","defParent","defQualifiedParent","defChild","createCriterion","createCriterionRequest","updateCriterion","coin_value","updateCriterionRequest","deleteCriterion","criterionId","childApproveCriterion","childApproveCriterionRequest","parentApproveCriterion","parentApproveCriterionRequest","acceptOrRejectItemChecklist","isAccept","editItemOrder","newOrderCheckList","getCriterionTagsList","fetchCriterionTagsList","infoToShareCHild","assignToParentId","childList","assign","canEdit","parent_to_assign","parent_who_invites","children_to_assign","SESSION_PATH","user_id","ABOUT_COMMENT","SETTINGS_UPDATE_CONFIGURATION","SETTINGS_GET_TIMEZONE_SETUP","dataToShareChild","PARENT_ASSIGN_CHILDREN","dataToInviteParent","INVITE_PARENT","themeId","CHANGE_PARENT_THEME","CHANGE_CHILD_THEME","parentInformation","UPDATE_PARENT","childformation","isActive","UPDATE_CHILD","MOTIVATIONAL_MESSAGE_PATH","ABOUT_US","about_us","ABOUT_FAQS","FAQS_TOPICS","SETTINGS_TIMEZONES","SETTINGS_NOTIFICATION_SETUP","GET_TIPS","GET_PARENT_BY_EMAIL","getMotivationalMessage","fetchMotivationalMessage","content","setSessionRequest","getAboutUsInfo","fetchAboutUs","getFAQS","fetchAboutFaqs","getFAQSTopics","fetchFAQSTopics","sentComment","getTimeZones","settingsFetchTimeZones","getTimezone","userIsParent","settingsFetchTimeZone","getNotificationSetup","settingFecthNotificationSetup","updateConfiguration","notifications","settingSentNitficationSetup","updateTimeZone","time_zone","settingsUpdateTimeZone","getTips","fetchTips","getParentByEmail","fetchParentByEmail","setParentAssignChildren","setInviteParent","setChangeParentTheme","setChangeChildTheme","updateParentInformation","setParentInformation","updateChildInformation","setChildInformation","learnSkills","skills","activeModules","lessonBySkillId","lessonId","lessonDetail","manageClasses","classes","surveys","getSurveys","activateModules","lessonMarkAsComplete","helpful","lessonInfoIsHelpful","lessonvideoisViewed","createClass","classId","deleteClass","classesList","updateClasses","getModules","fetchModules","getModuleSkills","fetchModuleSkills","setModulesToActivate","modulesSelected","modulesMapped","getSkillLessonsById","fecthSkillLessons","getLessonDetail","fecthLessonDetail","watched_video","watched_video_date","setInfoIsHelpfull","infoIsHelpfull","markVideoisViewed","markvideoAsViewed","markLessonAsComplete","fetchClasses","setClassToNew","updateCheckClasses","fetchSurveys","baseURL","process","defaults","VueAxios","useNotificationStore","defineStore","total","updateTotal","decrementTotalNotification","setProfileType","setThemeSelection","selection","setUserInfo","setChildInfo","image","USER_TYPES","PARENT","childName","getCurrentChild","isChildValid","currentChild","useLearnSkillsStore","getLessonById","getLessons","setLessons","resetLessons","formattedCoinValue","coinValue","palette","menuItems","publicItem","enable","titleMappings","getMenuItems","customizedMenu","JSON","parse","stringify","group","itemsGroup","getThemeColor","indexId","EMAIL_REGEX","userAgent","navigator","toLowerCase","platformMap","android","ios","win","mac","linux","platform","RegExp","test","GENRE_OPTIONS","CHILD","_api","execute","api","NOTIFICATION_LIST_PATH","Command","_notifications","interfaceCommandsController","markAsReadNotification","notificationId","MARK_NOTIFICATION_AS_READ","unread","markAllNotificationAsRead","MARK_ALL_NOTIFICATIONS_AS_READ","acceptOrRejectItem","ACCEPT_OR_REJECT_ITEM","isAParent","notificationsManager","command","args","_notificationsManager","getNotifications","getNotificationsQuery","marksAsReadNotification","Plans","FETCH_CHILD_PLANS_PATH","FETCH_REMEMBER_OPTIONS_PLAN_PATH","CHILD_CHECKLIST_PATH","CHILD_CHECKLIST_DATES","CRITERION_TAGS_LIST","CREATE_PLAN_PATH","EDIT_PLAN_PATH","CHECKLIST_CREATION_PATH","CREATE_CRITERION_PATH","UPDATE_CRITERIA_PATH","CHECKLIST_ITEM_PATH","CHILD_CHECKLIST_VALUATE_PATH","PARENT_CHECKLIST_VALUATE_PATH","ACCEPT_OR_REJECT_CHECKLIST","CHANGE_ITEM_ORDER","RewardsFormView","RewardsBankFormView","RewardsView","RankingView","BadgesView","RateView","CoinsUpdaterView","Coins","persisteChildSelection","getChildData","fetchChildDataRequest","fetchChildrenInfo","requestResponse","fetchUserData","fetchParentDataRequest","login","loginRequest","recoveryPassword","recoverPasswordRequest","registerChild"],"mappings":"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","file":"js/app.448a936e.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-054f3de6\":\"41e1c3df\",\"chunk-330726e0\":\"07798843\",\"chunk-1bf06aaa\":\"4845c946\",\"chunk-36ffd4de\":\"4f1ada44\",\"chunk-5e9f4114\":\"d9eb026b\",\"chunk-00cb0109\":\"059e6b31\",\"chunk-01f1eaa6\":\"72e1d5a9\",\"chunk-0d45218c\":\"e1a7edd9\",\"chunk-0f949b04\":\"092e2c95\",\"chunk-23448e72\":\"86066057\",\"chunk-2846114b\":\"cc379753\",\"chunk-2d0df2b5\":\"529a8f64\",\"chunk-76a34699\":\"d9a53155\",\"chunk-396312bc\":\"83a7f555\",\"chunk-396e0591\":\"79891535\",\"chunk-43975042\":\"dda0e225\",\"chunk-47045c02\":\"db38d02a\",\"chunk-4a68b056\":\"70487925\",\"chunk-4c287b4e\":\"34eea658\",\"chunk-5d300009\":\"cfe9a40a\",\"chunk-67cb5c1d\":\"ff3e936c\",\"chunk-6a535b9c\":\"412d1dd9\",\"chunk-70ec1932\":\"759d16ef\",\"chunk-72716aeb\":\"3516da20\",\"chunk-77efadbe\":\"e6fd206b\",\"chunk-89cc52ac\":\"a93be171\",\"chunk-b3c70878\":\"259aa934\",\"chunk-b41fb4f0\":\"668609f2\",\"chunk-cf68a208\":\"eac35e12\",\"chunk-d155fd78\":\"fc3f84fa\",\"chunk-e479f2d4\":\"a01478b1\",\"chunk-ea06ef6e\":\"bba7a110\",\"chunk-f55fc50e\":\"147f6de5\",\"chunk-6aeafbb9\":\"ce35d3a6\",\"chunk-4a20bba7\":\"bacc2e49\",\"chunk-c3273774\":\"fd3d19ab\",\"chunk-d5d16f30\":\"2cf029a8\",\"chunk-74bc79af\":\"f047301b\",\"chunk-766ece3b\":\"4205475a\",\"chunk-d03cf6fc\":\"251ea438\",\"chunk-e350b7aa\":\"cac786ef\",\"chunk-2d0ab477\":\"4bf10e8a\",\"chunk-2d0c5198\":\"93cb433f\",\"chunk-2d0c7ce3\":\"bb79e2c8\",\"chunk-2d0dd9a2\":\"666c4ee6\",\"chunk-2d20881c\":\"044c9f95\",\"chunk-5411f055\":\"b966f9f6\",\"chunk-560d57a0\":\"551f623d\",\"chunk-7ef50bb5\":\"090687e1\",\"chunk-89c96d3c\":\"b18a0904\",\"chunk-09a7da1c\":\"8337f193\",\"chunk-42c18dbc\":\"0a048378\",\"chunk-e924ed1a\":\"af4206c6\",\"chunk-10f8381a\":\"39cb2497\",\"chunk-2d0f100e\":\"2900da03\",\"chunk-4b5aae49\":\"c89ddbad\",\"chunk-4b5ba3dc\":\"ae9acc8d\",\"chunk-5f886210\":\"3f00ab93\",\"chunk-63148ef0\":\"16601a1c\",\"chunk-159dd68e\":\"e27accc0\",\"chunk-2d0c7a75\":\"35ffac01\",\"chunk-b8517ad4\":\"1cb00a3b\",\"chunk-16b98ecf\":\"d28cfdd8\",\"chunk-2d2173b4\":\"f9fa1793\"}[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-054f3de6\":1,\"chunk-330726e0\":1,\"chunk-1bf06aaa\":1,\"chunk-36ffd4de\":1,\"chunk-5e9f4114\":1,\"chunk-00cb0109\":1,\"chunk-01f1eaa6\":1,\"chunk-0d45218c\":1,\"chunk-0f949b04\":1,\"chunk-23448e72\":1,\"chunk-2846114b\":1,\"chunk-396e0591\":1,\"chunk-43975042\":1,\"chunk-4a68b056\":1,\"chunk-4c287b4e\":1,\"chunk-5d300009\":1,\"chunk-67cb5c1d\":1,\"chunk-6a535b9c\":1,\"chunk-70ec1932\":1,\"chunk-72716aeb\":1,\"chunk-77efadbe\":1,\"chunk-89cc52ac\":1,\"chunk-b3c70878\":1,\"chunk-b41fb4f0\":1,\"chunk-cf68a208\":1,\"chunk-d155fd78\":1,\"chunk-e479f2d4\":1,\"chunk-ea06ef6e\":1,\"chunk-f55fc50e\":1,\"chunk-6aeafbb9\":1,\"chunk-4a20bba7\":1,\"chunk-c3273774\":1,\"chunk-d5d16f30\":1,\"chunk-74bc79af\":1,\"chunk-766ece3b\":1,\"chunk-d03cf6fc\":1,\"chunk-e350b7aa\":1,\"chunk-5411f055\":1,\"chunk-560d57a0\":1,\"chunk-7ef50bb5\":1,\"chunk-89c96d3c\":1,\"chunk-09a7da1c\":1,\"chunk-42c18dbc\":1,\"chunk-e924ed1a\":1,\"chunk-10f8381a\":1,\"chunk-5f886210\":1,\"chunk-159dd68e\":1,\"chunk-b8517ad4\":1,\"chunk-16b98ecf\":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-054f3de6\":\"e6d64a2a\",\"chunk-330726e0\":\"10c00b5a\",\"chunk-1bf06aaa\":\"c6e8057a\",\"chunk-36ffd4de\":\"42b3361c\",\"chunk-5e9f4114\":\"9168eb36\",\"chunk-00cb0109\":\"c9b2d0c1\",\"chunk-01f1eaa6\":\"9e850c92\",\"chunk-0d45218c\":\"68263977\",\"chunk-0f949b04\":\"27089a1d\",\"chunk-23448e72\":\"3703455a\",\"chunk-2846114b\":\"c0222780\",\"chunk-2d0df2b5\":\"31d6cfe0\",\"chunk-76a34699\":\"31d6cfe0\",\"chunk-396312bc\":\"31d6cfe0\",\"chunk-396e0591\":\"39d356c1\",\"chunk-43975042\":\"29a9bb9d\",\"chunk-47045c02\":\"31d6cfe0\",\"chunk-4a68b056\":\"904a1148\",\"chunk-4c287b4e\":\"239a8320\",\"chunk-5d300009\":\"7ffe5f27\",\"chunk-67cb5c1d\":\"ee5ab7af\",\"chunk-6a535b9c\":\"02fbc971\",\"chunk-70ec1932\":\"0b0ca2cb\",\"chunk-72716aeb\":\"3f37ed6e\",\"chunk-77efadbe\":\"a316269f\",\"chunk-89cc52ac\":\"4c9687c5\",\"chunk-b3c70878\":\"b3432cc2\",\"chunk-b41fb4f0\":\"4a1f948e\",\"chunk-cf68a208\":\"ce98b0d3\",\"chunk-d155fd78\":\"bc4db05f\",\"chunk-e479f2d4\":\"235b190c\",\"chunk-ea06ef6e\":\"9d7fdd37\",\"chunk-f55fc50e\":\"c1165e20\",\"chunk-6aeafbb9\":\"af98da7e\",\"chunk-4a20bba7\":\"6db3786d\",\"chunk-c3273774\":\"4db93207\",\"chunk-d5d16f30\":\"1e3dd075\",\"chunk-74bc79af\":\"6cec94d3\",\"chunk-766ece3b\":\"7bcf3f83\",\"chunk-d03cf6fc\":\"e97de4b1\",\"chunk-e350b7aa\":\"31b91641\",\"chunk-2d0ab477\":\"31d6cfe0\",\"chunk-2d0c5198\":\"31d6cfe0\",\"chunk-2d0c7ce3\":\"31d6cfe0\",\"chunk-2d0dd9a2\":\"31d6cfe0\",\"chunk-2d20881c\":\"31d6cfe0\",\"chunk-5411f055\":\"fc7d7d58\",\"chunk-560d57a0\":\"c07d6cb8\",\"chunk-7ef50bb5\":\"08d12afa\",\"chunk-89c96d3c\":\"8a1469a7\",\"chunk-09a7da1c\":\"e804f8a0\",\"chunk-42c18dbc\":\"34ec342d\",\"chunk-e924ed1a\":\"b5dc922e\",\"chunk-10f8381a\":\"21cf0ce1\",\"chunk-2d0f100e\":\"31d6cfe0\",\"chunk-4b5aae49\":\"31d6cfe0\",\"chunk-4b5ba3dc\":\"31d6cfe0\",\"chunk-5f886210\":\"c48a42e6\",\"chunk-63148ef0\":\"31d6cfe0\",\"chunk-159dd68e\":\"215e2ccb\",\"chunk-2d0c7a75\":\"31d6cfe0\",\"chunk-b8517ad4\":\"bbbdd911\",\"chunk-16b98ecf\":\"37b9d21f\",\"chunk-2d2173b4\":\"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([4,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","module.exports = __webpack_public_path__ + \"img/avatar.66d584a2.png\";","export default class ApiController{\n Get(){\n throw new Error('[ApiInterface#Get] mandatory')\n }\n\n Post(){\n throw new Error('[ApiInterface#Post] mandatory')\n }\n\n Path(){\n throw new Error('[ApiInterface#Path] mandatory')\n }\n\n Put(){\n throw new Error('[ApiInterface#Put] mandatory')\n }\n\n Delete(){\n throw new Error('[ApiInterface#Delete] mandatory')\n }\n}","import Vue from 'vue';\nimport ApiInterface from './apiController';\n\nexport default class AxiosApiController extends ApiInterface {\n Get(path, params, headers = {}) {\n return Vue.axios({\n method: 'GET',\n url: path,\n params: params,\n });\n }\n\n Post(path, params, headers = {}) {\n return Vue.axios({\n method: 'POST',\n url: path,\n data: params,\n headers: headers,\n });\n }\n\n Delete(path, params = {}, headers = {}) {\n return Vue.axios({\n method: 'DELETE',\n url: path,\n data: params,\n });\n }\n\n Patch(path, params, headers = {}) {\n return Vue.axios({\n method: 'PATCH',\n url: path,\n data: params,\n headers: headers,\n });\n }\n\n Put(path, params, headers = {}) {\n return Vue.axios({\n method: 'PUT',\n url: path,\n data: params,\n headers: headers,\n });\n }\n}\n","// Api container\n\nimport AxiosApiController from './axiosApiController';\n\nconst axiosController = () => new AxiosApiController();\n\nconst apiContainer = {\n apiController: axiosController,\n};\n\nexport default apiContainer;\n","const LearnSkills = () => import('./views/LearnSkills');\nconst lessons = () => import('./views/Lessons');\nconst lesson = () => import('./views/Lesson');\nconst Surveys = () => import('./views/SurveysView')\n\nconst routes = [\n {\n path: '/learn-skills',\n name: 'LearnSkills',\n component: LearnSkills,\n },\n {\n path: '/activate-modules',\n name: 'activate-modules',\n component: () => import('./views/ActivateModules'),\n },\n {\n path: '/learn-skills/lessons/',\n component: () => import('./views/ModuleSkill'),\n children: [\n {\n name: 'lessons',\n path: ':id',\n component: lessons,\n },\n {\n name: 'lesson',\n path: ':id/lesson/:lesson',\n component: lesson,\n },\n ],\n },\n {\n path: '/manage-classes',\n name: 'manage-classes',\n component: () => import('./views/ManageClasses'),\n },\n {\n path: '/surveys',\n name: 'Surveys',\n component: Surveys,\n },\n];\n\nexport default (router) => {\n routes.forEach((element) => {\n router.addRoute('main', element);\n });\n};\n","import router from './router';\nimport { getModuleSkills } from './services';\n\nexport { router, getModuleSkills };\n","export default {\n access_token: '',\n refresh_token: '',\n userData: {},\n type: '',\n hasChildren: false,\n childrenIds: [],\n childrenData: [], //{ id: _id, name: _name}\n childSelectedId: '',\n childSelectedName: '',\n ChildselectedEmail: '',\n childrenCounter: 0,\n isLogged: false,\n error: false,\n errorMessage: '',\n childDataGetted: false,\n genders: [],\n childFirstTime: true,\n theme: 1,\n dark: 'false',\n avatar: { id: 0, url: '' }\n};\n","import Vue from 'vue';\nimport VueCookies from 'vue-cookies';\nVue.use(VueCookies);\n\nexport function setRefreshToken(state, token) {\n Vue.$cookies.set('refresh', token);\n state.refresh_token = token;\n}\n\nexport function setUserIsLogged(state, value) {\n Vue.$cookies.set('userIsLogged', value);\n state.isLogged = value;\n}\n\nexport function setUserData(state, data) {\n state.userData = data;\n Vue.$cookies.set('userId', data['id']);\n Vue.$cookies.set('userName', data['name']);\n if (state.type != 'parent') {\n Vue.$cookies.set('parentName', data['parent']['name']);\n Vue.$cookies.set('parentId', data['parent']['id']);\n Vue.$cookies.set('childFirstTime', data.moduleFocusOn == null);\n state.childFirstTime = data.moduleFocusOn == null;\n }\n}\n\nexport function setchildrenIds(state, ids) {\n state.hasChildren = true;\n state.childrenIds = ids;\n}\n\nexport function logout(state) {\n state.access_token = '';\n state.refresh_token = '';\n state.userData = {};\n state.type = '';\n state.hasChildren = false;\n state.childrenIds = [];\n state.childrenData = [];\n state.childSelectedId = '';\n state.childSelectedName = '';\n state.ChildselectedEmail = '';\n state.childrenCounter = 0;\n state.isLogged = false;\n state.error = false;\n state.errorMessage = '';\n state.childDataGetted = false;\n state.genders = [];\n state.childFirstTime = true;\n}\n\nexport function setChildrenData(state, data) {\n state.childrenData = data;\n Vue.$cookies.set('childCount', data.length);\n state.childrenCounter = data.length;\n}\n\nexport function registerError(state, payload) {\n state.error = true;\n state.errorMessage = payload;\n}\n\nexport function cleanErrors(state) {\n state.error = false;\n state.errorMessage = '';\n}\n\nexport function setChildSelectedData(state, payload) {\n Vue.$cookies.set('childSelectedId', payload.id);\n Vue.$cookies.set('childSelectedName', payload.name);\n Vue.$cookies.set('theme', payload.themeSelection);\n state.theme = payload.themeSelection;\n state.childSelectedId = payload.id;\n state.childSelectedName = payload.name;\n}\n\nexport function markUniqueChildAsSelected(state) {\n const children = state.childrenData[0].child;\n Vue.$cookies.set('childSelectedId', children.id);\n Vue.$cookies.set('childSelectedName', children.name);\n Vue.$cookies.set('theme', children.themeSelection);\n state.theme = children.themeSelection;\n state.childSelectedId = children.id;\n state.childSelectedName = children.name;\n}\n\nexport function setUserType(state, type) {\n Vue.$cookies.set('userType', type);\n state.type = type;\n}\n\nexport function saveGenders(state, payload) {\n state.genders = payload;\n}\n\nexport function incrementChildCount(state) {\n let length = parseInt(Vue.$cookies.get('childCount'));\n Vue.$cookies.set('childCount', length + 1);\n state.childrenCounter = length + 1;\n}\n\nexport function childFirstTimeComplete(state) {\n Vue.$cookies.set('childFirstTime', false);\n state.childFirstTime = false;\n}\nexport function setDarkMode(state, dark) {\n\n Vue.$cookies.set('dark', dark);\n state.dark = dark;\n}\n\nexport function themeChange(state, data) {\n Vue.$cookies.set('theme', data);\n state.theme = data;\n}\n\nexport function error(state, error) {\n state.error = true;\n state.errorMessage = error;\n}\n","import Vue from 'vue';\nimport VueCookies from 'vue-cookies';\nVue.use(VueCookies);\nimport axios from 'axios';\n\nconst containsKey = (obj, key) => Object.keys(obj).includes(key);\n\nexport async function getChildrenData({ commit, state }, UserId) {\n let to_Response = '';\n commit('cleanErrors');\n await Vue.axios({\n method: 'GET',\n url: `/parent/${UserId}/getChildren/`,\n })\n .then((response) => {\n commit('setChildrenData', response.data);\n to_Response = response.data;\n })\n .catch((error) => {\n commit('registerError', error.message);\n to_Response = 'error';\n });\n return to_Response;\n}\n\nexport async function createChild({ commit }, info) {\n try {\n commit('cleanErrors');\n await Vue.axios({\n method: 'POST',\n url: '/register/child/',\n data: {\n name: info.userChildName,\n last_name: info.userChildLastName,\n birthdate: info.userChildBirthday,\n email: info.userChildEmail,\n password: info.userChildPass,\n re_password: info.userChildRePass,\n parent: info.getUserId,\n modulesUnlocked: info.modules,\n },\n })\n .then((response) => {\n commit('incrementChildCount');\n commit('setChildSelectedData', response.data);\n })\n .catch(function(error) {\n commit('registerError', error.response.data[0]);\n });\n } catch (e) {\n commit('registerError', e.message);\n }\n}\n\nexport async function fecthAllGenders({ commit }) {\n await Vue.axios({\n method: 'GET',\n url: '/gender/',\n })\n .then((response) => {\n commit('saveGenders', response.data);\n })\n .catch((error) => {\n commit('registerError', error.message);\n });\n}\n\nexport async function passwordRecovery({ commit }, email) {\n await Vue.axios({\n method: 'POST',\n url: '/password-recovery/',\n data: {\n email: email,\n },\n })\n .then((response) => {})\n .catch((error) => {\n commit('registerError', error.message);\n });\n}\n\nexport async function changeTheme({ commit }, payload) {\n let url = payload.isParent\n ? `/parent/${payload.idUser}/changeTheme/`\n : `/child/${payload.idUser}/changeTheme/`;\n await Vue.axios({\n method: 'POST',\n url: url,\n data: {\n themeSelection: payload.idTheme,\n },\n })\n .then((response) => {\n commit('themeChange', response.data.themeSelection);\n })\n .catch((error) => {\n commit('registerError', error.message);\n });\n}\n\nexport async function darkModeChange({ commit }, dark) {\n commit('setDarkMode', dark);\n}\n","import Vue from 'vue';\nimport VueCookies from 'vue-cookies';\nVue.use(VueCookies);\n\nexport function getToken(state) {\n return Vue.$cookies.get('token');\n}\n\nexport function getUserIsLogged(state) {\n state.isLogged = Vue.$cookies.isKey('userIsLogged');\n return state.isLogged;\n}\n\nexport function userIsAParent(state) {\n state.type = Vue.$cookies.get('userType');\n //console.log(\"Tipo\",state.type)\n return state.type === 'parent';\n}\n\nexport function getUserId(state) {\n state.userData['id'] = Vue.$cookies.get('userId');\n return state.userData['id'];\n}\n\nexport function getUserName(state) {\n state.userData['name'] = Vue.$cookies.get('userName');\n return state.userData['name'];\n}\n\nexport function getChildrenIds(state) {\n return state.childrenIds;\n}\n\nexport function getChildrenCounter(state) {\n state.childrenCounter = Vue.$cookies.get('childCount');\n return state.childrenCounter;\n}\n\nexport function getChildrenData(state) {\n return state.childrenData;\n}\n\nexport function getChildSelectedId(state) {\n state.childSelectedId = Vue.$cookies.get('childSelectedId');\n return state.childSelectedId;\n}\n\nexport function getChildSelectedName(state) {\n state.childSelectedName = Vue.$cookies.get('childSelectedName');\n return state.childSelectedName;\n}\n\nexport function error(state) {\n return state.error;\n}\n\nexport function errorMessage(state) {\n return state.errorMessage;\n}\n\nexport function getParentName(state) {\n state.userData['parentName'] = Vue.$cookies.get('parentName');\n return state.userData['parentName'];\n}\n\nexport function getParentId(state) {\n state.userData['parentId'] = Vue.$cookies.get('parentId');\n return state.userData['parentId'];\n}\n\nexport function getGendersList(state) {\n let response = [];\n state.genders.forEach(element => {\n response.push({ value: element.id, text: element.name });\n });\n\n return response;\n}\n\nexport function getIsFirstTime(state) {\n let isFirstTime = true;\n state.type = Vue.$cookies.get('userType');\n if (state.type == 'parent') {\n state.childrenCounter = Vue.$cookies.get('childCount');\n isFirstTime = state.childrenCounter == 0;\n //console.log(state.childrenCounter)\n } else {\n state.childFirstTime = Vue.$cookies.get('childFirstTime');\n isFirstTime = state.childFirstTime == 'true';\n }\n return isFirstTime;\n}\n\nexport function getDarkMode(state) {\n state.dark = Boolean(Vue.$cookies.get('dark') === 'true');\n return state.dark;\n}\n\nexport function getTheme(state) {\n state.theme = Vue.$cookies.get('theme');\n return state.theme;\n}\n","import state from './state'\nimport * as mutations from './mutations'\nimport * as actions from './actions'\nimport * as getters from './getters'\n\nexport default {\n namespaced: true,\n state,\n mutations,\n actions,\n getters\n}","export default {\n CoinsBanked: 0,\n CoinsPending: 0,\n CoinsClaimed: 0,\n CoinsByModule: [],\n rankingData: {},\n userPosition: 0,\n userPoints: 0,\n userLevel: [],\n progressInfo: {},\n progressDays: {},\n progressInfoModules: [],\n pendingCoins: [],\n typeCoinsValues: [],\n progressRange: '',\n LevelImage:''\n}","export function cleanErrors(state) {\n state.error = false\n state.errorMessage = ''\n}\n\nexport function saveCoinsInfo(state, data) {\n state.CoinsBanked = data.Banked\n state.CoinsPending = data.Pending\n state.CoinsClaimed = data.Claimed\n state.CoinsByModule = data.Modules\n}\n\nexport function saveLevelInfo(state, data) {\n state.userLevel = data.userLevel\n state.userPoints = data.userPoints\n state.rankingData = data.ranking\n state.userPosition = data.userPos\n state.LevelImage = data.userLevel.photo\n}\n\nexport function error(state, payload) {\n state.error = true\n state.errorMessage = payload\n}\n\nexport function saveProgressInfo(state, data) {\n state.progressDays = data.days\n state.progressInfo = data.value\n state.progressRange = data.range\n //console.log(state.progressRange)\n}\n\nexport function saveProgressInfoModules(state, data) {\n state.progressInfoModules = data.value\n state.progressDays = data.days\n}\n\nexport function saveCoinsPending(state, data) {\n state.pendingCoins = data\n}\n\nexport function setCoinsValues(state, data) {\n state.typeCoinsValues = data\n}","import Vue from 'vue';\nimport axios from 'axios';\n\nexport async function getChildCoinsInformation({ commit }, childId) {\n commit('cleanErrors');\n await Vue.axios({\n method: 'GET',\n url: '/child/' + childId + '/getPointCount/'\n })\n .then(response => {\n commit('saveCoinsInfo', response.data);\n })\n .catch(error => {\n commit('error', error);\n });\n}\n\nexport async function getChildLevelInformation({ commit }, childId) {\n commit('cleanErrors');\n await Vue.axios({\n method: 'GET',\n url: '/ranking/?count=10&user=' + childId\n })\n .then(response => {\n commit('saveLevelInfo', response.data);\n })\n .catch(error => {\n commit('error', error);\n });\n}\n\nexport async function getChildCoinsPending({ commit }, childId) {\n commit('cleanErrors');\n await Vue.axios({\n method: 'GET',\n url: '/child/' + childId + '/getCoinsPending/'\n })\n .then(response => {\n commit('saveCoinsPending', response.data);\n })\n .catch(error => {\n commit('error', error);\n });\n}\n\nexport async function aceptRejectCoin({ commit }, payload) {\n commit('cleanErrors');\n await Vue.axios({\n method: 'POST',\n url: '/point/' + payload.id + '/activate/',\n data: {\n value: payload.value\n }\n })\n .then(response => {\n //console.log(response)\n })\n .catch(error => {\n commit('error', error);\n });\n}\n\nexport async function setCoinsValues({ commit }, payload) {\n commit('cleanErrors');\n await Vue.axios({\n method: 'POST',\n url: '/child/' + payload.childId + '/setCoinsValues/',\n data: payload.items\n })\n .then(response => {})\n .catch(error => {\n commit('error', error);\n });\n}\n","export function error(state) {\n return state.error;\n}\n\nexport function errorMessage(state) {\n return state.errorMessage;\n}\n\nexport function getLevelImage(state) {\n return state.LevelImage;\n}\n\nexport function getChildLevelNumber(state) {\n return state.userLevel['number'];\n}\n\nexport function getChildLevelName(state) {\n return state.userLevel['name'];\n}\n\nexport function getChildCoinsBanked(state) {\n return state.CoinsBanked;\n}\n\nexport function getChildLevelPoints(state) {\n return state.userPoints;\n}\n\nexport function getChildCoinsResume(state) {\n return {\n pending: state.CoinsPending,\n claimed: state.CoinsClaimed,\n banked: state.CoinsBanked,\n modules: state.CoinsByModule,\n };\n}\n\nexport function getRankingData(state) {\n return state.rankingData;\n}\n\nexport function getUserPosition(state) {\n return state.userPosition;\n}\n\nexport function getModulesData(state) {\n let modules = {};\n state.CoinsByModule.forEach((element) => {\n modules[element.order] = element;\n });\n let response = [\n {\n title: 'Organization',\n img: 'modules-01',\n order: 1,\n alt: 'Organization icon',\n state: modules['1'].unlocked,\n totalPoints: modules['1'].Points,\n claimed: modules['1'].pointsClaimed,\n pending: modules['1'].pointsPending,\n banked: modules['1'].pointsBanked,\n },\n {\n title: 'Homework Recording',\n img: 'modules-02',\n order: 2,\n alt: 'Homework Recording icon',\n state: modules['2'].unlocked,\n totalPoints: modules['2'].Points,\n claimed: modules['2'].pointsClaimed,\n pending: modules['2'].pointsPending,\n banked: modules['2'].pointsBanked,\n },\n {\n title: 'Homework Completion',\n img: 'modules-03',\n order: 3,\n alt: 'Homework Completion icon',\n state: modules['3'].unlocked,\n totalPoints: modules['3'].Points,\n claimed: modules['3'].pointsClaimed,\n pending: modules['3'].pointsPending,\n banked: modules['3'].pointsBanked,\n },\n {\n title: 'Time Management',\n img: 'modules-04',\n alt: 'Time Management icon',\n order: 4,\n state: modules['4'].unlocked,\n totalPoints: modules['4'].Points,\n claimed: modules['4'].pointsClaimed,\n pending: modules['4'].pointsPending,\n banked: modules['4'].pointsBanked,\n },\n ];\n return response;\n}\n\nexport function getProgressRange(state) {\n return state.progressRange;\n}\n\nexport function getProgress(state) {\n return state.progressInfo;\n}\n\nexport function getProgressDays(state) {\n return state.progressDays;\n}\n\nexport function getProgressModules(state) {\n return state.progressInfoModules;\n}\n\nexport function getPendingCoinsDetail(state) {\n return state.pendingCoins;\n}\n\nexport function getCoinsValue(state) {\n return state.typeCoinsValues;\n}\n\nexport function getDetailCoin(state) {\n //console.log(\"GetCoin\")\n return (id) => {\n let toreturn = {};\n state.pendingCoins.forEach((element) => {\n if (element.id == id) {\n toreturn = element;\n }\n });\n return toreturn;\n };\n}\n","import state from './state'\nimport * as mutations from './mutations'\nimport * as actions from './actions'\nimport * as getters from './getters'\n\nexport default {\n namespaced: true,\n state,\n mutations,\n actions,\n getters\n}","export default {\n modulesValue: [],\n error: false,\n errorMessage: '',\n complete: false,\n completeMessage: '',\n modulesList: [],\n};\n\n","export function error(state, error) {\n (state.error = true), (state.errorMessage = error);\n}\n\nexport function cleanErrors(state) {\n state.complete = false;\n state.completeMessage = '';\n (state.error = false), (state.errorMessage = '');\n}\n\nexport function correctComplete(state, message) {\n state.complete = true;\n state.completeMessage = message;\n}\n\nexport function saveModulesList(state, data) {\n data.forEach((element) => {\n element['img'] = 'modules-0' + element.order;\n element['alt'] = element.name + ' icon';\n });\n state.modulesList = data;\n}\n","export function getCountModulesUnlocked(state) {\n let count = 0;\n state.modulesValue.forEach((element) => {\n if (element.unlocked) {\n count++;\n }\n });\n return count;\n}\n\nexport function getIsModulesActive(state) {\n return state.modulesValue;\n}\n\nexport function getModulesList(state) {\n return state.modulesList;\n}\n\nexport function getSelfManagementIsActive(state) {\n let response = false;\n // if ( state.modulesValue.length > 1) {\n // response = true\n // }\n\n state.modulesValue.forEach((element) => {\n if (element.module_order == 5) {\n if (element.unlocked) {\n response = true;\n }\n }\n });\n return response;\n}\n\nexport function moduleInfo(state) {\n const moduleInfo = {\n name: state.lessons[0]?.module_name || 'Title',\n img: `modules-0${state.lessons[0]?.module_order}`,\n lessons: state.lessons.length || 0,\n progress: state.lessons.reduce((acc, cv) => (cv.viewed ? (acc += 1) : acc), 0),\n };\n return moduleInfo;\n}\n\nexport const lessonById = (state) => (id) => {\n return state.lessons.find((lesson) => lesson.id === Number(id));\n};\n\n","import state from './state'\nimport * as mutations from './mutations'\nimport * as actions from './actions'\nimport * as getters from './getters'\n\nexport default {\n namespaced: true,\n state,\n mutations,\n actions,\n getters\n}","export default {\n allTasksNEvents: [],\n tasks: [],\n events: [],\n todayTasks: [],\n selectedTask: null,\n error: false,\n errorMessage: '',\n RepeatOptions: [],\n Classes: [],\n Priorities: [],\n Types: [],\n projects: [],\n earnPoints: false,\n pointsEarned: 0,\n pendingTasks: [],\n notificationsTypes: [],\n taskPerDate: {}\n}","export function setTodayTasks(state, data) {\n data.forEach(element => {\n calculeIfDue(element)\n });\n state.todayTasks = data\n}\n\nexport function setAllTasks(state, data) {\n state.allTasksNEvents = data;\n}\n\n\nexport function setTaskPerDate(state, dates) {\n let datesFormat = {};\n dates.forEach(date => {\n date.tasks.forEach(task => calculeIfDue(task));\n datesFormat[date.date] = date;\n });\n\n state.taskPerDate = removeRepeatedTasks(datesFormat);\n}\n\nfunction removeRepeatedTasks(tasksPerDate) {\n const dateNames = Object.keys(tasksPerDate);\n if (!dateNames.length) return {};\n const allTask = tasksPerDate['month']['tasks'];\n const weekTasks = tasksPerDate['week']['tasks'] || [];\n const todayTasks = tasksPerDate['today']['tasks'] || [];\n if (!allTask?.length) {\n return {};\n } else {\n if (!weekTasks.length) {\n return { month: { tasks: allTask } };\n }\n const allTasksIds = allTask.map(task => task.id);\n const repeatTaks = {\n month: [\n ...weekTasks\n .filter(task => allTasksIds.includes(task.id))\n .map(task => task.id)\n ],\n week: [\n ...todayTasks\n .filter(task => weekTasks.includes(task.id))\n .map(task => task.id)\n ]\n };\n const data = {\n today: todayTasks,\n week: weekTasks.filter(task => !repeatTaks['week'].includes(task.id)),\n month: allTask.filter(task => !repeatTaks['month'].includes(task.id))\n };\n return data;\n }\n}\n\nexport function cleanErrors(state) {\n state.error = false\n state.errorMessage = ''\n}\n\nexport function error(state, payload) {\n state.error = true\n state.errorMessage = payload\n}\n\nexport function setSelectedTaskData(state, payload) {\n if (Object.keys(payload).includes('coins')) {\n state.earnPoints = true\n state.pointsEarned = payload.coins\n } else {\n state.earnPoints = false\n }\n if (Object.keys(payload).includes('data')) {\n state.selectedTask = payload.data\n }\n}\n\nexport function setNotificationTypes(state, payload) {\n state.notificationsTypes = transformChoicesToDict(payload)\n}\n\nexport function setRepeatOptions(state, payload) {\n state.RepeatOptions = transformChoicesToDict(payload)\n}\n\n\nfunction transformChoicesToDict(payload) {\n let response = []\n payload.forEach(element => {\n response.push({ value: element[0], text: element[1] })\n });\n return response\n}\n\n\nexport function setPriorities(state, payload) {\n state.Priorities = payload\n}\n\nexport function setClasses(state, payload) {\n state.Classes = payload\n}\n\nexport function addNewClass(state, payload) {\n state.Classes.push(payload)\n}\n\nexport function removeClass(state, id) {\n let index = 0\n let counter = -1\n state.Classes.forEach(element => {\n counter++\n if (element.id == id)\n index = counter\n });\n if (index != -1) {\n state.Classes.splice(index, 1);\n }\n}\n\nexport function setTypes(state, payload) {\n state.Types = payload\n}\n\nexport function setProjects(state, payload) {\n state.projects = payload\n}\n\nexport function setTasktoProjects(state, payload) {\n const projects = state.projects;\n const {id, tasks} = payload;\n state.projects = projects.map((project) => `${project.id}` === `${id}` ? ({...project, tasks}): project)\n}\n\nexport function setPendingTaks(state, payload) {\n payload.forEach(element => {\n calculeIfDue(element)\n });\n state.pendingTasks = payload\n}\n\nfunction calculeIfDue(element){\n let now = new Date();\n let nowMinute = now.getHours()*60 + now.getMinutes()\n let date = new Date(element.date)\n let taskMinute = date.getHours()*60 + date.getMinutes()\n date = date.setHours(0,0,0,0)\n now = now.setHours(0,0,0,0)\n if (date==now){\n element.is_due=taskMinute`${project.id}` === `${task.project_id}`);\n const tasks = project.tasks.map(_task => _task.id === task.id ? task:_task);\n setTasktoProjects(state, {id: project.id, tasks});\n }\n if(hasTask){\n const tasks = state.allTasksNEvents.map(_task => _task.id === task.id ? task:_task) || [];\n state.allTasksNEvents = tasks;\n }\n}\n","import Vue from 'vue'\nimport axios from 'axios'\n\n/* TODO: Remove with replace all module task */\nexport async function fetchTodayTasks({ commit }, userId) {\n await Vue.axios({\n url: '/child/' + userId + '/getTodayTasks/',\n }).then((response) => {\n commit('setTodayTasks', response.data)\n }).catch((error) => {\n commit('error', error.mesage)\n })\n}\n\nexport async function fetchAllTasks({ commit }, { childId, query = {} }) {\n try {\n const { type = 0 } = query;\n commit('cleanErrors');\n const { data: allTasks } = await axios.get(\n `/child/${childId}/getAllTasks/`,\n { params: query }\n );\n\n commit('setAllTasks', allTasks)\n } catch (error) {\n console.log('[Tasks]', error);\n commit('error', error);\n }\n}\n\nexport async function filterTaskPerDate(\n { commit },\n { childId, datesToFilter = ['today'] }\n) {\n const promiseAll = await Promise.all(\n datesToFilter.map(async date => {\n const { data } = await axios.get(\n `/child/${childId}/getTasksDueDateFilter/?filter=${date}`\n );\n\n return { tasks: data, date };\n })\n );\n commit('setTaskPerDate', promiseAll);\n}\nexport async function fetchPendingTasks({ commit }, userId) {\n await Vue.axios({\n url: '/child/' + userId + '/getAllPendingTasks/',\n }).then((response) => {\n commit('cleanErrors')\n commit('setPendingTaks', response.data)\n }).catch((error) => {\n commit('error', error.mesage)\n })\n}\n\nfunction objectToFormData(object={}) {\n const formData = new FormData();\n Object.entries(object).filter(([_, value]) => value).forEach(([key, value]) => formData.append(key, value));\n return formData;\n}\n\nexport async function addNewTask({ commit }, {payload={}}) {\n const url = `/task/`;\n const isChild = !(Vue.$cookies.get('userType') == \"parent\")\n const formData = objectToFormData(payload);\n\n try {\n const response = await Vue.axios({url, data:formData, method: 'POST'})\n commit('cleanErrors')\n commit('setSelectedTaskData', response.data)\n return isChild\n ? {\n 'coins': response.data.coins,\n 'points': response.data.points,\n 'description': response.data.description,\n 'module': response.data.module,\n 'correct': true\n }\n : {'correct': true}\n } catch (error) {\n return { 'error': error.response.data, 'correct': false }\n }\n}\n\nexport async function editTask({commit}, {payload={}, config={}}) {\n const {isProject='', isEvent='', id=''} = config;\n const url =`/task/${id}/`;\n const data = objectToFormData(payload);\n try {\n const {data:task} = await Vue.axios({url, data, method: 'PUT'});\n commit('cleanErrors');\n commit('setSelectedTaskData', task);\n return {'correct': true}\n } catch (error) {\n console.error(error);\n return { 'error': error.response.data, 'correct': false }\n }\n}\n\nexport async function UpdateTaskInformation({ commit }, payload) {\n\n let isChild = !(Vue.$cookies.get('userType') == \"parent\")\n let due_date = payload.taskDate + \"T\" + payload.taskHour\n let data = {\n title: payload.taskTitle,\n child: payload.taskChild,\n date: due_date,\n project: payload.taskProject,\n description: payload.taskDescription,\n isChild: isChild,\n subject: payload.taskClass,\n type: payload.taskType,\n priority: payload.taskPriority,\n attachment: payload.taskAttachment,\n }\n if (payload.taskRepeat) {\n if (payload.taskRepeatDate) {\n data['repeat'] = payload.taskRepeat\n data['repeat_date'] = payload.taskRepeatDate + \"T12:00\"\n }\n }\n if (payload.notification_date) {\n data['notification_date'] = payload.notification_date\n }\n commit('cleanErrors')\n await Vue.axios({\n method: 'PUT',\n url: '/task/' + payload.taskId + \"/\",\n data: data,\n\n }).then((response) => {\n //console.log(response)\n return true\n }).catch(function(error) {\n commit('error', error.response.data)\n return false\n })\n}\n\nexport async function UpdateTask({ commit }, id) {\n commit('cleanErrors')\n let toReturn = ''\n await Vue.axios({\n method: 'POST',\n url: '/task/' + id + '/complete/',\n data: {\n value: true\n },\n\n }).then((response) => {\n toReturn = response.data\n }).catch(function(error) {\n commit('error', error)\n toReturn = false\n })\n //console.log(toReturn)\n return toReturn\n}\n\nexport async function DeliveryTask({ commit }, id) {\n commit('cleanErrors')\n await Vue.axios({\n method: 'POST',\n url: '/task/' + id + '/delivery/',\n data: {\n value: true\n }\n }).then(() => {\n return true\n }).catch(function(error) {\n commit('error', error.response.data)\n return false\n })\n}\n\nexport async function UpdateTasks({ commit }, ids) {\n commit('cleanErrors')\n await Vue.axios({\n method: 'POST',\n url: '/task/CompleteGroup/',\n data: {\n ids: ids\n }\n }).then((response) => {\n return response.data.points\n }).catch(function(error) {\n commit('error', error.response.data)\n return false\n })\n}\n\nexport async function FetchRepeatOptions({ commit }) {\n await Vue.axios({\n method: 'GET',\n url: '/task_fields/GetRepeatOptions/'\n }).then((response) => {\n commit('setRepeatOptions', response.data)\n }).catch((error) => {\n commit('error', error.response.data)\n })\n}\n\nexport async function FetchTypes({ commit }) {\n await Vue.axios({\n method: 'GET',\n url: '/task_fields/GetTypes/'\n }).then((response) => {\n commit('setTypes', response.data)\n }).catch((error) => {\n //console.log(error)\n commit('error', error.response.data)\n })\n}\n\nexport async function FetchNotificationTypes({ commit }) {\n await Vue.axios({\n method: 'GET',\n url: '/task_fields/GetNotificationTypes/'\n }).then((response) => {\n commit('setNotificationTypes', response.data)\n }).catch((error) => {\n //console.log(error)\n commit('error', error.response.data)\n })\n}\n\nexport async function deleteTask({ commit }, taskId) {\n try {\n await Vue.axios({method: 'DELETE', url: '/task/' + taskId + '/'});\n } catch (error) {\n console.error(\"[Task|Delete]\", error);\n commit('error', error.response.data);\n }\n}\n\nexport async function updateStatusToTask({commit},{task, status, isProject}) {\n const {id:taskId} = task;\n const {id:state} = status;\n try {\n const {data:coins} = await axios.put(`task/${taskId}/status/`, {state});\n return coins;\n } catch (error) {\n console.error('[Action Task]', error);\n commit('error', error.response.data)\n }\n}\n\n","export function getAllTasks(state) {\n return state.allTasksNEvents\n}\n\nexport function getOnlyTasks(state) {\n return state.tasks\n}\n\nexport function getTasksPerDate(state) {\n return state.taskPerDate;\n}\n\nexport function getOnlyEvents(state) {\n return state.events\n}\n\nexport function getTodayTasks(state) {\n return state.todayTasks\n}\n\nexport function getPendingTasks(state) {\n return state.pendingTasks\n}\n\nexport function getPendingTasksNoComplete(state) {\n let response = []\n state.pendingTasks.forEach(element => {\n if (element.state == '3' || element.state == '1') {\n response.push(element)\n }\n });\n return response\n}\n\nexport function error(state) {\n return state.error\n}\n\nexport function errorMessage(state) {\n return state.errorMessage\n}\n\nexport function getClasses(state) {\n //console.log(\"classes\", state.Classes)\n let response = []\n state.Classes.forEach(element => {\n response.push({ value: element.id, text: element.name, state: element.state, color: element.color })\n });\n return response\n}\n\nexport function getActiveClasses(state) {\n let response = []\n state.Classes.forEach(element => {\n if (element.state) {\n response.push({ value: element.id, text: element.name, state: element.state })\n }\n });\n return response\n}\n\nexport function getRepeatOptions(state) {\n return state.RepeatOptions\n}\n\nexport function getTasksTypes(state) {\n let response = []\n state.Types.Tasks.forEach(element => {\n response.push({ value: element.id, text: element.name })\n })\n return response\n}\n\nexport function getNotificationsType(state) {\n return state.notificationsTypes\n}\n\nexport function getEventsTypes(state) {\n let response = []\n state.Types.Events.forEach(element => {\n response.push({ value: element.id, text: element.name })\n })\n return response\n}\n\nexport function getTaskId(state) {\n return id => {\n let elementToReturn = {}\n state.allTasksNEvents.forEach(element => {\n if (element.id == id) {\n elementToReturn = element\n }\n })\n return elementToReturn\n }\n}\n\nexport function getProjects(state) {\n return state.projects\n}\n\nexport function getProjectTaks(state) {\n return id => {\n const project = state.projects.find(project => `${project.id}` === `${id}`);\n return project.tasks || []\n } \n}\n\nexport function getProjectNames(state) {\n let response = []\n state.projects.forEach(element => {\n response.push({ value: element.id, text: element.title })\n })\n return response\n}\n\nexport function getProject(state) {\n return id => {\n const project = state.projects.find(project => `${project.id}` === `${id}`);\n return project || {}\n } \n}\n","import state from './state'\nimport * as mutations from './mutations'\nimport * as actions from './actions'\nimport * as getters from './getters'\n\nexport default {\n namespaced: true,\n state,\n mutations,\n actions,\n getters\n}","export default {\n checkListData: [],\n checkListDates: [],\n checkListCriteria: [],\n dataIsGetted: false,\n idSelectedModule: 0,\n error: false,\n errorMessage: ''\n}","export function setCheckListDataToday(state, payload) {\n state.dataIsGetted = true;\n payload.forEach(module => {\n let criterion = [];\n let completeChild = true;\n module.checkList.forEach(criteria => {\n criteria['defParent'] = criteria['approvedParent'];\n criteria['defQualifiedParent'] = criteria['qualifiedParent'];\n criteria['defChild'] = criteria['approvedChild'];\n criterion.push(criteria);\n if (!criteria['defChild']) {\n completeChild = false;\n }\n });\n module.checkList = criterion;\n module.checkListComplete = completeChild;\n });\n state.checkListDataToday = payload;\n}\n\nexport function saveCheckListData(state, payload) {\n let criterion = [];\n payload.forEach(element => {\n criterion.push({\n order: element.module.order,\n criteria: element.criterion\n });\n element.module['img'] = 'modules-0' + element.module.order;\n element.dates.forEach(date => {\n date.items.forEach(item => {\n item['defParent'] = item['approvedParent'];\n item['defQualifiedParent'] = item['qualifiedParent'];\n item['defChild'] = item['approvedChild'];\n });\n });\n });\n state.checkListData = payload;\n state.checkListCriteria = criterion;\n}\n\nexport function saveCheckListDates(state, payload) {\n state.checkListDates = payload;\n}\n\nexport function addCriteriaToCheckList(state, payload) {\n let moduleOrder = payload.moduleOrder;\n //console.log(\"moduleOrder\", payload)\n payload.items.forEach(element => {\n element['defParent'] = element['approvedParent'] = false;\n element['defQualifiedParent'] = element['qualifiedParent'] = false;\n element['defChild'] = element['approvedChild'] = false;\n });\n //console.log(\"Payload items\",payload.items)\n state.checkListData.forEach(element => {\n if (element.module.order == moduleOrder) {\n if (element.dates.length > 0) {\n payload.items.forEach(item => {\n element.dates[0].items.push(item);\n });\n } else {\n element.dates.push({ date: '-', items: payload.items });\n }\n }\n });\n}\n\nexport function addCriteriaCreated(state, payload) {\n let checkData = payload;\n checkData['defParent'] = checkData['approvedParent'] = false;\n checkData['defQualifiedParent'] = checkData['qualifiedParent'] = false;\n checkData['defChild'] = checkData['approvedChild'] = false;\n state.checkListData.forEach(element => {\n if (element.module.order == checkData.moduleOrder) {\n if (element.dates.length > 0) {\n element.dates[0].items.push(checkData);\n } else {\n element.dates.push({ date: '-', items: [checkData] });\n }\n }\n });\n}\n\nexport function removeItemFromList(state, data) {\n state.checkListData.forEach(element => {\n if (element.module.order == data.order) {\n //console.log(\"itemId\", data.itemId)\n let indexSelected = -1;\n let index = -1;\n element.dates[0].items.forEach(check => {\n index++;\n if (check.id == data.itemId) {\n indexSelected = index;\n }\n });\n if (indexSelected != -1) {\n element.dates[0].items.splice(indexSelected, 1);\n }\n //console.log(\"after\", element.dates[0].items)\n }\n });\n}\n\nexport function setCheckListDataPending(state, payload) {\n state.checkListDataPending = payload;\n}\n\nexport function setCheckListCriteria(state, payload) {\n state.checkListCriteria = payload;\n}\n\nexport function setSelectedModule(state, Mid) {\n state.idSelectedModule = Mid;\n}\n\nexport function addDataToCheckList(state, data) {\n for (var key in state.checkListData) {\n if (state.checkListData.hasOwnProperty(key)) {\n let element = state.checkListData[key];\n if (element.Order == data.order) {\n data.items.forEach(dataItem => {\n element.checkList.push(dataItem);\n });\n }\n }\n }\n}\n\nexport function error(state, payload) {\n //console.log(\"Error\", payload)\n state.error = true;\n state.errorMessage = payload;\n}\n\nexport function cleanErrors(state) {\n state.error = false;\n state.errorMessage = '';\n}\n\nexport function resetCount(state, { moduleIndex, items}) {\n items = items.map(idObject => idObject.id);\n\n state.checkListData[moduleIndex].dates[0].items.map(item => {\n if (items.includes(item.id)) item.count = 0;\n\n return item;\n });\n}\n","import axios from 'axios';\nimport Vue from 'vue';\n\n// Create CheckList\n/* export async function createCheckList({ commit }, payload) {\n await Vue.axios({\n method: 'POST',\n url: '/checklist/',\n data: {\n module: payload.module,\n child: payload.child,\n items: payload.items\n }\n })\n .then(response => {\n commit('addDataToCheckList', response.data);\n })\n .catch(error => {\n commit('error', error.message);\n });\n} */\n\n// List of Checklist\nexport async function fethCheckList({ commit, state }, data) {\n await Vue.axios({\n method: 'GET',\n url: '/child/' + data.childId + '/getChecklists/' + (data?.date ? '?date=' + data?.date : ''),\n })\n .then((response) => {\n commit('saveCheckListData', response.data);\n })\n .catch((error) => {\n commit('error', error);\n });\n}\n\n// List of Checklist Dates\nexport async function getChecklistsDates({ commit, state }, childId) {\n await Vue.axios({\n method: 'GET',\n url: '/child/' + childId + '/getChecklistsDates/',\n })\n .then((response) => {\n commit('saveCheckListDates', response.data);\n })\n .catch((error) => {\n commit('error', error);\n });\n}\n\n// Set child Valuation of items\nexport async function setChildCheckValues({ commit }, data) {\n let to_Response = '';\n let response = [];\n Object.keys(data.items).forEach(function(key, index) {\n response.push({\n id: data.items[key].id,\n value: data.items[key].approvedChild,\n });\n });\n await Vue.axios({\n method: 'POST',\n url: '/checklist/childValuate/',\n data: {\n items: response,\n date: data.date,\n },\n })\n .then((response) => {\n commit('cleanErrors');\n to_Response = {\n coins: response.data.coins,\n points: response.data.points,\n description: response.data.description,\n module: response.data.module,\n correct: true,\n };\n })\n .catch((error) => {\n commit('error', error);\n to_Response = { error: error.response.data, correct: false };\n });\n return to_Response;\n}\n\nexport async function updateCoinValues({ commit }, data) {\n try {\n axios.put('/checklist/updateCoinValues/', {\n items: [data],\n });\n } catch (error) {\n console.log('(Checklist Action)', error);\n }\n}\n\nexport async function updateCriteria({ commit }, { itemId, itemDescription, itemValue }) {\n try {\n axios.post(`/checklistItem/${itemId}/update_criteria/`, {\n description: itemDescription,\n value: itemValue,\n });\n } catch (error) {\n console.log('(Checklist Action)', error);\n }\n}\n\n// Set Parent Valuation of items\nexport async function setParentCheckValues({ commit }, data) {\n const { items = [], date, child = 0 } = data;\n try {\n await axios.post('/checklist/parentValuate/', { items, date, child });\n commit('cleanErrors');\n } catch (error) {\n commit('error', error);\n throw new Error({ message: '[Checklist|Save]', error });\n }\n}\n\nexport async function createCriteria({ commit }, payload) {\n let to_Response = '';\n ////console.log(payload)\n await Vue.axios({\n method: 'POST',\n url: '/checklist/createCriteria/',\n data: payload,\n })\n .then((response) => {\n //console.log(\"createResponse\", response)\n commit('addCriteriaCreated', response.data);\n })\n .catch((error) => {\n commit('error', error);\n });\n}\n\nexport async function ModifyCriterion({ commit }, payload) {\n await Vue.axios({\n method: 'POST',\n url: '/checklist/',\n data: payload,\n })\n .then((response) => {\n //console.log(\"modifyResponse\", response)\n commit('addCriteriaToCheckList', response.data);\n })\n .catch((error) => {\n //console.log(error)\n });\n}\n\nexport async function DeleteCriterion({ commit }, payload) {\n await Vue.axios({\n method: 'DELETE',\n url: `/checklistItem/${payload.itemId}/`,\n })\n .then(() => {\n commit('removeItemFromList', payload);\n })\n .catch((error) => {\n //console.log(error)\n });\n}\n\nexport async function resetItemsCount({ commit }, { moduleIndex, childId, items }) {\n if (items && childId) {\n const itemsId = itemsId.map((item) => ({ id: item.id }));\n\n try {\n axios.post('/checklistItem/reset_count/', {\n child: childId,\n items: itemsId,\n });\n commit('resetCount', {\n moduleIndex: moduleIndex,\n items: itemsId,\n });\n } catch (error) {\n console.log('(actions)', error);\n }\n }\n}\n\n","// export function getModuleCheckListToday(state) {\n// let response = []\n// state.checkListDataToday.forEach(element => {\n// if (element.order != \"5\") {\n// element['img'] = 'modules-0' + element.order\n// response.push(element)\n// }\n// });\n// return response\n// }\n\nexport function getModuleCheckListPending(state) {\n let response = []\n state.checkListDataPending.forEach(element => {\n if (element.order != \"5\") {\n element['img'] = 'modules-0' + element.order\n response.push(element)\n }\n });\n return response\n}\n\nexport function getDataIsGetted(state) {\n return state.dataIsGetted\n}\n\nexport function getSelectedModId(state) {\n return state.idSelectedModule\n}\n\nexport function getDataModuleSelected(state) {\n return state.checkListData[state.idSelectedModule]\n}\n\nexport function getCheckListCriteria(state) {\n return id => {\n let elementToReturn = []\n state.checkListCriteria.forEach(element => {\n if (element.order == id) {\n elementToReturn = element.criteria\n }\n })\n\n return elementToReturn\n }\n}\n\nexport function getAllCheckListData(state) {\n return state.checkListData\n}\n\nexport function getAllCheckListDates(state) {\n return state.checkListDates\n}","import state from './state'\nimport * as mutations from './mutations'\nimport * as actions from './actions'\nimport * as getters from './getters'\n\nexport default {\n namespaced: true,\n state,\n mutations,\n actions,\n getters\n}","export default {\n planInfo: [],\n options:[],\n error: false,\n errorMessage: ''\n}","export function setPlans(state, payload) {\n let response = []\n payload.forEach(element => {\n element['img'] = 'modules-0' + element.Order\n response.push(element)\n })\n state.planInfo = response\n}\nexport function setOptions(state, payload) {\n state.options = payload\n}","import Vue from 'vue';\nimport axios from 'axios';\n\nexport async function fetchAllPlans({ commit }, childId) {\n await Vue.axios({\n method: 'GET',\n url: '/child/' + childId + '/getPlans/'\n })\n .then(response => {\n commit('setPlans', response.data);\n })\n .catch(error => {\n commit('error', error);\n });\n}\n\nexport async function createPlan({ commit }, payload) {\n let to_return = '';\n try {\n let data = {\n often_times_per_week: payload.times_of_week,\n where_place: payload.place,\n what_activities: payload.what_activities,\n how_remember: payload.how_remember,\n daysTime: payload.what_days,\n whenCheckDays: payload.where_days,\n child: payload.child,\n module: payload.module,\n extra_data: payload.extra_data\n };\n if (data.extra_data === '') {\n delete data.extra_data;\n }\n\n const response = await axios.post('/plan/', data);\n to_return = response.data;\n } catch (error) {\n to_return = error;\n }\n\n return to_return;\n}\n\nexport async function editPlan({ commit }, payload) {\n //console.log(\"data\", payload )\n //console.log(\"WhatDays\",payload.what_days)\n let data = {\n where_place: payload.place,\n what_activities: payload.what_activities,\n how_remember: payload.how_remember,\n daysTime: payload.what_days,\n whenCheckDays: payload.where_days,\n extra_data_how_remember: payload.extra_data,\n child: payload.child,\n module: payload.module\n // often_times_per_week: payload.times_of_week,\n };\n if (data.extra_data_how_remember == '') {\n delete data.extra_data_how_remember;\n }\n if ('parentEdit' in payload) {\n data['parentEdit'] = 'true';\n }\n try {\n const response = await axios.put(`/plan/${payload.planId}/`, data);\n } catch (error) {\n console.log(error);\n }\n}\n\nexport async function fetchRememberOptions({ commit }) {\n await Vue.axios({\n method: 'GET',\n url: '/plan/getOptions/'\n })\n .then(response => {\n commit('setOptions', response.data);\n })\n .catch(error => {\n //console.log(error)\n });\n}\n\n","export function getPlanByModule(state) {\n return id => {\n let to_return = \"error\"\n state.planInfo.forEach(element => {\n if (element.Order == id) {\n if (element.havePlan) {\n to_return = element.plan\n }\n }\n });\n return to_return\n }\n}\n\nexport function error(state, payload) {\n state.error = true\n state.errorMessage = payload\n}\n\nexport function getModulePlans(state) {\n return state.planInfo\n}\n\n\nexport function getOptions(state) {\n let response = []\n state.options.forEach(element => {\n response.push({\n value: element.id,\n text: element.name,\n extralabel: element.need_extra_data\n })\n });\n return response\n}","import state from './state'\nimport * as mutations from './mutations'\nimport * as actions from './actions'\nimport * as getters from './getters'\n\nexport default {\n namespaced: true,\n state,\n mutations,\n actions,\n getters\n}","export default {\n error: false,\n errorMessage: '',\n charging: false,\n}\n","export function cleanErrors(state) {\n state.error = false\n state.errorMessage = ''\n}\n\nexport function error(state, payload) {\n state.error = true\n state.errorMessage = payload\n}\n\nexport function setIsCharging(state, value) {\n state.charging = value\n}\n","export function error(state) {\n return state.error;\n}\n\nexport function errorMessage(state) {\n return state.errorMessage;\n}\n\nexport function getFormattedDate() {\n return (strdate, replaceTimeZone = false) => {\n strdate = strdate.toString();\n\n if (replaceTimeZone || strdate.search('T') == -1) {\n let today = new Date();\n today.setHours(0, 0, 0);\n let strDateParts = strdate.split('T');\n let strTodayParts = today.toISOString().split('T');\n strdate = strDateParts[0] + 'T' + strTodayParts[1];\n }\n let date = new Date(strdate);\n let day = date.getDate();\n let year = date.getFullYear();\n const months = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n ];\n const days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n let dayName = days[date.getDay()];\n day = date.getDate();\n let monthName = months[date.getMonth()];\n year = date.getFullYear();\n day = day < 10 ? '0' + day : day;\n let formatted = `${dayName}, ${monthName} ${day}`;\n return formatted;\n };\n}\n\nexport function formatAMPM(state) {\n return (strdate) => {\n let date = new Date(strdate);\n return AmPmInternal(date.getHours(), date.getMinutes());\n };\n}\n\nexport function formatAMPMHour(state) {\n return (strHour) => {\n let splitText = strHour.split(':');\n return AmPmInternal(parseInt(splitText[0]), parseInt(splitText[1]));\n };\n}\n\nfunction AmPmInternal(hours, minutes) {\n let ampm = hours >= 12 ? 'pm' : 'am';\n hours = hours % 12;\n hours = hours ? hours : 12; // the hour '0' should be '12'\n minutes = minutes < 10 ? '0' + minutes : minutes;\n let strTime = hours + ':' + minutes + ' ' + ampm;\n return strTime;\n}\n\n","import state from './state';\nimport * as mutations from './mutations';\nimport * as getters from './getters';\n\nexport default {\n namespaced: true,\n state,\n mutations,\n getters,\n};\n","export default {\n tasksTimer: {}\n}","export function saveNewTimer(state, data) {\n state.tasksTimer[data.task.id] = data.timeSpentSeconds\n}","import Vue from 'vue'\n\nexport async function fetchTaskTime({ commit }, taskId) {\n await Vue.axios({\n url: '/chronometer/' + taskId + '/get_time_spend/'\n }).then((response) => {\n commit('saveNewTimer', response.data)\n }).catch((error) => {\n commit('error', error.mesage)\n })\n}\n\nexport async function send_minute_spent({ commit }, taskId) {\n let toReturn = \"\"\n await Vue.axios({\n method: 'POST',\n url: '/chronometer/add_partial_time/',\n data: {\n timeSpentSeconds: 60,\n task: taskId,\n completeTask: false\n },\n json: true\n }).then((response) => {\n commit('saveNewTimer', response.data.timer)\n //console.log(response)\n //console.log(response.data)\n toReturn = response.data\n }).catch((error) => {\n commit('error', error.mesage)\n })\n return toReturn\n}\n\nexport async function send_total_time({ commit }, payload) {\n let toReturn = \"\"\n await Vue.axios({\n method: 'POST',\n url: '/chronometer/',\n data: {\n timeSpentSeconds: payload.totalTime,\n task: payload.taskId,\n completeTask: payload.isComplete\n }\n }).then((response) => {\n commit('saveNewTimer', response.data.timer)\n //console.log(response)\n //console.log(response.data)\n toReturn = response.data\n }).catch((error) => {\n commit('error', error.mesage)\n })\n return toReturn\n}","export function getTaskSpentTime(state) {\n return id => {\n return state.tasksTimer[id]\n }\n}","import state from './state'\nimport * as mutations from './mutations'\nimport * as actions from './actions'\nimport * as getters from './getters'\n\nexport default {\n namespaced: true,\n state,\n mutations,\n actions,\n getters\n}","export default {\n parentToShare: {}, \n}","export function setParentToShare(state, data) {\n state.parentToShare = data\n}\n\nexport function cleanErrors(state) {\n state.error = false\n state.errorMessage = ''\n}\n\nexport function error(state, error) {\n console.log(\"errorcatch\", error)\n state.error = true\n state.errorMessage = error\n}","import state from './state'\nimport * as mutations from './mutations'\nimport * as actions from './actions'\nimport * as getters from './getters'\n\nexport default {\n namespaced: true,\n state,\n mutations,\n actions,\n getters\n}","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport user from '../modules/users'\nimport coins from '../modules/gamification'\nimport module from '../modules/modules'\nimport task from '../modules/tasks'\nimport checklist from '../modules/checklist'\nimport plan from '../modules/plan'\nimport general from '../modules/general'\nimport timer from '../modules/timer'\nimport share from '../modules/share'\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n state: {},\n mutations: {},\n actions: {},\n modules: {\n user,\n coins,\n module,\n task,\n checklist,\n plan,\n general,\n timer,\n share\n }\n})\n","module.exports = __webpack_public_path__ + \"img/icon-learn.06e4fec2.svg\";","const ONE_WEEK_IN_MILLISECONDS = 7 * 24 * 60 * 60 * 1000;\nconst ONE_DAY_IN_MILLISECONDS = 24 * 60 * 60 * 1000;\nconst ABBREVIATED_DAY_NAMES = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n\nfunction meridianTimeText({ hours, minutes }) {\n const meridianTime = hours >= 12 ? 'pm' : 'am';\n const hour = hours % 12 ? hours % 12 : 12;\n const formatMinutes = minutes < 10 ? `0${minutes}` : minutes;\n return `${hour}:${formatMinutes} ${meridianTime}`;\n}\n\nfunction formatInMeridianTime(date = '') {\n const _date = new Date(date);\n const hours = _date.getHours();\n const minutes = _date.getMinutes();\n return meridianTimeText({ hours, minutes });\n}\n\nfunction getStringHour(hour = 0) {\n let _hour = hour;\n if (hour > 12) {\n const _difference = hour - 12;\n _hour = _difference;\n }\n return hour >= 10 ? `${hour}` : `0${hour}`;\n}\n\n/**\n * formatToConventionalSystem\n * @description function that receive a hour and return the time in strian and the meridian format time (AM/PM)\n * @param {String} time : Hour in format string example: '13:00:00';\n * @returns {Object} { timeString: '04:30', timeFormat: 'AM' | 'PM' }\n */\nfunction formatToConventionalSystem(time) {\n const splitTime = time.split(':');\n let hour = parseInt(splitTime[0]);\n const minutes = splitTime[1];\n\n if (hour >= 24) {\n hour %= 24;\n }\n\n const meridianFormat = hour >= 12 ? 'PM' : 'AM';\n hour = hour % 12 || 12;\n const timeString = `${getStringHour(hour)}:${minutes}`;\n\n return { timeString, timeFormat: meridianFormat };\n}\n\nfunction formatLongDate(date) {\n var dayOptions = { year: 'numeric', month: 'long', day: 'numeric' };\n\n const _date = date ? date.replace(/-/g, '/') : '';\n\n const textDate = new Date(_date).toLocaleDateString('en-US', dayOptions);\n\n return textDate;\n}\n\nfunction startOfWeek(selectDay) {\n const weekday = selectDay.getDay();\n return new Date(selectDay.getTime() - Math.abs(weekday) * ONE_DAY_IN_MILLISECONDS);\n}\n\nfunction calculateWeeksPriorToTheCurrentDay(selectedDate) {\n const currentDate = new Date();\n const previousWeeks = Math.ceil(\n (startOfWeek(currentDate) - startOfWeek(new Date(selectedDate))) / ONE_WEEK_IN_MILLISECONDS,\n );\n return Math.abs(previousWeeks);\n}\n\nfunction firstAndLastDateOfAWeek(selectedDate) {\n const _startOfWeek = new Date(selectedDate);\n _startOfWeek.setDate(_startOfWeek.getDate() - _startOfWeek.getDay());\n\n const _endOfWeek = new Date(selectedDate);\n _endOfWeek.setDate(_endOfWeek.getDate() + (6 - _endOfWeek.getDay()));\n\n const startOfWeek = new Date(_startOfWeek).toISOString().slice(0, 10);\n const endOfWeek = new Date(_endOfWeek).toISOString().slice(0, 10);\n return { startOfWeek, endOfWeek };\n}\n\nfunction formatLongDateTime(date) {\n const dayOptions = {\n hour12: true,\n hour: '2-digit',\n minute: '2-digit',\n month: 'short',\n year: 'numeric',\n day: 'numeric',\n };\n const textDate = new Date(date).toLocaleDateString('en-US', dayOptions);\n return textDate;\n}\n\nfunction formatDateTask(date) {\n const dayOptions = { month: 'short', day: 'numeric' };\n const _date = date.includes('T') ? new Date(date) : new Date(date.replace(/-/g, '/'));\n const textDate = _date.toLocaleDateString('en-US', dayOptions);\n return textDate;\n}\n\nfunction formatNumericDateCalendar(date) {\n const dayOptions = { year: 'numeric', month: 'numeric', day: 'numeric' };\n const _date = date\n ? date.includes('T')\n ? new Date(date)\n : new Date(date.replace(/-/g, '/'))\n : new Date();\n const textDate = _date.toLocaleDateString('en-CA', dayOptions);\n return textDate;\n}\n\nfunction formatHourSelected(date) {\n const textDate = date ? new Date(date) : new Date();\n const hour = textDate.getHours() < 10 ? `0${textDate.getHours()}` : textDate.getHours();\n const minutes = textDate.getMinutes() < 10 ? `0${textDate.getMinutes()}` : textDate.getMinutes();\n const hourToDate = `${hour}:${minutes}`;\n return hourToDate;\n}\n\nfunction formatNameDay(date) {\n const dayOptions = { weekday: 'short', month: 'short', day: 'numeric' };\n const textDate = new Date(date).toLocaleDateString('en-US', dayOptions);\n return textDate;\n}\n\nfunction formatDateAndWeekday(date) {\n const dayOptions = {\n weekday: 'short',\n month: 'short',\n year: 'numeric',\n day: 'numeric',\n timeZone: 'UTC',\n };\n const textDate = new Date(date).toLocaleDateString('en-US', dayOptions);\n return textDate;\n}\n\nfunction formatDateToLocalISOString(date) {\n const newDate = date ? new Date(date) : new Date();\n const year = newDate.getFullYear();\n const month = newDate.getMonth() + 1;\n const day = newDate.getDate();\n const hours = newDate.getHours() < 10 ? '0' + newDate.getHours() : newDate.getHours();\n const minutes = newDate.getMinutes() < 10 ? '0' + newDate.getMinutes() : newDate.getMinutes();\n const seconds = newDate.getSeconds() < 10 ? '0' + newDate.getSeconds() : newDate.getSeconds();\n\n return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}`;\n}\n\nfunction getNumericDate(date) {\n const now = date ? new Date(date) : new Date();\n const year = now.getFullYear();\n const month = now.getMonth() + 1;\n const day = now.getDate();\n return `${year}-${month}-${day}`;\n}\n/**\n * Calculates the next time that is a multiple of 15 minutes (or a specified number of minutes in the future).\n *\n * @function\n * @name AdvanceTheTimeByXMinutes\n *\n * @param {number} [jumpInMinutes=0] - An optional parameter that specifies the number of additional minutes to jump into the future beyond the next 15-minute interval (default: 0).\n *\n * @returns {Date} Returns a `Date` object representing the next time that is a multiple of 15 minutes (or `jumpInMinutes` plus 15) in the future.\n *\n * @example\n *\n * const next15 = AdvanceTheTimeByXMinutes();\n * console.log(next15); // Example output: \"Mon Mar 28 2022 14:30:00 GMT-0400 (Eastern Daylight Time)\"\n *\n * const next45 = AdvanceTheTimeByXMinutes(30);\n * console.log(next45); // Example output: \"Mon Mar 28 2022 15:45:00 GMT-0400 (Eastern Daylight Time)\"\n */\nfunction AdvanceTheTimeByXMinutes(jumpInMinutes = 0) {\n const defaultJump = 15;\n const now = new Date();\n const minutes = now.getMinutes();\n const jumpMinutes = jumpInMinutes + defaultJump - (minutes % defaultJump);\n const futureTime = now.setMinutes(minutes + jumpMinutes);\n return futureTime;\n}\n\n/**\n Add the hours, minutes and seconds of the endDate to the initDate, in order to keep the duration of the event in the same day, since the initial date changes when dragging and dropping in the calendar and you don't want long events.\n If endDate is not provided, adds 1 hour to initDate.\n @param {Date} initDate - The initial date modified by drag and drop, the hours, minutes and seconds of endDate will be added.\n @param {Date} [endDate] - The date from which the hours, minutes, and seconds will be extracted and added to initDate.\n @returns {Date} finalDate - The end date formed by the day of the initial date and the hours of the original end date in custom local ISO format.\n */\nfunction getStartDateWhitHoursOfEndDate(initDate, endDate) {\n if (!endDate) {\n initDate.setHours(initDate.getHours() + 1);\n return initDate;\n }\n\n const finalDate = new Date(initDate);\n const _endDate = new Date(endDate);\n\n const hoursEndDate = _endDate.getHours();\n const minutesEndDate = _endDate.getMinutes();\n const secondsEndDate = _endDate.getSeconds();\n\n finalDate.setHours(hoursEndDate);\n finalDate.setMinutes(minutesEndDate);\n finalDate.setSeconds(secondsEndDate);\n\n return finalDate;\n}\n\nfunction datePriorToTheCurrentDate(date, hour) {\n const selectedDateTime = new Date(`${date} ${hour}`);\n const currentDateTime = new Date();\n\n return selectedDateTime < currentDateTime;\n}\n\nfunction dateFormatAbbreviatedNameOfDayAndNumberedDay(date) {\n const dateCopy = new Date(date);\n const dayOfWeek = ABBREVIATED_DAY_NAMES[dateCopy.getDay()];\n const dayOfMonth = dateCopy.getDate();\n\n return `${dayOfWeek} ${dayOfMonth}`;\n}\n\nfunction formatAMPMHour(strHour) {\n const splitText = strHour.split(':');\n const hours = parseInt(splitText[0]);\n const minutes = parseInt(splitText[1]);\n\n return meridianTimeText({ hours, minutes });\n}\n\nexport {\n formatInMeridianTime,\n formatToConventionalSystem,\n formatLongDate,\n calculateWeeksPriorToTheCurrentDay,\n firstAndLastDateOfAWeek,\n formatLongDateTime,\n formatDateTask,\n formatNumericDateCalendar,\n formatHourSelected,\n formatNameDay,\n formatDateAndWeekday,\n formatDateToLocalISOString,\n getNumericDate,\n AdvanceTheTimeByXMinutes,\n getStartDateWhitHoursOfEndDate,\n datePriorToTheCurrentDate,\n dateFormatAbbreviatedNameOfDayAndNumberedDay,\n formatAMPMHour,\n};\n","const Notification = () => import(\"./views/Notifications.vue\")\n\nconst routes = [\n {\n path: '/notifications',\n name: 'notifications',\n component: Notification\n }\n]\n\nexport default router => {\n routes.forEach(element => {\n router.addRoute('main', element);\n })\n};","import { getNotifications, marksAsReadNotification } from './services';\nimport router from './router';\n\nexport { getNotifications, marksAsReadNotification, router };\n\n","// NOTE temporary icon until one is defined by the customer\nexport const defaultIcon = require(`@/assets/icons/icon-learn.svg`);\n\nexport function modulesAdapter(modules) {\n return modules.map((moduleSkill) => ({\n alt: `${moduleSkill.module_name}-icon`,\n icon: moduleSkill.icon || defaultIcon,\n id: moduleSkill.id,\n module: moduleSkill.module,\n module_name: moduleSkill.module_name,\n module_order: moduleSkill.module_order,\n name: moduleSkill.name || '',\n order: moduleSkill.order || 0,\n pages: moduleSkill.pages || [],\n topics: moduleSkill.topics || 0,\n topics_viewed: moduleSkill.topics_viewed || 0,\n unlocked: moduleSkill.unlocked,\n user: moduleSkill.user,\n }));\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('div',{staticClass:\"w-100 vh-100 \",attrs:{\"id\":\"app-content\"}},[_c('router-view')],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../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=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../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=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=4ef8c190&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\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 router from \"./router\";\n\nconst registerModule = (module) => {\n if (module.router) {\n module.router(router);\n }\n};\n\nexport const registerModules = modules => {\n Object.keys(modules).forEach(moduleKey => {\n const module = modules[moduleKey];\n registerModule(module);\n });\n};","import store from '../store';\nimport axios from 'axios';\n\nimport { setRefreshToken } from '@/auth/services';\n\n// To Persistance\nimport { Persistance } from '@/common';\n\naxios.interceptors.request.use(\n function(config) {\n let token = Persistance.getPersistedVar('AccessToken');\n if (token) {\n config.headers.Authorization = `Bearer ${token}`;\n config.headers['Content-Type'] = `application/json`;\n }\n return config;\n },\n function(err) {\n return Promise.reject(err);\n },\n);\n\n\naxios.interceptors.response.use(\n (response) => {\n return response;\n },\n async (error) => {\n const {\n config,\n response: { status },\n } = error;\n const refreshToken = Persistance.getPersistedVar('RefreshToken');\n if (status === 401 && refreshToken) {\n Persistance.remove('AccessToken');\n const { access_token } = await setRefreshToken({ refreshToken });\n Persistance.persistValue('AccessToken', access_token);\n const retryOrigReq = await subscribeTokenRefresh(config, access_token);\n return retryOrigReq;\n } else {\n if (!refreshToken) {\n store.dispatch('user/logout');\n }\n return Promise.reject(error);\n }\n },\n);\n\nfunction subscribeTokenRefresh(config, token) {\n return new Promise((resolve, reject) => {\n const originalRequest = config;\n originalRequest.headers['Authorization'] = 'Bearer ' + token;\n resolve(axios(originalRequest));\n });\n}\n","const CalendarMainView = () => import('./views/CalendarMainView');\nconst CalendarView = () => import('./views/CalendarView');\nconst TaskView = () => import('./views/TaskView');\nconst ProjectsMainView = () => import('./views/ProjectsMainView');\nconst MyProjectsView = () => import('./views/MyProjectsView');\nconst CreateNewProjectView = () => import('./views/CreateNewProjectView');\nconst ProjectTasksView = () => import('./views/ProjectTasksView');\nconst TaskFormView = () => import('./views/TaskFormView');\nconst TaskDetailView = () => import('./views/TaskDetailView');\n\nconst routes = [\n {\n path: '/my-calendar',\n name: 'my-calendar',\n component: CalendarMainView,\n redirect: () => ({ name: 'calendar' }),\n children: [\n {\n path: '',\n name: 'calendar',\n component: CalendarView,\n },\n {\n path: 'new-task/:taskTypes/:calendarHour/:calendarDate',\n name: 'new-calendar-task',\n component: TaskFormView,\n },\n {\n path: 'task-detail/:taskId',\n name: 'calendar-task-detail',\n component: TaskDetailView,\n },\n ],\n },\n {\n path: '/tasks',\n name: 'task',\n component: TaskView,\n },\n {\n path: '/new-task',\n name: 'new-task',\n component: TaskFormView,\n },\n {\n path: '/edit-task/:taskId',\n name: 'edit-task',\n component: TaskFormView,\n },\n {\n path: '/task-detail/:taskId',\n name: 'task-detail',\n component: TaskDetailView,\n },\n {\n path: '/my-projects',\n name: 'projects-list',\n component: ProjectsMainView,\n redirect: () => ({ name: 'myProjects' }),\n children: [\n {\n path: '',\n name: 'myProjects',\n component: MyProjectsView,\n },\n {\n path: 'new-project',\n name: 'createNewProject',\n component: CreateNewProjectView,\n },\n {\n path: 'tasks/:projectId/:projectName',\n name: 'project-tasks',\n component: ProjectTasksView,\n },\n {\n path: 'new-task/:projectId/:projectName',\n name: 'new-project-task',\n component: TaskFormView,\n },\n ],\n },\n];\n\nexport default (router) => {\n routes.forEach((element) => {\n router.addRoute('main', element);\n });\n};\n\n","const firstTime = () => import('@/onBoard/views/FirstTimeView');\n\nconst routes = [\n {\n path: '/first-time',\n name: 'first-time',\n component: firstTime,\n },\n];\n\nexport default (router) => {\n routes.forEach((element) => {\n router.addRoute('main', element);\n });\n};\n","const DashboardView = () => import('@/dashboard/views/DashboardView');\n\n\nconst routes = [\n {\n path: '/progress',\n name: 'Progress',\n component: DashboardView,\n },\n];\n\nexport default (router) => {\n routes.forEach((element) => {\n router.addRoute('main', element);\n });\n};\n","import Vue from 'vue';\nimport BootstrapVue from 'bootstrap-vue';\nimport App from './App.vue';\nrequire('./plugins');\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport 'bootstrap-vue/dist/bootstrap-vue.css';\nimport { registerModules } from './RegisterModules';\n\nimport router from './router';\nimport store from './store';\nimport axios from './plugins/vue-axios';\nimport * as interceptor from './plugins/axios_interceptor';\nimport VueSanitize from 'vue-sanitize';\n\nimport { createPinia, PiniaVuePlugin } from 'pinia';\n\n//Modules\nimport * as Auth from './auth';\nimport * as Atom from './common';\nimport * as CheckList from './checkList';\nimport * as Notification from './notifications';\nimport * as ModuleSkills from './module';\nimport * as Gamifications from './gamification';\nimport * as MyTasks from './myTasks';\nimport * as onBoard from './onBoard';\nimport * as dashboard from './dashboard';\n\nconst defaultOptions = {\n allowedTags: [\n 'a',\n 'b',\n 'iframe',\n 'img',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'p',\n 'br',\n 'li',\n 'ul',\n 'ol',\n 'span',\n ],\n allowedAttributes: {\n a: ['href'],\n iframe: ['src', 'allow', 'allowfullscreen', 'width', 'height', 'frameborder'],\n img: ['src'],\n },\n selfClosing: ['img', 'br', 'hr', 'input', 'link'],\n};\nVue.use(PiniaVuePlugin);\nconst pinia = createPinia();\nVue.use(VueSanitize, defaultOptions);\nVue.use(BootstrapVue);\nVue.prototype.$errorGlobal = false;\n\nregisterModules({\n Auth: Auth,\n Atom: Atom,\n CheckList: CheckList,\n Notification,\n ModuleSkills,\n Gamifications,\n MyTasks,\n onBoard,\n dashboard,\n});\n\nnew Vue({\n router,\n store,\n axios,\n interceptor,\n pinia,\n render: (h) => h(App),\n}).$mount('#app');\n","import mod from \"-!../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-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=style&index=0&lang=scss&\"; export default mod; export * from \"-!../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-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=style&index=0&lang=scss&\"","export default class QueriesController {\n #api;\n #paths;\n constructor(requestService, paths) {\n this.#api = requestService;\n this.#paths = paths;\n }\n\n async fetchTaskPriorities() {\n try {\n const path = this.#paths.tasks.taskPriorities;\n const { data } = await this.#api.Get(path);\n return data;\n } catch (error) {\n throw new Error('[Query]: Sorry, Unable to obtain task priorities.');\n }\n }\n async fetchAllChildTasks({ childId, filter }) {\n try {\n const path = this.#paths.tasks.allChildTasks(childId, filter);\n const { data } = await this.#api.Get(path);\n return data;\n } catch (error) {\n throw new Error(\"[Query]: Sorry, Unable to obtain child's tasks.\");\n }\n }\n async fetchProjects({ childId }) {\n try {\n const path = this.#paths.myProjects.allProjects(childId);\n const { data } = await this.#api.Get(path);\n return data;\n } catch (error) {\n throw new Error(\"[Query]: Sorry, Unable to obtain child's all projects.\");\n }\n }\n async fetchTaskPriorities() {\n try {\n const path = this.#paths.tasks.taskPriorities;\n const { data } = await this.#api.Get(path);\n return data;\n } catch (error) {\n throw new Error('[Query]: Sorry, Unable to obtain task priorities.');\n }\n }\n async fetchProjectInfo({ projectId }) {\n try {\n const path = this.#paths.myProjects.projectInfo(projectId);\n const { data } = await this.#api.Get(path);\n return data;\n } catch (error) {\n throw new Error('[Query]: Sorry, Unable to obtain project info.');\n }\n }\n async fetchTaskInfo({ taskId }) {\n try {\n const path = this.#paths.tasks.taskInfoOrEdit(taskId);\n const { data } = await this.#api.Get(path);\n return data;\n } catch (error) {\n throw new Error('[Query]: Sorry, Unable to obtain task info.');\n }\n }\n async fetchTaskTypes() {\n try {\n const path = this.#paths.tasks.taskTypes;\n const { data } = await this.#api.Get(path);\n return data;\n } catch (error) {\n throw new Error('[Query]: Sorry, Unable to obtain task types.');\n }\n }\n async fetchTaskRepeatOptions() {\n try {\n const path = this.#paths.tasks.taskRepeatOptions;\n const { data } = await this.#api.Get(path);\n return data;\n } catch (error) {\n throw new Error('[Query]: Sorry, Unable to obtain task repeat options.');\n }\n }\n async fetchTaskTypesNotifications() {\n try {\n const path = this.#paths.tasks.taskTypesNotifications;\n const { data } = await this.#api.Get(path);\n return data;\n } catch (error) {\n throw new Error('[Query]: Sorry, Unable to obtain types notifications for tasks.');\n }\n }\n async fetchCalendar({ childId, queryParams }) {\n try {\n const path = this.#paths.calendar.getCalendar(childId, queryParams);\n const { data } = await this.#api.Get(path);\n return data;\n } catch (error) {\n throw new Error('[Query]: Sorry, Unable to obtain calendar.');\n }\n }\n\n async fetchAllTaskTimers() {\n try {\n const path = this.#paths.tasks.getAllTaskTimers;\n const { data } = await this.#api.Get(path);\n return data;\n } catch (error) {\n throw new Error('[Query]: Sorry, Unable to obtain task timers.');\n }\n }\n}\n","export default class QueriesController {\n #api;\n #paths;\n constructor(requestService, paths) {\n this.#api = requestService;\n this.#paths = paths;\n }\n\n async addNewProject({ newProjectBody }) {\n try {\n const path = this.#paths.myProjects.createProject;\n const { data } = await this.#api.Post(path, newProjectBody);\n return data;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not save a new project.');\n }\n }\n\n async editTask({ taskId, taskData }) {\n try {\n const path = this.#paths.tasks.taskInfoOrEdit(taskId);\n const { data } = await this.#api.Put(path, taskData);\n return data;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not update a task.');\n }\n }\n\n async createTask({ taskData }) {\n try {\n const path = this.#paths.tasks.newTask;\n const { data } = await this.#api.Post(path, taskData);\n return data;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not save a new task.');\n }\n }\n\n async editProject({ projectId, editProjectBody }) {\n try {\n const path = this.#paths.myProjects.editProject(projectId);\n const { data } = await this.#api.Patch(path, editProjectBody);\n return data;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not edit the project.');\n }\n }\n\n async deleteProject({ projectId, child }) {\n try {\n const path = this.#paths.myProjects.deleteProject(projectId);\n const { data } = await this.#api.Delete(path, { child });\n return data;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not delete the project.');\n }\n }\n\n async deleteTask({ taskId }) {\n try {\n const path = this.#paths.tasks.taskInfoOrEdit(taskId);\n const { data } = await this.#api.Delete(path);\n return data;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not delete a task.');\n }\n }\n\n async updateTimeInATask({ state, tasksId }) {\n try {\n const path = this.#paths.tasks.updateTimeInTask(tasksId);\n const { data } = await this.#api.Patch(path, { state });\n return data;\n } catch (error) {\n throw new Error('[Command]: Sorry, I have not been able to update the task timer.');\n }\n }\n\n async updateTaskStatus({ taskId, status }) {\n try {\n const path = this.#paths.tasks.updateTaskStatus(taskId);\n const { data } = await this.#api.Put(path, status);\n return data;\n } catch (error) {\n throw new Error('[Command]: Sorry, I have not been able to update the task status.');\n }\n }\n}\n","const tasks = {\n taskPriorities: `/task_fields/GetPriorities/`,\n newTask: `/task/`,\n taskTypes: `/task_fields/GetTypes/`,\n taskRepeatOptions: `/task_fields/GetRepeatOptions/`,\n taskTypesNotifications: `task_fields/GetNotificationTypes/`,\n taskInfoOrEdit: (taskId) => `/task/${taskId}/`,\n allChildTasks: (childId, complement) => `/child/${childId}/getAllTasks/${complement}`,\n updateTimeInTask: (taskId) => `chronometer/${taskId}/`,\n getAllTaskTimers: `chronometer/`,\n updateTaskStatus: (taskId) => `/task/${taskId}/status/`,\n};\n\nconst myProjects = {\n createProject: `/project/`,\n editProject: (projectId) => `/project/${projectId}/`,\n deleteProject: (projectId) => `/project/${projectId}/`,\n allProjects: (childId) => `/child/${childId}/getProjects/`,\n projectInfo: (projectId) => `/project/${projectId}/`,\n};\n\nconst calendar = {\n getCalendar: (childId, queryParams) => `/child/${childId}/calendar/${queryParams}`,\n};\n\nexport { tasks, myProjects, calendar };\n","import apiContainer from '@/services/api';\nimport QueriesController from './queriesController.service';\nimport CommandsController from './commandController.service';\nimport * as Paths from '../paths';\n\nconst API = apiContainer.apiController();\nconst QueriesControllerFactory = () => new QueriesController(API, Paths);\nconst CommandsControllerFactory = () => new CommandsController(API, Paths);\n\nconst container = {\n queriesController: QueriesControllerFactory(),\n commandsController: CommandsControllerFactory(),\n};\n\nObject.freeze(container);\n\nexport default container;\n\n","import container from './CQRS';\n\nconst { queriesController, commandsController } = container;\n\nasync function getTaskPriorities() {\n try {\n return await queriesController.fetchTaskPriorities();\n } catch (error) {\n throw new Error('[Service]: Oops!, we were unable to obtain the task priorities...');\n }\n}\n\nasync function getAllTasks(childId, filter_task = {}) {\n const filter = `?${new URLSearchParams(filter_task).toString()}`;\n try {\n return await queriesController.fetchAllChildTasks({ childId, filter });\n } catch (error) {\n throw new Error(\"[Service]: Oops!, Unable to obtain child's all tasks.\");\n }\n}\n\nasync function getAllProjects(childId) {\n try {\n return await queriesController.fetchProjects({ childId });\n } catch (error) {\n throw new Error(\"[Service]: Oops!, Unable to obtain child's all projects.\");\n }\n}\n\nasync function setNewProject(childId, newProject) {\n const due_date = `${newProject.due_date}T${newProject.due_hour}`;\n\n const newProjectBody = { ...newProject, due_date, child: childId };\n\n try {\n return await commandsController.addNewProject({ newProjectBody });\n } catch (error) {\n throw new Error('[Service]: Oops!, I could not save a new project.');\n }\n}\n\nasync function getProjectInfo(projectId) {\n try {\n return await queriesController.fetchProjectInfo({ projectId });\n } catch (error) {\n throw new Error('[Service]: Oops!, Unable to obtain project info.');\n }\n}\nasync function editProject(projectId, childId, editProjectData) {\n const due_date = `${editProjectData.due_date}T${editProjectData.due_hour}`;\n\n const editProjectBody = { ...editProjectData, due_date, child: childId };\n\n try {\n return await commandsController.editProject({ projectId, editProjectBody });\n } catch (error) {\n throw new Error('[Service]: Oops!, I could not edit the project.');\n }\n}\nasync function deleteProject(projectId, childId) {\n try {\n return await commandsController.deleteProject({ projectId, child: childId });\n } catch (error) {\n throw new Error('[Service]: Oops!, I could not delete the project.');\n }\n}\nasync function updateTimeInATask(state, tasksId) {\n try {\n return await commandsController.updateTimeInATask({ state, tasksId });\n } catch (error) {\n throw new Error('[Service]: Oops!, I have not been able to update the task timer.');\n }\n}\n\nasync function getTaskInfo(taskId) {\n try {\n return await queriesController.fetchTaskInfo({ taskId });\n } catch (error) {\n throw new Error('[Service]: Oops!, Unable to obtain task info.');\n }\n}\n\nasync function getTaskTypes() {\n try {\n return await queriesController.fetchTaskTypes();\n } catch (error) {\n throw new Error('[Service]: Oops!, Unable to obtain task types.');\n }\n}\n\nasync function getTaskRepeatOptions() {\n try {\n return await queriesController.fetchTaskRepeatOptions();\n } catch (error) {\n throw new Error('[Service]: Oops!, Unable to obtain task repeat options.');\n }\n}\n\nasync function getTaskTypesNotifications() {\n try {\n return await queriesController.fetchTaskTypesNotifications();\n } catch (error) {\n throw new Error('[Service]: Oops!, Unable to obtain types notifications for tasks.');\n }\n}\n\nasync function setNewTask(taskData) {\n try {\n return commandsController.createTask({ taskData });\n } catch (error) {\n throw new Error('[Service]: Oops!, we were unable to create the task');\n }\n}\n\nasync function setEditTask(taskId, taskData) {\n try {\n return commandsController.editTask({ taskId, taskData });\n } catch (error) {\n throw new Error('[Service]: Oops!, we were unable to update the task');\n }\n}\n\nasync function deleteTask(taskId) {\n try {\n return commandsController.deleteTask({ taskId });\n } catch (error) {\n throw new Error('[Service]: Oops!, we were unable to delete the task');\n }\n}\n\nasync function setTaskStatus(taskId, status) {\n try {\n return commandsController.updateTaskStatus({ taskId, status });\n } catch (error) {\n throw new Error('[Service]: Oops!, we were unable to update the task status');\n }\n}\n\nasync function getCalendar(childId, query = {}) {\n const queryParams = `?${new URLSearchParams(query).toString()}`;\n try {\n return await queriesController.fetchCalendar({ childId, queryParams });\n } catch (error) {\n throw new Error('[Service]: Oops!, Unable to obtain calendar.');\n }\n}\n\nasync function getAllTaskTimers() {\n try {\n return await queriesController.fetchAllTaskTimers();\n } catch (error) {\n throw new Error('[Service]: Oops!, Unable to obtain task timer.');\n }\n}\n\nexport {\n getAllTasks,\n getAllProjects,\n setNewProject,\n getTaskInfo,\n getTaskTypes,\n getTaskRepeatOptions,\n getTaskTypesNotifications,\n setNewTask,\n setEditTask,\n getTaskPriorities,\n getProjectInfo,\n editProject,\n deleteProject,\n deleteTask,\n updateTimeInATask,\n setTaskStatus,\n getCalendar,\n getAllTaskTimers,\n};\n","import { loadUserData } from '.';\n\nexport default class CommandsController {\n _requestService;\n _paths;\n _persistance;\n\n constructor(requestService, paths, persisttance) {\n this._requestService = requestService;\n this._paths = paths;\n this._persistance = persisttance;\n }\n\n async loginRequest({ username, password }) {\n const token = Buffer.from(username + ':' + password).toString('base64');\n return new Promise((resolve, reject) => {\n let headers = {\n Authorization: 'Basic ' + token,\n 'Content-Type': 'application/json',\n };\n this._requestService\n .Post(this._paths.loginPath, null, headers)\n .then(async ({ data }) => {\n if (this.containsKey(data, 'access_token')) {\n this._persistance.persistValue('AccessToken', data['access_token']);\n this._persistance.persistValue('RefreshToken', data['refresh_token']);\n await loadUserData();\n }\n resolve(data);\n })\n .catch((error) => {\n if (error.response && error.response.status == 403) {\n reject(error.response.data);\n } else {\n console.log('error', error);\n reject('An error has occurred. Please reload the page again.');\n }\n });\n });\n }\n\n async recoverPasswordRequest({ email }) {\n return new Promise((resolve, reject) => {\n this._requestService\n .Post(this._paths.passwordRecoveryPath, { email })\n .then(({ data }) => {\n resolve(data);\n })\n .catch((error) => {\n reject(error.message);\n });\n });\n }\n\n async registerChild({\n name,\n last_name,\n modulesUnlocked,\n email,\n birthdate,\n password,\n re_password,\n parent,\n profile_gender,\n }) {\n let params = {\n name,\n last_name,\n modulesUnlocked,\n email,\n birthdate,\n password,\n re_password,\n profile_gender,\n };\n try {\n const path = this._paths.registerChildPath;\n const { data } = await this._requestService.Post(path, params);\n return data;\n } catch (error) {\n throw new Error('[Command]: Sorry, Failed to register child.');\n }\n }\n\n async setRefreshToken({ refreshToken }) {\n try {\n const path = this._paths.refreshToken;\n const { data } = await this._requestService.Post(path, {\n refresh_token: refreshToken,\n });\n return data;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not generate new token.');\n }\n }\n\n containsKey = (obj, key) => Object.keys(obj).includes(key);\n}\n","require('./vue-axios')","const About = () => import('./views/About');\nconst ChildList = () => import('./views/ChildList');\nconst Home = () => import('./views/Home');\nconst Settings = () => import('./views/Settings');\nconst Tips = () => import('./views/Tips');\n\nconst routes = [\n {\n path: '/home',\n name: 'home',\n component: Home,\n },\n {\n path: '/childList',\n name: 'childList',\n component: ChildList,\n },\n {\n path: '/about',\n name: 'about',\n component: About,\n },\n {\n path: '/settings',\n name: 'settings',\n component: Settings,\n },\n {\n path: '/tips',\n name: 'tips',\n component: Tips,\n }\n];\n\nexport default (router) => {\n routes.forEach((element) => {\n router.addRoute('main', element);\n });\n};\n","// use Cookies as persistance\nimport Vue from 'vue';\nimport VueCookies from 'vue-cookies';\nVue.use(VueCookies);\n\nexport function persistValue(name, value){\n Vue.$cookies.set(name, value);\n}\n\nexport function getPersistedVar(name){\n return Vue.$cookies.get(name);\n}\n\nexport function remove(name){\n Vue.$cookies.remove(name);\n}\nexport function removeAll(){\n Vue.$cookies.keys().forEach(cookie => Vue.$cookies.remove(cookie))\n}","import router from './router';\nimport { useSessionStore, useNotificationStore } from './plugins/store';\nimport * as Persistance from './plugins/persistance';\nimport { getMotivationalMessage, setSession } from './services';\nconst MainLayout = () => import('./components/layout/MainLayout');\nconst LoadingRoute = () => import('./components/loaders/LoadingRoute');\n\nexport {\n router,\n MainLayout,\n useSessionStore,\n useNotificationStore,\n getMotivationalMessage,\n Persistance,\n setSession,\n LoadingRoute,\n};\n\n","export default {}","export const getSurveysAdapter = (listOfSurveys) => {\n return listOfSurveys.map((survey) => {\n return {\n id: survey.id,\n createAt: survey.create_at,\n updateAt: survey.update_at,\n title: survey.name,\n description: survey.description,\n url: survey.survey_link,\n };\n });\n};\n","export * from './modulesAdapter';\nexport * from './surveysAdapter';\n","export default class QueriesController {\n #api;\n #paths;\n constructor(requestService, paths) {\n this.#api = requestService;\n this.#paths = paths;\n }\n\n async fethAvatarImagesBank() {\n try {\n const path = this.#paths.avatar.AvatarBankPath;\n const { data } = await this.#api.Get(path);\n return data;\n } catch (error) {\n throw new Error('[Query]: Sorry, The avatar list could not be obtained.');\n }\n }\n\n async fetchRankingAndLevelInformation({ childId }) {\n try {\n const path = this.#paths.ranking.RankingInfoPath(childId);\n const { data } = await this.#api.Get(path);\n return data;\n } catch (error) {\n throw new Error('[Query]: Sorry, Ranking and level information could not be obtained.');\n }\n }\n\n async fetchCoinsInformation({ childId }) {\n try {\n const path = this.#paths.progress.childCoinsInformation(childId);\n const { data } = await this.#api.Get(path);\n return data;\n } catch (error) {\n throw new Error(\n '[Query]: Sorry, We have not been able to obtain the information of the coins.',\n );\n }\n }\n\n async fetchAvatarBychild({ childId }) {\n try {\n const path = this.#paths.avatar.AvatarSelectionPath(childId);\n const { data } = await this.#api.Get(path);\n return data.avatar;\n } catch (error) {\n throw new Error(\"[Query]: Sorry, Unable to obtain the child's avatar.\");\n }\n }\n\n async fetchRewards({ childId }) {\n try {\n const path = this.#paths.rewards.rewards(childId);\n const { data } = await this.#api.Get(path);\n return data;\n } catch (error) {\n throw new Error('[Query]: Sorry, Unable to obtain rewards.');\n }\n }\n\n async fetchDefaultRewards() {\n try {\n const path = this.#paths.rewards.defaultRewards;\n const { data } = await this.#api.Get(path);\n return data;\n } catch (error) {\n console.log(error);\n throw new Error('[Query]: Sorry, Unable to obtain default rewards.');\n }\n }\n\n async fetchChildLockedBadges({ childId }) {\n try {\n const path = this.#paths.badges.lockedBadges(childId);\n const { data } = await this.#api.Get(path);\n return data;\n } catch (error) {\n throw new Error(\"[Query]: Sorry, Unable to obtain child's locked badges.\");\n }\n }\n\n async fetchChildUnlockedBadges({ childId }) {\n try {\n const path = this.#paths.badges.unlockedBadges(childId);\n const { data } = await this.#api.Get(path);\n return data;\n } catch (error) {\n throw new Error(\"[Query]: Sorry, Unable to obtain child's unlocked badges.\");\n }\n }\n\n async fetchQuestionsRate() {\n try {\n const path = this.#paths.rate.questions;\n const { data } = await this.#api.Get(path);\n return data;\n } catch (error) {\n throw new Error('[Query]: Sorry, Unable to obtain rate questions.');\n }\n }\n\n async fetchWeekAnswersRate({ childId }) {\n try {\n const path = this.#paths.rate.weekAnswers(childId);\n const { data } = await this.#api.Get(path);\n return data;\n } catch (error) {\n throw new Error('[Query]: Sorry, Unable to obtain rate answers.');\n }\n }\n\n async fetchChildCoinsValues({ childId }) {\n try {\n const path = this.#paths.coinsUpdater.coinsValues(childId);\n const { data } = await this.#api.Get(path);\n return data;\n } catch (error) {\n throw new Error(\"[Query]: Sorry, Unable to obtain child's coins.\");\n }\n }\n\n async fetchChildCoinsPending({ childId }) {\n try {\n const path = this.#paths.coinsApproved.childCoinsPending(childId);\n const { data } = await this.#api.Get(path);\n return data;\n } catch (error) {\n throw new Error(\"[Query]: Sorry, Unable to obtain child's coins pending.\");\n }\n }\n}\n","export default class CommandsController {\n #api;\n #paths;\n constructor(requestService, paths, persisttance) {\n this.#api = requestService;\n this.#paths = paths;\n }\n\n async saveChildAvatarSelection({ childId, avatarId }) {\n try {\n const path = this.#paths.avatar.AvatarSelectionPath(childId);\n const { data } = await this.#api.Post(path, { avatar: avatarId });\n return data;\n } catch (error) {\n throw new Error('[Command]: We cant save your avatar.');\n }\n }\n\n async updateReward({ rewardId, body }) {\n try {\n const path = this.#paths.rewards.updateReward(rewardId);\n const { data: response } = await this.#api.Patch(path, body);\n return response;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not update the reward...');\n }\n }\n\n async deleteReward({ rewardId }) {\n try {\n const path = this.#paths.rewards.updateReward(rewardId);\n const { data: response } = await this.#api.Delete(path);\n return response;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not delete the reward...');\n }\n }\n\n async claimReward({ rewardId }) {\n try {\n const path = this.#paths.rewards.claimReward(rewardId);\n const { data: response } = await this.#api.Post(path);\n return response;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not claim the reward...');\n }\n }\n\n async createReward({ rewardData }){\n try {\n const path = this.#paths.rewards.newReward;\n const { data: response } = await this.#api.Post(path, rewardData);\n return response;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not create the reward...');\n }\n }\n\n async sendAnswersRate({ answersData }){\n try {\n const path = this.#paths.rate.rate;\n const { data: response } = await this.#api.Post(path, answersData);\n return response;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not send answers of rate...');\n }\n }\n \n async updateCoinstValues({ childId, coinsToUpdate }){\n try {\n const path = this.#paths.coinsUpdater.saveCoinsValues(childId);\n const { data: response } = await this.#api.Post(path, coinsToUpdate);\n return response;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not save coins values...');\n }\n }\n\n async acceptOrRejectCoins({ itemId, dataApproved }) {\n try {\n const path = this.#paths.coinsApproved.acceptOrRejectCoins(itemId);\n const { data } = await this.#api.Post(path, dataApproved);\n return data;\n } catch (error) {\n throw new Error('[Command]: Sorry, I have not accept or reject the coins.');\n }\n } \n}\n\n","const progress = {\n childCoinsInformation: (childId) => `/child/${childId}/getPointCount/`,\n};\n\nconst avatar = {\n AvatarBankPath: '/profile_avatar/',\n AvatarSelectionPath: (childId) => `/child/${childId}/avatar_setup/`,\n};\n\nconst ranking = {\n RankingInfoPath: (childId) => `/ranking/?count=10&user=${childId}`,\n};\n\nconst rewards = {\n newReward: `/rewards/`,\n defaultRewards: `/rewards/prepopulated/`,\n rewards: (childId) => `/child/${childId}/getRewards/`,\n updateReward: (rewardId) => `/rewards/${rewardId}/`,\n claimReward: (rewardId) => `/rewards/${rewardId}/claim/`,\n};\n\nconst badges = {\n lockedBadges: (childId) => `/child/${childId}/locked_badges/`,\n unlockedBadges: (childId) => `/child/${childId}/unlocked_badges/`,\n};\n\nconst rate = {\n rate: `/rate/`,\n questions: `/rate/getQuestions/`,\n weekAnswers: (childId) => `/rate/${childId}/getThisWeekAnswers/`,\n};\n\nconst coinsUpdater = {\n coinsValues: (childId) => `/child/${childId}/getCoinsValues/`,\n saveCoinsValues: (childId) => `/child/${childId}/setCoinsValues/`,\n};\n\nconst coinsApproved = {\n childCoinsPending: (childId) => `/child/${childId}/getCoinsPending/`,\n acceptOrRejectCoins: (itemId) => `/point/${itemId}/activate/`,\n};\n\nexport { progress, avatar, ranking, rewards, badges, coinsUpdater, rate, coinsApproved };\n","import apiContainer from '@/services/api';\nimport QueriesController from './queriesController.service';\nimport CommandsController from './commandController.service';\nimport * as Paths from '../paths';\n\nconst API = apiContainer.apiController();\nconst QueriesControllerFactory = () => new QueriesController(API, Paths);\nconst CommandsControllerFactory = () => new CommandsController(API, Paths);\n\nconst container = {\n queriesController: QueriesControllerFactory(),\n commandsController: CommandsControllerFactory(),\n};\n\nObject.freeze(container);\n\nexport default container;\n","import container from './CQRS';\n\nconst { queriesController, commandsController } = container;\n\nasync function getAvatarImagesBank() {\n try {\n return await queriesController.fethAvatarImagesBank();\n } catch (error) {\n throw new Error('[Service]: Oops!, The avatar list could not be obtained...');\n }\n}\n\nasync function getAvatarByChild({ childId }) {\n try {\n return await queriesController.fetchAvatarBychild({ childId });\n } catch (error) {\n throw new Error('[Service]: Oops!, we cant get your avatar...');\n }\n}\n\nasync function saveAvatarSelection({ childId, avatarId }) {\n try {\n return await commandsController.saveChildAvatarSelection({ childId, avatarId });\n } catch (error) {\n throw new Error('[Service]: Oops!, We cant save your avatar');\n }\n}\n\nasync function getRankingAndLevelInformation(childId) {\n try {\n return await queriesController.fetchRankingAndLevelInformation({ childId });\n } catch (error) {\n throw new Error('[Service]: Oops!, Ranking and level information could not be obtained.');\n }\n}\n\nasync function getCoinsInformation(childId) {\n try {\n return await queriesController.fetchCoinsInformation({ childId });\n } catch (error) {\n throw new Error(\n '[Service]: Oops!, We have not been able to obtain the information of the coins.',\n );\n }\n}\n\nasync function getRewardsChild(childId) {\n try {\n return queriesController.fetchRewards({ childId });\n } catch (error) {\n throw new Error('[Service]: Oops!, we were unable to obtain the rewards child');\n }\n}\n\nasync function setUpdateReward(rewardId, body) {\n try {\n return commandsController.updateReward({ rewardId, body });\n } catch (error) {\n throw new Error('[Service]: Oops!, we were unable to update the reward');\n }\n}\n\nasync function setDeleteReward(rewardId) {\n try {\n return commandsController.deleteReward({ rewardId });\n } catch (error) {\n throw new Error('[Service]: Oops!, we were unable to delete the reward');\n }\n}\n\nasync function setClaimReward(rewardId) {\n try {\n return commandsController.claimReward({ rewardId });\n } catch (error) {\n throw new Error('[Service]: Oops!, we were unable to claim the reward');\n }\n}\n\nasync function setCreateReward(rewardData) {\n try {\n return commandsController.createReward({ rewardData });\n } catch (error) {\n throw new Error('[Service]: Oops!, we were unable to create the reward');\n }\n}\n\nasync function getDefaultRewards() {\n try {\n return queriesController.fetchDefaultRewards();\n } catch (error) {\n throw new Error('[Service]: Oops!, we were unable to load the default rewards');\n }\n}\n\nasync function getChildLockedBadges({ childId }) {\n try {\n return await queriesController.fetchChildLockedBadges({ childId });\n } catch (error) {\n throw new Error(\"[Service]: Oops!, Unable to obtain child's locked badges.\");\n }\n}\n\nasync function getChildUnlockedBadges({ childId }) {\n try {\n return await queriesController.fetchChildUnlockedBadges({ childId });\n } catch (error) {\n throw new Error(\"[Service]: Oops!, Unable to obtain child's unlocked badges.\");\n }\n}\n\nasync function getQuestionsRate() {\n try {\n return await queriesController.fetchQuestionsRate();\n } catch (error) {\n throw new Error('[Service]: Oops!, Unable to obtain rate questions.');\n }\n}\n\nasync function setAnswersRate(answersData) {\n try {\n return await commandsController.sendAnswersRate({ answersData });\n } catch (error) {\n throw new Error('[Service]: Oops!, we were unable to send answers to rate .');\n }\n}\n\nasync function getWeekAnswersRate(childId) {\n try {\n return await queriesController.fetchWeekAnswersRate({ childId });\n } catch (error) {\n throw new Error('[Service]: Oops!, Unable to obtain rate answers.');\n }\n}\n\nasync function getChildCoinsValues({ childId }) {\n try {\n const fetchChildCoinsValues = await queriesController.fetchChildCoinsValues({ childId });\n return fetchChildCoinsValues;\n } catch (error) {\n throw new Error('[Service]: Oops!, It is not possible to obtain the values of the coins..');\n }\n}\n\nasync function updateCoinstValues({ childId, coinsToUpdate }) {\n try {\n const fetchChildCoinsValues = await commandsController.updateCoinstValues({\n childId,\n coinsToUpdate,\n });\n return fetchChildCoinsValues;\n } catch (error) {\n throw new Error('[Service]: Oops!, It is not possible to save the values of the coins..');\n }\n}\n\nasync function getChildCoinsPending(childId) {\n try {\n const fetchChildCoinsPending = await queriesController.fetchChildCoinsPending({ childId });\n return fetchChildCoinsPending;\n } catch (error) {\n throw new Error(\"[Service]: Oops!, Unable to obtain child's coins pending.\");\n }\n}\n\nasync function acceptOrRejectCoins(itemId, valueApproved) {\n try {\n const dataApproved = {\n value: valueApproved,\n };\n const fetchChildCoinsPending = await commandsController.acceptOrRejectCoins({\n itemId,\n dataApproved,\n });\n return fetchChildCoinsPending;\n } catch (error) {\n throw new Error('[Service]: Oops!, we were unable to accept or reject the coins.');\n }\n}\n\nexport {\n getAvatarImagesBank,\n getRankingAndLevelInformation,\n getCoinsInformation,\n saveAvatarSelection,\n getAvatarByChild,\n getRewardsChild,\n setUpdateReward,\n setDeleteReward,\n setClaimReward,\n setCreateReward,\n getDefaultRewards,\n getChildLockedBadges,\n getChildUnlockedBadges,\n getQuestionsRate,\n setAnswersRate,\n getWeekAnswersRate,\n getChildCoinsValues,\n updateCoinstValues,\n getChildCoinsPending,\n acceptOrRejectCoins,\n};\n","import Vue from 'vue';\nimport VueCookies from 'vue-cookies';\nimport VueRouter from 'vue-router';\nimport { Persistance, MainLayout, setSession, LoadingRoute, useSessionStore } from '@/common';\nimport { getPlatform } from '@/common/utils';\n\nVue.use(VueRouter);\nVue.use(VueCookies);\nlet loadingInstance = null;\n\nlet router = new VueRouter({\n mode: 'history',\n routes: [\n {\n path: '/',\n name: 'main',\n meta: {\n requiresAuth: true,\n },\n component: MainLayout,\n children: [\n {\n path: '/',\n redirect: () => 'home',\n },\n {\n path: '/approval-criterion',\n name: 'approval-criterion',\n component: () => import('@/views/ApprovalCriterion'),\n },\n {\n path: '/congrats',\n name: 'congrats',\n component: () => import('@/views/Congrats'),\n },\n {\n path: '/timer-task-list',\n name: 'timer-task-list',\n component: () => import('@/views/TimerTaskList'),\n },\n {\n path: '/task-timer/:Tid',\n name: 'task-timer',\n component: () => import('@/views/TaskTimer'),\n },\n {\n path: '/coins-detail/:id',\n name: 'coins-detail',\n component: () => import('@/views/AllowCoinsDetail'),\n },\n ],\n },\n { path: '*', component: () => import('@/common/views/Error404') },\n ],\n scrollBehavior(to, from, savedPosition) {\n return { x: 0, y: 0 };\n },\n});\n\nfunction mountingLoadingScreen() {\n if (loadingInstance) return;\n loadingInstance = new Vue({\n render: (element) => element(LoadingRoute),\n }).$mount();\n\n window.document.body.appendChild(loadingInstance.$el);\n}\n\nfunction disassemblingTheLoadingScreen() {\n if (loadingInstance) {\n loadingInstance.$destroy();\n window.document.body.removeChild(loadingInstance.$el);\n loadingInstance = null;\n }\n}\n\nfunction goToFirstTime(to) {\n const sessionStore = useSessionStore();\n if (to.name === 'home' && sessionStore.isFirstTime && !sessionStore.children.length)\n router.replace('first-time');\n}\n\nrouter.beforeEach((to, from, next) => {\n mountingLoadingScreen();\n const existsToken = Persistance.getPersistedVar('AccessToken');\n const route = to.path;\n let platform = 'Unknown';\n if (to.matched.some((record) => record.meta.requiresAuth)) {\n // this route requires auth, check if logged in\n // if not, redirect to login page.\n if (existsToken) {\n setSession({ route, device: getPlatform() });\n next(); // go to wherever I'm going\n } else {\n next({ name: 'login' });\n }\n } else {\n // If we already have a session and we want to go to the login, it will redirect us to home\n if (existsToken && to.matched.some((record) => record.name === 'login')) {\n next({ name: 'home' });\n } else {\n next(); // does not require auth, make sure to always call next()!\n }\n }\n});\n\nrouter.afterEach((to) => {\n goToFirstTime(to)\n disassemblingTheLoadingScreen();\n});\n\n// fix duplicate navigation error vue-router v3.5\nrouter.push = async function push(location) {\n try {\n await VueRouter.prototype.push.call(this, location);\n } catch (err) {\n if (err.name !== 'NavigationDuplicated') throw err;\n }\n};\n\nexport default router;\n","const Login = () => import(\"./views/common/Login\")\nconst Logout = () => import(\"./views/common/Logout\")\nconst ChildRegister = () => import(\"./views/child/ChildRegister\")\n\nconst publicRoutes = [{\n path: '/login',\n name: 'login',\n component: Login\n}]\n\nconst privateRoutes = [\n {\n path: '/child-register',\n name: 'child-register',\n component: ChildRegister\n },\n {\n path: '/logout',\n name: 'logout',\n component: Logout\n }\n]\n\nexport default router => {\n publicRoutes.forEach(element => {\n router.addRoute(element)\n });\n privateRoutes.forEach(element => {\n router.addRoute('main', element);\n })\n};","export const childrenInfoAdapter = (listOfChildren) => {\n return listOfChildren.map(({ child, parent_can_edit } = {}) => {\n return {\n id: child.id,\n childIsActive: child.account_access,\n name: child.name,\n lastName: child.last_name,\n themeSelection: child.themeSelection,\n avatar: child.avatar ?? require(`@/assets/avatar.png`),\n points: child.points,\n level: child.level,\n coins: child.coins,\n parentCanEdit: parent_can_edit,\n };\n });\n};\n","import { childrenInfoAdapter } from '@/auth/adapters/authAdapters';\n\nexport default class QueriesController {\n _requestService;\n _paths;\n _persistance;\n _store;\n\n constructor(requestService, paths, persistance, store) {\n this._requestService = requestService;\n this._paths = paths;\n this._persistance = persistance;\n this._store = store;\n }\n\n async fetchUserData() {\n return new Promise((resolve, reject) => {\n this._requestService\n .Get(this._paths.userInfo)\n .then(({ data }) => {\n let parentName = '';\n let parentId = '';\n if (data.parent) {\n let { id, name } = data.parent;\n parentName = name;\n parentId = id;\n }\n const profileInformation = {\n userType: data.is_child ? 'child' : 'parent',\n userId: data.id,\n isFirstTime: data.is_first_time,\n userName: data.name,\n userLastName: data.last_name,\n parentId: parentId,\n parentName: parentName,\n userEmail: data.email || '',\n };\n this.saveProfileData(profileInformation);\n resolve();\n })\n .catch((error) => {\n reject(error);\n });\n });\n }\n\n async fetchChildDataRequest(userId) {\n const { data } = await this._requestService.Get(this._paths.childInfoPath(userId));\n this._store.childInfo = childrenInfoAdapter([{ child: data }])[0];\n return data;\n }\n\n async fetchChildrenInfo(userId) {\n const { data } = await this._requestService.Get(this._paths.childrenInfoPath(userId));\n this._store.children = childrenInfoAdapter(data);\n return data;\n }\n\n async fetchParentDataRequest(userId) {\n const { data } = await this._requestService.Get(this._paths.parentInfoPath(userId));\n return data;\n }\n\n saveProfileData(profileInformation) {\n const {\n userType,\n userId,\n isFirstTime,\n userName,\n userLastName,\n parentId,\n parentName,\n userEmail,\n } = profileInformation;\n\n this._store.profileType = userType;\n this._store.userId = userId;\n this._store.isFirstTime = isFirstTime;\n this._store.userName = userName;\n this._store.userLastName = userLastName;\n this._store.childSelectedId = this._persistance.getPersistedVar('childSelected') ?? '';\n this._store.parentId = parentId;\n this._store.parentName = parentName;\n this._store.userEmail = userEmail;\n }\n}\n","const loginPath = '/auth/'\nconst passwordRecoveryPath = '/password-recovery/'\nconst userInfo = '/user_info/'\nconst childInfoPath = (userId) => `/child/${userId}/`\nconst parentInfoPath = (userId) => `/parent/${userId}/`\nconst registerChildPath = `/register/child/`\nconst childrenInfoPath = (userId) => `/parent/${userId}/getChildren/`\nconst refreshToken = `/refresh/`;\n\n//TODO: remove modules from here\nconst modulesListPath = '/module/';\n\nexport default {\n loginPath,\n passwordRecoveryPath,\n registerChildPath,\n userInfo,\n modulesListPath,\n childrenInfoPath,\n childInfoPath,\n parentInfoPath,\n refreshToken,\n};\n","import router from './router';\nimport apiContainer from '../services/api';\nimport CommandsController from './services/commandsController.service';\nimport QueriesController from './services/queriesController.service';\nimport Paths from './services/paths';\nimport { Persistance } from '@/common';\nimport { useSessionStore } from '@/common';\nimport { loadUserData, getChildrenData, persisteChildSelection, getChildData } from './services';\nimport { login } from './services';\n\nconst API = apiContainer.apiController();\n\nconst CommandsControllerFactory = () => new CommandsController(API, Paths, Persistance);\nconst QueriesControllerFactory = () =>\n new QueriesController(API, Paths, Persistance, useSessionStore());\n\nconst container = {\n commandsController: CommandsControllerFactory,\n queriesController: QueriesControllerFactory,\n persistanceController: Persistance,\n};\n\nObject.freeze(container);\n\nexport {\n router,\n container,\n loadUserData,\n getChildrenData,\n persisteChildSelection,\n getChildData,\n login,\n};\n","import container from '../container';\n\nasync function getChildPlans({ childId }) {\n return new Promise((resolve, reject) => {\n container\n .queriesController()\n .fetchChildPlans({ childId })\n .then(({ data }) => {\n resolve(data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n}\n\nasync function getPlansRememberOptions() {\n return new Promise((resolve, reject) => {\n container\n .queriesController()\n .fetchPlanRememberOptions()\n .then(({ data }) => {\n resolve(data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n}\n\nasync function createNewPlan({\n where_place,\n what_activities,\n how_remember,\n daysTime,\n whenCheckDays,\n extra_data,\n child,\n module,\n}) {\n const requestData = await container\n .commandsController()\n .createNewPlanRequest({\n where_place,\n what_activities,\n how_remember,\n daysTime,\n whenCheckDays,\n extra_data,\n child,\n module,\n });\n const response = {\n plan: {\n id: requestData.data.id,\n where_place: requestData.data.where_place,\n what_activities: requestData.data.what_activities,\n extra_data_how_remember: requestData.data.extra_data,\n what_days: requestData.data.daysTime.map((element) => {\n return {\n day_of_week: element.day,\n hour: element.hour,\n is_when_check_day: false,\n is_active: true,\n day_name: calculeDayName(element.day),\n };\n }),\n when_check_days: requestData.data.whenCheckDays.map((element) => {\n return {\n day_of_week: element.day,\n hour: element.hour,\n is_when_check_day: true,\n is_active: true,\n day_name: calculeDayName(element.day),\n };\n }),\n how_remember_id: requestData.data.how_remember,\n has_extra: requestData.data.extra_data != null,\n },\n coins: requestData.coins,\n description: requestData.description,\n points: requestData.points,\n };\n return response;\n}\n\nasync function editPlan({\n where_place,\n what_activities,\n how_remember,\n daysTime,\n whenCheckDays,\n extra_data,\n child,\n module,\n planId,\n parentEdit,\n}) {\n const requestData = await container\n .commandsController()\n .editPlanRequest({\n where_place,\n what_activities,\n how_remember,\n daysTime,\n whenCheckDays,\n extra_data,\n child,\n module,\n planId,\n parentEdit,\n });\n const response = {\n plan: {\n id: requestData.id,\n where_place: requestData.where_place,\n what_activities: requestData.what_activities,\n extra_data_how_remember: requestData.extra_data_how_remember,\n what_days: requestData.what_days.map((element) => {\n return {\n day_of_week: element.day_of_week,\n hour: element.hour,\n is_when_check_day: element.is_when_check_day,\n is_active: element.is_active,\n day_name: element.day_name,\n };\n }),\n when_check_days: requestData.when_check_days.map((element) => {\n return {\n day_of_week: element.day_of_week,\n hour: element.hour,\n is_when_check_day: element.is_when_check_day,\n is_active: element.is_active,\n day_name: element.day_name,\n };\n }),\n how_remember_id: requestData.how_remember_id,\n has_extra: requestData.has_extra,\n },\n };\n return response;\n}\n\nfunction calculeDayName(dayCode) {\n const days = {\n 1: 'Monday',\n 2: 'Tuesday',\n 3: 'Wednesday',\n 4: 'Thursday',\n 5: 'Friday',\n 6: 'Saturday',\n 7: 'Sunday',\n };\n return days[dayCode];\n}\n\nasync function getChildCheckList({ childId, date = null }) {\n return new Promise((resolve, reject) => {\n container\n .queriesController()\n .fetchCheckList({ childId, date })\n .then(({ data }) => {\n data.forEach((element) => {\n element.module['img'] = 'modules-0' + element.module.order;\n const datesResponse = {};\n const datesTypeResponse = {};\n element.dates.forEach((date) => {\n date.items.forEach((item) => {\n item['defParent'] = item['approvedParent'];\n item['defQualifiedParent'] = item['qualifiedParent'];\n item['defChild'] = item['approvedChild'];\n });\n datesResponse[date.date] = date.items;\n datesTypeResponse[`${date.date}-type`] = date.type;\n });\n element.dates = datesResponse;\n element.type = datesTypeResponse;\n });\n resolve(data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n}\n\nasync function getChecklistDates({ childId }) {\n return new Promise((resolve, reject) => {\n container\n .queriesController()\n .fetchChecklistDates({ childId })\n .then(({ data }) => {\n resolve(data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n}\n\nasync function saveChildCriteria({ module, child, items, parent }) {\n return await container.commandsController().addChildCriteria({ module, child, items, parent });\n}\n\nasync function getAllChecklistInformation({ childId }) {\n const initialDate = new Date().toLocaleDateString('en-CA');\n return new Promise((resolve, reject) => {\n Promise.all([\n container.queriesController().fetchCheckList({ childId, date: initialDate }),\n container.queriesController().fetchChecklistDates({ childId }),\n ])\n .then((result) => {\n const checkListInfo = result[0].data;\n const checkListDates = result[1].data;\n\n const checkListResult = checkListInfo.map((checkListItem) => {\n const dateItem = checkListDates.find(\n (element) => element.module.module_order == checkListItem.module.module_order,\n );\n const module = {\n ...checkListItem.module,\n img: `modules-0${checkListItem.module.module_order}`,\n };\n let dates = {};\n checkListItem.dates.forEach((date) => {\n const items = date.items.map((item) => {\n return {\n ...item,\n defParent: item['approvedParent'],\n defQualifiedParent: item['qualifiedParent'],\n defChild: item['approvedChild'],\n };\n });\n dates[date.date] = items;\n });\n let result = {\n ...checkListItem,\n module: module,\n dates: dates,\n };\n if (dateItem) {\n result['availableDates'] = dateItem.dates;\n }\n return result;\n });\n resolve(checkListResult);\n })\n .catch((error) => {\n reject(error);\n });\n });\n}\n\nasync function createCriterion({ module, childId, description, userId, value, tag }) {\n return await container\n .commandsController()\n .createCriterionRequest({ module, childId, description, userId, value, tag });\n}\n\nasync function updateCriterion({ itemId, name, coin_value }) {\n return await container.commandsController().updateCriterionRequest({ itemId, name, coin_value });\n}\n\nasync function deleteCriterion({ criterionId }) {\n return await container.commandsController().deleteCriterion({ criterionId });\n}\n\nasync function childApproveCriterion({ items, date }) {\n return await container.commandsController().childApproveCriterionRequest({ items, date });\n}\n\nasync function parentApproveCriterion({ items, date, child }) {\n let data = await container\n .commandsController()\n .parentApproveCriterionRequest({ items, date, child });\n return data;\n}\n\nfunction getFormattedDate(strdate, replaceTimeZone = false) {\n strdate = strdate.toString();\n if (replaceTimeZone || strdate.search('T') == -1) {\n let today = new Date();\n today.setHours(0, 0, 0);\n let strDateParts = strdate.split('T');\n let strTodayParts = today.toISOString().split('T');\n strdate = strDateParts[0] + 'T' + strTodayParts[1];\n }\n let date = new Date(strdate);\n let day = date.getDate();\n const months = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n ];\n const days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n let dayName = days[date.getDay()];\n let monthName = months[date.getMonth()];\n day = day < 10 ? '0' + day : day;\n let formatted = `${dayName}, ${monthName} ${day}`;\n return formatted;\n}\n\nasync function acceptOrRejectItemChecklist({ id, childId, isAccept }) {\n try {\n return await container\n .commandsController()\n .acceptOrRejectItemChecklist({ id, child: childId, value: isAccept });\n } catch (error) {\n throw new Error('[Checklist]: Ups!, i have a problem when try accept or reject the item');\n }\n}\n\nasync function editItemOrder(childId, newOrderCheckList) {\n const dataItem = { items: newOrderCheckList };\n try {\n return await container.commandsController().editItemOrder({ childId, dataItem });\n } catch (error) {\n throw new Error('[Service]: Oops!, I could not edit the project.');\n }\n}\n\nasync function getCriterionTagsList() {\n try {\n return await container.queriesController().fetchCriterionTagsList();\n } catch (error) {\n throw new Error('[Service]: Oops!, Cannot obtain the tags.');\n }\n}\n\nexport {\n calculeDayName,\n getChildPlans,\n getPlansRememberOptions,\n createNewPlan,\n editPlan,\n getChildCheckList,\n getChecklistDates,\n saveChildCriteria,\n getAllChecklistInformation,\n createCriterion,\n childApproveCriterion,\n parentApproveCriterion,\n updateCriterion,\n deleteCriterion,\n getFormattedDate,\n acceptOrRejectItemChecklist,\n editItemOrder,\n getCriterionTagsList,\n};\n","export default class CommandsController {\n _requestService;\n _paths;\n\n constructor(requestService, paths) {\n this._requestService = requestService;\n this._paths = paths;\n }\n\n dataToShareChild(infoToShareCHild) {\n const { assignToParentId, childList, assign, canEdit } = infoToShareCHild;\n\n return {\n parent_to_assign: assignToParentId,\n children: childList,\n assign,\n parent_can_edit: canEdit,\n };\n }\n dataToInviteParent(infoToShareCHild) {\n const { email, name, lastName, assignToParentId, childList, canEdit } = infoToShareCHild;\n\n return {\n email,\n name,\n last_name: lastName,\n parent_who_invites: assignToParentId,\n children_to_assign: childList,\n parent_can_edit: canEdit,\n };\n }\n\n async setSessionRequest({ route, device }) {\n let params = {\n route: route,\n device: device,\n };\n return new Promise((resolve, reject) => {\n this._requestService\n .Post(this._paths.SESSION_PATH, params)\n .then(({ data }) => {\n resolve(data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n }\n\n async sentComment({ user_id, email, message, is_child }) {\n try {\n const path = this._paths.ABOUT_COMMENT;\n const { data } = await this._requestService.Post(path, { user_id, email, message, is_child });\n return data;\n } catch (error) {\n throw new Error(error);\n }\n }\n\n async settingSentNitficationSetup({ isParent, userId, payload }) {\n const path = this._paths.SETTINGS_UPDATE_CONFIGURATION(isParent, userId);\n const { data } = await this._requestService.Patch(path, payload);\n return data;\n }\n\n async settingsUpdateTimeZone({ isParent, userId, payload }) {\n const path = this._paths.SETTINGS_GET_TIMEZONE_SETUP(isParent, userId);\n const { data } = await this._requestService.Post(path, payload);\n return data;\n }\n\n async setParentAssignChildren(infoToShareCHild) {\n try {\n const body = this.dataToShareChild(infoToShareCHild);\n const path = this._paths.PARENT_ASSIGN_CHILDREN(infoToShareCHild.parentId);\n const { data } = await this._requestService.Post(path, body);\n return data;\n } catch (error) {\n throw new Error('[Command]: Sorry, a child could not be assigned.');\n }\n }\n\n async setInviteParent(infoToShareCHild) {\n try {\n const body = this.dataToInviteParent(infoToShareCHild);\n const path = this._paths.INVITE_PARENT(infoToShareCHild.parentId);\n const { data } = await this._requestService.Post(path, body);\n return data;\n } catch (error) {\n throw new Error('[Command]: Sorry, father could not be invited.');\n }\n }\n\n async setChangeParentTheme({ parentId, themeId }) {\n try {\n const body = {\n themeSelection: themeId,\n };\n const path = this._paths.CHANGE_PARENT_THEME(parentId);\n const { data } = await this._requestService.Post(path, body);\n return data;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not change theme');\n }\n }\n\n async setChangeChildTheme({ childId, themeId }) {\n try {\n const body = {\n themeSelection: themeId,\n };\n const path = this._paths.CHANGE_CHILD_THEME(childId);\n const { data } = await this._requestService.Post(path, body);\n return data;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not change theme');\n }\n }\n\n async setParentInformation({ parentId, parentInformation }) {\n try {\n const body = {\n name: parentInformation.name,\n last_name: parentInformation.lastName,\n };\n const path = this._paths.UPDATE_PARENT(parentId);\n const { data } = await this._requestService.Patch(path, body);\n return data;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not update parent information');\n }\n }\n\n async setChildInformation({ parentId, childId, childformation }) {\n try {\n const body = childformation?.name\n ? {\n child: childId,\n name: childformation.name,\n last_name: childformation.lastName,\n }\n : { child: childId, account_access: childformation.isActive };\n\n const path = this._paths.UPDATE_CHILD(parentId);\n const { data } = await this._requestService.Patch(path, body);\n return data;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not update child information');\n }\n }\n}\n","export default class QueriesController {\n _requestService;\n _paths;\n constructor(requestService, paths) {\n this._requestService = requestService;\n this._paths = paths;\n }\n\n async fetchMotivationalMessage() {\n return await this._requestService.Get(this._paths.MOTIVATIONAL_MESSAGE_PATH);\n }\n\n async fetchAboutUs() {\n const path = this._paths.ABOUT_US;\n const { data } = await this._requestService.Get(path);\n return data.about_us;\n }\n\n async fetchAboutFaqs(queryParams) {\n try {\n const path = this._paths.ABOUT_FAQS(queryParams);\n const { data } = await this._requestService.Get(path);\n return data;\n } catch (error) {\n throw new Error('[Query]: Sorry, the FAQS could not be obtained.');\n }\n }\n\n async fetchFAQSTopics() {\n try {\n const path = this._paths.FAQS_TOPICS;\n const { data } = await this._requestService.Get(path);\n return data;\n } catch (error) {\n throw new Error('[Query]: Sorry, we had a problem getting the topics.');\n }\n }\n\n async settingsFetchTimeZones() {\n const path = this._paths.SETTINGS_TIMEZONES;\n const { data } = await this._requestService.Get(path);\n return data;\n }\n\n async settingsFetchTimeZone({ isParent, userId }) {\n const path = this._paths.SETTINGS_GET_TIMEZONE_SETUP(isParent, userId);\n const { data } = await this._requestService.Get(path);\n return data.value;\n }\n\n async settingFecthNotificationSetup({ isParent, userId }) {\n const path = this._paths.SETTINGS_NOTIFICATION_SETUP(isParent, userId);\n const { data } = await this._requestService.Get(path);\n return data;\n }\n\n async fetchTips() {\n const path = this._paths.GET_TIPS;\n const { data } = await this._requestService.Get(path);\n return data;\n }\n\n async fetchParentByEmail({ email }) {\n try {\n const path = this._paths.GET_PARENT_BY_EMAIL(email);\n const { data } = await this._requestService.Get(path);\n return data;\n } catch (error) {\n throw new Error('[Query]: Sorry, unregistered parent.');\n }\n }\n}\n\n","const MOTIVATIONAL_MESSAGE_PATH = 'configuration/motivationalMessage/';\nconst SESSION_PATH = '/session/';\nconst ABOUT_US = '/configuration/about_us/';\nconst ABOUT_FAQS = (queryParams) =>`/configuration/help/${queryParams}`;\nconst FAQS_TOPICS = '/configuration/help/topics/';\nconst ABOUT_COMMENT = '/configuration/feedback/';\nconst SETTINGS_TIMEZONES = '/timezone/';\nconst SETTINGS_NOTIFICATION_SETUP = (isParent, userId) =>\n `/${isParent ? 'parent' : 'child'}/${userId}/get_notification_setup/`;\nconst SETTINGS_GET_TIMEZONE_SETUP = (isParent, userId) =>\n `/${isParent ? 'parent' : 'child'}/${userId}/timezone_setup/`;\nconst SETTINGS_UPDATE_CONFIGURATION = (isParent, userId) =>\n `/${isParent ? 'parent' : 'child'}/${userId}/configure_notifications/`;\nconst GET_TIPS = '/tips/';\nconst GET_PARENT_BY_EMAIL = (email) => `/parent/filter_by_params/?email=${email}`;\nconst PARENT_ASSIGN_CHILDREN = (parentId) => `/parent/${parentId}/assign_children/`;\nconst INVITE_PARENT = (parentId) => `/parent/${parentId}/invite_parent/`;\nconst CHANGE_PARENT_THEME = (parentId) => `/parent/${parentId}/changeTheme/`;\nconst CHANGE_CHILD_THEME = (childId) => `/child/${childId}/changeTheme/`;\nconst UPDATE_PARENT = (parentId) => `/parent/${parentId}/`;\nconst UPDATE_CHILD = (parentId) => `/parent/${parentId}/update_child/`;\n\nexport default {\n MOTIVATIONAL_MESSAGE_PATH,\n SESSION_PATH,\n ABOUT_US,\n ABOUT_FAQS,\n ABOUT_COMMENT,\n FAQS_TOPICS,\n SETTINGS_TIMEZONES,\n SETTINGS_NOTIFICATION_SETUP,\n SETTINGS_GET_TIMEZONE_SETUP,\n SETTINGS_UPDATE_CONFIGURATION,\n GET_TIPS,\n GET_PARENT_BY_EMAIL,\n PARENT_ASSIGN_CHILDREN,\n INVITE_PARENT,\n CHANGE_PARENT_THEME,\n CHANGE_CHILD_THEME,\n UPDATE_PARENT,\n UPDATE_CHILD,\n};\n\n","import apiContainer from '@/services/api';\nimport CommandsController from './commandsController.service';\nimport QueriesController from './queriesController.service';\nimport Paths from '../paths';\n\nconst API = apiContainer.apiController();\nconst CommandsControllerFactory = () => new CommandsController(API, Paths);\nconst QueriesControllerFactory = () => new QueriesController(API, Paths);\n\nconst container = {\n queriesController: QueriesControllerFactory(),\n commandsController: CommandsControllerFactory(),\n};\n\nObject.freeze(container);\n\nexport default container;","import container from './CQRS';\n\nasync function getMotivationalMessage() {\n return new Promise((resolve, reject) => {\n container.queriesController\n .fetchMotivationalMessage()\n .then(({ data }) => {\n resolve(data.content);\n })\n .catch((error) => {\n reject(error.message);\n });\n });\n}\n\nasync function setSession({ route, device }) {\n return await container.commandsController.setSessionRequest({ route, device });\n}\n\nasync function getAboutUsInfo() {\n try {\n return await container.queriesController.fetchAboutUs();\n } catch (error) {\n throw new Error('[Service]: Opss!, we had a problem getting the information we needed.');\n }\n}\n\nasync function getFAQS({ search, type }) {\n const queryParams =\n search && type ? `?${new URLSearchParams({ [type]: search }).toString()}` : '';\n try {\n return await container.queriesController.fetchAboutFaqs(queryParams);\n } catch (error) {\n throw new Error('[Service]: Opss!, we had a problem getting the FAQS.');\n }\n}\n\nasync function getFAQSTopics() {\n try {\n return await container.queriesController.fetchFAQSTopics();\n } catch (error) {\n throw new Error('[Service]: Opss!, we had a problem getting the topics.');\n }\n}\n\nasync function sentComment({ user_id, email, message, is_child }) {\n try {\n return await container.commandsController.sentComment({ user_id, email, message, is_child });\n } catch (error) {\n throw new Error('[Service]: Opss!, we cant sent the comment...');\n }\n}\n\nasync function getTimeZones() {\n try {\n return await container.queriesController.settingsFetchTimeZones();\n } catch (error) {\n throw new Error('[Service]: Opss!, we had a problem getting the timezones...');\n }\n}\n\nasync function getTimezone(userIsParent, userId) {\n try {\n return await container.queriesController.settingsFetchTimeZone({\n isParent: userIsParent,\n userId,\n });\n } catch (error) {\n console.log(error);\n }\n}\n\nasync function getNotificationSetup(userIsParent, userId) {\n try {\n return await container.queriesController.settingFecthNotificationSetup({\n isParent: userIsParent,\n userId,\n });\n } catch (error) {\n throw new Error('[Service]: Opss!, we had a problem getting the setup to the notifications...');\n }\n}\n\nasync function updateConfiguration(userIsParent, userId, payload) {\n try {\n const data = { ...payload, ...payload.notifications };\n return await container.commandsController.settingSentNitficationSetup({\n isParent: userIsParent,\n userId,\n payload: data,\n });\n } catch (error) {\n throw new Error('[Service]: Opss!, we had a problem sent the setup...');\n }\n}\n\nasync function updateTimeZone(userIsParent, userId, time_zone) {\n try {\n return await container.commandsController.settingsUpdateTimeZone({\n isParent: userIsParent,\n userId,\n payload: { time_zone },\n });\n } catch (error) {\n throw new Error('[Service]: Opss!, we had a problem sent the setup...');\n }\n}\n\nasync function getTips() {\n try {\n return await container.queriesController.fetchTips();\n } catch (error) {\n throw new Error('[Service]: Opps!, we had a problem getting the tips...');\n }\n}\n\nasync function getParentByEmail(email) {\n try {\n return await container.queriesController.fetchParentByEmail({ email });\n } catch (error) {\n throw new Error('[Service]: Opps!, a child could not be assigned.');\n }\n}\n\nasync function setParentAssignChildren(infoToShareCHild) {\n try {\n return await container.commandsController.setParentAssignChildren(infoToShareCHild);\n } catch (error) {\n throw new Error('[Service]: Opps!, unregistered parent.');\n }\n}\n\nasync function setInviteParent(infoToShareCHild) {\n try {\n return await container.commandsController.setInviteParent(infoToShareCHild);\n } catch (error) {\n throw new Error('[Service]: Opps!, father could not be invited.');\n }\n}\n\nasync function setChangeParentTheme(parentId, themeId) {\n try {\n return await container.commandsController.setChangeParentTheme({ parentId, themeId });\n } catch (error) {\n throw new Error('[Service]: Opps!, father could not change theme');\n }\n}\n\nasync function setChangeChildTheme(childId, themeId) {\n try {\n return await container.commandsController.setChangeChildTheme({ childId, themeId });\n } catch (error) {\n throw new Error('[Service]: Opps!, child could not change theme');\n }\n}\n\nasync function updateParentInformation(parentId, parentInformation) {\n try {\n return await container.commandsController.setParentInformation({ parentId, parentInformation });\n } catch (error) {\n throw new Error('[Service]: Opss!, I could not update parent information');\n }\n}\n\nasync function updateChildInformation(parentId, childId, childformation) {\n try {\n return await container.commandsController.setChildInformation({ parentId, childId, childformation});\n } catch (error) {\n throw new Error('[Service]: Opss!, I could not update child information');\n }\n}\n\n\nexport {\n getMotivationalMessage,\n setSession,\n getAboutUsInfo,\n getFAQS,\n getFAQSTopics,\n sentComment,\n getTimeZones,\n getTimezone,\n getNotificationSetup,\n updateConfiguration,\n updateTimeZone,\n getTips,\n getParentByEmail,\n setParentAssignChildren,\n setInviteParent,\n setChangeParentTheme,\n setChangeChildTheme,\n updateParentInformation,\n updateChildInformation,\n};\n\n","import { modulesAdapter, getSurveysAdapter } from '@/module/adapters';\n\nexport default class QueriesController {\n #api;\n #paths;\n constructor(requestService, paths) {\n this.#api = requestService;\n this.#paths = paths;\n }\n\n async fetchModuleSkills() {\n const path = this.#paths.learnSkills.skills;\n const { data } = await this.#api.Get(path);\n return modulesAdapter(data);\n }\n\n async fetchModules({ childId }) {\n const path = this.#paths.activeModules.modules(childId);\n const { data } = await this.#api.Get(path);\n return modulesAdapter(data);\n }\n\n async fecthSkillLessons({ id }) {\n const path = this.#paths.learnSkills.lessonBySkillId(id);\n const { data } = await this.#api.Get(path);\n return data;\n }\n\n async fecthLessonDetail(lessonId) {\n const path = this.#paths.learnSkills.lessonDetail(lessonId);\n const { data } = await this.#api.Get(path);\n return data;\n }\n\n async fetchClasses({ childId }) {\n const path = this.#paths.manageClasses.classes(childId);\n const { data } = await this.#api.Get(path);\n return data;\n }\n\n async fetchSurveys() {\n try {\n const path = this.#paths.surveys.getSurveys;\n const { data } = await this.#api.Get(path);\n return getSurveysAdapter(data);\n } catch (error) {\n throw new Error('[Query]: Sorry, Unable to obtain the surveys.');\n }\n }\n}\n","export default class QueriesController {\n #api;\n #paths;\n constructor(requestService, paths) {\n this.#api = requestService;\n this.#paths = paths;\n }\n\n async activateModules({ childId, modules }) {\n try {\n const path = this.#paths.activeModules.activateModules(childId);\n const { data: response } = await this.#api.Post(path, { modules });\n return response;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not activate the modules...');\n }\n }\n\n async markLessonAsComplete(lessonId) {\n try {\n const path = this.#paths.learnSkills.lessonMarkAsComplete(lessonId);\n const { data: response } = await this.#api.Post(path, { value: true });\n return response;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not mark the lesson as completed.');\n }\n }\n\n async infoIsHelpfull({ helpful = false, lessonId }) {\n try {\n const path = this.#paths.learnSkills.lessonInfoIsHelpful(lessonId);\n const data = {\n helpful: helpful ? 'helpful' : 'unhelpful',\n };\n const { data: response } = await this.#api.Post(path, data);\n return response;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not update if the information was helpful.');\n }\n }\n\n async markvideoAsViewed(lessonId) {\n try {\n const path = this.#paths.learnSkills.lessonvideoisViewed(lessonId);\n const { data: response } = await this.#api.Post(path, { value: true });\n return response;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not update if the information to the video.');\n }\n }\n\n async createClass({ childId, name }) {\n try {\n const path = this.#paths.manageClasses.createClass;\n const { data: response } = await this.#api.Post(path, { child: childId, name: name });\n return response;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not create the class...');\n }\n }\n\n async deleteClass(classId) {\n try {\n const path = this.#paths.manageClasses.deleteClass(classId);\n const { data: response } = await this.#api.Delete(path);\n return response;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not delete the class...');\n }\n }\n\n async updateClasses(classesList) {\n try {\n const path = this.#paths.manageClasses.updateClasses;\n const { data: response } = await this.#api.Post(path, { items: classesList });\n return response;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not create the class...');\n }\n }\n}\n","const learnSkills = {\n skills: '/module/',\n lessonBySkillId: (id) => `/module/${id}/pages/`,\n lessonDetail: (lessonId) => `/module/${lessonId}/getTopicInfo/`,\n lessonInfoIsHelpful: (lessonId) => `/module/${lessonId}/topicHelpful/`,\n lessonMarkAsComplete: (lessonId) => `/module/${lessonId}/topicViewed/`,\n lessonvideoisViewed: (lessonId) => `/module/${lessonId}/videoWatched/`,\n};\n\nconst activeModules = {\n modules: (childId) => `/child/${childId}/getAllModulesValues/`,\n activateModules: (childId) => `/child/${childId}/setModulesValue/`,\n};\n\nconst manageClasses = {\n createClass: `/subject/`,\n updateClasses: `/subject/updateSubjects/`,\n classes: (childId) => `/child/${childId}/getClasses/`,\n deleteClass: (classId) => `/subject/${classId}/`,\n};\n\nconst surveys = {\n getSurveys: `/surveys/`,\n};\nexport { learnSkills, activeModules, manageClasses, surveys };\n","import apiContainer from '@/services/api';\nimport QueriesController from './queriesController.service';\nimport CommandsController from './commandController.service';\nimport * as Paths from '../paths';\n\nconst API = apiContainer.apiController();\nconst QueriesControllerFactory = () => new QueriesController(API, Paths);\nconst CommandsControllerFactory = () => new CommandsController(API, Paths);\n\nconst container = {\n queriesController: QueriesControllerFactory(),\n commandsController: CommandsControllerFactory(),\n};\n\nObject.freeze(container);\n\nexport default container;\n","import container from './CQRS';\n\nconst { queriesController, commandsController } = container;\n\nasync function getModules(childId) {\n try {\n return await queriesController.fetchModules({ childId });\n } catch (error) {\n throw new Error('[Service]: Oops!, we were unable to obtain the modules...');\n }\n}\n\nasync function getModuleSkills() {\n try {\n return await queriesController.fetchModuleSkills();\n } catch (error) {\n throw new Error('[service]: Oops!, we were unable to obtain the skills');\n }\n}\n\nasync function setModulesToActivate({ childId = '', modules = [], modulesSelected = [] }) {\n try {\n const modulesMapped = modules.map(({module, module_order}) => ({\n module,\n unlocked: modulesSelected.includes(module_order),\n }));\n return await commandsController.activateModules({ childId, modules: modulesMapped });\n } catch (error) {\n throw new Error();\n }\n}\n\nasync function getSkillLessonsById({ id }) {\n try {\n return await queriesController.fecthSkillLessons({ id });\n } catch (error) {\n throw new Error('[service]: Oops!, we were unable to obtain the lesson by the skill');\n }\n}\n\nasync function getLessonDetail(lessonId) {\n try {\n const data = await queriesController.fecthLessonDetail(lessonId);\n const { viewed, date, helpful, watched_video, watched_video_date } = data;\n return { viewed, date, helpful, watched_video, watched_video_date };\n } catch (error) {\n throw new Error('[Service]: Oops!, we were unable to obtain the lesson detail...');\n }\n}\n\nasync function setInfoIsHelpfull({ helpful, lessonId }) {\n try {\n return commandsController.infoIsHelpfull({ helpful, lessonId });\n } catch (error) {\n console.error(error);\n throw new Error('[Service]: Oops!, We had a problem updating the information...');\n }\n}\n\nasync function markVideoisViewed(lessonId) {\n try {\n return commandsController.markvideoAsViewed(lessonId);\n } catch (error) {\n console.error(error);\n throw new Error('[Service]: Oops!, We had a problem updating the information...');\n }\n}\n\nasync function markLessonAsComplete(lessonId) {\n try {\n return commandsController.markLessonAsComplete(lessonId);\n } catch (error) {\n console.error(error);\n throw new Error('[Service]: Oops!, We had a problem updating the information...');\n }\n}\n\nasync function getClasses(childId) {\n try {\n return await queriesController.fetchClasses({ childId });\n } catch (error) {\n throw new Error('[Service]: Oops!, we were unable to obtain the classes...');\n }\n}\n\nasync function setClassToNew({ childId, name }) {\n try {\n return await commandsController.createClass({ childId, name });\n } catch (error) {\n throw new Error('[Service]: Oops!, we were unable to creating the class new...');\n }\n}\n\nasync function deleteClass(classId) {\n try {\n return await commandsController.deleteClass(classId);\n } catch (error) {\n throw new Error('[Service]: Oops!, we were unable to deleting the classes...');\n }\n}\n\nasync function updateCheckClasses(classesList) {\n try {\n return await commandsController.updateClasses(classesList);\n } catch (error) {\n throw new Error('[Service]: Oops!, we were unable to updating the classes...');\n }\n}\n\nasync function getSurveys() {\n try {\n return await queriesController.fetchSurveys();\n } catch (error) {\n throw new Error('[Service]: Oops!, Unable to obtain the surveys.');\n }\n}\n\nexport {\n getModules,\n getModuleSkills,\n setModulesToActivate,\n getSkillLessonsById,\n getLessonDetail,\n setInfoIsHelpfull,\n markVideoisViewed,\n markLessonAsComplete,\n getClasses,\n setClassToNew,\n deleteClass,\n updateCheckClasses,\n getSurveys,\n};\n","import Vue from 'vue'\nimport axios from 'axios'\nimport VueAxios from 'vue-axios'\n\nconst baseURL = process.env.VUE_APP_BASEURL \n\naxios.defaults.baseURL = baseURL\nVue.use(VueAxios, axios)\nexport default VueAxios","import { defineStore } from 'pinia';\n\nconst useNotificationStore = defineStore('notification', {\n state: () => {\n return {\n total: 0,\n };\n },\n actions: {\n updateTotal(total) {\n this.total = total;\n },\n decrementTotalNotification() {\n this.total--;\n },\n },\n});\n\nexport { useNotificationStore };\n","import { defineStore } from 'pinia';\nimport { USER_TYPES } from '@/common/utils';\n\nconst useSessionStore = defineStore('session', {\n state: () => {\n return {\n profileType: '',\n userId: '',\n children: [],\n childInfo: {},\n childSelectedId: '',\n userName: '',\n userLastName: '',\n parentName: '',\n themeSelection: '',\n isFirstTime: false,\n userEmail: '',\n };\n },\n actions: {\n setProfileType(type) {\n this.profileType = type;\n },\n setThemeSelection(selection) {\n this.themeSelection = selection;\n },\n setUserInfo(userInfo) {\n this.userName = userInfo.name;\n this.userLastName = userInfo.last_name;\n this.userEmail = userInfo.user.email;\n },\n setChildInfo(childInfo) {\n this.children = this.children.map((child) => {\n if (child.id === childInfo.id) {\n return {\n ...child,\n name: childInfo.name,\n lastName: childInfo.last_name,\n avatar: childInfo?.avatar?.image || child.avatar,\n childIsActive: childInfo.account_access,\n };\n }\n return child;\n });\n },\n },\n getters: {\n userIsAParent: (state) => state.profileType === USER_TYPES.PARENT,\n childName: (state) =>\n state.profileType === USER_TYPES.PARENT && state.childSelectedId !== ''\n ? state.children.find((children) => children.id == Number(state.childSelectedId))?.name\n : state.userName,\n getCurrentChild: (state) => {\n const isChildValid = state.childSelectedId !== '';\n const isParent = state.profileType === USER_TYPES.PARENT;\n if (!isChildValid || !isParent) return state.childInfo;\n\n const currentChild = state.children.find(\n (children) => children.id == Number(state.childSelectedId),\n );\n return currentChild;\n },\n },\n});\n\nexport { useSessionStore };\n","import { defineStore } from 'pinia';\n\nconst useLearnSkillsStore = defineStore('learnSkill', {\n state: () => {\n return {\n lessons: [],\n };\n },\n getters: {\n getLessonById: (state) => {\n return (lessonId) => state.lessons.find((lesson) => Number(lesson.id) === Number(lessonId));\n },\n getLessons: (state) => {\n return () => state.lessons;\n },\n },\n actions: {\n setLessons(lessons) {\n this.lessons = lessons;\n },\n resetLessons() {\n this.lessons = [];\n },\n },\n});\n\nexport { useLearnSkillsStore };\n","export * from './notifications.store';\nexport * from './session.store';\nexport * from './learnSkill.store';\n","function formattedCoinValue(coinValue) {\n return coinValue > 999 ? '+999' : coinValue;\n}\nexport { formattedCoinValue };\n","const palette = [\n { color: 'blue-palette' },\n { color: 'green-palette' },\n { color: 'rose-palette' },\n { color: 'yellow-palette' },\n];\nconst menuItems = [\n [\n {\n title: 'Home',\n img: 'home',\n router: '/',\n publicItem: true,\n },\n {\n title: 'Coins to Approve',\n img: '',\n router: '/allow-coins',\n enable: true,\n publicItem: false,\n },\n {\n title: 'Checklist',\n img: 'check_circle',\n router: '/checklist',\n enable: true,\n publicItem: true,\n },\n {\n title: 'Calendar',\n img: 'date_range',\n router: '/my-calendar',\n enable: true,\n publicItem: true,\n },\n {\n title: 'Student Tasks',\n img: 'assignment',\n router: '/tasks',\n enable: true,\n publicItem: true,\n },\n {\n title: 'Students Plans',\n img: 'grade',\n router: '/plan',\n enable: true,\n publicItem: true,\n },\n {\n title: 'Rewards',\n img: 'redeem',\n router: '/rewards',\n enable: true,\n publicItem: true,\n },\n {\n title: 'Progress',\n img: 'insights',\n router: '/progress',\n enable: true,\n publicItem: true,\n },\n {\n title: 'Leaderboard',\n img: 'emoji_events',\n router: '/ranking',\n enable: true,\n publicItem: true,\n },\n {\n title: 'Students Projects',\n img: 'folder_open',\n router: '/my-projects',\n enable: true,\n publicItem: true,\n },\n {\n title: 'Badges',\n img: 'new_releases',\n router: '/badges',\n enable: true,\n publicItem: true,\n },\n ],\n // Divider\n [\n {\n title: 'Learn skills',\n img: 'settings',\n router: '/learn-skills',\n enable: true,\n publicItem: true,\n },\n {\n title: 'Surveys',\n img: 'poll',\n router: '/surveys',\n enable: true,\n publicItem: false,\n },\n {\n title: 'FAQ',\n img: '',\n router: '/about',\n enable: true,\n publicItem: true,\n },\n {\n title: 'Tips',\n img: '',\n router: '/tips',\n enable: true,\n publicItem: true,\n },\n ],\n // Divider\n [\n {\n title: 'Change Student',\n img: 'people',\n router: '/childList',\n enable: true,\n publicItem: false,\n },\n {\n title: 'Coin Updater',\n img: 'bubble_chart',\n router: '/coins-updater',\n enable: true,\n publicItem: false,\n },\n {\n title: 'Activate Modules',\n img: 'check_circle',\n router: '/activate-modules',\n enable: true,\n publicItem: false,\n },\n {\n title: 'Manage Classes',\n img: 'class',\n router: '/manage-classes',\n enable: true,\n publicItem: false,\n },\n {\n title: 'Settings',\n img: '',\n router: '/settings',\n publicItem: true,\n },\n {\n title: 'Add Student',\n img: 'person_add',\n router: '/child-register',\n enable: true,\n publicItem: false,\n },\n ],\n // Divider\n [\n {\n title: 'Theme',\n img: '',\n router: null,\n palette: palette,\n publicItem: true,\n },\n ],\n // Divider\n [\n {\n title: 'Log out',\n img: '',\n router: '/logout',\n publicItem: true,\n },\n ],\n];\n\nconst titleMappings = {\n 'Student Tasks': 'My Tasks',\n 'Students Plans': 'My Plans',\n 'Students Projects': 'My Projects',\n};\n\nfunction getMenuItems(userIsParent) {\n const customizedMenu = JSON.parse(JSON.stringify(menuItems));\n\n if (userIsParent) {\n return customizedMenu;\n }\n\n customizedMenu.forEach((group) => {\n group.forEach((item) => {\n if (titleMappings[item.title]) {\n item.title = titleMappings[item.title];\n }\n });\n });\n\n return customizedMenu.map((itemsGroup) => itemsGroup.filter((item) => item.publicItem));\n}\n\nfunction getThemeColor(indexId) {\n return palette[indexId].color;\n}\n\nexport { getMenuItems, getThemeColor };\n","const EMAIL_REGEX = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/i;\n\nexport { EMAIL_REGEX };\n\n","function getPlatform() {\n const userAgent = navigator.userAgent.toLowerCase();\n const platformMap = {\n android: 'Android',\n ios: 'iOS',\n win: 'Windows',\n mac: 'Mac',\n linux: 'Linux',\n };\n const platform = Object.keys(platformMap).find((key) => new RegExp(key, 'i').test(userAgent));\n if (platform) {\n return platformMap[platform];\n }\n \n return 'OS unknown';\n }\n\n export { getPlatform };","const GENRE_OPTIONS = [\n { value: 'male', text: 'Male' },\n { value: 'female', text: 'Female' },\n];\n\nconst USER_TYPES = {\n PARENT: 'parent',\n CHILD: 'child',\n};\n\nexport { GENRE_OPTIONS, USER_TYPES };\n","export * from './Date';\nexport * from './Layout';\nexport * from './RegularExpressions';\nexport * from './getPlatform';\nexport * from './coinsValueFormat';\nexport * from './constants';\n","export default class QueriesController {\n _api;\n _paths;\n constructor(requestService, paths) {\n this._api = requestService;\n this._paths = paths;\n }\n\n Command(execute) {\n return { execute };\n }\n\n getNotificationsQuery({ userId, userIsAParent }) {\n const api = this._api;\n const path = this._paths.NOTIFICATION_LIST_PATH(userId, userIsAParent);\n return this.Command(async function() {\n const {\n data: { notifications: _notifications, total },\n } = await api.Get(path);\n return {\n notifications: _notifications,\n total,\n };\n });\n }\n}\n\n","function Command(execute) {\n this.execute = execute;\n}\n\nconst interfaceCommandsController = {\n api: '',\n paths: '',\n store: '',\n};\n\nexport function CommandsController({ api, paths } = interfaceCommandsController) {\n const _api = api;\n const _paths = paths;\n\n function markAsReadNotification(notificationId) {\n const path = _paths.MARK_NOTIFICATION_AS_READ(notificationId);\n return new Command(async () => {\n await _api.Post(path, { unread: false });\n });\n }\n\n function markAllNotificationAsRead(childId) {\n const path = _paths.MARK_ALL_NOTIFICATIONS_AS_READ(childId);\n return new Command(async () => {\n await _api.Post(path);\n });\n }\n\n function acceptOrRejectItem({ id, isAccept, child }) {\n const path = _paths.ACCEPT_OR_REJECT_ITEM(id);\n return new Command(async () => await _api.Post(path, { value: isAccept }));\n }\n\n return {\n markAsReadNotification,\n markAllNotificationAsRead,\n acceptOrRejectItem,\n };\n}\n","const NOTIFICATION_LIST_PATH = (childId, isAParent) =>\n `/child/${childId}/get_notification_list/?isParent=${isAParent}`;\n\nconst MARK_NOTIFICATION_AS_READ = (notificationId) => `/notification/${notificationId}/mark_read/`;\n\nconst MARK_ALL_NOTIFICATIONS_AS_READ = (childId) => `/child/${childId}/NotificationMarkAllAsRead/`;\n\nconst ACCEPT_OR_REJECT_ITEM = (id) => `/point/${id}/activate/`;\n\nexport default {\n NOTIFICATION_LIST_PATH,\n MARK_NOTIFICATION_AS_READ,\n MARK_ALL_NOTIFICATIONS_AS_READ,\n ACCEPT_OR_REJECT_ITEM,\n};\n","import apiContainer from '../services/api';\nimport QueriesController from './services/queriesController.service';\nimport { CommandsController } from './services/commandsControlles.service';\nimport Paths from './services/paths';\n\nconst QueriesControllerFactory = () => new QueriesController(apiContainer.apiController(), Paths);\nconst CommandsControllerFactory = () =>\n new CommandsController({ api: apiContainer.apiController(), paths: Paths });\n\nconst container = {\n queriesController: QueriesControllerFactory(),\n commandsController: CommandsControllerFactory(),\n};\n\nObject.freeze(container);\n\nexport default container;\n","import container from '../container';\n\nfunction notificationsManager() {\n const _notifications = [];\n\n return {\n execute(command, ...args) {\n return command.execute(_notifications, ...args);\n },\n };\n}\n\nconst _notificationsManager = notificationsManager();\n\nasync function getNotifications(userId, userIsAParent) {\n try {\n return _notificationsManager.execute(\n container.queriesController.getNotificationsQuery({ userId, userIsAParent }),\n );\n } catch (error) {\n throw new Error('[Error]: get notifications request failed');\n }\n}\n\nasync function marksAsReadNotification({ notificationId, date }) {\n try {\n return _notificationsManager.execute(\n container.commandsController.markAsReadNotification(notificationId, date),\n );\n } catch (error) {\n throw new Error('Ups!, we cant mark the notification as readed');\n }\n}\n\nasync function markAllNotificationAsRead({ childId }) {\n try {\n return _notificationsManager.execute(\n container.commandsController.markAllNotificationAsRead(childId),\n );\n } catch (error) {\n throw new Error('Ups!, we cant mark all notifications as read');\n }\n}\n\n/**\n * @TODO\n * @description: Move method to coin module.\n * */\nasync function acceptOrRejectItem({ id, isAccept }) {\n try {\n return await _notificationsManager.execute(\n container.commandsController.acceptOrRejectItem({ id, isAccept }),\n );\n } catch (error) {\n throw new Error(\n '[Notifications]: Oops, sorry, we are having trouble accepting or declining the item, please try again later.',\n );\n }\n}\n\nexport { getNotifications, marksAsReadNotification, markAllNotificationAsRead, acceptOrRejectItem };\n","const Plans = () => import('./views/PlansView');\nconst CheckList = () => import('./views/CheckListView');\n\nconst routes = [\n {\n path: '/plan',\n name: 'plans',\n component: Plans\n },\n {\n path: '/plan/:moduleOrder',\n name: 'planDetail',\n component: Plans\n },\n {\n path: '/checkList',\n name: 'checkList',\n component: CheckList\n },\n {\n path: '/checkList/:checkListId',\n name: 'checkListId',\n component: CheckList\n },\n];\n\nexport default router => {\n routes.forEach(element => {\n router.addRoute('main', element);\n });\n};\n","export default class QueriesController{\n _requestService;\n _paths;\n constructor(requestService, paths){\n this._requestService = requestService\n this._paths = paths\n }\n\n async fetchChildPlans({childId}){\n return await this._requestService.Get(this._paths.FETCH_CHILD_PLANS_PATH(childId))\n }\n\n async fetchPlanRememberOptions(){\n return await this._requestService.Get(this._paths.FETCH_REMEMBER_OPTIONS_PLAN_PATH)\n }\n\n async fetchCheckList({childId, date=null}){\n let params = date?{date:date}:{}\n return await this._requestService.Get(this._paths.CHILD_CHECKLIST_PATH(childId),params)\n }\n\n async fetchChecklistDates({childId}){\n return await this._requestService.Get(this._paths.CHILD_CHECKLIST_DATES(childId))\n }\n async fetchCriterionTagsList(){\n try {\n const path = this._paths.CRITERION_TAGS_LIST\n const { data } = await this._requestService.Get(path)\n return data;\n } catch (error) {\n throw new Error('[Query]: Sorry, Cannot obtain the tags.');\n }\n }\n}","export default class CommandsController {\n _requestService;\n _paths;\n\n constructor(requestService, paths) {\n this._requestService = requestService;\n this._paths = paths;\n }\n\n async createNewPlanRequest({\n where_place,\n what_activities,\n how_remember,\n daysTime,\n whenCheckDays,\n extra_data,\n child,\n module,\n }) {\n let params = {\n where_place,\n what_activities,\n how_remember,\n daysTime,\n whenCheckDays,\n extra_data,\n child,\n module,\n };\n if (params.extra_data === '') {\n delete params.extra_data;\n }\n return new Promise((resolve, reject) => {\n this._requestService\n .Post(this._paths.CREATE_PLAN_PATH, params)\n .then(({ data }) => {\n resolve(data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n }\n\n async editPlanRequest({\n where_place,\n what_activities,\n how_remember,\n daysTime,\n whenCheckDays,\n extra_data,\n child,\n module,\n planId,\n parentEdit,\n }) {\n let params = {\n where_place,\n what_activities,\n how_remember,\n daysTime,\n whenCheckDays,\n extra_data_how_remember: extra_data,\n child,\n module,\n parentEdit: parentEdit,\n };\n if (params.extra_data_how_remember === '') {\n delete params.extra_data_how_remember;\n }\n return new Promise((resolve, reject) => {\n this._requestService\n .Put(this._paths.EDIT_PLAN_PATH(planId), params)\n .then(({ data }) => {\n resolve(data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n }\n\n async addChildCriteria({ module, child, items, parent }) {\n let params = {\n module,\n child,\n items,\n parent,\n };\n return new Promise((resolve, reject) => {\n this._requestService\n .Post(this._paths.CHECKLIST_CREATION_PATH, params)\n .then(({ data }) => {\n resolve(data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n }\n\n async createCriterionRequest({ module, childId, description, userId, value, tag }) {\n let params = {\n module,\n child: childId,\n description,\n user: userId,\n value,\n };\n if (tag) {\n params.tag = tag\n }\n return new Promise((resolve, reject) => {\n this._requestService\n .Post(this._paths.CREATE_CRITERION_PATH, params)\n .then(({ data }) => {\n resolve(data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n }\n\n async updateCriterionRequest({ itemId, name, coin_value }) {\n let params = {\n description: name,\n value: coin_value,\n };\n return new Promise((resolve, reject) => {\n this._requestService\n .Post(this._paths.UPDATE_CRITERIA_PATH(itemId), params)\n .then(({ data }) => {\n resolve(data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n }\n\n async deleteCriterion({ criterionId }) {\n return new Promise((resolve, reject) => {\n this._requestService\n .Delete(this._paths.CHECKLIST_ITEM_PATH(criterionId))\n .then(({ data }) => {\n resolve(data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n }\n\n async childApproveCriterionRequest({ items, date }) {\n let params = { items, date };\n return new Promise((resolve, reject) => {\n this._requestService\n .Post(this._paths.CHILD_CHECKLIST_VALUATE_PATH, params)\n .then(({ data }) => {\n resolve(data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n }\n\n async parentApproveCriterionRequest({ items, date, child }) {\n let params = { items, date, child };\n return new Promise((resolve, reject) => {\n this._requestService\n .Post(this._paths.PARENT_CHECKLIST_VALUATE_PATH, params)\n .then(({ data }) => {\n resolve(data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n }\n\n async acceptOrRejectItemChecklist({ id, child, value }) {\n const path = this._paths.ACCEPT_OR_REJECT_CHECKLIST(id);\n const params = { child, value };\n return await this._requestService.Post(path, params);\n }\n\n async editItemOrder({ childId, dataItem }) {\n try {\n const path = this._paths.CHANGE_ITEM_ORDER(childId);\n const { data } = await this._requestService.Post(path, dataItem);\n return data;\n } catch (error) {\n throw new Error('[Command]: Sorry, I could not edit item index');\n }\n }\n\n}\n","const FETCH_CHILD_PLANS_PATH = (childId) => `/child/${childId}/getPlans/`;\nconst CREATE_PLAN_PATH = '/plan/';\nconst EDIT_PLAN_PATH = (planId) => `/plan/${planId}/`;\nconst FETCH_REMEMBER_OPTIONS_PLAN_PATH = '/plan/getOptions/';\n\nconst CHILD_CHECKLIST_PATH = (childId) => `/child/${childId}/getChecklists/`;\nconst CHECKLIST_CREATION_PATH = `/checklist/`;\nconst CHILD_CHECKLIST_DATES = (childId) => `/child/${childId}/getChecklistsDates/`;\nconst CREATE_CRITERION_PATH = '/checklist/createCriteria/';\nconst CHECKLIST_ITEM_PATH = (itemId) => `/checklistItem/${itemId}/`;\nconst CHILD_CHECKLIST_VALUATE_PATH = '/checklist/childValuate/';\nconst CRITERION_TAGS_LIST = '/checklist/tags/';\nconst PARENT_CHECKLIST_VALUATE_PATH = '/checklist/parentValuate/';\nconst UPDATE_CRITERIA_PATH = (itemId) => `/checklistItem/${itemId}/update_criteria/`;\nconst ACCEPT_OR_REJECT_CHECKLIST = (id) => `/checklist/${id}/parentItemValuate/`;\nconst CHANGE_ITEM_ORDER = (childId) => `/child/${childId}/change_index/`\n\nexport default {\n //Plans\n FETCH_CHILD_PLANS_PATH,\n CREATE_PLAN_PATH,\n EDIT_PLAN_PATH,\n FETCH_REMEMBER_OPTIONS_PLAN_PATH,\n\n //Checklist\n CHILD_CHECKLIST_PATH,\n CHECKLIST_CREATION_PATH,\n CHILD_CHECKLIST_DATES,\n CREATE_CRITERION_PATH,\n CHECKLIST_ITEM_PATH,\n CHILD_CHECKLIST_VALUATE_PATH,\n CRITERION_TAGS_LIST,\n UPDATE_CRITERIA_PATH,\n PARENT_CHECKLIST_VALUATE_PATH,\n ACCEPT_OR_REJECT_CHECKLIST,\n CHANGE_ITEM_ORDER\n};\n\n","import router from './router';\nimport container from './container';\nimport apiContainer from '../services/api';\nimport QueriesController from './services/queriesController.service';\nimport CommandsController from './services/commandsController.service';\nimport Paths from './services/paths';\nimport { acceptOrRejectItemChecklist } from './services'\n\nconst QueriesControllerFactory = () =>\n new QueriesController(apiContainer.apiController(), Paths);\n\nconst CommandsControllerFactory = () =>\n new CommandsController(apiContainer.apiController(), Paths);\n\ncontainer.queriesController = QueriesControllerFactory;\ncontainer.commandsController = CommandsControllerFactory;\n\nObject.freeze(container);\n\nexport { router, acceptOrRejectItemChecklist };\n","const RewardsFormView = () => import('./views/RewardsFormView');\nconst RewardsBankFormView = () => import('./views/RewardsBankFormView');\nconst RewardsView = () => import('./views/RewardsView');\nconst RankingView = () => import('@/gamification/views/RankingView');\nconst BadgesView = () => import('@/gamification/views/BadgesView');\nconst RateView = () => import('@/gamification/views/RateView');\nconst CoinsUpdaterView = () => import('@/gamification/views/CoinsUpdaterView');\nconst Coins = () => import('@/gamification/views/CoinsView');\n\nconst routes = [\n {\n path: '/rewards',\n name: 'rewards',\n component: RewardsView,\n },\n {\n path: '/new-reward',\n name: 'rewards-form',\n component: RewardsFormView,\n },\n {\n path: '/rewards-bank',\n name: 'rewards-bank',\n component: RewardsBankFormView,\n },\n {\n path: '/ranking',\n name: 'ranking',\n component: RankingView,\n },\n {\n path: '/badges',\n name: 'badges',\n component: BadgesView,\n },\n {\n path: '/rate',\n name: 'rate',\n component: RateView,\n },\n {\n path: '/coins-updater',\n name: 'coins-updater',\n component: CoinsUpdaterView,\n },\n {\n path: '/allow-coins',\n name: 'allow-coins',\n component: Coins,\n },\n];\n\nexport default (router) => {\n routes.forEach((element) => {\n router.addRoute('main', element);\n });\n};\n","import router from './router';\nimport {\n getAvatarImagesBank,\n getRankingAndLevelInformation,\n getCoinsInformation,\n saveAvatarSelection,\n getAvatarByChild,\n getChildLockedBadges,\n getChildUnlockedBadges,\n getChildCoinsValues,\n updateCoinstValues,\n} from './services';\n\nexport {\n router,\n getAvatarImagesBank,\n getRankingAndLevelInformation,\n getCoinsInformation,\n saveAvatarSelection,\n getAvatarByChild,\n getChildLockedBadges,\n getChildUnlockedBadges,\n getChildCoinsValues,\n updateCoinstValues,\n};\n","import { container } from '@/auth';\nimport { saveAvatarSelection } from '@/gamification';\nimport { useSessionStore } from '@/common';\n\nconst { queriesController , commandsController, persistanceController } = container;\n\nfunction persisteChildSelection(childId) {\n persistanceController.persistValue('childSelected', childId);\n const store = useSessionStore();\n store.childSelectedId = childId;\n}\n\nasync function getChildData(childId) {\n const { avatar } = await queriesController().fetchChildDataRequest(childId);\n return { avatar };\n}\n\nasync function getChildrenData(parentId) {\n const requestResponse = await queriesController().fetchChildrenInfo(parentId);\n const childList = requestResponse.map((element) => {\n return element.child;\n });\n return childList;\n}\n\nasync function loadUserData() {\n try {\n await queriesController().fetchUserData();\n const store = useSessionStore();\n const userId = store.userId;\n const requestResponse = store.userIsAParent\n ? await queriesController().fetchParentDataRequest(userId)\n : await queriesController().fetchChildDataRequest(userId);\n store.themeSelection = requestResponse.themeSelection;\n } catch (error) {\n throw new Error('[Service]: Oops!, Failed to get user information ');\n }\n}\n\nasync function login({ username, password }) {\n await commandsController().loginRequest({ username, password });\n}\n\nasync function logout() {\n await persistanceController.removeAll();\n}\n\nasync function recoveryPassword({ email }) {\n await commandsController().recoverPasswordRequest({ email });\n}\n\nasync function registerChild({\n name,\n last_name,\n modulesUnlocked,\n email,\n birthdate,\n password,\n re_password,\n avatarId,\n profile_gender,\n}) {\n try {\n const registerChild = await commandsController().registerChild({\n name,\n last_name,\n modulesUnlocked,\n email,\n birthdate,\n password,\n re_password,\n profile_gender,\n });\n const { id } = registerChild;\n persisteChildSelection(id);\n if (avatarId > 0) {\n await saveAvatarSelection({ childId: id, avatarId: avatarId });\n }\n return registerChild;\n } catch (error) {\n throw new Error('[Service]: Oops!, Failed to register child.');\n }\n}\n\nasync function setRefreshToken({ refreshToken }) {\n return await commandsController().setRefreshToken({ refreshToken });\n}\n\nexport {\n persisteChildSelection,\n getChildData,\n getChildrenData,\n loadUserData,\n login,\n logout,\n recoveryPassword,\n registerChild,\n setRefreshToken,\n};\n"],"sourceRoot":""}