Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { createAction } from 'typesafe-actions';
- import { Project, Feature, Environment } from '../../models/projects-models';
- const GET_PROJECTS_LIST_REQUEST = '@projects/GET_PROJECTS_LIST_REQUEST';
- const GET_PROJECTS_LIST_SUCCESS = '@projects/GET_PROJECTS_LIST_SUCCESS';
- const GET_PROJECTS_LIST_ERROR = '@projects/GET_PROJECTS_LIST_ERROR';
- const ADD_FEATURE_REQUEST = '@projects/ADD_FEATURE_REQUEST';
- const ADD_FEATURE_SUCCESS = '@projects/ADD_FEATURE_SUCCESS';
- const ADD_FEATURE_ERROR = '@projects/ADD_FEATURE_ERROR';
- const DELETE_FEATURE_REQUEST = '@projects/DELETE_FEATURE_REQUEST';
- const DELETE_FEATURE_SUCCESS = '@projects/DELETE_FEATURE_SUCCESS';
- const DELETE_FEATURE_ERROR = '@projects/DELETE_FEATURE_ERROR';
- const UPDATE_FEATURE_REQUEST = '@projects/UPDATE_FEATURE_REQUEST';
- const UPDATE_FEATURE_SUCCESS = '@projects/UPDATE_FEATURE_SUCCESS';
- const UPDATE_FEATURE_ERROR = '@projects/UPDATE_FEATURE_ERROR';
- const SET_ENVIRONMENT = '@projects/SET_ENVIRONMENT';
- // Action Creators
- const getProjectsListActions = {
- getProjectsListRequest: createAction(GET_PROJECTS_LIST_REQUEST),
- getProjectsListSuccess: createAction(GET_PROJECTS_LIST_SUCCESS, (payload: { projects: Project[] }) => ({
- type: GET_PROJECTS_LIST_SUCCESS,
- payload,
- })),
- getProjectsListError: createAction(GET_PROJECTS_LIST_ERROR, (payload: string) => ({
- type: GET_PROJECTS_LIST_ERROR,
- payload,
- })),
- };
- const addFeatureActions = {
- addFeatureRequest: createAction(ADD_FEATURE_REQUEST, (payload: { feature: Feature }) => ({
- type: ADD_FEATURE_REQUEST,
- payload,
- })),
- addFeatureSuccess: createAction(ADD_FEATURE_SUCCESS, (payload: { project: Project }) => ({
- type: ADD_FEATURE_SUCCESS,
- payload,
- })),
- addFeatureError: createAction(ADD_FEATURE_ERROR, (payload: string) => ({
- type: ADD_FEATURE_ERROR,
- payload,
- })),
- };
- const deleteFeatureActions = {
- deleteFeatureRequest: createAction(DELETE_FEATURE_REQUEST, (payload: { featureKey: string, groupIdProjectKey: string }) => ({
- type: DELETE_FEATURE_REQUEST,
- payload,
- })),
- deleteFeatureSuccess: createAction(DELETE_FEATURE_SUCCESS, (payload: { project: Project }) => ({
- type: DELETE_FEATURE_SUCCESS,
- payload,
- })),
- deleteFeatureError: createAction(DELETE_FEATURE_ERROR, (payload: string) => ({
- type: DELETE_FEATURE_ERROR,
- payload,
- })),
- };
- const updateFeatureActions = {
- updateFeatureRequest: createAction(UPDATE_FEATURE_REQUEST, (payload: {
- groupIdProjectKey: string, environment: string, featureKey: string, value: boolean,
- }) => ({
- type: UPDATE_FEATURE_REQUEST,
- payload,
- })),
- updateFeatureSuccess: createAction(UPDATE_FEATURE_SUCCESS, (payload: { project: Project }) => ({
- type: UPDATE_FEATURE_SUCCESS,
- payload,
- })),
- updateFeatureError: createAction(UPDATE_FEATURE_ERROR, (payload: string) => ({
- type: UPDATE_FEATURE_ERROR,
- payload,
- })),
- };
- const setEnvironmentAction = {
- setEnvironment: createAction(SET_ENVIRONMENT, (payload: { environment: Environment}) => ({
- type: SET_ENVIRONMENT,
- payload,
- })),
- };
- export const projectsActions = {
- ...getProjectsListActions,
- ...addFeatureActions,
- ...deleteFeatureActions,
- ...updateFeatureActions,
- ...setEnvironmentAction,
- };
Add Comment
Please, Sign In to add comment