Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
project.reducers.ts 665 B
import { getProjectById } from '@/redux/project/project.thunks';
import { ProjectState } from '@/redux/project/project.types';
import { ActionReducerMapBuilder } from '@reduxjs/toolkit';

export const getProjectByIdReducer = (builder: ActionReducerMapBuilder<ProjectState>): void => {
  builder.addCase(getProjectById.pending, state => {
    state.loading = 'pending';
  });
  builder.addCase(getProjectById.fulfilled, (state, action) => {
    state.data = action.payload || undefined;
    state.loading = 'succeeded';
  });
  builder.addCase(getProjectById.rejected, state => {
    state.loading = 'failed';
    // TODO to discuss manage state of failure
  });
};