import { Dispatch } from "redux";
import { RootState } from "../../store";
-import { collectionService } from '../../../services/services';
+import { ServiceRepository } from "../../../services/services";
import { CollectionResource } from '../../../models/collection';
import { initialize } from 'redux-form';
import { collectionPanelActions } from "../../collection-panel/collection-panel-action";
};
export const updateCollection = (collection: Partial<CollectionResource>) =>
- (dispatch: Dispatch, getState: () => RootState) => {
+ (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
const { uuid } = getState().collections.updator;
- return collectionService
+ return services.collectionService
.update(uuid, collection)
.then(collection => {
- dispatch(collectionPanelActions.LOAD_COLLECTION_SUCCESS({ item: collection }));
+ dispatch(collectionPanelActions.LOAD_COLLECTION_SUCCESS({ item: collection as CollectionResource }));
dispatch(collectionUpdatorActions.UPDATE_COLLECTION_SUCCESS());
}
);
onSubmit: (data: { name: string, description: string }) => {
return dispatch<any>(editCollection(data))
.catch((e: any) => {
- throw new SubmissionError({ name: e.errors.join("").includes("UniqueViolation") ? "Collection with this name already exists." : "" });
+ if(e.errors) {
+ throw new SubmissionError({ name: e.errors.join("").includes("UniqueViolation") ? "Collection with this name already exists." : "" });
+ }
});
}
});