aboutsummaryrefslogtreecommitdiff
path: root/src/store/actions/userMoments.ts
blob: 23cd09ac72ebbabc82061c6cdefa5088e8fa5366 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import {RootState} from '../rootReducer';
import {loadMoments} from '../../services';
import {Action, ThunkAction} from '@reduxjs/toolkit';
import {userMomentsFetched, momentCategoryDeleted} from '../reducers';
import {getTokenOrLogout} from '../../utils';

export const loadUserMoments =
  (
    userId: string,
  ): ThunkAction<Promise<void>, RootState, unknown, Action<string>> =>
  async (dispatch) => {
    try {
      const token = await getTokenOrLogout(dispatch);
      const moments = await loadMoments(userId, token);
      dispatch({
        type: userMomentsFetched.type,
        payload: moments,
      });
    } catch (error) {
      console.log(error);
    }
  };

export const deleteUserMomentsForCategory =
  (
    category: string,
  ): ThunkAction<Promise<void>, RootState, unknown, Action<string>> =>
  async (dispatch) => {
    try {
      dispatch({
        type: momentCategoryDeleted.type,
        payload: category,
      });
    } catch (error) {
      console.log(error);
    }
  };