{"version":3,"sources":["webpack:///./node_modules/core-js/internals/engine-ff-version.js","webpack:///./src/helpers/tuitionfees/unauthorized-helper.ts","webpack:///./src/helpers/tuitionfees/download-helper.ts","webpack:///./src/helpers/id-helper.ts","webpack:///./src/views/TuitionFees/TuitionFeeHome.vue?fdbe","webpack:///./src/services/tuition-fees/invoice-service.ts","webpack:///./src/views/TuitionFees/TuitionFeeHome.vue","webpack:///./src/views/TuitionFees/TuitionFeeHome.vue?3f09","webpack:///./src/helpers/date-helper.ts","webpack:///./src/components/tuition-fees/MirroringUserBanner.vue?6eb6","webpack:///./node_modules/core-js/modules/es.array.sort.js","webpack:///./node_modules/core-js/internals/engine-webkit-version.js","webpack:///./src/views/TuitionFees/TuitionFeeHome.vue?454b","webpack:///./node_modules/dayjs/dayjs.min.js","webpack:///./node_modules/core-js/modules/es.string.replace-all.js","webpack:///./src/components/tuition-fees/MirroringUserBanner.vue?3f8c","webpack:///./src/components/tuition-fees/MirroringUserBanner.vue","webpack:///./src/components/tuition-fees/MirroringUserBanner.vue?1d4b","webpack:///./src/services/download-service.ts","webpack:///./node_modules/core-js/internals/engine-is-ie-or-edge.js"],"names":["userAgent","firefox","match","module","exports","UnauthorizedHelper","currentUser","isMirroringUser","getItem","IsMirroringUser","isEmployee","entitlements","includes","console","warn","this","routeToUnauthorized","openLogin","url","popupParams","window","open","push","name","DownloadHelper","invoiceNo","commit","downloadInvoice","then","catch","e","error","result","IdHelper","lucatId","state","currentUserId","luEduPersonPrimaryId","personalId","env","n","_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","key","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_44","_hoisted_45","_hoisted_46","render","_ctx","_cache","$props","$setup","$data","$options","_component_MirroringUserBanner","_component_router_link","_component_Table","personName","unpaidInvoices","length","rows","hiddenColumns","overrideColWidthCalculation","td","data","col","default","getDateClass","val","row","amountDue","totalAmount","pending","formatDate","to","params","fakNr","_","innerHTML","paidInvoices","href","onClick","$event","endpointController","endpointRoute","parameterName","parameterArgument","getInvoices","baseApiUrl","fetch","components","MirroringUserBanner","Table","computed","methods","$store","mirroredUser","MirroredUser","displayName","getPersonalId","response","filter","invoice","payFlag","mapInvoices","sort","a","b","parseInt","finally","date","dueDate","amountDueString","totalAmountString","paymentIsRunningLate","invoiceIsNotFullyPaid","now","Date","dateAisBeforeDateB","addDaysToDate","convertToInt","invoices","map","description","links","value","replaceAll","getCurrentEntitlements","getters","getCurrentUser","checkIfUserIsStudentOrAdminMirroringUser","log","mounted","__exports__","DateHelper","dateA","dateB","isBefore","isAfter","format","DateFormat","earlierDate","laterDate","diff","days","add","toDate","isSame","$","uncurryThis","aCallable","toObject","lengthOfArrayLike","toString","fails","internalSort","arrayMethodIsStrict","FF","IE_OR_EDGE","V8","WEBKIT","test","un$Sort","FAILS_ON_UNDEFINED","undefined","FAILS_ON_NULL","STRICT_METHOD","STABLE_SORT","code","chr","index","String","fromCharCode","k","v","charAt","FORCED","getSortCompare","comparefn","x","y","target","proto","forced","array","itemsLength","items","arrayLength","webkit","t","r","i","s","u","o","f","h","c","d","l","M","weekdays","split","months","m","Array","join","g","z","utcOffset","Math","abs","floor","year","month","clone","ceil","p","w","D","ms","Q","toLowerCase","replace","S","args","arguments","O","locale","$L","utc","$u","$x","$offset","parse","prototype","$d","NaN","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","startOf","endOf","$g","set","unix","valueOf","getTime","apply","slice","$locale","weekStart","$set","min","daysInMonth","get","Number","round","subtract","invalidDate","meridiem","YY","YYYY","MM","MMM","monthsShort","MMMM","DD","dd","weekdaysMin","ddd","weekdaysShort","dddd","H","HH","hh","A","mm","ss","SSS","Z","getTimezoneOffset","toJSON","toISOString","toUTCString","T","forEach","extend","$i","isDayjs","en","Ls","global","call","requireObjectCoercible","isCallable","isRegExp","getMethod","regExpFlags","getSubstitution","wellKnownSymbol","IS_PURE","REPLACE","RegExpPrototype","RegExp","TypeError","getFlags","indexOf","stringSlice","max","stringIndexOf","string","searchValue","fromIndex","replaceValue","IS_REG_EXP","flags","replacer","searchString","functionalReplace","searchLength","advanceBy","replacement","position","endOfLastMatch","_component_font_awesome_icon","icon","$t","nullLucatId","shortPersonalId","id","onStopMirroringClicked","props","type","required","substr","setItem","$router","DownloadService","fromDateIsoString","feeDataExportType","enpointRoute","paramName_1","paramValue_1","paramName_2","paramValue_2","paramName_3","paramValue_3","queryString","paramName","paramValue","UA"],"mappings":"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","file":"assets/js/chunk-488d0b9f.736c492a.js","sourcesContent":["var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","import SessionStorageService from \"@/services/sessionstorage-service\";\nimport { SessionStorageKeys } from \"@/constants/constants\";\nimport router from \"@/router\";\nimport { IUser } from \"@/interfaces/IUser\";\n\nclass UnauthorizedHelper {\n /**\n * The function checks if the current user is a student or an admin mirroring a user and returns a boolean value based on the conditions.\n * @param {IUser | undefined} currentUser - Represents the current user who is interacting with the system.\n * If the user is not logged in, the `currentUser` parameter wil be `undefined` otherwise it will contain the user's information.\n * @returns Returns a boolean value representing whether the current user is an admin mirroring a user.\n * If the current user is not logged in, the function will open a popup log in window to authorize the user.\n * If the current user is logged in but is not an admin mirroring a user or a student,\n * the function will redirect the user to the \"Unauthorized\" page.\n */\n checkIfUserIsStudentOrAdminMirroringUser(\n currentUser: IUser | undefined\n ): boolean {\n const isMirroringUser = SessionStorageService.getItem(\n SessionStorageKeys.IsMirroringUser\n );\n\n const isEmployee = currentUser\n ? currentUser.entitlements?.includes(\"Employee\")\n : false;\n\n if (!isMirroringUser || isMirroringUser === \"false\") {\n if (!currentUser) {\n this.openLogin();\n } else if (isEmployee) {\n console.warn(\n \"🚀 ~ UnauthorizedHelper ~ routing to unauthorized:\",\n currentUser\n );\n\n this.routeToUnauthorized();\n }\n }\n\n return isMirroringUser === \"true\";\n }\n\n /**\n * Opens a a popup log in window to authorize the user.\n * It is called when the user is not logged in and tries to access a page that requires authentication.\n */\n private openLogin() {\n const url = `${process.env.VUE_APP_BASE_API_URL}authorize`;\n const popupParams =\n \"scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no\";\n window.open(url, \"Login\", popupParams);\n }\n\n /**\n * Redirects the user to the \"Unauthorized\" page.\n * It is called when the user is logged in but is not a student and tries to access a page that requires student privileges.\n */\n private routeToUnauthorized() {\n router.push({\n name: \"Unauthorized\",\n });\n }\n}\n\nexport default new UnauthorizedHelper();\n","import store from \"@/store\";\nimport DownloadService from \"@/services/download-service\";\n\nclass DownloadHelper {\n /**\n * Downloads the specified invoice as a PDF file\n */\n async downloadInvoice(invoiceNo: string) {\n store.commit(\"showSpinner\", true);\n\n const result = await DownloadService.downloadInvoice(invoiceNo)\n .then(() => {\n store.commit(\"showSpinner\", false);\n })\n .catch((e: Error) => {\n console.error(e);\n });\n return result;\n }\n}\n\nexport default new DownloadHelper();\n","import store from \"@/store\";\n\nclass IdHelper {\n /**\n * Returns a luEduPersonPrimaryId dependent on the environment and if a querystring parameter has been retrieved\n * Querystring parameter can be used in the URL to imitate note takers\n * ?lucatid=fr5643li\n */\n getLuEduPersonPrimaryId(lucatId: string): string {\n const currentUser = store.state.currentUser;\n const currentUserId = currentUser ? currentUser.luEduPersonPrimaryId : \"\";\n\n const luEduPersonPrimaryId = currentUser?.entitlements?.includes(\n \"SuperAdmin\"\n )\n ? lucatId ?? currentUserId\n : currentUserId;\n\n return luEduPersonPrimaryId;\n }\n\n /**\n * Returns a personalId dependent on the environment and if a querystring parameter has been retrieved\n * Querystring parameter can be used in the URL to imitate another user\n * ?personalId=123456789123\n */\n getPersonalId(personalId: string): string {\n const currentUser = store.state.currentUser;\n const currentUserId = currentUser ? currentUser.personalId : \"\";\n const env = process.env.VUE_APP_ENV_NAME;\n\n if (!personalId) {\n return currentUserId;\n }\n\n const result =\n env === \"Development\" ||\n env === \"Test\" ||\n currentUser?.entitlements?.includes(\"SuperAdmin\") ||\n currentUser?.entitlements?.includes(\"Tuition fees administratör\")\n ? personalId ?? currentUserId\n : currentUserId;\n\n return result;\n }\n}\n\nexport default new IdHelper();\n","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, withCtx as _withCtx, createVNode as _createVNode, withModifiers as _withModifiers, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-70ca1fa2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h1\", { class: \"page-heading\" }, \"Tuition Fees\", -1))\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, \" Here you can find information about your tuition fees and how to pay them. \", -1))\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, \" An invoice is issued in advance of each semester of study, with payment due before the start of the semester. \", -1))\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, \" Note that if you have been awarded a scholarship, the scholarship amount will be deducted from your invoice below. No invoice will be made if you have been awarded a full scholarship. \", -1))\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, \" Tuition fees do not apply for exchange students, PhD students or EU/EEA students. \", -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, \" You can make your payment by credit/debit card (Visa, MasterCard) online. The amount will then be withdrawn from your bank account immediately. You can also transfer the money to our account number. (Note that in the event of a possible refund at a later stage, the payment would be made to the same account as the original payment was made from.) \", -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, \" Please see further instructions regarding payment methods by clicking on \\\"Payment by card\\\", or \\\"Payment by bank transfer\\\" in the menu below. \", -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, \" The status of the invoice will change to \\\"paid\\\" when the amount has been received and registered at Lund University. This may take a couple of days. You will also receive an email that confirms your payment. \", -1))\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", { class: \"page-heading\" }, \"Unpaid invoices\", -1))\nconst _hoisted_10 = { key: 1 }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"em\", null, \"You have no unpaid invoices.\", -1))\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_13 = [\n _hoisted_11,\n _hoisted_12\n]\nconst _hoisted_14 = {\n key: 0,\n class: \"invoice-no\"\n}\nconst _hoisted_15 = { key: 1 }\nconst _hoisted_16 = { key: 2 }\nconst _hoisted_17 = { key: 3 }\nconst _hoisted_18 = { key: 4 }\nconst _hoisted_19 = { key: 5 }\nconst _hoisted_20 = { key: 1 }\nconst _hoisted_21 = { key: 0 }\nconst _hoisted_22 = /*#__PURE__*/_createTextVNode(\"Payment by card\")\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_24 = /*#__PURE__*/_createTextVNode(\"Payment by bank transfer\")\nconst _hoisted_25 = { key: 1 }\nconst _hoisted_26 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"em\", null, \"Payment in progress\", -1))\nconst _hoisted_27 = [\n _hoisted_26\n]\nconst _hoisted_28 = [\"innerHTML\"]\nconst _hoisted_29 = { key: 3 }\nconst _hoisted_30 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", { class: \"page-heading\" }, \"Paid invoices\", -1))\nconst _hoisted_31 = { key: 3 }\nconst _hoisted_32 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"em\", null, \"You have no paid invoices.\", -1))\nconst _hoisted_33 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_34 = [\n _hoisted_32,\n _hoisted_33\n]\nconst _hoisted_35 = {\n key: 0,\n class: \"invoice-no\"\n}\nconst _hoisted_36 = { key: 1 }\nconst _hoisted_37 = { key: 2 }\nconst _hoisted_38 = { key: 3 }\nconst _hoisted_39 = { key: 4 }\nconst _hoisted_40 = { key: 5 }\nconst _hoisted_41 = {\n key: 0,\n class: \"invoice-no\"\n}\nconst _hoisted_42 = { key: 1 }\nconst _hoisted_43 = [\"innerHTML\"]\nconst _hoisted_44 = { key: 3 }\nconst _hoisted_45 = { key: 4 }\nconst _hoisted_46 = [\"onClick\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_MirroringUserBanner = _resolveComponent(\"MirroringUserBanner\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Table = _resolveComponent(\"Table\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (this.isMirroringUser)\n ? (_openBlock(), _createBlock(_component_MirroringUserBanner, {\n key: 0,\n personalId: _ctx.personalId,\n personName: _ctx.personName,\n lucatId: _ctx.lucatId\n }, null, 8, [\"personalId\", \"personName\", \"lucatId\"]))\n : _createCommentVNode(\"\", true),\n _hoisted_1,\n _hoisted_2,\n _hoisted_3,\n _hoisted_4,\n _hoisted_5,\n _hoisted_6,\n _hoisted_7,\n _hoisted_8,\n _hoisted_9,\n (_ctx.unpaidInvoices.length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, _hoisted_13))\n : _createCommentVNode(\"\", true),\n (_ctx.unpaidInvoices.length > 0)\n ? (_openBlock(), _createBlock(_component_Table, {\n key: 2,\n rows: _ctx.unpaidInvoices,\n hiddenColumns: ['pending'],\n overrideColWidthCalculation: true\n }, {\n td: _withCtx((data) => [\n (data.col === 'fakNr')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_14, \"Invoice no.\"))\n : _createCommentVNode(\"\", true),\n (data.col === 'totalAmount')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_15, \"Total amount (SEK)\"))\n : _createCommentVNode(\"\", true),\n (data.col === 'amountDue')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_16, \"Amount due (SEK)\"))\n : _createCommentVNode(\"\", true),\n (data.col === 'dueDate')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_17, \"Due date\"))\n : _createCommentVNode(\"\", true),\n (data.col === 'description')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_18, \"Description\"))\n : (data.col === 'links')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_19, \" \"))\n : _createCommentVNode(\"\", true)\n ]),\n default: _withCtx((data) => [\n (data.col === 'dueDate')\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass(\n _ctx.getDateClass(\n data.val,\n data.row.amountDue,\n data.row.totalAmount,\n data.row.pending\n )\n )\n }, _toDisplayString(_ctx.formatDate(data.val)), 3))\n : (data.col === 'links')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_20, [\n (!data.row.pending)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_21, [\n _createVNode(_component_router_link, {\n to: {\n name: 'CardPayment',\n params: { invoiceNo: data.row.fakNr },\n }\n }, {\n default: _withCtx(() => [\n _hoisted_22\n ]),\n _: 2\n }, 1032, [\"to\"]),\n _hoisted_23,\n _createVNode(_component_router_link, {\n to: {\n name: 'BankTransfer',\n params: { invoiceNo: data.row.fakNr },\n }\n }, {\n default: _withCtx(() => [\n _hoisted_24\n ]),\n _: 2\n }, 1032, [\"to\"])\n ]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_25, _hoisted_27))\n ]))\n : (data.col === 'description')\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 2,\n innerHTML: data.val,\n class: \"wrap-content\"\n }, null, 8, _hoisted_28))\n : (data.col !== 'dueDate' && data.col !== 'links')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_29, _toDisplayString(data.val), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"rows\"]))\n : _createCommentVNode(\"\", true),\n _hoisted_30,\n (_ctx.paidInvoices.length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_31, _hoisted_34))\n : _createCommentVNode(\"\", true),\n (_ctx.paidInvoices.length > 0)\n ? (_openBlock(), _createBlock(_component_Table, {\n key: 4,\n rows: _ctx.paidInvoices,\n hiddenColumns: ['amountDue', 'pending'],\n overrideColWidthCalculation: true\n }, {\n td: _withCtx((data) => [\n (data.col === 'fakNr')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_35, \"Invoice no.\"))\n : _createCommentVNode(\"\", true),\n (data.col === 'totalAmount')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_36, \"Total amount (SEK)\"))\n : _createCommentVNode(\"\", true),\n (data.col === 'amountDue')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_37, \"Amount due (SEK)\"))\n : _createCommentVNode(\"\", true),\n (data.col === 'dueDate')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_38, \"Due date\"))\n : _createCommentVNode(\"\", true),\n (data.col === 'description')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_39, \"Description\"))\n : (data.col === 'links')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_40, \" \"))\n : _createCommentVNode(\"\", true)\n ]),\n default: _withCtx((data) => [\n (data.col === 'fakNr')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_41, _toDisplayString(data.val), 1))\n : _createCommentVNode(\"\", true),\n (data.col === 'dueDate')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_42, _toDisplayString(_ctx.formatDate(data.val, data.row.amountDue, data.row.totalAmount)), 1))\n : (data.col === 'description')\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 2,\n innerHTML: data.val,\n class: \"wrap-content\"\n }, null, 8, _hoisted_43))\n : (\n data.col !== 'fakNr' && data.col !== 'dueDate' && data.col !== 'links'\n )\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_44, _toDisplayString(data.val), 1))\n : (data.col === 'links')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_45, [\n _createElementVNode(\"a\", {\n href: \"javascript:void(0);\",\n onClick: _withModifiers(($event: any) => (_ctx.downloadInvoice(data.row.fakNr)), [\"prevent\"])\n }, \"Download invoice\", 8, _hoisted_46)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"rows\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","import { Invoice } from \"@/interfaces/api\";\nimport BaseService from \"@/services/base-service\";\n\nclass InvoiceService extends BaseService {\n /**\n * Fetches all invoices for the person with the specified national id\n *\n * @param {string} personalId - The national id of the person to get invoices for\n * @returns {Promise>} A promise with a list of Invoices\n */\n async getInvoices(personalId: string): Promise> {\n const endpointController = \"Invoice\";\n const endpointRoute = \"nationalId\";\n const parameterName = \"nationalId\";\n const parameterArgument = personalId;\n const getInvoices = `${this.baseApiUrl}api/${endpointController}/${endpointRoute}?${parameterName}=${parameterArgument}`;\n return this.fetch>(getInvoices);\n }\n}\n\nexport default new InvoiceService();\n","\nimport { Options, Vue } from \"vue-class-component\";\nimport Table from \"@/components/Table.vue\";\nimport MirroringUserBanner from \"@/components/tuition-fees/MirroringUserBanner.vue\";\nimport { SessionStorageKeys } from \"@/constants/constants\";\nimport DateHelper from \"@/helpers/date-helper\";\nimport IdHelper from \"@/helpers/id-helper\";\nimport DownloadHelper from \"@/helpers/tuitionfees/download-helper\";\nimport UnauthorizedHelper from \"@/helpers/tuitionfees/unauthorized-helper\";\nimport { Invoice, TfPerson } from \"@/interfaces/api\";\nimport InvoiceService from \"@/services/tuition-fees/invoice-service\";\nimport SessionStorageService from \"@/services/sessionstorage-service\";\n\n@Options({\n components: { MirroringUserBanner, Table },\n data: () => ({\n /**\n * The current user object\n */\n currentUser: {},\n /**\n * The unpaid invoices\n */\n unpaidInvoices: [],\n /**\n * The paid invoices\n */\n paidInvoices: [],\n /**\n * The personal id of the user being mirrored by admin\n */\n personalId: \"\",\n /**\n * The name of the user being mirrored by admin\n */\n personName: \"\",\n /**\n * The lucat id of the user being mirrored by admin\n */\n lucatId: \"\",\n /**\n * A boolean to indicate if tfp-admin is mirroring user or not\n * to access TuitionFeeHome\n */\n isMirroringUser: false,\n }),\n computed: {},\n methods: {\n getInvoices() {\n this.$store.commit(\"showSpinner\", true);\n\n const mirroredUser: TfPerson | undefined = SessionStorageService.getItem(\n SessionStorageKeys.MirroredUser\n );\n\n if (mirroredUser) {\n this.personalId = mirroredUser.personalId;\n this.personName = mirroredUser.displayName;\n this.lucatId = mirroredUser.luEduPersonPrimaryId;\n }\n\n const personalId = IdHelper.getPersonalId(this.personalId);\n\n InvoiceService.getInvoices(personalId)\n .then((response) => {\n const unpaidInvoices = response.filter(\n (invoice: Invoice) => !invoice.payFlag || invoice.payFlag === \"0\"\n );\n\n this.unpaidInvoices = this.mapInvoices(unpaidInvoices);\n\n const paidInvoices = response.filter(\n (invoice: Invoice) => invoice.payFlag === \"1\"\n );\n\n this.paidInvoices = this.mapInvoices(paidInvoices);\n this.paidInvoices.sort((a: Invoice, b: Invoice) => {\n return parseInt(b.fakNr) - parseInt(a.fakNr);\n });\n })\n .catch((e: Error) => {\n console.error(e);\n })\n .finally(() => {\n this.$store.commit(\"showSpinner\", false);\n });\n },\n /*\n * Formats the date to YYYY-MM-DD\n */\n formatDate(date: Date): string {\n return DateHelper.formatDate(date);\n },\n /*\n * Checks if the invoice is running late or partially paid and returns the appropriate class\n */\n getDateClass(\n dueDate: Date,\n amountDueString: string,\n totalAmountString: string,\n pending: boolean\n ): string {\n if (!pending && this.paymentIsRunningLate(dueDate)) {\n return \"date-is-late\";\n } else if (\n this.invoiceIsNotFullyPaid(amountDueString, totalAmountString)\n ) {\n return \"partial-payment-due\";\n }\n return \"\";\n },\n /*\n * Checks if the dueDate is within one week from now (or if it has passed)\n */\n paymentIsRunningLate(dueDate: Date): boolean {\n const now = new Date();\n if (\n DateHelper.dateAisBeforeDateB(dueDate, now) ||\n DateHelper.dateAisBeforeDateB(dueDate, DateHelper.addDaysToDate(now, 7))\n ) {\n return true;\n }\n return false;\n },\n /*\n * Checks if the invoice is fully paid\n */\n invoiceIsNotFullyPaid(\n amountDueString: string,\n totalAmountString: string\n ): boolean {\n const amountDue = this.convertToInt(amountDueString);\n const totalAmount = this.convertToInt(totalAmountString);\n\n if (amountDue > 0 && amountDue < totalAmount) {\n return true;\n }\n\n return false;\n },\n /**\n * Maps an array of full Invoice objects to an array of partial Invoice objects\n */\n mapInvoices(invoices: Array): Array> {\n return invoices.map((invoice: Invoice) => {\n return {\n fakNr: invoice.fakNr,\n totalAmount: invoice.totalAmount,\n amountDue: invoice.amountDue,\n dueDate: invoice.dueDate,\n description: invoice.description,\n pending: invoice.pending,\n links: null,\n };\n });\n },\n /**\n * Converts the specified string to an integer\n */\n convertToInt(value: string): number {\n return parseInt(value.replaceAll(\".\", \"\").replaceAll(\",\", \"\"));\n },\n getCurrentEntitlements() {\n this.currentUser = this.$store.getters.getCurrentUser;\n },\n /**\n * If not logged in or not a student, redirect to unauthorized page\n * Otherwise, check if admin is mirroring a user, if so show banner\n * if not redirect to unauthorized page\n */\n checkIfUserIsStudentOrAdminMirroringUser(): void {\n console.log(\"~ Current User:\", this.currentUser);\n this.isMirroringUser =\n UnauthorizedHelper.checkIfUserIsStudentOrAdminMirroringUser(\n this.currentUser\n );\n },\n /**\n * Downloads the specified invoice as a PDF file\n */\n async downloadInvoice(invoiceNo: string) {\n await DownloadHelper.downloadInvoice(invoiceNo);\n },\n },\n mounted() {\n this.getInvoices();\n this.getCurrentEntitlements();\n this.checkIfUserIsStudentOrAdminMirroringUser();\n },\n})\nexport default class TuitionFeeHome extends Vue {}\n","import { render } from \"./TuitionFeeHome.vue?vue&type=template&id=70ca1fa2&scoped=true&ts=true\"\nimport script from \"./TuitionFeeHome.vue?vue&type=script&lang=ts\"\nexport * from \"./TuitionFeeHome.vue?vue&type=script&lang=ts\"\n\nimport \"./TuitionFeeHome.vue?vue&type=style&index=0&id=70ca1fa2&scoped=true&lang=css\"\n\nimport exportComponent from \"C:\\\\GIT\\\\StudentPortal\\\\student-portal-web\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-70ca1fa2\"]])\n\nexport default __exports__","import dayjs from \"dayjs\";\nimport { Constants } from \"@/constants/constants\";\n\ntype DateType = dayjs.Dayjs | Date | string;\n\nclass DateHelper {\n /*\n * Compared the two dates\n * Returns 0 if the dates are equal\n * Returns -1 if dateA is before dateB\n * Returns 1 if dateA is after dateB\n */\n dateCompareFunction(dateA: DateType, dateB: DateType): -1 | 0 | 1 {\n const a = dayjs(dateA);\n const b = dayjs(dateB);\n if (a.isBefore(b)) return -1;\n if (a.isAfter(b)) return 1;\n return 0;\n }\n\n /*\n * Formats the date to the specific format\n * Defaults to YYYY-MM-DD\n */\n formatDate(\n date: DateType | null,\n format: string = Constants.DateFormat\n ): string {\n return date ? dayjs(date).format(format) : \"\";\n }\n\n /*\n * Returns a boolean value indicating whether dateA is before dateB\n */\n dateAisBeforeDateB(\n dateA: string | DateType,\n dateB: string | DateType\n ): boolean {\n return dayjs(dateA).isBefore(dayjs(dateB));\n }\n\n /*\n * Returns the number of days between the 2 specified dates\n */\n daysBetweenDates(\n earlierDate: string | DateType,\n laterDate: string | DateType\n ): number {\n return dayjs(laterDate).diff(dayjs(earlierDate), \"days\");\n }\n\n /*\n * Adds the number of specified days to the specified date\n */\n addDaysToDate(date: DateType, days: number): Date {\n const result = dayjs(date).add(days, \"day\");\n return dayjs(result).toDate();\n }\n\n /**\n * Checks if two dates are the same.\n * @param {string | DateType} dateA - Either a string or a `DateType` representing a date.\n * object.\n * @param {string | DateType} dateB - Either a string or a `DateType` representing the second date to be compared with dateA.\n * @returns A boolean value indicating whether the two dates provided as arguments are the same.\n */\n datesAreSame(dateA: string | DateType, dateB: string | DateType): boolean {\n return dayjs(dateA).isSame(dayjs(dateB));\n }\n}\n\nexport default new DateHelper();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./MirroringUserBanner.vue?vue&type=style&index=0&id=ce0bfae8&scoped=true&lang=css\"","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar un$Sort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = items.length;\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) delete array[index++];\n\n return array;\n }\n});\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./TuitionFeeHome.vue?vue&type=style&index=0&id=70ca1fa2&scoped=true&lang=css\"","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",f=\"month\",h=\"quarter\",c=\"year\",d=\"date\",$=\"Invalid Date\",l=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\")},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},g={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(v=i),i||!r&&v},w=function(t,e){if(p(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=g;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t)}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match(l);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return O},m.isValid=function(){return!(this.$d.toString()===$)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t) string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (searchValue != null) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible('flags' in RegExpPrototype\n ? searchValue.flags\n : getFlags(searchValue)\n ));\n if (!~indexOf(flags, 'g')) throw TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ce0bfae8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"mirroring\" }\nconst _hoisted_2 = [\"aria-label\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_font_awesome_icon = _resolveComponent(\"font-awesome-icon\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"span\", null, [\n _createVNode(_component_font_awesome_icon, {\n icon: 'info-circle',\n class: \"info\"\n }),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t(\"tuition-fees.mirroring\")) + \": \" + _toDisplayString(_ctx.nullLucatId) + \" - \" + _toDisplayString(_ctx.shortPersonalId) + \" - \" + _toDisplayString(_ctx.personName), 1)\n ]),\n _createElementVNode(\"button\", {\n id: \"stopMirroringBtn\",\n class: \"btn btn-outline-primary mr-2 stop-btn\",\n \"aria-label\": _ctx.$t('tuition-fees.back'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.onStopMirroringClicked()))\n }, _toDisplayString(_ctx.$t(\"tuition-fees.stop-mirroring\")), 9, _hoisted_2)\n ]))\n}","\nimport SessionStorageService from \"@/services/sessionstorage-service\";\nimport { SessionStorageKeys } from \"@/constants/constants\";\nimport { PropType } from \"@vue/runtime-core\";\nimport { Options, Vue } from \"vue-class-component\";\n\n@Options({\n props: {\n /**\n * The personal id of the user being mirrored by admin\n */\n personalId: {\n type: String as PropType,\n required: false,\n },\n /**\n * The name of the user being mirrored by admin\n */\n personName: {\n type: String as PropType,\n required: false,\n },\n /**\n * The lucat id of the user being mirrored by admin\n */\n lucatId: {\n type: String as PropType,\n required: false,\n },\n },\n computed: {\n /**\n * The shortened personal id of only the last 10 digits\n */\n shortPersonalId(): string {\n const personalId = this.$props.personalId;\n return personalId ? personalId.substr(personalId.length - 10) : \"\";\n },\n /**\n * If the student cannot be found in Ladok, the lucat id will be null\n */\n nullLucatId(): string {\n const lucatId = this.$props.lucatId;\n return lucatId ? lucatId : \"\";\n },\n },\n methods: {\n /**\n * Routes to search user page\n */\n onStopMirroringClicked(): void {\n SessionStorageService.setItem(SessionStorageKeys.IsMirroringUser, false);\n this.$router.push({\n name: \"MirrorUser\",\n });\n },\n },\n})\nexport default class MirroringUserBanner extends Vue {}\n","import { render } from \"./MirroringUserBanner.vue?vue&type=template&id=ce0bfae8&scoped=true&ts=true\"\nimport script from \"./MirroringUserBanner.vue?vue&type=script&lang=ts\"\nexport * from \"./MirroringUserBanner.vue?vue&type=script&lang=ts\"\n\nimport \"./MirroringUserBanner.vue?vue&type=style&index=0&id=ce0bfae8&scoped=true&lang=css\"\n\nimport exportComponent from \"C:\\\\GIT\\\\StudentPortal\\\\student-portal-web\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ce0bfae8\"]])\n\nexport default __exports__","import { FeeDataExportType } from \"@/interfaces/api\";\nimport BaseService from \"@/services/base-service\";\n\nclass DownloadService extends BaseService {\n /**\n * Downloads an excel file containing fee data\n *\n * @param {string} locale - The language of the excel file to download\n * @param {string} fromDateIsoString - Include note-taker fee data from this date forward\n * @param {FeeDataExportType} feeDataExportType - The type of fee data export\n *\n * @returns {Promise} A Promise with a boolean representing the success of the operation\n */\n\n async downloadFeeData(\n locale: string,\n fromDateIsoString: string,\n feeDataExportType: FeeDataExportType\n ): Promise {\n const endpointController = \"Download\";\n const enpointRoute = \"feedata\";\n const paramName_1 = \"locale\";\n const paramValue_1 = locale;\n const paramName_2 = \"fromDate\";\n const paramValue_2 = fromDateIsoString;\n const paramName_3 = \"feeDataExportType\";\n const paramValue_3 = feeDataExportType;\n const queryString = `${paramName_1}=${paramValue_1}&${paramName_2}=${paramValue_2}&${paramName_3}=${paramValue_3}`;\n const url = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}?${queryString}`;\n\n return await this.fetch(url);\n }\n\n /**\n * Downloads a pdf file containing invoice data\n *\n * @param {string} invoiceNo - The invoice number of the pdf file to download\n *\n * @returns {Promise} A Promise with a boolean representing the success of the operation\n */\n async downloadInvoice(invoiceNo: string): Promise {\n const endpointController = \"Download\";\n const enpointRoute = \"invoice\";\n const paramName = \"invoiceNo\";\n const paramValue = invoiceNo;\n const queryString = `${paramName}=${paramValue}`;\n const url = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}?${queryString}`;\n\n return await this.fetch(url);\n }\n}\n\nexport default new DownloadService();\n","var UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n"],"sourceRoot":""}