{"version":3,"file":"js/506-9bd732011e89df216e8e.js","mappings":"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","sources":["webpack://app/./app/javascript/actions/app.js","webpack://app/./app/javascript/actions/dashboard.js","webpack://app/./app/javascript/actions/decryption.js","webpack://app/./app/javascript/api.ts","webpack://app/./app/javascript/api/appointment_key_store.js","webpack://app/./app/javascript/api/decryption.js","webpack://app/./app/javascript/api/user.js","webpack://app/./app/javascript/axios.ts","webpack://app/./app/javascript/components/common/CommonForm.jsx","webpack://app/./app/javascript/components/common/FormikErrorList.jsx","webpack://app/./app/javascript/components/common/LabeledRow.jsx","webpack://app/./app/javascript/components/common/TrueApiResponseLayer.tsx","webpack://app/./app/javascript/constants.js","webpack://app/./app/javascript/eventStatus.js","webpack://app/./app/javascript/i18n.js","webpack://app/./app/javascript/shared.js","webpack://app/./app/javascript/reducers/dashboard.js","webpack://app/./app/javascript/reducers/app.js","webpack://app/./app/javascript/reducers/index.js","webpack://app/./app/javascript/store/store.js"],"sourcesContent":["import { ModalID } from \"../constants\";\n\nexport const UPDATE_CURRENT_EVENT = \"UPDATE_CURRENT_EVENT\";\nexport const UPDATE_CURRENT_EVENT_SERIES = \"UPDATE_CURRENT_EVENT_SERIES\";\nexport const CLEAR_CURRENT_EVENT_SERIES = \"CLEAR_CURRENT_EVENT_SERIES\";\nexport const SHOW_MODAL = \"SHOW_MODAL\";\nexport const HIDE_EVENT_MODAL = \"HIDE_EVENT_MODAL\";\nexport const HIDE_CONFIRMATION_MODAL = \"HIDE_CONFIRMATION_MODAL\";\nexport const UPDATE_SELECTED_USER = \"UPDATE_SELECTED_USER\";\nexport const UPDATE_TTKS = \"UPDATE_TTKS\";\nexport const UPDATE_NEW_MEMBERS = \"UPDATE_NEW_MEMBERS\";\nexport const CONFIRMED_MEMBER = \"CONFIRMED_MEMBER\";\nexport const DECLINED_MEMBER = \"DECLINED_MEMBER\";\nexport const UPDATE_AUTH = \"UPDATE_AUTH\";\nexport const UPDATE_AUTH_CODE = \"UPDATE_AUTH_CODE\";\nexport const UPDATE_PASSWORD = \"UPDATE_PASSWORD\";\n\n/**\n * Replace currentEvent in appState\n * @param {object} currentEvent\n */\nexport function updateCurrentEvent(currentEvent) {\n return { type: UPDATE_CURRENT_EVENT, currentEvent };\n}\n/**\n * Replace currentEventSeries in appState\n * @param {object} currentEvent\n */\nexport function updateCurrentEventSeries(series) {\n return { type: UPDATE_CURRENT_EVENT_SERIES, series };\n}\n/**\n * Clears currentEventSeries in appState\n */\nexport function clearCurrentEventSeries() {\n return { type: CLEAR_CURRENT_EVENT_SERIES };\n}\n/**\n * Show or hides modal with given ID\n * @param {String} modalId\n */\nexport function updateShowModal(modalId) {\n return { type: SHOW_MODAL, modalId };\n}\n/**\n * Hides the EventModal, if visible\n */\nexport function hideEventModal() {\n return { type: HIDE_EVENT_MODAL };\n}\n\nexport function hideConfirmationModal() {\n return { type: SHOW_MODAL, modalId: ModalID.CONFIRMATION };\n}\n\n/**\n * Sends SHOW_MODAL action with modal parameter\n * Stored in store.appState.modalDetails.confirmationModal\n * @param {component} modal\n */\nexport function showConfirmationModal(modal) {\n const lsd = {\n type: SHOW_MODAL,\n modal,\n modalId: ModalID.CONFIRMATION,\n };\n return lsd;\n}\n\nexport function updateSelectedUser(selectedUser) {\n return { type: UPDATE_SELECTED_USER, selectedUser };\n}\n\nexport function updateTtks(ttks) {\n return { type: UPDATE_TTKS, ttks };\n}\n\nexport function updateNewMembers(members) {\n return { type: UPDATE_NEW_MEMBERS, members };\n}\nexport function confirmedMember(id) {\n return { type: CONFIRMED_MEMBER, id };\n}\nexport function declinedMember(id) {\n return { type: DECLINED_MEMBER, id };\n}\n\nexport function updateAuthCode(authCode) {\n return { type: UPDATE_AUTH_CODE, authCode };\n}\n\nexport const updatePassword = (password) => {\n return { type: UPDATE_PASSWORD, password };\n};\n\nexport const updateAuth = (authCode, password) => {\n return { type: UPDATE_AUTH, authCode, password };\n};\n","export const UPDATE_CURRENT_USER = 'UPDATE_CURRENT_USER'\nexport const UPDATE_CALENDARS = \"UPDATE_CALENDARS\";\nexport const UPDATE_CALENDAR_DETAILS = \"UPDATE_CALENDAR_DETAILS\";\nexport const REMOTE_EVENT_STATUS_CHANGE = \"REMOTE_EVENT_STATUS_CHANGE\";\n\nexport const updateCurrentUser = user => {\n return { type: UPDATE_CURRENT_USER, payload: user }\n}\n\nexport const updateCalendars = calendars => {\n return { type: UPDATE_CALENDARS, calendars }\n}\n\n/**\n * Update title of calendar with given id in store.\n * @param {number} id\n * @param {string} title\n * @returns redux action\n */\nexport const updateCalendarDetails = (id, details) => {\n return { type: UPDATE_CALENDAR_DETAILS, id, details }\n}\n\n/**\n * Forwards event status update from websocket into redux store\n * @param {object} event\n * @returns action\n */\nexport const remoteEventStatusChange = event => {\n return { type: REMOTE_EVENT_STATUS_CHANGE, event }\n}\n","export const UPDATE_PASSWORD = \"UPDATE_PASSWORD\";\nexport const PASSWORD_RESET = \"PASSWORD_RESET\";\nexport const PASSWORD_RESET_SUCCESSFUL = \"PASSWORD_RESET_SUCCESSFUL\";\nexport const PASSWORD_RESET_FAILED = \"PASSWORD_RESET_FAILED\";\n\nimport forge from \"node-forge\";\nimport { getPasswordResetData } from \"../api/decryption\";\n\nimport { createAppointmentKeyStore } from \"../api/appointment_key_store\";\nimport { getDecryptedPrivateKey } from \"../shared\";\n\n/**\n *\n * @param {object} encryptedPrivKey\n * @param {string} authcode\n * @returns privateKey or false when fail\n */\nexport const simpleDecryptPrivateKey = (encryptedPrivKey, authcode) => {\n const password = getPwFromLocalStorage(authcode);\n const pki = forge.pki;\n try {\n const privateKey = pki.decryptRsaPrivateKey(\n encryptedPrivKey,\n password + authcode\n );\n return privateKey;\n } catch (e) {\n return false;\n }\n};\n\nexport const slimPasswordReset = (authcode, encryptedPrivKey, userId) => {\n return new Promise((resolve, reject) => {\n getPasswordResetData(userId)\n .then((res) => {\n const decryptedPrivateKey = simpleDecryptPrivateKey(\n encryptedPrivKey,\n authcode\n );\n\n const data = res.data;\n const forged = forge;\n const pki = forged.pki;\n const publicKey = pki.publicKeyFromPem(data.new_public_key);\n const promises = [];\n\n data.key_stores_for_re_create.forEach((keyStoreData) => {\n const pro = passwordResetCreateNewKeyStore(\n keyStoreData,\n decryptedPrivateKey,\n publicKey,\n forged,\n userId\n );\n promises.push(pro);\n });\n\n Promise.all(promises).then(resolve).catch(reject);\n })\n .catch(reject);\n });\n};\n\nexport const passwordResetCreateNewKeyStore = (\n keyStoreData,\n decryptedPrivateKey,\n publicKey,\n forged,\n userId\n) => {\n const symKey = decryptedPrivateKey.decrypt(\n forged.util.decode64(keyStoreData.encrypted_sym_key)\n );\n const encryptedSymKey = forged.util.encode64(publicKey.encrypt(symKey));\n const keyStoreParams = {\n encrypted_sym_key: encryptedSymKey,\n user_id: userId,\n content: keyStoreData.content,\n appointment_id: keyStoreData.appointment_id,\n };\n return createAppointmentKeyStore(keyStoreParams);\n};\n\n/**\n * Decrypt the response for /api/v1/appointments/:id or /api/v1/events/:id/appointment\n * and return the decrpyted content object.\n * @param {object} appointment\n */\nexport const getAppointmentContent = (appointment, userId) => {\n const { attributes } = appointment;\n const myKeyStore = attributes.appointment_key_stores.find(\n (ks) => ks.user_id == userId\n );\n if (!myKeyStore) return console.error(\"No keystore found for this user\");\n\n const myPrivateKey = getDecryptedPrivateKey();\n const decryptedSymKey = myPrivateKey.decrypt(\n forge.util.decode64(myKeyStore.encrypted_sym_key)\n );\n return decipherContent(attributes.iv, myKeyStore.content, decryptedSymKey);\n};\n\nexport const decryptContent = (data, privateKey) => {\n const appointmentKeyStore = data.appointment_key_store;\n const decryptedSymKey = decryptSymKey(data, privateKey);\n return decipherContent(\n data.appointment_iv,\n appointmentKeyStore.content,\n decryptedSymKey\n );\n};\n\nexport const decipherContent = (iv, content, symKey) => {\n const decipher = forge.cipher.createDecipher(\"AES-CBC\", symKey);\n decipher.start({\n iv: forge.util.decode64(iv),\n });\n decipher.update(forge.util.createBuffer(forge.util.decode64(content)));\n decipher.finish();\n return JSON.parse(decipher.output.data);\n};\n\nexport const getPwFromLocalStorage = (authCode) => {\n if (!authCode) return false;\n const obj = JSON.parse(window.localStorage.getItem(\"obj\"));\n const salt = forge.util.decode64(obj.salt);\n const iv = forge.util.decode64(obj.iv);\n const key = forge.pkcs5.pbkdf2(authCode, salt, 4, 16);\n const decipher = forge.cipher.createDecipher(\"AES-CBC\", key);\n decipher.start({ iv });\n const cipherText = forge.util.decode64(obj.cipher_text);\n decipher.update(forge.util.createBuffer(cipherText));\n var result = decipher.finish(); // check 'result' for true/false\n if (result) return decipher.output.data;\n return false;\n};\n\nexport const decryptSymKey = (data, privateKey) => {\n const appointmentKeyStore = JSON.parse(data.appointment_key_store);\n const symKey = appointmentKeyStore.encrypted_sym_key;\n return privateKey.decrypt(forge.util.decode64(symKey));\n};\n\nexport const password_reset = () => {\n return { type: PASSWORD_RESET };\n};\n\nexport const password_reset_successfull = () => {\n return { type: PASSWORD_RESET_SUCCESSFUL };\n};\n\nexport const password_reset_failed = () => {\n return { type: PASSWORD_RESET_FAILED };\n};\n","const API_BASE = \"/api/v1\";\n\nexport function sendRequest(endpoint: string, method: string, data?: any) {\n const reqParams: RequestInit = { method }\n if (data) {\n const params = new URLSearchParams()\n\n Object.entries(data).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach((value) => params.append(`${key}[]`, value.toString()))\n } else if(value) {\n params.append(key, value.toString())\n } else {\n params.append(key, '')\n }\n });\n\n reqParams.body = params;\n }\n\n return new Promise((resolve, reject) => {\n fetchAuth(API_BASE + endpoint, reqParams).then(req => {\n if(endpoint.endsWith(\".html\")) {\n resolve(req);\n } else {\n jsonResponse(req).then(resolve).catch(reject);\n }\n }).catch(reject)\n })\n}\n\nexport function post(endpoint: string, data?: any) {\n return sendRequest(endpoint, \"POST\", data);\n}\n\nexport function get(endpoint: string, data?: any) {\n var url = new URL( window.location.protocol + \"//\" + window.location.host + API_BASE + endpoint);\n for (let k in data) { url.searchParams.append(k, data[k]); }\n return new Promise((resolve, reject) => {\n fetchAuth(url).then((res) => {\n jsonResponse(res).then(resolve).catch(reject);\n }).catch(reject)\n })\n}\n\nexport function deleter(endpoint: string, data?: any) {\n return sendRequest(endpoint, \"DELETE\", data);\n}\n\nexport function put(endpoint: string, data?: any) {\n return sendRequest(endpoint, \"PUT\", data);\n}\n\nexport function patch(endpoint: string, data?: any) {\n return sendRequest(endpoint, \"PATCH\", data);\n}\n\nfunction jsonResponse(request: any) {\n return new Promise((resolve, reject) => {\n request.json().then((json: any) => {\n resolve({ data: json, request });\n }).catch(reject)\n })\n}\n\nexport function fetchAuth(url: URL|string, reqParams?: RequestInit) {\n const token = localStorage.getItem(\"token\");\n if(token) {\n const authHeader = new Headers();\n authHeader.append('Authorization', `Bearer ${token}`);\n if(!reqParams) {\n reqParams = { headers: authHeader };\n } else {\n reqParams.headers = authHeader;\n }\n }\n return new Promise((resolve, reject) => {\n fetch(url, reqParams).then((response) => {\n if(response.status.toString().startsWith('4') || response.status.toString().startsWith('4')) {\n reject(response);\n } else {\n resolve(response)\n }\n }).catch(reject)\n })\n}","import ax from \"../axios\";\n\nexport const createAppointmentKeyStore = (params) => {\n return ax.post(\"/appointment_key_stores\", { params });\n};\n","import ax from \"../axios\";\n\nexport const getPasswordResetData = async (userId) => {\n const response = await ax.get(`/decryption/${userId}/password_reset`);\n return response;\n};\n\nexport const getPasswordChangeData = async (userId) => {\n const response = await ax.get(`/decryption/${userId}/change_password`);\n return response;\n};\n","import forge from \"node-forge\";\nimport {\n confirmedMember,\n declinedMember,\n updateNewMembers\n} from \"../actions/app\";\nimport { updateCurrentUser } from \"../actions/dashboard\";\nimport {\n passwordResetCreateNewKeyStore\n} from \"../actions/decryption\";\nimport ax from \"../axios\";\nimport { UserRole } from \"../constants\";\nimport { getCookie, getDecryptedPrivateKey, storableUser } from \"../shared\";\nimport { store } from \"../store/store\";\nimport { getPasswordChangeData } from \"./decryption\";\n\nexport const logIn = (params) => {\n store.dispatch(updateCurrentUser());\n return new Promise((resolve, reject) => {\n ax.post(`/auth/login`, params)\n .then((res) => {\n localStorage.setItem(\"token\", res.data.jwt);\n const { user } = res.data;\n resolve({ ...user.data.attributes, id: user.data.id });\n })\n .catch(reject);\n });\n};\n\n/**\n * Removes locally stored tokens and redirects to base href\n */\nexport const logOut = (redirectTarget = \"/\") => {\n emptyStorage()\n window.location.href = redirectTarget;\n};\n\nexport const emptyStorage = () => {\n localStorage.removeItem(\"token\");\n localStorage.removeItem(\"obj\");\n}\n\n/**\n * Returns a promise which resolves when we get user details from the backend\n * Rejects when the user is logged out\n * @returns Promise\n */\nexport const checkForUserInSession = async () => {\n store.dispatch(updateCurrentUser());\n\n if(!getCookie(\"inSession\")) {\n localStorage.removeItem(\"token\");\n return Promise.reject()\n }\n\n return new Promise((resolve, reject) => {\n currentUserSession()\n .then((res) => {\n const details = storableUser(res)\n store.dispatch(updateCurrentUser(details));\n resolve(res);\n })\n .catch(reject);\n });\n};\n\n/**\n * Deletes a User\n * @param {number} id\n * @returns\n */\nexport const deleteUser = (id, reason) => {\n return ax.delete(`/users/${id}?reason=${reason}`);\n};\n\nexport const updatePasswordResetStatus = async (userId, status) => {\n return await ax.post(`/users/${userId}/update_password`, { status });\n};\n\nexport const denyPasswordReset = async (userId) => {\n return await ax.post(`/users/${userId}/deny_password_reset`);\n};\n\nexport const initializePasswordReset = async (email) => {\n return await ax.post(`/users/reset_password`, { email });\n};\n\nexport const getUserData = async (email) => {\n const response = await ax.get(`/user/?email=${email}`);\n return response;\n};\n\nexport const getUser = async (id) => {\n const response = await ax.get(`/users/${id}`)\n return response;\n};\n\nexport const getUserFiles = async (id) => {\n const response = await ax.get(`/users/${id}/files`)\n return response\n}\n\nexport const getUserUploadLink = async (id) => {\n return await ax.get(`/users/${id}/files/upload_url`)\n}\nexport const getDownloadLink = async (id, nodeId) => {\n return await ax.get(`/users/${id}/files/download/${nodeId}`)\n}\nexport const deleteFile = async (id, nodeId) => {\n return await ax.delete(`/users/${id}/files/${nodeId}`)\n}\n\nexport const getAppliedCalendars = (id) => {\n return ax.get(`/users/${id}/applied_calendars`);\n};\n\nexport const currentUserSession = async () => {\n const token = localStorage.getItem(\"token\");\n if (token) {\n return ax.get(\"/auth/auto_login\");\n } else return Promise.reject();\n};\n\nexport const updateRight = async (id, right) => {\n return await ax.post(`/users/${id}/rights`, { right });\n};\n\n/**\n * Retrieve a list of available TTKs\n */\nexport function getTtks() {\n return ax.get(`/users/ttks`);\n}\n\nexport const getRequested = () => {\n return ax.get(\"/requested\").then((res) => {\n store.dispatch(updateNewMembers(res.data.data));\n });\n};\n\nexport const confirmNewMember = (id) => {\n return ax.post(`/users/${id}/confirm_registration`).then((res) => {\n if (res.request.status === 200) {\n store.dispatch(confirmedMember(id));\n }\n });\n};\n\nexport const declineNewMember = (id) => {\n return updateUser({ status: \"declined\" }, id).then((res) => {\n store.dispatch(declinedMember(id));\n });\n};\n\nexport const signUp = (userParams) => {\n return ax.post(`/users`, userParams);\n};\n\nexport const updateUser = (userParams, userId) => {\n return ax.patch(`/users/${userId}`, userParams);\n};\n\nexport const invite = (userParams) => {\n return ax.post(`/users`, { ...userParams, user_role: UserRole.TTK });\n};\n\nexport const changedPassword = (userId) => {\n return new Promise((resolve, reject) => {\n getPasswordChangeData(userId)\n .then(({ data }) => {\n const decryptedPrivateKey = getDecryptedPrivateKey();\n const forged = forge;\n const pki = forged.pki;\n const publicKey = pki.publicKeyFromPem(data.new_public_key);\n\n let promises = [];\n data.key_stores_for_re_create.forEach((keyStoreData) => {\n let pro = passwordResetCreateNewKeyStore(\n keyStoreData,\n decryptedPrivateKey,\n publicKey,\n forged,\n userId\n );\n promises.push(pro);\n });\n Promise.all(promises).then(resolve).catch(reject);\n })\n .catch(reject);\n });\n};\n","import * as api from './api'\n\nexport const ax = {\n get: api.get,\n post: api.post,\n put: api.put,\n patch: api.patch,\n delete: api.deleter\n}\n\nexport default ax;\n","import PropTypes from \"prop-types\";\nimport { useFormik } from \"formik\";\nimport React, { useState, createElement, useEffect } from \"react\";\nimport { Button, FormGroup, Row } from \"react-bootstrap\";\nimport { useTranslation } from \"react-i18next\";\nimport { FormikErrorList } from \"./FormikErrorList\";\nimport { NotificationLayer } from \"./NotificationLayer\";\nimport CommonSpinner from \"@lmu-med/ci-components/dist/components/CommonSpinner\";\nimport { LabeledRow } from \"./LabeledRow\";\nimport { TrueApiResponseLayer } from \"./TrueApiResponseLayer\";\n\nconst DEFAULT_INITIAL_VALUES = { first_name: \"\", last_name: \"\", email: \"\" };\n\n/**\n * Reusable Component that pipes data from \"fieldsComponent\" prop to\n * defined \"apiEndpoint\" prop and shows API response.\n * Error handling is taken care of.\n * @param {validationSchema} | Yup validation schema object\n * @param {apiEndpoint} | Function to invoke when form is sent. Needs to return a promise. Formik values are passed to this\n * @param {fieldsComponent} | Component containing the form fields\n * @param {translationScope} | Translation key containing field names, i.e. event\n * @param {initialValues} | initial values for the form\n * @returns form\n */\nexport const CommonForm = ({\n validationSchema,\n apiEndpoint,\n fieldsComponent,\n translationScope,\n initialValues,\n resultOnly,\n children,\n encType,\n}) => {\n const [t] = useTranslation();\n const [sending, setSending] = useState(false);\n const [apiResponse, setApiResponse] = useState(null);\n\n const formik = useFormik({\n initialValues: initialValues || DEFAULT_INITIAL_VALUES,\n validationSchema,\n enableReinitialize: true,\n onSubmit: (values) => {\n setSending(true);\n setApiResponse(null);\n apiEndpoint(values).then(onApiResult).catch(onApiResult);\n },\n });\n\n const onApiResult = (response) => {\n setSending(false);\n\n let request;\n if (!response.hasOwnProperty(\"request\")) {\n console.warn(\"Response does not have request, exiting\");\n request = response;\n } else {\n request = response.request;\n }\n\n if (request.status == 200) {\n console.log(\"respoinsesennse\");\n setApiResponse({\n status: 200,\n message: t(`${translationScope}.success_text`),\n });\n } else {\n const answer = {\n status: request.status,\n message: t(`${translationScope}.error_${request.status}`),\n };\n setApiResponse(answer);\n }\n };\n\n const getHeading = () => {\n const header1 = t(`${translationScope}.header`);\n return header1 ?
{t(translationScope + \".success_text\")}
\n{t(translationScope + \".introduction_text\")}
\n