{"version":3,"file":"application.js","mappings":"mBAAA,MAgDA,EAhDuB,MACrB,MAAMA,EAAc,KAClB,IAAIC,EAAW,CAAC,EAShB,MARU,CAAC,iBAAkB,SAAU,YACnCC,SAASC,IACXF,EAASE,GAAM,CACbC,IAAMC,IACJC,SAASC,eAAeJ,GAAIK,UAAYH,GAE5C,IAEKJ,GAkCT,MAAO,CAAEQ,WAxBUC,UACjB,IACE,IAAIT,EAAWD,IATL,MACZ,IAAIC,EAAWD,IACfW,OAAOC,KAAKX,GAAUC,SAASW,IAC7BZ,EAASY,GAAKT,IAAI,GAAE,GACrB,EAMCU,GACA,IAAIC,QAAiBC,MAAM,eAAgB,CACzCC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnBC,SAAUhB,SAASC,eAAe,YAAYF,UAG9CkB,QAAaR,EAASS,OAC1BvB,EAASwB,OAAOrB,IAAImB,EAAKG,KACzBzB,EAAS0B,eAAevB,IAAIgB,KAAKC,UAAUE,EAAKK,QAAS,KAAM,IAC/D3B,EAAS4B,SAASzB,IAAImB,EAAKM,SAK7B,CAJE,MAAOC,GACPC,QAAQC,IAAIF,GACG9B,IACN2B,eAAevB,IAAI0B,EAC9B,GAIH,EA9CsB,GC4DvB,EA5D+B,MAC7B,MAAMG,EAAO,MACX,MAAMC,EAAK,IAAM5B,SAASC,eAAe,oBACnC4B,EAAQ,CACZC,IAAWC,IAAUH,IAAK1B,UAAY8B,SAASJ,IAAK1B,WAAa6B,GACjEE,SAAWF,IAAUH,IAAK1B,UAAY8B,SAASJ,IAAK1B,WAAa6B,IAOnE,MAAO,CAAEF,QAAOK,OALAC,IACd,MAAMC,EAAMpC,SAASC,eAAekC,GACpCC,EAAIC,WAAWC,YAAYF,GAC3BP,EAAMI,SAAS,EAAC,EAGnB,EAZY,GAcPM,EAAe,MACnB,MAAMX,EAAK,IAAM5B,SAASC,eAAe,gBACzC,MAAO,CACLuC,KAAOC,IACLb,IAAK1B,UAAYuC,EACjBb,IAAKc,UAAUR,OAAO,SAAQ,EAEhC1B,MAAO,KACLoB,IAAK1B,UAAY,GACjB0B,IAAKc,UAAUZ,IAAI,SAAQ,EAGhC,EAZoB,GAcfa,EAAiB,MACrB,MAAMf,EAAK,IAAM5B,SAASC,eAAe,kBACzC,MAAO,CACLuC,KAAM,IAAMZ,IAAKc,UAAUR,OAAO,UAClCU,KAAM,IAAMhB,IAAKc,UAAUZ,IAAI,UAElC,EANsB,GA4BvB,MAAO,CAAEe,cApBazC,MAAO0C,IAC3BP,EAAa/B,QACb,IAAIC,QAAiBC,MAAM,uBAAuBoC,SAAsB,CAAEnC,OAAQ,SAC9EF,EAASsC,IACXpB,EAAKE,MAAMC,IAAI,GACfa,EAAeH,QAEfD,EAAaC,WAAW/B,EAASuC,OACnC,EAYsBC,UAVN7C,MAAO+B,IACvBI,EAAa/B,QACb,IAAIC,QAAiBC,MAAM,uBAAuByB,IAAY,CAAExB,OAAQ,WACpEF,EAASsC,GACXpB,EAAKO,OAAOC,IAEZR,EAAKO,OAAOC,GACZI,EAAaC,WAAW/B,EAASuC,QACnC,EAGH,EA1D8B,GCK/BE,OAAOC,eAAiB,EACxBD,OAAOE,uBAAyB,C","sources":["webpack://centz/./app/javascript/src/fdx_api_explorer.js","webpack://centz/./app/javascript/src/dynamic_app_registration.js","webpack://centz/./app/javascript/application.js"],"sourcesContent":["const FdxApiExplorer = (() => {\n const getElements = () => {\n let elements = {}\n let ids = ['explorerOutput', 'fdxUrl', 'duration']\n ids.forEach((id) => {\n elements[id] = {\n set: (value) => {\n document.getElementById(id).innerHTML = value\n },\n }\n })\n return elements\n }\n\n const clear = () => {\n let elements = getElements()\n Object.keys(elements).forEach((key) => {\n elements[key].set('')\n })\n }\n\n const runRequest = async () => {\n try {\n let elements = getElements()\n clear()\n let response = await fetch('/fdx/explore', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n endpoint: document.getElementById('endpoint').value,\n }),\n })\n let data = await response.json()\n elements.fdxUrl.set(data.url)\n elements.explorerOutput.set(JSON.stringify(data.payload, null, 2))\n elements.duration.set(data.duration)\n } catch (e) {\n console.log(e)\n let elements = getElements()\n elements.explorerOutput.set(e)\n }\n }\n\n return { runRequest }\n})()\n\nexport default FdxApiExplorer\n","const DynamicAppRegistration = (() => {\n const apps = (() => {\n const el = () => document.getElementById(\"applicationCount\")\n const total = {\n add: (num) => { el().innerHTML = parseInt(el().innerHTML) + num },\n subtract: (num) => { el().innerHTML = parseInt(el().innerHTML) - num }\n }\n const remove = (clientId) => {\n const app = document.getElementById(clientId)\n app.parentNode.removeChild(app)\n total.subtract(1)\n }\n return { total, remove }\n })()\n \n const errorMessage = (() => {\n const el = () => document.getElementById(\"errorMessage\")\n return {\n show: (msg) => {\n el().innerHTML = msg\n el().classList.remove(\"hidden\")\n },\n clear: () => {\n el().innerHTML = \"\"\n el().classList.add(\"hidden\")\n }\n }\n })()\n\n const refreshMessage = (() => {\n const el = () => document.getElementById(\"refreshMessage\")\n return {\n show: () => el().classList.remove(\"hidden\"),\n hide: () => el().classList.add(\"hidden\")\n }\n })()\n \n const createFakeApp = async (institutionId) => {\n errorMessage.clear()\n let response = await fetch(`/oauth_applications/${institutionId}/fake`, { method: \"POST\"})\n if (response.ok) {\n apps.total.add(1)\n refreshMessage.show()\n } else {\n errorMessage.show(await response.text())\n }\n }\n const deleteApp = async (clientId) => {\n errorMessage.clear()\n let response = await fetch(`/oauth_applications/${clientId}`, { method: \"DELETE\"})\n if (response.ok) {\n apps.remove(clientId)\n } else {\n apps.remove(clientId)\n errorMessage.show(await response.text())\n }\n }\n return { createFakeApp, deleteApp }\n})()\n\nexport default DynamicAppRegistration\n","// Entry point for the build script in your package.json\n\nimport FdxApiExplorer from \"./src/fdx_api_explorer\";\nimport DynamicAppRegistration from \"./src/dynamic_app_registration\";\n\nwindow.FdxApiExplorer = FdxApiExplorer;\nwindow.DynamicAppRegistration = DynamicAppRegistration;\n"],"names":["getElements","elements","forEach","id","set","value","document","getElementById","innerHTML","runRequest","async","Object","keys","key","clear","response","fetch","method","headers","body","JSON","stringify","endpoint","data","json","fdxUrl","url","explorerOutput","payload","duration","e","console","log","apps","el","total","add","num","parseInt","subtract","remove","clientId","app","parentNode","removeChild","errorMessage","show","msg","classList","refreshMessage","hide","createFakeApp","institutionId","ok","text","deleteApp","window","FdxApiExplorer","DynamicAppRegistration"],"sourceRoot":""}