{"version":3,"sources":["webpack:///./app/containers/SlackApplicationAuthorization/constants.js","webpack:///./app/containers/SlackApplicationAuthorization/reducers.js","webpack:///./app/containers/SlackApplicationAuthorization/actions.js","webpack:///./app/containers/SlackApplicationAuthorization/sagas.js","webpack:///./app/containers/SlackApplicationAuthorization/selectors.js","webpack:///./app/containers/SlackApplicationAuthorization/messages.js","webpack:///./app/containers/SlackApplicationAuthorization/index.js"],"names":["DO_POST_MESSAGE","DO_POST_MESSAGE_ERROR","initialState","fromJS","doSlackAuth","loading","error","handleActions","state","setIn","doPostMessage","createAction","doPostMessageSuccess","doPostMessageError","securityCenterSaga","action","code","payload","window","opener","postMessage","slack","put","console","all","takeLatest","selectDoSlackAuth","createSelector","get","defineMessages","id","defaultMessage","success","ContentContainer","styled","div","MessageContainer","h3","BigStatusMessage","props","DynamicFormattedMessage","BarLoadingAnimation","SlackApplicationAuthorization","context","this","result","messages","displayName","React","Component","mapStateToProps","createStructuredSelector","qs","parse","_","withConnect","connect","dispatch","bindActionCreators","withReducer","injectReducer","key","reducer","withSaga","injectSaga","saga","sagas","mode","DAEMON","compose"],"mappings":"koBAAaA,gBAAkB,+DAElBC,sBAAwB,qE,oKCO9B,IAAMC,aAAeC,yBAAO,CACjCC,YAAa,CACXC,SAAS,EACTC,OAAO,KAIIC,kDAAa,kCAEvBP,iBAAkB,SAAAQ,OAAK,OACtBA,MACGC,MAAM,CAAC,cAAe,YAAY,GAClCA,MAAM,CAAC,cAAe,UAAU,MALb,+BAMvBR,uBAAwB,SAAAO,OAAK,OAC5BA,MACGC,MAAM,CAAC,cAAe,YAAY,GAClCA,MAAM,CAAC,cAAe,UAAU,MATb,+BDfW,wECyBR,SAAAD,OAAK,OAC9BA,MACGC,MAAM,CAAC,cAAe,YAAY,GAClCA,MAAM,CAAC,cAAe,UAAU,MAbb,gBAe1BP,c,+BCvBWQ,cAAgBC,uCAAaX,iBAC7BY,qBAAuBD,uCFRG,wEES1BE,mBAAqBF,uCAAaV,uB,gCCLrCS,qB,iCAYAI,oBAZV,SAAUJ,oBAAcK,QAAxB,8GAII,OAHMC,KAASD,OAAOE,QAAhBD,KADV,gBAGIE,OAAOC,OAAOC,YAAY,CAAEC,OAAO,EAAML,WAAQ,KAHrD,gBAIUM,kBAAIV,wBAJd,qCAQI,OARJ,8CAOIW,QAAQjB,MAAR,6DAPJ,iBAQUgB,kBAAIT,sBARd,kEAYA,SAAUC,qBAAV,wGACE,OADF,iBACQU,kBAAI,CAACC,kBAAWzB,gBAAiBU,uBADzC,sDAIeI,I,mBAAAA,yB,yKCVFY,kBAAoBC,uBAFL,SAAAnB,OAAK,OAAIA,MAAMoB,IAAI,yBAA2B1B,gBAEZ,SAAAM,OAAK,OACjEA,MAAMoB,IAAI,kB,6HCVGC,4BAAe,CAC5BvB,MAAO,CACLwB,GAAI,qDACJC,eAAgB,wDAGlBC,QAAS,CACPF,GAAI,qDACJC,eAAgB,gD,w+ECapB,IAAME,iBAAmBC,sCAAOC,IAAV,mBAUhBC,iBAAmBF,sCAAOG,GAAV,oBAKtB,SAASC,iBAAiBC,OACxB,OACE,KAACN,iBAAD,UACE,KAACG,iBAAD,UACE,8BAACI,wBAAA,EAA4BD,S,SAkBxB,KAACE,oBAAA,EAAD,IAZAC,4DAAb,2BACE,uCAAYH,MAAOI,SAAS,iB,8HAAA,qCAC1B,+FAAMJ,MAAOI,UACTJ,MAAMvB,KACR,MAAKuB,MAAM7B,cAAc,CAAEM,KAAMuB,MAAMvB,OAEvC,MAAKuB,MAAM1B,qBALa,M,uCAD9B,O,2UAAA,iD,YAAA,+B,WAAA,gCAWI,OAAI+B,KAAKL,MAAMM,OAAOjB,IAAI,WACxB,KAGEgB,KAAKL,MAAMM,OAAOjB,IAAI,SACjB,8BAACU,iBAAqBQ,SAASxC,OAGnCsC,KAAKL,MAAMvB,KAMT,8BAACsB,iBAAqBQ,SAASd,UAJpCT,QAAQjB,MAAR,UAAiBsC,KAAKG,YAAtB,0BAAmDH,KAAKL,MAAMvB,OACvD,8BAACsB,iBAAqBQ,SAASxC,a,4GAtB5C,+BAAmD0C,gBAAMC,WA0CnDC,gBAAkBC,sBAAyB,CAC/CnC,KFtFmC,SAACR,MAAO+B,OAC3C,OAAOa,uBAAGC,MAAMC,iBAAE1B,IAAIW,MAAO,CAAC,WAAY,UAAW,KAAKvB,MEsF1D6B,OAAQnB,oBAOV,IAAM6B,YAAcC,oBAAQN,iBAJ5B,SAA4BO,UAC1B,OAAOC,8BAAmB,CAAEhD,4BAAeG,uCAAsB4C,aAK7DE,YAAcC,wBAAc,CAAEC,IAAK,uBAAwBC,mBAC3DC,SAAWC,qBAAW,CAC1BH,IAAK,uBACLI,KAAMC,MACNC,KAAMC,cAGOC,+CACbd,YACAI,YACAI,SAHaM,CAIb3B","file":"51.2c6980a7407e3cf62b58.chunk.js","sourcesContent":["export const DO_POST_MESSAGE = `app/containers/SlackApplicationauthorization/DO_POST_MESSAGE`\nexport const DO_POST_MESSAGE_SUCCESS = `app/containers/SlackApplicationauthorization/DO_POST_MESSAGE_SUCCESS`\nexport const DO_POST_MESSAGE_ERROR = `app/containers/SlackApplicationauthorization/DO_POST_MESSAGE_ERROR`\n","import { handleActions } from 'redux-actions'\nimport { fromJS } from 'immutable'\n\nimport {\n DO_POST_MESSAGE,\n DO_POST_MESSAGE_ERROR,\n DO_POST_MESSAGE_SUCCESS,\n} from './constants'\n\nexport const initialState = fromJS({\n doSlackAuth: {\n loading: true,\n error: false,\n },\n})\n\nexport default handleActions(\n {\n [DO_POST_MESSAGE]: state =>\n state\n .setIn(['doSlackAuth', 'loading'], true)\n .setIn(['doSlackAuth', 'error'], false),\n [DO_POST_MESSAGE_ERROR]: state =>\n state\n .setIn(['doSlackAuth', 'loading'], false)\n .setIn(['doSlackAuth', 'error'], true),\n [DO_POST_MESSAGE_SUCCESS]: state =>\n state\n .setIn(['doSlackAuth', 'loading'], false)\n .setIn(['doSlackAuth', 'error'], false),\n },\n initialState\n)\n","import { createAction } from 'redux-actions'\n\nimport {\n DO_POST_MESSAGE,\n DO_POST_MESSAGE_SUCCESS,\n DO_POST_MESSAGE_ERROR,\n} from './constants'\n\nexport const doPostMessage = createAction(DO_POST_MESSAGE)\nexport const doPostMessageSuccess = createAction(DO_POST_MESSAGE_SUCCESS)\nexport const doPostMessageError = createAction(DO_POST_MESSAGE_ERROR)","import { all, put, takeLatest } from 'redux-saga/effects'\n\nimport { doPostMessageError, doPostMessageSuccess } from './actions'\nimport { DO_POST_MESSAGE } from './constants'\n\nfunction* doPostMessage(action) {\n const { code } = action.payload\n try {\n window.opener.postMessage({ slack: true, code }, '*')\n yield put(doPostMessageSuccess())\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(`There was an error posting message to Sonrai.`, e)\n yield put(doPostMessageError())\n }\n}\n\nfunction* securityCenterSaga() {\n yield all([takeLatest(DO_POST_MESSAGE, doPostMessage)])\n}\n\nexport default securityCenterSaga\n","import { createSelector } from 'reselect'\nimport _ from 'lodash'\nimport qs from 'query-string'\nimport { initialState } from './reducers'\n\nexport const selectQueryStringCode = (state, props) => {\n return qs.parse(_.get(props, ['location', 'search'], '')).code\n}\n\nexport const selectDomain = state => state.get('doSlackAuthorization') || initialState\n\nexport const selectDoSlackAuth = createSelector(selectDomain, state =>\n state.get('doSlackAuth')\n)\n","import { defineMessages } from 'react-intl'\n\nexport default defineMessages({\n error: {\n id: 'aoo.containers.slackApplicationAuthorization.error',\n defaultMessage: 'There was an error authorizing the Slack application',\n },\n\n success: {\n id: 'aoo.containers.slackApplicationAuthorization.error',\n defaultMessage: 'Slack Application successfully authorized.',\n },\n})\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport ImmutablePropTypes from 'react-immutable-proptypes'\nimport { connect } from 'react-redux'\nimport { compose, bindActionCreators } from 'redux'\nimport { createStructuredSelector } from 'reselect'\n\nimport styled from 'styled-components'\n\nimport injectReducer from 'utils/injectReducer'\nimport injectSaga from 'utils/injectSaga'\nimport { DAEMON } from 'utils/constants'\nimport reducer from './reducers'\nimport sagas from './sagas'\n\nimport { doPostMessage, doPostMessageError } from './actions'\nimport { selectDoSlackAuth, selectQueryStringCode } from './selectors'\n\nimport BarLoadingAnimation from 'components/BarLoadingAnimation'\nimport DynamicFormattedMessage from 'components/DynamicFormattedMessage'\n\nimport messages from './messages'\n\nconst ContentContainer = styled.div`\n position: fixed;\n top: 0;\n left: 0;\n height: 100vh;\n width: 100vw;\n text-align: center;\n padding-top: 90px;\n`\n\nconst MessageContainer = styled.h3`\n margin-top: 10px;\n margin-bottom: 10px;\n`\n\nfunction BigStatusMessage(props) {\n return (\n \n \n \n \n \n )\n}\n\nexport class SlackApplicationAuthorization extends React.Component {\n constructor(props, context) {\n super(props, context)\n if (props.code) {\n this.props.doPostMessage({ code: props.code })\n } else {\n this.props.doPostMessageError()\n }\n }\n\n render() {\n if (this.props.result.get('loading')) {\n return \n }\n\n if (this.props.result.get('error')) {\n return \n }\n\n if (!this.props.code) {\n // eslint-disable-next-line no-console\n console.error(`${this.displayName}: invalid code ${this.props.code}`)\n return \n }\n\n return \n }\n}\n\nSlackApplicationAuthorization.propTypes = {\n // ~ bound action creators ~\n doPostMessage: PropTypes.func.isRequired,\n doPostMessageError: PropTypes.func.isRequired,\n\n // ~ Props from redux ~\n code: PropTypes.string.isRequired,\n result: ImmutablePropTypes.contains({\n loading: PropTypes.bool,\n error: PropTypes.bool,\n }),\n}\n\nconst mapStateToProps = createStructuredSelector({\n code: selectQueryStringCode,\n result: selectDoSlackAuth,\n})\n\nfunction mapDispatchToProps(dispatch) {\n return bindActionCreators({ doPostMessage, doPostMessageError }, dispatch)\n}\n\nconst withConnect = connect(mapStateToProps, mapDispatchToProps)\n\nconst withReducer = injectReducer({ key: 'doSlackAuthorization', reducer })\nconst withSaga = injectSaga({\n key: 'doSlackAuthorization',\n saga: sagas,\n mode: DAEMON,\n})\n\nexport default compose(\n withConnect,\n withReducer,\n withSaga\n)(SlackApplicationAuthorization)\n"],"sourceRoot":""}