From 5b7b6e88e154eeca46eed84cea1b8ac3b5c45a64 Mon Sep 17 00:00:00 2001
From: Albin Henriksson <albhe428@student.liu.se>
Date: Sun, 25 Apr 2021 14:29:42 +0000
Subject: [PATCH] Resolve "Documentation for redux"

---
 client/src/actions/cities.ts           | 5 +++++
 client/src/actions/competitionLogin.ts | 5 +++++
 client/src/actions/competitions.ts     | 7 +++++++
 client/src/actions/editor.ts           | 6 ++++++
 client/src/actions/presentation.ts     | 6 ++++++
 client/src/actions/roles.ts            | 5 +++++
 client/src/actions/searchUser.ts       | 6 ++++++
 client/src/actions/statistics.ts       | 5 +++++
 client/src/actions/types.ts            | 4 ++++
 client/src/actions/typesAction.ts      | 5 +++++
 client/src/actions/user.ts             | 7 +++++++
 11 files changed, 61 insertions(+)

diff --git a/client/src/actions/cities.ts b/client/src/actions/cities.ts
index 594a43c4..efdb8c1d 100644
--- a/client/src/actions/cities.ts
+++ b/client/src/actions/cities.ts
@@ -1,7 +1,12 @@
+/*
+This file handles actions for the cities redux state
+*/
+
 import axios from 'axios'
 import { AppDispatch } from './../store'
 import Types from './types'
 
+// Action creator to get all cities from api and send appropriate actions to reducer
 export const getCities = () => async (dispatch: AppDispatch) => {
   await axios
     .get('/api/misc/cities')
diff --git a/client/src/actions/competitionLogin.ts b/client/src/actions/competitionLogin.ts
index ff177a2b..093abdb8 100644
--- a/client/src/actions/competitionLogin.ts
+++ b/client/src/actions/competitionLogin.ts
@@ -1,9 +1,14 @@
+/*
+This file handles actions for the competitionLogin redux state
+*/
+
 import axios from 'axios'
 import { History } from 'history'
 import { AppDispatch } from '../store'
 import { AccountLoginModel } from './../interfaces/FormModels'
 import Types from './types'
 
+// Action creator to attempt to login with competition code
 export const loginCompetition = (code: string, history: History) => async (dispatch: AppDispatch) => {
   dispatch({ type: Types.LOADING_COMPETITION_LOGIN })
   await axios
diff --git a/client/src/actions/competitions.ts b/client/src/actions/competitions.ts
index 1a9d789c..87b2b26b 100644
--- a/client/src/actions/competitions.ts
+++ b/client/src/actions/competitions.ts
@@ -1,8 +1,13 @@
+/*
+This file handles actions for the competitions redux state
+*/
+
 import axios from 'axios'
 import { CompetitionFilterParams } from '../interfaces/FilterParams'
 import { AppDispatch, RootState } from './../store'
 import Types from './types'
 
+// Get all competitions using filterParams from current state
 export const getCompetitions = () => async (dispatch: AppDispatch, getState: () => RootState) => {
   const currentParams: CompetitionFilterParams = getState().competitions.filterParams
   // Send params in snake-case for api
@@ -34,6 +39,8 @@ export const getCompetitions = () => async (dispatch: AppDispatch, getState: ()
       console.log(err)
     })
 }
+
+// Dispatch action to set filter params
 export const setFilterParams = (params: CompetitionFilterParams) => (dispatch: AppDispatch) => {
   dispatch({ type: Types.SET_COMPETITIONS_FILTER_PARAMS, payload: params })
 }
diff --git a/client/src/actions/editor.ts b/client/src/actions/editor.ts
index 45fbce98..db688dcb 100644
--- a/client/src/actions/editor.ts
+++ b/client/src/actions/editor.ts
@@ -1,7 +1,12 @@
+/*
+This file handles actions for the editor redux state
+*/
+
 import axios from 'axios'
 import { AppDispatch, RootState } from './../store'
 import Types from './types'
 
+// Save competition in editor state from input id
 export const getEditorCompetition = (id: string) => async (dispatch: AppDispatch, getState: () => RootState) => {
   await axios
     .get(`/api/competitions/${id}`)
@@ -19,6 +24,7 @@ export const getEditorCompetition = (id: string) => async (dispatch: AppDispatch
     })
 }
 
