@@ -19,6 +19,13 @@ import {OrganizationSummaries} from 'src/client/unityRoutes'
1919type Actions = QuartzOrganizationActions | PublishNotificationAction
2020type DefaultOrg = OrganizationSummaries [ number ]
2121
22+ class OrgNotFoundError extends Error {
23+ constructor ( message ) {
24+ super ( message )
25+ this . name = 'DefaultOrgNotFoundError'
26+ }
27+ }
28+
2229// Error Reporting
2330import { reportErrorThroughHoneyBadger } from 'src/shared/utils/errors'
2431
@@ -31,7 +38,6 @@ export const getQuartzOrganizationsThunk = () => async (
3138 const quartzOrganizations = await fetchQuartzOrgs ( )
3239
3340 dispatch ( setQuartzOrganizations ( quartzOrganizations ) )
34- dispatch ( setQuartzOrganizationsStatus ( RemoteDataState . Done ) )
3541 } catch ( err ) {
3642 dispatch ( setQuartzOrganizationsStatus ( RemoteDataState . Error ) )
3743
@@ -42,18 +48,32 @@ export const getQuartzOrganizationsThunk = () => async (
4248 }
4349}
4450
45- export const updateDefaultOrgThunk = (
46- oldDefaultOrg : DefaultOrg ,
47- newDefaultOrg : DefaultOrg
48- ) => async ( dispatch : Dispatch < Actions > , getState : GetState ) => {
51+ export const updateDefaultOrgThunk = ( newDefaultOrg : DefaultOrg ) => async (
52+ dispatch : Dispatch < Actions > ,
53+ getState : GetState
54+ ) => {
4955 try {
5056 dispatch ( setQuartzOrganizationsStatus ( RemoteDataState . Loading ) )
5157
5258 await updateDefaultQuartzOrg ( newDefaultOrg . id )
5359
54- dispatch ( setQuartzDefaultOrg ( oldDefaultOrg . id , newDefaultOrg . id ) )
60+ dispatch ( setQuartzDefaultOrg ( newDefaultOrg . id ) )
61+
62+ const state = getState ( )
63+ const orgStatus = state . identity . currentIdentity . status
64+
65+ if ( orgStatus === RemoteDataState . Error ) {
66+ const defaultOrgErrMsg =
67+ 'quartzOrganizations state does not contain requested default organization'
5568
56- dispatch ( setQuartzOrganizationsStatus ( RemoteDataState . Done ) )
69+ reportErrorThroughHoneyBadger ( new OrgNotFoundError ( defaultOrgErrMsg ) , {
70+ name : defaultOrgErrMsg ,
71+ context : {
72+ org : newDefaultOrg ,
73+ state : getState ( ) ,
74+ } ,
75+ } )
76+ }
5777 } catch ( err ) {
5878 dispatch ( setQuartzOrganizationsStatus ( RemoteDataState . Error ) )
5979
0 commit comments