Skip to content

Commit

Permalink
refactor(entities): refactor document
Browse files Browse the repository at this point in the history
  • Loading branch information
vmarseguerra committed Sep 23, 2024
1 parent 51254c0 commit 3a1e06d
Show file tree
Hide file tree
Showing 20 changed files with 131 additions and 184 deletions.
6 changes: 3 additions & 3 deletions packages/web-app/src/actions/Document/CreateDocument.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@ export const POST_DOCUMENT = 'POST_DOCUMENT';
export const POST_DOCUMENT_SUCCESS = 'POST_DOCUMENT_SUCCESS';
export const POST_DOCUMENT_FAILURE = 'POST_DOCUMENT_FAILURE';

export const postDocumentAction = () => ({
const postDocumentAction = () => ({
type: POST_DOCUMENT
});

export const postDocumentSuccess = httpCode => ({
const postDocumentSuccess = httpCode => ({
type: POST_DOCUMENT_SUCCESS,
httpCode
});

export const postDocumentFailure = (errorMessages, httpCode) => ({
const postDocumentFailure = (errorMessages, httpCode) => ({
type: POST_DOCUMENT_FAILURE,
errorMessages,
httpCode
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import fetch from 'isomorphic-fetch';
import { getDocumentChildrenUrl } from '../conf/apiRoutes';
import makeErrorMessage from '../helpers/makeErrorMessage';
import { checkAndGetStatus } from './utils';
import { getDocumentChildrenUrl } from '../../conf/apiRoutes';
import { checkAndGetStatus } from '../utils';

export const FETCH_DOCUMENT_CHILDREN = 'FETCH_DOCUMENT_CHILDREN';
export const FETCH_DOCUMENT_CHILDREN_SUCCESS =
Expand All @@ -28,12 +27,6 @@ export const fetchDocumentChildren =
});
})
.catch(error =>
dispatch({
type: FETCH_DOCUMENT_CHILDREN_FAILURE,
error: makeErrorMessage(
error.message,
`Fetching children of document with id ${documentId}`
)
})
dispatch({ type: FETCH_DOCUMENT_CHILDREN_FAILURE, error })
);
};
28 changes: 28 additions & 0 deletions packages/web-app/src/actions/Document/GetDocumentDetails.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import fetch from 'isomorphic-fetch';
import { getDocumentDetailsUrl } from '../../conf/apiRoutes';
import { checkAndGetStatus } from '../utils';

export const FETCH_DOCUMENT_DETAILS = 'FETCH_DOCUMENT_DETAILS';
export const FETCH_DOCUMENT_DETAILS_SUCCESS = 'FETCH_DOCUMENT_DETAILS_SUCCESS';
export const FETCH_DOCUMENT_DETAILS_FAILURE = 'FETCH_DOCUMENT_DETAILS_FAILURE';

export const fetchDocumentDetails =
(documentId, requireUpdate) => (dispatch, getState) => {
dispatch({ type: FETCH_DOCUMENT_DETAILS });

const requestOptions = {
headers: getState().login.authorizationHeader
};

const updateParam = requireUpdate ? `?requireUpdate=${requireUpdate}` : '';
return fetch(
getDocumentDetailsUrl + documentId + updateParam,
requestOptions
)
.then(checkAndGetStatus)
.then(response => response.json())
.then(data => dispatch({ type: FETCH_DOCUMENT_DETAILS_SUCCESS, data }))
.catch(error =>
dispatch({ type: FETCH_DOCUMENT_DETAILS_FAILURE, error })
);
};
7 changes: 2 additions & 5 deletions packages/web-app/src/actions/Document/GetDocuments.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
import fetch from 'isomorphic-fetch';
import { pathOr } from 'ramda';
import {
getDocumentsUrl as queryDocuments,
getCaversDocumentsUrl
} from '../../conf/apiRoutes';
import { getDocumentsUrl, getCaversDocumentsUrl } from '../../conf/apiRoutes';
import { getTotalCount, makeUrl } from '../utils';
import makeErrorMessage from '../../helpers/makeErrorMessage';

Expand Down Expand Up @@ -77,7 +74,7 @@ const doGet = (url, criterias) => async dispatch => {
}
};

export const getDocuments = criteria => doGet(queryDocuments, criteria);
export const getDocuments = criteria => doGet(getDocumentsUrl, criteria);

export const getUsersDocuments = (userId, criteria) =>
doGet(getCaversDocumentsUrl(userId), criteria);
5 changes: 5 additions & 0 deletions packages/web-app/src/actions/Document/ResetApiErrors.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export const RESET_DOCUMENT_API_ERRORS = 'RESET_DOCUMENT_API_ERRORS';

export const resetDocumentApiErrors = () => ({
type: RESET_DOCUMENT_API_ERRORS
});
5 changes: 0 additions & 5 deletions packages/web-app/src/actions/Document/ResetApiMessages.js

This file was deleted.

10 changes: 3 additions & 7 deletions packages/web-app/src/actions/Document/UpdateDocument.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,24 +11,20 @@ import {
import { checkAndGetStatus } from '../utils';
import { buildFormData } from './utils';

// ==========

export const UPDATE_DOCUMENT = 'UPDATE_DOCUMENT';
export const UPDATE_DOCUMENT_SUCCESS = 'UPDATE_DOCUMENT_SUCCESS';
export const UPDATE_DOCUMENT_FAILURE = 'UPDATE_DOCUMENT_FAILURE';

// ==========

export const updateDocumentAction = () => ({
const updateDocumentAction = () => ({
type: UPDATE_DOCUMENT
});

export const updateDocumentSuccess = httpCode => ({
const updateDocumentSuccess = httpCode => ({
type: UPDATE_DOCUMENT_SUCCESS,
httpCode
});

export const updateDocumentFailure = (errorMessages, httpCode) => ({
const updateDocumentFailure = (errorMessages, httpCode) => ({
type: UPDATE_DOCUMENT_FAILURE,
errorMessages,
httpCode
Expand Down
4 changes: 1 addition & 3 deletions packages/web-app/src/actions/Document/utils.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import { keys } from 'ramda';

// From https://stackoverflow.com/a/42483509/16600080
// FormData can't send null values, so we omit them.
// eslint-disable-next-line import/prefer-default-export
Expand All @@ -10,7 +8,7 @@ export const buildFormData = (formData, data, parentKey) => {
!(data instanceof Date) &&
!(data instanceof File)
) {
keys(data).forEach(key => {
Object.keys(data).forEach(key => {
buildFormData(
formData,
data[key],
Expand Down
26 changes: 0 additions & 26 deletions packages/web-app/src/actions/DocumentDetails.js

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import Table from '../../common/Table';
import useMakeCustomHeaderCellRenders from './customHeaderCellRender';
import useMakeCustomCellRenders from './customCellRender';
import TableActions from './TableActions';
import { resetApiMessages } from '../../../actions/Document/ResetApiMessages';
import { resetDocumentApiErrors } from '../../../actions/Document/ResetApiErrors';
import { resetEntranceState } from '../../../actions/Entrance/ResetEntrance';

const Wrapper = styled('div')`
Expand Down Expand Up @@ -77,7 +77,7 @@ const DuplicatesList = ({

useEffect(() => {
dispatch(resetEntranceState());
dispatch(resetApiMessages());
dispatch(resetDocumentApiErrors());
}, [httpCodeEntry, httpCodeDocument]);

useEffect(() => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { useDispatch, useSelector } from 'react-redux';
import { styled } from '@mui/material/styles';

import { usePermissions, useDocumentTypes } from '../../../../hooks';
import { resetApiMessages } from '../../../../actions/Document/ResetApiMessages';
import { resetDocumentApiErrors } from '../../../../actions/Document/ResetApiErrors';
import { postDocument } from '../../../../actions/Document/CreateDocument';
import { updateDocument } from '../../../../actions/Document/UpdateDocument';
import { displayLoginDialog } from '../../../../actions/Login';
Expand Down Expand Up @@ -81,12 +81,12 @@ const DocumentSubmission = () => {
};

const onSubmitAnotherDocument = () => {
dispatch(resetApiMessages());
dispatch(resetDocumentApiErrors());
resetContext();
};

const onSubmitAnotherArticle = () => {
dispatch(resetApiMessages());
dispatch(resetDocumentApiErrors());
resetContext();
// Keep some values to resubmit an article
updateAttribute('language', document.language);
Expand Down
7 changes: 2 additions & 5 deletions packages/web-app/src/pages/Application.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import Dashboard from './Dashboard';
import ApiDoc from './ApiDoc';
import HomePage from './homepage';
import AdvancedSearchPage from './AdvancedSearchPage';
import DocumentDetailsPage from './DocumentDetails';
import DocumentDetails from './DocumentDetails';
import DuplicateImportHandle from './DuplicateImportHandle';
import Faq from '../components/appli/Faq';
import LatestBlogNewsSection from './homepage/LatestBlogNewsSection';
Expand Down Expand Up @@ -129,10 +129,7 @@ const Application = () => {
<Route path="/ui/changePassword" component={ChangePassword} />
<Route path="/ui/documents/validation" component={DocumentValidation} />
<Route path="/ui/documents/:documentId/edit" component={DocumentEdit} />
<Route
path="/ui/documents/:documentId"
component={DocumentDetailsPage}
/>
<Route path="/ui/documents/:documentId" component={DocumentDetails} />
<Route path="/ui/import-csv" component={ImportContainer} />
<Route path="/ui/duplicates" component={DuplicateImportHandle} />
<Redirect path="/ui/*" to="/ui" />
Expand Down
4 changes: 2 additions & 2 deletions packages/web-app/src/pages/Contributions/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { reject, isNil, propOr, pathOr } from 'ramda';
import { isMobileOnly } from 'react-device-detect';

import { getUsersDocuments } from '../../actions/Document/GetDocuments';
import { resetApiMessages } from '../../actions/Document/ResetApiMessages';
import { resetDocumentApiErrors } from '../../actions/Document/ResetApiErrors';
import Layout from '../../components/common/Layouts/Fixed/FixedContent';
import StandardDialog from '../../components/common/StandardDialog';
import { useDebounce, useUserProperties } from '../../hooks';
Expand Down Expand Up @@ -66,7 +66,7 @@ const ContributionsPage = () => {
}, [debouncedRowsPerPage, debouncedOrderBy, debouncedOrder, debouncedPage]);

const handleSuccessfulUpdate = () => {
dispatch(resetApiMessages());
dispatch(resetDocumentApiErrors());
closeEditView();
loadDocuments();
};
Expand Down
99 changes: 0 additions & 99 deletions packages/web-app/src/pages/DocumentEdit/docInfoGetters.js

This file was deleted.

Loading

0 comments on commit 3a1e06d

Please sign in to comment.