+// Set currentSlideId in editor state
 export const setEditorSlideId = (id: number) => (dispatch: AppDispatch) => {
   dispatch({
     type: Types.SET_EDITOR_SLIDE_ID,
diff --git a/client/src/actions/presentation.ts b/client/src/actions/presentation.ts
index 97c611df..9e7881d8 100644
--- a/client/src/actions/presentation.ts
+++ b/client/src/actions/presentation.ts
@@ -1,9 +1,14 @@
+/*
+This file handles actions for the presentation redux state
+*/
+
 import axios from 'axios'
 import { Slide } from '../interfaces/ApiModels'
 import { Timer } from '../interfaces/Timer'
 import store, { AppDispatch } from './../store'
 import Types from './types'
 
+// Save competition in presentation state from input id
 export const getPresentationCompetition = (id: string) => async (dispatch: AppDispatch) => {
   await axios
     .get(`/api/competitions/${id}`)
@@ -18,6 +23,7 @@ export const getPresentationCompetition = (id: string) => async (dispatch: AppDi
     })
 }
 
+// Get all teams from current presentation competition
 export const getPresentationTeams = (id: string) => async (dispatch: AppDispatch) => {
   await axios
     .get(`/api/competitions/${id}/teams`)
diff --git a/client/src/actions/roles.ts b/client/src/actions/roles.ts
index 19a148c7..3f27d3a8 100644
--- a/client/src/actions/roles.ts
+++ b/client/src/actions/roles.ts
@@ -1,7 +1,12 @@
+/*
+This file handles actions for the roles redux state
+*/
+
 import axios from 'axios'
 import { AppDispatch } from './../store'
 import Types from './types'
 
+// Get all roles and dispatch action to save them to roles state
 export const getRoles = () => async (dispatch: AppDispatch) => {
   await axios
     .get('/api/misc/roles')
diff --git a/client/src/actions/searchUser.ts b/client/src/actions/searchUser.ts
index a3ea55c7..c47ee9f3 100644
--- a/client/src/actions/searchUser.ts
+++ b/client/src/actions/searchUser.ts
@@ -1,8 +1,13 @@
+/*
+This file handles actions for the searchUser redux state
+*/
+
 import axios from 'axios'
 import { UserFilterParams } from '../interfaces/FilterParams'
 import { AppDispatch, RootState } from './../store'
 import Types from './types'
 
+// Get all users using current filterParams in searchUser state
 export const getSearchUsers = () => async (dispatch: AppDispatch, getState: () => RootState) => {
   const currentParams: UserFilterParams = getState().searchUsers.filterParams
   // Send params in snake-case for api
@@ -34,6 +39,7 @@ export const getSearchUsers = () => async (dispatch: AppDispatch, getState: () =
       console.log(err)
     })
 }
+
 export const setFilterParams = (params: UserFilterParams) => (dispatch: AppDispatch) => {
   dispatch({ type: Types.SET_SEARCH_USERS_FILTER_PARAMS, payload: params })
 }
diff --git a/client/src/actions/statistics.ts b/client/src/actions/statistics.ts
index a32dce35..acde4316 100644
--- a/client/src/actions/statistics.ts
+++ b/client/src/actions/statistics.ts
@@ -1,7 +1,12 @@
+/*
+This file handles actions for the statistics redux state
+*/
+
 import axios from 'axios'
 import { AppDispatch } from './../store'
 import Types from './types'
 
+// Get all statistics and dispatch actions to save them to statistics state
 export const getStatistics = () => async (dispatch: AppDispatch) => {
   await axios
     .get('/api/misc/statistics')
diff --git a/client/src/actions/types.ts b/client/src/actions/types.ts
index 512572bc..2e529a88 100644
--- a/client/src/actions/types.ts
+++ b/client/src/actions/types.ts
@@ -1,3 +1,7 @@
+/*
+This file includes all redux action types 
+*/
+
 export default {
   LOADING_UI: 'LOADING_UI',
   LOADING_USER: 'LOADING_USER',
diff --git a/client/src/actions/typesAction.ts b/client/src/actions/typesAction.ts
index 32a212b0..b6e9c98a 100644
--- a/client/src/actions/typesAction.ts
+++ b/client/src/actions/typesAction.ts
@@ -1,7 +1,12 @@
+/*
+This file handles actions for the types redux state
+*/
+
 import axios from 'axios'
 import { AppDispatch } from './../store'
 import Types from './types'
 
+// Get all types and save them to types state
 export const getTypes = () => async (dispatch: AppDispatch) => {
   await axios
     .get('/api/misc/types')
diff --git a/client/src/actions/user.ts b/client/src/actions/user.ts
index e2ad88ac..3448fa99 100644
--- a/client/src/actions/user.ts
+++ b/client/src/actions/user.ts
@@ -1,9 +1,14 @@
+/*
+This file handles actions for the user redux state
+*/
+
 import axios from 'axios'
 import { History } from 'history'
 import { AppDispatch } from '../store'
 import { AccountLoginModel } from './../interfaces/FormModels'
 import Types from './types'
 
+// Attempt to log in user, dispatch correct actions and save jwt token to localStorage and axios auth header
 export const loginUser = (userData: AccountLoginModel, history: History) => async (dispatch: AppDispatch) => {
   dispatch({ type: Types.LOADING_UI })
   await axios
@@ -25,6 +30,7 @@ export const loginUser = (userData: AccountLoginModel, history: History) => asyn
     })
 }
 
+// Get data for user and save to user state
 export const getUserData = () => async (dispatch: AppDispatch) => {
   dispatch({ type: Types.LOADING_USER })
   await axios
@@ -40,6 +46,7 @@ export const getUserData = () => async (dispatch: AppDispatch) => {
     })
 }
 
+// Log out user and remove jwt token from local storage and axios
 export const logoutUser = () => async (dispatch: AppDispatch) => {
   localStorage.removeItem('token')
   await axios.post('/api/auth/logout').then(() => {
-- 
GitLab