{"version":3,"sources":["webpack:///./src/state/actions/proposals.js","webpack:///./src/state/actions/proposalAssocPreviews.js","webpack:///./src/state/actions/proposalPreviews.js","webpack:///./src/state/actions/questionnaire.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/object-to-array.js","webpack:///./node_modules/gatsby/node_modules/core-js/modules/es.object.entries.js","webpack:///./src/graphql/customMutations.js","webpack:///./src/state/actions/savedProposals.js","webpack:///./src/state/actions/user.js","webpack:///./src/graphql/customQueries.js"],"names":["proposalFetchError","id","type","resetProposals","payload","loadProposals","API","activityId","personaId","startupName","dispatch","get","queryStringParameters","then","res","status","Object","keys","map","conceptId","proposalPreviewInit","catch","e","console","error","loadSingleProposal","forType","symbolId","key","apiBasepath","proposalAssocPreviewInit","proposalFetchSuccess","loadColors","previewId1","previewId2","proposalAssocPreviewFetchError","resetProposalAssocPreviews","loadProposalAssocPreview","colorId","fontId","proposalAssocPreviewFetchStart","proposalAssocPreviewFetchSuccess","proposalPreviewFetchError","resetProposalPreviews","loadProposalPreview","symbolIds","proposalPreviewFetchStart","JSON","stringify","proposalPreviewFetchSuccess","entries","length","answersFetchSuccess","nextStep","previousStep","updateAnswer","questionId","answerId","setPersona","resetAnswers","setActivity","setActivityName","name","setActivitySelectStage","value","setStartupName","saveStepAndGoNext","graphqlOperation","getState","questionnaire","activityName","activitySelectStage","answers","owner","user","Promise","resolve","saveData","input","preparePayload","graphql","customMutations","personalityScores","data","updateUserProfile","profileFetchSuccess","saveProfileActivity","details","stage","updateProfileActivity","updateStartupName","getPersonalityScores","DESCRIPTORS","objectKeys","toIndexedObject","propertyIsEnumerable","f","createMethod","TO_ENTRIES","it","O","i","result","call","push","module","exports","values","$","$entries","target","stat","updateAnswers","updatePersonaColor","updateColor","saveLogoMutation","unsaveLogoMutation","savedProposalInit","loadSavedProposal","attributes","groupId","savedProposalFetchSuccess","savedProposalFetchError","logIn","email","cleanLogIn","username","signOutUser","Auth","signOut","err","verifyUser","a","async","reject","currentAuthenticatedUser","isLoggedIn","initProfile","post","body","checkProfile","getUserProfile","Error","fetchProfile","isComplete","savedLogos","proposalSaveList","prepareSaveList","pId","setProfilePersona","checkLocalProfile","localProfileData","persona","message","results","items","item"],"mappings":"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","file":"a9026d44a8de08e7fdd5a33ea2a7b1d586305ff6-2bbbbddf5f3a9d8114d9.js","sourcesContent":["import { proposalPreviewInit } from \"./proposalPreviews\"\nimport { proposalAssocPreviewInit } from \"./proposalAssocPreviews\"\n\nexport const proposalColorFetchStart = () => ({\n type: \"PROPOSAL_COLOR_FETCH_START\",\n})\n\nexport const proposalColorFetchError = () => ({\n type: \"PROPOSAL_COLOR_FETCH_ERROR\",\n})\n\nexport const proposalColorFetchSuccess = payload => ({\n type: \"PROPOSAL_COLOR_FETCH_SUCCESS\",\n payload,\n})\n\nexport const proposalListFetchStart = () => ({\n type: \"PROPOSAL_LIST_FETCH_START\",\n})\n\nexport const proposalListFetchError = () => ({\n type: \"PROPOSAL_LIST_FETCH_ERROR\",\n})\n\nexport const proposalListFetchLimit = () => ({\n type: \"PROPOSAL_LIST_FETCH_LIMIT_REACHED\",\n})\n\nexport const proposalListFetchSuccess = payload => ({\n type: \"PROPOSAL_LIST_FETCH_SUCCESS\",\n payload,\n})\n\nexport const proposalFetchStart = id => ({\n type: \"PROPOSAL_SINGLE_FETCH_START\",\n id,\n})\n\nexport const proposalFetchError = id => ({\n type: \"PROPOSAL_SINGLE_FETCH_ERROR\",\n id,\n})\n\nexport const proposalFetchSuccess = (id, payload) => ({\n type: \"PROPOSAL_SINGLE_FETCH_SUCCESS\",\n id,\n payload,\n})\n\nexport const resetProposals = (id, payload) => ({\n type: \"RESET_PROPOSALS\",\n})\n\nexport const loadProposals = (\n API,\n activityId,\n personaId,\n startupName\n) => dispatch => {\n dispatch(proposalListFetchStart())\n\n API.get(\"logoproposal\", \"/logoconcepts\", {\n queryStringParameters: { activityId, personaId, startupName },\n })\n .then(res => {\n if (res.status === 429) return dispatch(proposalListFetchLimit())\n if (res.status === 500) return dispatch(proposalListFetchError())\n else {\n dispatch(proposalListFetchSuccess(res))\n Object.keys(res).map(conceptId => {\n dispatch(proposalPreviewInit(conceptId))\n return null\n })\n }\n })\n .catch(e => {\n console.error(e)\n dispatch(proposalListFetchError())\n })\n}\n\nexport const loadSingleProposal = (\n API,\n activityId,\n conceptId,\n forType,\n symbolId,\n personaId,\n startupName,\n type = \"picto\"\n) => dispatch => {\n const key = `${conceptId}_${symbolId}`\n const apiBasepath =\n type === \"picto\" ? \"/logoconcepts/picto\" : \"/logoconcepts/monogram\"\n dispatch(proposalFetchStart(key))\n\n API.get(\"logoproposal\", `${apiBasepath}/${conceptId}/${symbolId}`, {\n queryStringParameters: { activityId, forType, personaId, startupName },\n })\n .then(res => {\n if (res.status === 500) return dispatch(proposalFetchError(key))\n else {\n // add association preview key in state\n dispatch(proposalAssocPreviewInit(key))\n dispatch(proposalFetchSuccess(key, res))\n }\n })\n .catch(e => {\n console.error(e)\n dispatch(proposalFetchError(key))\n })\n}\n\n// fetch from lambda api\nexport const loadColors = (API, activityId, personaId) => dispatch => {\n dispatch(proposalColorFetchStart())\n\n API.get(\"logoproposal\", \"/logoconcepts/colors\", {\n queryStringParameters: { activityId, personaId },\n })\n .then(res => dispatch(proposalColorFetchSuccess(res)))\n .catch(e => {\n console.error(e)\n dispatch(proposalColorFetchError())\n })\n}\n","export const proposalAssocPreviewInit = (previewId1, previewId2) => ({\n type: \"PROPOSAL_ASSOC_PREVIEW_INIT\",\n previewId1,\n})\n\nexport const proposalAssocPreviewFetchStart = (previewId1, previewId2) => ({\n type: \"PROPOSAL_ASSOC_PREVIEW_FETCH_START\",\n previewId1,\n previewId2,\n})\n\nexport const proposalAssocPreviewFetchSuccess = (\n previewId1,\n previewId2,\n payload\n) => ({\n type: \"PROPOSAL_ASSOC_PREVIEW_FETCH_SUCCESS\",\n previewId1,\n previewId2,\n payload,\n})\n\nexport const proposalAssocPreviewFetchError = (previewId1, previewId2) => ({\n type: \"PROPOSAL_ASSOC_PREVIEW_FETCH_ERROR\",\n previewId1,\n previewId2,\n})\n\nexport const resetProposalAssocPreviews = () => ({\n type: \"RESET_PROPOSAL_ASSOC_PREVIEWS\",\n})\n\nexport const loadProposalAssocPreview = (\n API,\n {\n activityId,\n colorId,\n conceptId,\n fontId,\n personaId,\n startupName,\n symbolId,\n type,\n }\n) => dispatch => {\n const apiBasepath = `/logoconcepts/${type}/previewassociation`\n const previewId1 = `${conceptId}_${symbolId}`\n const previewId2 = `${fontId}_${colorId}`\n\n dispatch(proposalAssocPreviewFetchStart(previewId1, previewId2))\n API.get(\"logoproposal\", `${apiBasepath}/${conceptId}`, {\n queryStringParameters: {\n activityId,\n colorId,\n fontId,\n personaId,\n startupName,\n symbolId,\n },\n })\n .then(res => {\n if (res == null || (res && res.status === 500))\n return dispatch(proposalAssocPreviewFetchError(previewId1, previewId2))\n else\n dispatch(proposalAssocPreviewFetchSuccess(previewId1, previewId2, res))\n })\n .catch(e => {\n console.error(e)\n dispatch(proposalAssocPreviewFetchError(previewId1, previewId2))\n })\n}\n","export const proposalPreviewInit = conceptId => ({\n type: \"PROPOSAL_PREVIEW_INIT\",\n conceptId,\n})\n\nexport const proposalPreviewFetchStart = conceptId => ({\n type: \"PROPOSAL_PREVIEW_FETCH_START\",\n conceptId,\n})\n\nexport const proposalPreviewFetchSuccess = (conceptId, payload) => ({\n type: \"PROPOSAL_PREVIEW_FETCH_SUCCESS\",\n conceptId,\n payload,\n})\n\nexport const proposalPreviewFetchError = conceptId => ({\n type: \"PROPOSAL_PREVIEW_FETCH_ERROR\",\n conceptId,\n})\n\nexport const proposalPreviewFetchEmpty = () => ({\n type: \"PROPOSAL_PREVIEW_FETCH_EMPTY\",\n})\n\nexport const resetProposalPreviews = () => ({\n type: \"RESET_PROPOSAL_PREVIEWS\",\n})\n\nexport const loadProposalPreview = (\n API,\n {\n activityId,\n colorId,\n conceptId,\n personaId,\n startupName,\n symbolIds,\n type,\n forType,\n }\n) => dispatch => {\n const apiBasepath = \"/logoconcepts/preview\"\n dispatch(proposalPreviewFetchStart(conceptId))\n\n API.get(\"logoproposal\", `${apiBasepath}/${conceptId}`, {\n queryStringParameters: {\n activityId,\n colorId,\n personaId,\n startupName,\n symbolIds: JSON.stringify(symbolIds),\n type,\n forType,\n },\n })\n .then(res => {\n if (res.status === 500)\n return dispatch(proposalPreviewFetchError(conceptId))\n else {\n dispatch(proposalPreviewFetchSuccess(conceptId, res))\n if (Object.entries(res).length === 0)\n dispatch(proposalPreviewFetchEmpty())\n }\n })\n .catch(e => {\n console.error(e)\n dispatch(proposalPreviewFetchError(conceptId))\n })\n}\n","import { preparePayload } from \"../helpers/questionnaire\"\nimport * as customMutations from \"../../graphql/customMutations\"\nimport { profileFetchSuccess } from \"./user\"\n\nexport const answersSaveStart = () => ({\n type: \"ANSWERS_SAVE_START\",\n})\n\nexport const answersSaveSuccess = () => ({\n type: \"ANSWERS_SAVE_SUCCESS\",\n})\n\nexport const answersSaveError = () => ({\n type: \"ANSWERS_SAVE_ERROR\",\n})\n\nexport const answersFetchStart = () => ({\n type: \"ANSWERS_FETCH_START\",\n})\n\nexport const answersFetchSuccess = payload => ({\n type: \"ANSWERS_FETCH_SUCCESS\",\n payload,\n})\n\nexport const nextStep = () => ({\n type: \"NEXT_STEP\",\n})\n\nexport const previousStep = () => ({\n type: \"PREVIOUS_STEP\",\n})\n\nexport const updateAnswer = (questionId, answerId) => ({\n type: \"UPDATE_ANSWER\",\n questionId: `_${questionId}`,\n answerId: `_${answerId}`,\n})\n\nexport const setPersona = personaId => ({\n type: \"SET_PERSONA\",\n personaId,\n})\n\nexport const resetAnswers = () => ({\n type: \"RESET_ANSWERS\",\n})\n\nexport const setSector = sectorId => ({\n type: \"SET_SECTOR\",\n sectorId,\n})\n\nexport const setActivity = id => ({\n type: \"SET_ACTIVITY\",\n id,\n})\n\nexport const setActivityName = name => ({\n type: \"SET_ACTIVITY_NAME\",\n name,\n})\n\nexport const setActivitySelectStage = value => ({\n type: \"SET_ACTIVITY_SELECT_STAGE\",\n value,\n})\n\nexport const setStartupName = name => ({\n type: \"SET_STARTUP_NAME\",\n name,\n})\n\nconst personalityScoresFetchStart = () => ({\n type: \"PERSONALITY_SCORES_FETCH_START\",\n})\n\nconst personalityScoresFetchError = () => ({\n type: \"PERSONALITY_SCORES_FETCH_ERROR\",\n})\n\nconst personalityScoresFetchSuccess = payload => ({\n type: \"PERSONALITY_SCORES_FETCH_SUCCESS\",\n payload,\n})\n\nconst activitySaveStart = () => ({\n type: \"ACTIVITY_SAVE_START\",\n})\n\nconst activitySaveError = () => ({\n type: \"ACTIVITY_SAVE_ERROR\",\n})\n\nconst activitySaveSuccess = payload => ({\n type: \"ACTIVITY_SAVE_SUCCESS\",\n})\n\nconst startupNameSaveStart = () => ({\n type: \"STARTUP_NAME_SAVE_START\",\n})\n\nconst startupNameSaveError = () => ({\n type: \"STARTUP_NAME_SAVE_ERROR\",\n})\n\nconst startupNameSaveSuccess = payload => ({\n type: \"STARTUP_NAME_SAVE_SUCCESS\",\n})\n\nexport const rehydrate = restoredState => ({\n type: \"REHYDRATE\",\n restoredState: restoredState,\n})\n\n// trigger a graphql call to query user profile data\nexport const saveStepAndGoNext = (API, graphqlOperation) => {\n return function(dispatch, getState) {\n const {\n activityId,\n activityName,\n activitySelectStage,\n answers,\n startupName,\n } = getState().questionnaire\n const owner = getState().user.id\n if (owner.length < 1) return Promise.resolve()\n\n const saveData = {\n input: preparePayload({\n activityId,\n activityName,\n activitySelectStage,\n answers,\n owner,\n startupName,\n }),\n }\n\n dispatch(answersSaveStart())\n\n return API.graphql(\n graphqlOperation(customMutations.updateAnswers, saveData)\n )\n .then(res => {\n const { personalityScores } = res.data.updateUserProfile\n dispatch(answersSaveSuccess())\n // make sure to keep personalityscores updated\n dispatch(\n profileFetchSuccess({\n personalityScores,\n })\n )\n dispatch(nextStep())\n })\n .catch(e => {\n dispatch(answersSaveError())\n console.error(e)\n })\n }\n}\n\nexport const saveProfileActivity = (\n API,\n graphqlOperation,\n { id, details, stage }\n) => {\n return function(dispatch, getState) {\n const owner = getState().user.id\n if (owner.length < 1) return Promise.resolve()\n\n const saveData = {\n input: preparePayload({\n activityId: id,\n activityName: details,\n activitySelectStage: stage,\n owner,\n }),\n }\n\n dispatch(activitySaveStart())\n\n return API.graphql(\n graphqlOperation(customMutations.updateAnswers, saveData)\n )\n .then(res => {\n dispatch(activitySaveSuccess())\n dispatch(setActivity(id))\n dispatch(setActivityName(details))\n dispatch(setActivitySelectStage(stage))\n return true\n })\n .catch(e => {\n dispatch(activitySaveError())\n console.error(e)\n return false\n })\n }\n}\n\nexport const updateProfileActivity = (API, graphqlOperation, { id }) => {\n return function(dispatch, getState) {\n const owner = getState().user.id\n if (owner.length < 1) return Promise.resolve()\n\n const saveData = {\n input: preparePayload({\n activityId: id,\n owner,\n }),\n }\n\n dispatch(activitySaveStart())\n\n return API.graphql(\n graphqlOperation(customMutations.updateAnswers, saveData)\n )\n .then(res => {\n dispatch(activitySaveSuccess())\n dispatch(setActivity(id))\n return true\n })\n .catch(e => {\n dispatch(activitySaveError())\n console.error(e)\n return false\n })\n }\n}\n\nexport const updateStartupName = (API, graphqlOperation, value) => {\n return function(dispatch, getState) {\n const owner = getState().user.id\n if (owner.length < 1) return Promise.resolve()\n\n const saveData = {\n input: preparePayload({\n startupName: value,\n owner,\n }),\n }\n\n dispatch(startupNameSaveStart())\n\n return API.graphql(\n graphqlOperation(customMutations.updateAnswers, saveData)\n )\n .then(res => {\n dispatch(startupNameSaveSuccess())\n dispatch(setStartupName(value))\n return true\n })\n .catch(e => {\n dispatch(startupNameSaveError())\n console.error(e)\n return false\n })\n }\n}\n\n// trigger a graphql call to query user profile data\nexport const getPersonalityScores = (API, answers) => {\n return function(dispatch, getState) {\n dispatch(personalityScoresFetchStart())\n\n API.get(\"personalityscore\", \"/personalityscore\", {\n queryStringParameters: { answers: JSON.stringify(answers) },\n })\n .then(res => {\n if (res.status === 500) return dispatch(personalityScoresFetchError())\n else dispatch(personalityScoresFetchSuccess(res))\n })\n .catch(e => {\n console.error(e)\n dispatch(personalityScoresFetchError())\n })\n }\n}\n\nexport const rehydrateThen = restoredState => dispatch => {\n dispatch(rehydrate(restoredState))\n return Promise.resolve()\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","export const updateAnswers = `mutation UpdateUserProfile($input: UpdateUserProfileInput!) {\n updateUserProfile(input: $input) {\n activityId\n answers {\n _1\n _2\n _3\n _4\n _5\n _6\n _7\n _8\n _9\n _10\n _11\n }\n startupName\n owner\n personalityScores {\n P_BALANCED\n P_DISRUPTIVE\n P_PLAYFUL\n P_RELIABLE\n P_WITTY\n F_CLASSIC\n F_TRENDY\n }\n }\n}\n`\n\nexport const updatePersonaColor = `mutation UpdateUserProfile($input: UpdateUserProfileInput!) {\n updateUserProfile(input: $input) {\n colorId\n personaId\n }\n}\n`\n\nexport const updateColor = `mutation UpdateUserProfile($input: UpdateUserProfileInput!) {\n updateUserProfile(input: $input) {\n colorId\n }\n}\n`\n\nexport const saveLogoMutation = `mutation saveLogo($input: CreateSavedLogoInput!) {\n createSavedLogo(input: $input) {\n colorId\n fontId\n forType\n groupId\n personaId\n symbolId\n updatedAt\n }\n}\n`\n\nexport const unsaveLogoMutation = `\nmutation unsaveLogo($input: DeleteSavedLogoInput!) {\n deleteSavedLogo(input: $input) {\n symbolId\n }\n}\n`\n","export const savedProposalInit = id => ({\n type: \"SAVED_PROPOSAL_INIT\",\n id,\n})\n\nexport const savedProposalFetchStart = id => ({\n type: \"SAVED_PROPOSAL_FETCH_START\",\n id,\n})\n\nexport const savedProposalFetchError = id => ({\n type: \"SAVED_PROPOSAL_FETCH_ERROR\",\n id,\n})\n\nexport const savedProposalFetchSuccess = (id, payload) => ({\n type: \"SAVED_PROPOSAL_FETCH_SUCCESS\",\n id,\n payload,\n})\n\nexport const resetProposals = (id, payload) => ({\n type: \"RESET_PROPOSALS\",\n})\n\nexport const loadSavedProposal = (API, attributes, startupName) => dispatch => {\n const { colorId, fontId, groupId, personaId, symbolId } = attributes\n dispatch(savedProposalFetchStart(symbolId))\n\n API.get(\"logoproposal\", \"/logoconcepts/savedproposal\", {\n queryStringParameters: {\n colorId,\n fontId,\n groupId,\n personaId,\n symbolId,\n startupName,\n },\n })\n .then(res => {\n if (res.status === 429) {\n // return dispatch(savedProposalListFetchLimit())\n } else if (res.status === 500) {\n // return dispatch(savedProposalListFetchError())\n } else {\n dispatch(savedProposalFetchSuccess(symbolId, res))\n // Object.keys(res).map(conceptId => {\n // dispatch(savedProposalPreviewInit(conceptId))\n // return null\n // })\n }\n })\n .catch(e => {\n console.error(e)\n dispatch(savedProposalFetchError())\n })\n}\n","import * as customQueries from \"../../graphql/customQueries\"\nimport * as customMutations from \"../../graphql/customMutations\"\nimport { answersFetchSuccess, resetAnswers } from \"./questionnaire\"\nimport { resetProposals } from \"./proposals\"\nimport { resetProposalPreviews } from \"./proposalPreviews\"\nimport { savedProposalInit } from \"./savedProposals\"\n\nexport const logIn = (email, id) => ({\n type: \"SIGN_IN\",\n email,\n id,\n})\n\nexport const logInOptimistic = (email, id) => ({\n type: \"SIGN_IN_OPTIMISTIC\",\n email,\n id,\n})\n\nexport const logOut = () => ({\n type: \"SIGN_OUT\",\n})\nexport const resetProfile = () => ({\n type: \"RESET_PROFILE\",\n})\n\nexport const profileSavePersonaStart = () => ({\n type: \"PROFILE_SAVE_PERSONA_START\",\n})\n\nexport const profileSavePersonaError = () => ({\n type: \"PROFILE_SAVE_PERSONA_ERROR\",\n})\n\nexport const profileSavePersonaSuccess = id => ({\n type: \"PROFILE_SAVE_PERSONA_SUCCESS\",\n id,\n})\n\nexport const profileResetColor = () => ({\n type: \"PROFILE_RESET_COLOR\",\n})\n\nexport const profileSaveColorStart = () => ({\n type: \"PROFILE_SAVE_COLOR_START\",\n})\n\nexport const profileSaveColorError = () => ({\n type: \"PROFILE_SAVE_COLOR_ERROR\",\n})\n\nexport const profileSaveColorSuccess = id => ({\n type: \"PROFILE_SAVE_COLOR_SUCCESS\",\n id,\n})\n\nexport const profileInitStart = () => ({\n type: \"PROFILE_INIT_START\",\n})\n\nexport const profileInitSuccess = () => ({\n type: \"PROFILE_INIT_SUCCESS\",\n})\n\nexport const profileInitError = () => ({\n type: \"PROFILE_INIT_ERROR\",\n})\n\nexport const profileFetchStart = () => ({\n type: \"PROFILE_FETCH_START\",\n})\n\nexport const profileFetchSuccess = data => ({\n type: \"PROFILE_FETCH_SUCCESS\",\n data,\n})\n\nexport const profileFetchError = () => ({\n type: \"PROFILE_FETCH_ERROR\",\n})\n\nexport const profileFetchNotFound = () => ({\n type: \"PROFILE_FETCH_NOT_FOUND\",\n})\n\nexport const profileCheckStart = () => ({\n type: \"PROFILE_CHECK_START\",\n})\n\nexport const profileCheckSuccess = () => ({\n type: \"PROFILE_CHECK_SUCCESS\",\n})\n\nexport const profileCheckError = () => ({\n type: \"PROFILE_CHECK_ERROR\",\n})\n\nexport const localProfileCheckStart = () => ({\n type: \"PROFILE_LOCAL_CHECK_START\",\n})\n\nexport const localProfileCheckSuccess = () => ({\n type: \"PROFILE_LOCAL_CHECK_SUCCESS\",\n})\n\nexport const localProfileCheckError = () => ({\n type: \"PROFILE_LOCAL_CHECK_ERROR\",\n})\n\nexport const localProfileCheckFailure = () => ({\n type: \"PROFILE_LOCAL_CHECK_FAILURE\",\n})\n\nexport const proposalSaveListInit = payload => ({\n type: \"PROPOSAL_SAVE_LIST_INIT\",\n payload,\n})\n\nexport const cleanLogIn = (email, username) => (dispatch, getState) => {\n dispatch(resetAnswers())\n dispatch(resetProfile())\n dispatch(resetProposals())\n dispatch(resetProposalPreviews())\n dispatch(logIn(email, username))\n return\n}\n\n// check to see if a user is allowed in Aws Cognito\n// log out if it's not the case anymore\n// else dispatch login action\nexport const signInCurrentUser = Auth => {\n return function(dispatch, getState) {\n return Auth.currentAuthenticatedUser()\n .then(user => {\n return dispatch(logIn(user.attributes.email, user.username))\n })\n .catch(err => {\n return Auth.signOut().then(() => {\n dispatch(logOut())\n dispatch(resetAnswers())\n dispatch(resetProfile())\n dispatch(resetProposals())\n dispatch(resetProposalPreviews())\n })\n })\n }\n}\n\nexport const signOutUser = Auth => {\n return function(dispatch, getState) {\n return Auth.signOut()\n .then(() => {\n dispatch(logOut())\n dispatch(resetAnswers())\n dispatch(resetProfile())\n dispatch(resetProposals())\n dispatch(resetProposalPreviews())\n })\n .catch(err => console.error(err))\n }\n}\n\nexport const cleanLoadUser = (Auth, API, graphqlOperation) => {\n return function(dispatch, getState) {\n return (\n Auth.currentAuthenticatedUser()\n // user was found\n .then(user => {\n // load profile only if necessary\n if (\n getState().user.profile.fetchStatus !== \"ok\" &&\n getState().user.profile.fetchStatus !== \"waiting_for_response\"\n ) {\n dispatch(logIn(user.attributes.email, user.username))\n dispatch(fetchProfile(API, graphqlOperation))\n return user\n }\n })\n .catch(err => {\n return Auth.signOut().then(() => {\n dispatch(logOut())\n dispatch(resetAnswers())\n dispatch(resetProfile())\n dispatch(resetProposals())\n dispatch(resetProposalPreviews())\n return\n })\n })\n )\n }\n}\n\nexport const verifyUser = Auth => async (dispatch, getState) =>\n new Promise((resolve, reject) =>\n Auth.currentAuthenticatedUser()\n .then(user => {\n dispatch(logIn(user.attributes.email, user.username))\n resolve(user)\n })\n .catch(err => {\n if (getState().user.isLoggedIn !== true) {\n resolve()\n return\n }\n\n return Auth.signOut()\n .then(() => {\n dispatch(logOut())\n dispatch(resetAnswers())\n dispatch(resetProfile())\n dispatch(resetProposals())\n dispatch(resetProposalPreviews())\n reject(\"user not logged in\")\n })\n .catch(e => reject())\n })\n )\n\n// trigger a lambda function that checks current user\n// and creates user profile in db if it doesn't exist\nexport const initProfile = (API, data) => {\n return function(dispatch, getState) {\n dispatch(profileInitStart())\n\n return API.post(\"userprofileinit\", \"/userprofileinit\", {\n body: data,\n })\n .then(res => {\n if (res.status === 500) {\n if (res.error && res.error === \"need_to_fill_questionnaire\") {\n dispatch(profileInitError())\n return \"retake_questionnaire\"\n }\n }\n dispatch(profileInitSuccess())\n return \"ok\"\n })\n .catch(error => {\n dispatch(profileInitError())\n })\n }\n}\n\n// trigger a lambda function that checks current user profile\nexport const checkProfile = (API, graphqlOperation) => async (\n dispatch,\n getState\n) =>\n new Promise((resolve, reject) => {\n const owner = getState().user.id\n if (owner.length < 1) return reject()\n\n dispatch(profileCheckStart())\n\n API.graphql(\n graphqlOperation(\n `\n query GetUserProfile($owner: String!) {\n getUserProfile(owner: $owner) {\n owner\n }\n }\n `,\n { owner }\n )\n )\n .then(res => {\n if (res.data.getUserProfile === null)\n throw new Error(\"profile not found\")\n\n dispatch(profileCheckSuccess())\n resolve(true)\n })\n .catch(error => {\n dispatch(profileCheckError())\n resolve(false)\n })\n })\n\n// trigger a graphql call to query user profile data\nexport const fetchProfile = (API, graphqlOperation) => (dispatch, getState) =>\n new Promise((resolve, reject) => {\n const owner = getState().user.id\n if (owner.length < 1) reject()\n\n dispatch(profileFetchStart())\n\n API.graphql(graphqlOperation(customQueries.getUserMainProfile, { owner }))\n .then(res => {\n if (res.data.getUserProfile === null) {\n dispatch(profileFetchNotFound())\n reject()\n }\n\n // your profile is incomplete, please take questionnaire\n\n const {\n activityId,\n activityName,\n activitySelectStage,\n answers,\n colorId,\n isComplete,\n personaId,\n personalityScores,\n savedLogos,\n startupName,\n } = res.data.getUserProfile\n\n // need to dispatch answers first for profileroute orchestration of activity selector prompt\n dispatch(\n answersFetchSuccess({\n activityId,\n activityName,\n activitySelectStage,\n answers,\n startupName,\n })\n )\n\n // also restore list of saved logos\n const proposalSaveList = prepareSaveList(savedLogos)\n dispatch(proposalSaveListInit(proposalSaveList))\n Object.keys(proposalSaveList).map(pId => {\n dispatch(savedProposalInit(pId))\n return null\n })\n\n dispatch(\n profileFetchSuccess({\n colorId,\n isComplete,\n personaId,\n personalityScores,\n })\n )\n resolve()\n })\n .catch(e => {\n dispatch(profileFetchError())\n console.error(e)\n reject()\n })\n })\n\nexport const setProfilePersona = (personaId, API, graphqlOperation) => {\n return function(dispatch, getState) {\n const owner = getState().user.id\n if (owner.length < 1) return Promise.resolve()\n\n dispatch(profileSavePersonaStart())\n\n return API.graphql(\n graphqlOperation(customMutations.updatePersonaColor, {\n input: {\n owner,\n colorId: null,\n personaId,\n },\n })\n )\n .then(res => {\n const { personaId } = res.data.updateUserProfile\n dispatch(profileResetColor())\n dispatch(profileSavePersonaSuccess(personaId))\n })\n .catch(e => {\n dispatch(profileSavePersonaError(personaId))\n console.error(e)\n })\n }\n}\n\nexport const setProfileColor = (colorId, API, graphqlOperation) => {\n return function(dispatch, getState) {\n const owner = getState().user.id\n if (owner.length < 1) return Promise.resolve()\n\n dispatch(profileSaveColorStart())\n\n return API.graphql(\n graphqlOperation(customMutations.updateColor, {\n input: {\n owner,\n colorId,\n },\n })\n )\n .then(res => {\n const { colorId } = res.data.updateUserProfile\n dispatch(profileSaveColorSuccess(colorId))\n })\n .catch(e => {\n dispatch(profileSaveColorError(colorId))\n console.error(e)\n })\n }\n}\n\n// trigger a lambda function that verifies local user profile\nexport const checkLocalProfile = (API, localProfileData) => async dispatch => {\n const { activityId, answers, persona, startupName } = localProfileData\n dispatch(localProfileCheckStart())\n\n API.get(\"userprofilelocalcheck\", \"/userprofilelocalcheck\", {\n queryStringParameters: {\n activityId,\n answers: JSON.stringify(answers),\n persona,\n startupName,\n },\n })\n .then(res => {\n if (res.status !== 200) return dispatch(localProfileCheckError())\n else {\n if (res.message === \"ok\") return dispatch(localProfileCheckSuccess(res))\n else return dispatch(localProfileCheckFailure())\n }\n })\n .catch(e => {\n console.error(e)\n dispatch(localProfileCheckError())\n })\n}\n\nconst prepareSaveList = data => {\n let results = {}\n const { items } = data\n\n items.map(item => (results[item.symbolId] = { ...item, status: \"saved\" }))\n\n return results\n}\n","export const getUserMainProfile = `query GetUserProfile($owner: String!) {\n getUserProfile(owner: $owner) {\n activityId\n activityName\n activitySelectStage\n answers {\n _1\n _2\n _3\n _4\n _5\n _6\n _7\n _8\n _9\n _10\n _11\n }\n colorId\n isComplete\n personaId\n startupName\n owner\n personalityScores {\n P_BALANCED\n P_DISRUPTIVE\n P_PLAYFUL\n P_RELIABLE\n P_WITTY\n F_CLASSIC\n F_TRENDY\n }\n savedLogos {\n items {\n colorId\n fontId\n forType\n groupId\n personaId\n symbolId\n updatedAt\n }\n }\n }\n}\n`\n"],"sourceRoot":""}