Skip to content

Commit

Permalink
feat: add subscribe to file store toggle to organization subscriptions
Browse files Browse the repository at this point in the history
  • Loading branch information
danielstefanequilobe committed Aug 10, 2022
1 parent b7580bc commit 48215ea
Show file tree
Hide file tree
Showing 2 changed files with 82 additions and 5 deletions.
15 changes: 10 additions & 5 deletions src/components/forms/SubscriptionModal.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@ import {
import {
getOrganizationData,
subscribeImportOrg,
subscribeToFileStore,
subscribeToOrg,
unsubscribeFromFileStore,
unsubscribeFromOrg,
} from '../../store/actions/climateWarehouseActions';
import { PrimaryButton } from '../form/PrimaryButton';
Expand Down Expand Up @@ -278,19 +280,22 @@ const SubscriptionModal = ({ onClose }) => {
</Body>
<Switch
checked={
organizations[organizationKey]?.subscribed ??
false
organizations[organizationKey]
?.fileStoreSubscribed ?? false
}
onChange={() => {
if (organizations[organizationKey]?.subscribed) {
if (
organizations[organizationKey]
?.fileStoreSubscribed
) {
dispatch(
unsubscribeFromOrg(
unsubscribeFromFileStore(
organizations[organizationKey]?.orgUid,
),
);
} else {
dispatch(
subscribeToOrg(
subscribeToFileStore(
organizations[organizationKey]?.orgUid,
),
);
Expand Down
72 changes: 72 additions & 0 deletions src/store/actions/climateWarehouseActions.js
Original file line number Diff line number Diff line change
Expand Up @@ -867,6 +867,78 @@ export const deleteFile = SHA256 => {
};
};

export const subscribeToFileStore = orgUid => {
return async dispatch => {
try {
dispatch(activateProgressIndicator);

const url = `${constants.API_HOST}/filestore/subscribe`;

const payload = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ orgUid }),
};

const response = await fetchWrapper(url, payload);

if (response.ok) {
dispatch(setConnectionCheck(true));
dispatch(getOrganizationData());
} else {
dispatch(
setNotificationMessage(
NotificationMessageTypeEnum.error,
'something-went-wrong',
),
);
}
} catch {
dispatch(setConnectionCheck(false));
} finally {
dispatch(deactivateProgressIndicator);
}
};
};

export const unsubscribeFromFileStore = orgUid => {
return async dispatch => {
try {
dispatch(activateProgressIndicator);

const url = `${constants.API_HOST}/filestore/unsubscribe`;

const payload = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ orgUid }),
};

const response = await fetchWrapper(url, payload);

if (response.ok) {
dispatch(setConnectionCheck(true));
dispatch(getOrganizationData());
} else {
dispatch(
setNotificationMessage(
NotificationMessageTypeEnum.error,
'something-went-wrong',
),
);
}
} catch {
dispatch(setConnectionCheck(false));
} finally {
dispatch(deactivateProgressIndicator);
}
};
};

export const editStagingData = (uuid, data) => {
return async dispatch => {
try {
Expand Down

0 comments on commit 48215ea

Please sign in to comment.