Guest User

Untitled

a guest
Mar 17th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.16 KB | None | 0 0
  1. import { createAction } from 'typesafe-actions';
  2. import { Project, Feature, Environment } from '../../models/projects-models';
  3.  
  4. const GET_PROJECTS_LIST_REQUEST = '@projects/GET_PROJECTS_LIST_REQUEST';
  5. const GET_PROJECTS_LIST_SUCCESS = '@projects/GET_PROJECTS_LIST_SUCCESS';
  6. const GET_PROJECTS_LIST_ERROR = '@projects/GET_PROJECTS_LIST_ERROR';
  7.  
  8. const ADD_FEATURE_REQUEST = '@projects/ADD_FEATURE_REQUEST';
  9. const ADD_FEATURE_SUCCESS = '@projects/ADD_FEATURE_SUCCESS';
  10. const ADD_FEATURE_ERROR = '@projects/ADD_FEATURE_ERROR';
  11.  
  12. const DELETE_FEATURE_REQUEST = '@projects/DELETE_FEATURE_REQUEST';
  13. const DELETE_FEATURE_SUCCESS = '@projects/DELETE_FEATURE_SUCCESS';
  14. const DELETE_FEATURE_ERROR = '@projects/DELETE_FEATURE_ERROR';
  15.  
  16. const UPDATE_FEATURE_REQUEST = '@projects/UPDATE_FEATURE_REQUEST';
  17. const UPDATE_FEATURE_SUCCESS = '@projects/UPDATE_FEATURE_SUCCESS';
  18. const UPDATE_FEATURE_ERROR = '@projects/UPDATE_FEATURE_ERROR';
  19.  
  20. const SET_ENVIRONMENT = '@projects/SET_ENVIRONMENT';
  21.  
  22. // Action Creators
  23. const getProjectsListActions = {
  24. getProjectsListRequest: createAction(GET_PROJECTS_LIST_REQUEST),
  25. getProjectsListSuccess: createAction(GET_PROJECTS_LIST_SUCCESS, (payload: { projects: Project[] }) => ({
  26. type: GET_PROJECTS_LIST_SUCCESS,
  27. payload,
  28. })),
  29. getProjectsListError: createAction(GET_PROJECTS_LIST_ERROR, (payload: string) => ({
  30. type: GET_PROJECTS_LIST_ERROR,
  31. payload,
  32. })),
  33. };
  34.  
  35. const addFeatureActions = {
  36. addFeatureRequest: createAction(ADD_FEATURE_REQUEST, (payload: { feature: Feature }) => ({
  37. type: ADD_FEATURE_REQUEST,
  38. payload,
  39. })),
  40. addFeatureSuccess: createAction(ADD_FEATURE_SUCCESS, (payload: { project: Project }) => ({
  41. type: ADD_FEATURE_SUCCESS,
  42. payload,
  43. })),
  44. addFeatureError: createAction(ADD_FEATURE_ERROR, (payload: string) => ({
  45. type: ADD_FEATURE_ERROR,
  46. payload,
  47. })),
  48. };
  49.  
  50. const deleteFeatureActions = {
  51. deleteFeatureRequest: createAction(DELETE_FEATURE_REQUEST, (payload: { featureKey: string, groupIdProjectKey: string }) => ({
  52. type: DELETE_FEATURE_REQUEST,
  53. payload,
  54. })),
  55. deleteFeatureSuccess: createAction(DELETE_FEATURE_SUCCESS, (payload: { project: Project }) => ({
  56. type: DELETE_FEATURE_SUCCESS,
  57. payload,
  58. })),
  59. deleteFeatureError: createAction(DELETE_FEATURE_ERROR, (payload: string) => ({
  60. type: DELETE_FEATURE_ERROR,
  61. payload,
  62. })),
  63. };
  64.  
  65. const updateFeatureActions = {
  66. updateFeatureRequest: createAction(UPDATE_FEATURE_REQUEST, (payload: {
  67. groupIdProjectKey: string, environment: string, featureKey: string, value: boolean,
  68. }) => ({
  69. type: UPDATE_FEATURE_REQUEST,
  70. payload,
  71. })),
  72. updateFeatureSuccess: createAction(UPDATE_FEATURE_SUCCESS, (payload: { project: Project }) => ({
  73. type: UPDATE_FEATURE_SUCCESS,
  74. payload,
  75. })),
  76. updateFeatureError: createAction(UPDATE_FEATURE_ERROR, (payload: string) => ({
  77. type: UPDATE_FEATURE_ERROR,
  78. payload,
  79. })),
  80. };
  81.  
  82. const setEnvironmentAction = {
  83. setEnvironment: createAction(SET_ENVIRONMENT, (payload: { environment: Environment}) => ({
  84. type: SET_ENVIRONMENT,
  85. payload,
  86. })),
  87. };
  88.  
  89. export const projectsActions = {
  90. ...getProjectsListActions,
  91. ...addFeatureActions,
  92. ...deleteFeatureActions,
  93. ...updateFeatureActions,
  94. ...setEnvironmentAction,
  95. };
Add Comment
Please, Sign In to add comment