diff --git a/admin/server/controllers/permissions.js b/admin/server/controllers/permissions.js
deleted file mode 100644
index df286f1..0000000
--- a/admin/server/controllers/permissions.js
+++ /dev/null
@@ -1,241 +0,0 @@
-const mongoose = require("mongoose");
-const Permission = require("../models/permission");
-const System = require("../models/system");
-const User = require("../models/user");
-
-exports.fetchPermissions = function(req, res, next) {
- Permission.find(
- {
- shortName: req.params.shortName.toLowerCase()
- },
- function(err, permissions) {
- if (err) {
- console.error(err);
- res.json({ success: false, message: err });
- return;
- }
- var userIds = permissions.map(permission => {return permission.userId});
- User.find(
- {
- _id: {
- $in: userIds
- }
- },
- function(err, users) {
- if (err) {
- console.error(err);
- res.json({ success: false, message: err });
- return;
- }
- var returnUsers = users.map(user =>{
- var permission = permissions.find(obj => {
-
- if (obj.userId.toString() == user._id.toString()) {
- return true;
- }
- return false;
- });
- if (!permission) {
- console.error("Error - Permission not found for user: " + user._id);
- res.json({ success: false, message: "Permission not found" });
- return;
- }
- return {_id: permission._id, userId: user._id, firstName: user.firstName, lastName: user.lastName, email: user.email, role: permission.role };
- });
-
- res.json({ success: true, permissions: returnUsers });
- });
- return;
- }
- );
-};
-
-
-exports.addPermission = async (req, res, next) => {
- //router.post('/system/:shortName/group/:groupId?', isLoggedIn, function(req, res) {
-
-
- let role = req.body.role;
- var system = false;
- var user = false;
- var existing = false;
- var saved = false;
- if (!role || (role >= 20) || (role <1)) {
- res.json({
- success: false,
- message: "Invalid Role"
- });
- return;
- }
- console.log("role looks good");
- try {
- system = await System.findOne(
- {
- shortName: req.params.shortName.toLowerCase()
- });
- } catch(err) {
- console.error(err);
- res.json({ success: false, message: err });
- return;
- }
-
- if (!system) {
- res.json({
- success: false,
- message: "That System does not exist."
- });
- return;
- }
- console.log("system looks good")
- try {
- user = await User.findOne(
- {
- email: req.body.email
- });
- } catch (err) {
- console.error(err);
- res.json({ success: false, message: err });
- return;
- }
-
- if (!user) {
- res.json({ success: false, message: "User not found" });
- return;
- }
- console.log("user looks good")
- try {
- existing = await Permission.findOne({userId: user._id, systemId: system._id});
- } catch (err) {
- console.error(err);
- res.json({ success: false, message: err });
- return;
- }
-
- if (existing) {
- res.json({ success: false, message: "User already has acccess" });
- return;
- }
- console.log("no existing")
- var permission = new Permission({
- userId: user._id,
- systemId: system._id,
- shortName: system.shortName,
- role: role
- });
-
-
- try {
- saved = await permission.save()
- } catch(err) {
-
- res.json({
- success: false,
- message: err
- });
- return;
- }
- console.log("saved it")
- var newPermission = saved.toObject();
- newPermission.firstName = user.firstName;
- newPermission.lastName = user.lastName;
- newPermission.email = user.email;
-
-
- console.log("Add Permission to: " + system.shortName + " for: " + newPermission.email + " by: " + req.user.email);
- res.json({
- success: true,
- permission: newPermission
- });
-};
-
-
-exports.updatePermission = function(req, res, next) {
- process.nextTick(function() {
- Permission.findOne(
- {
- _id: new mongoose.Types.ObjectId(req.params.permissionId),
- shortName: req.params.shortName.toLowerCase(req.params.shortName)
- },
-
- function(err, permission) {
- if (err) {
- res.json({
- success: false,
- message: err
- });
- return;
- }
- if (permission.role >= 20) {
- res.json({
- success: false,
- message: "Cannot change permissions of system owner"
- });
- return;
- }
- var newRole = req.body.role;
- if (!newRole || (newRole >= 20) || (newRole <1)) {
- res.json({
- success: false,
- message: "Invalid Role"
- });
- return;
- }
- permission.role = newRole;
- permission.save(function(err, saved) {
- if (err) {
- res.json({
- success: false,
- message: err
- });
- return;
- }
- res.json({
- success: true,
- permission: saved.toJSON()
- });
- return;
-
- });
- }
- );
-
- });
-};
-
-
-exports.deletePermission = function(req, res, next) {
-//router.get('/system/:shortName/remove_group/:groupId', isLoggedIn, function(req, res) {
-
- Permission.findOneAndRemove({
- shortName: req.params.shortName.toLowerCase(),
- '_id': new mongoose.Types.ObjectId(req.params.permissionId),
- role: { $lt : 20}
- }, function(err, permission) {
-
- if (err) {
- res.json({
- success: false,
- message: err
- });
- return;
- }
-
- if (!permission) {
- res.json({
- success: false,
- message: "Permission not found"
- });
- return;
-
- } else {
-
- res.json({
- success: true
- });
- return;
- }
- // removed!
- });
-
-
-};
diff --git a/admin/server/controllers/systems.js b/admin/server/controllers/systems.js
index 50047a9..4fc18ad 100644
--- a/admin/server/controllers/systems.js
+++ b/admin/server/controllers/systems.js
@@ -27,7 +27,7 @@ exports.listSystems = async function (req, res, next) {
shortNames.push(systems[i].shortName);
}
- const stats = await SystemStat.find({ shortName: { $in: shortNames } }).exec();
+
let returnSys = systems.map(obj => {
var rObj = (({
@@ -65,6 +65,8 @@ exports.listSystems = async function (req, res, next) {
rObj.id = obj._id;
return rObj;
});
+
+ const stats = await SystemStat.find({ shortName: { $in: shortNames } }).exec();
var sys_stats = {}
for (var i = 0; i < stats.length; i++) {
sys_stats[stats[i].shortName] = {};
@@ -88,11 +90,11 @@ const remove_system = async (shortName) => {
await System.deleteOne({
shortName: shortName
- }).catch( err => console.error(err));
+ }).catch(err => console.error(err));
await Talkgroup.deleteMany({
shortName: shortName
- }).catch( err => console.error(err));
+ }).catch(err => console.error(err));
await Group.deleteMany({
diff --git a/admin/server/models/permission.js b/admin/server/models/permission.js
deleted file mode 100644
index 581011f..0000000
--- a/admin/server/models/permission.js
+++ /dev/null
@@ -1,24 +0,0 @@
-// Defining a User Model in mongoose
-// Code modified from https://github.com/sahat/hackathon-starter
-
-var mongoose = require("mongoose");
-
-
-
-const PermissionSchema = new mongoose.Schema({
- userId: mongoose.Schema.Types.ObjectId,
- systemId: mongoose.Schema.Types.ObjectId,
- shortName: String,
- role: {
- type: Number,
- default: 0
- },
- ver: {
- type: Number,
- default: 1.2
- }
-})
-
-
-
-module.exports=mongoose.model("Permission", PermissionSchema)
diff --git a/admin/server/models/user.js b/admin/server/models/user.js
deleted file mode 100644
index 6f9fe3c..0000000
--- a/admin/server/models/user.js
+++ /dev/null
@@ -1,87 +0,0 @@
-// Defining a User Model in mongoose
-// Code modified from https://github.com/sahat/hackathon-starter
-const bcrypt = require("bcrypt");
-const mongoose = require("mongoose");
-
-
-
-const UserSchema = new mongoose.Schema({
- local: {
- name: String,
- email: String,
- password: String
- },
- email: {
- type: String,
- unique: true,
- lowercase: true
- },
- password: String,
- screenName: {
- type: String,
- unique: true,
- lowercase: true
- },
- firstName: String,
- lastName: String,
- location: String,
- email: String,
- resetPasswordToken: String,
- resetPasswordTTL: Date,
- confirmEmail: {
- type: Boolean,
- default: false
- },
- confirmEmailToken: String,
- confirmEmailTTL: Date,
- admin: {
- type: Boolean,
- default: false
- },
- terms: {
- type: Number,
- default: 0
- },
- ver: {
- type: Number,
- default: 1.1
- },
- sysCount: Number,
- lastLogin: { type : Date, default: Date.now }
-})
-
-/**
- * Password hash middleware.
- */
-UserSchema.pre("save", function(next) {
- var user = this
- if (!user.isModified("password")) return next()
- bcrypt.genSalt(8, (err, salt) => {
- if (err) return next(err)
- bcrypt.hash(user.password, salt, null, (err, hash) => {
- if (err) return next(err)
- user.password = hash;
- user.local.password = hash;
- next()
- })
- })
-})
-
-/*
- Defining our own custom document instance method
- */
- UserSchema.methods = {
- comparePassword: function(candidatePassword, cb) {
- bcrypt.compare(candidatePassword, this.local.password, (err, isMatch) => {
- if (err) return cb(err)
- cb(null, isMatch)
- })
- }
- }
-
-/**
-* Statics
-*/
-UserSchema.statics = {}
-
-module.exports = mongoose.model("User", UserSchema)
diff --git a/admin/src/App/NavigationContainer.js b/admin/src/App/NavigationContainer.js
deleted file mode 100644
index ab31c72..0000000
--- a/admin/src/App/NavigationContainer.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import { connect } from "react-redux"
-import * as userActions from "../User/user-actions"
-import Navigation from "./Navigation"
-
-
-// Function passed in to `connect` to subscribe to Redux store updates.
-// Any time it updates, mapStateToProps is called.
-const mapStateToProps = (state) => {
- return {
- user: state.user
- }
-
-}
-
-// Connects React component to the redux store
-// It does not modify the component class passed to it
-// Instead, it returns a new, connected component class, for you to use.
-export default connect(
- mapStateToProps,
- userActions
-)(Navigation)
diff --git a/admin/src/Group/GroupModalContainer.js b/admin/src/Group/GroupModalContainer.js
deleted file mode 100644
index 794a8dc..0000000
--- a/admin/src/Group/GroupModalContainer.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import { connect } from "react-redux"
-import * as groupActionCreators from "./group-actions"
-import * as talkgroupActionCreators from "../Talkgroups/talkgroup-actions"
-import { bindActionCreators } from 'redux'
-import GroupModal from "./GroupModal"
-
-//groups: state.group.items[props.match.params.shortName],
-function mapStateToProps(state,props) {
- return {
- talkgroups: state.talkgroup.items[props.shortName],
- groups: state.group.items[props.shortName],
- shortName: props.shortName
- }
-}
-
-function mapDispatchToProps(dispatch) {
- return {
- groupActions: bindActionCreators(groupActionCreators,dispatch),
- talkgroupActions: bindActionCreators(talkgroupActionCreators, dispatch)
- }
-}
-
-export default connect(
- mapStateToProps,
- mapDispatchToProps
-)(GroupModal)
diff --git a/admin/src/Group/group-actions.js b/admin/src/Group/group-actions.js
deleted file mode 100644
index 8b9a90f..0000000
--- a/admin/src/Group/group-actions.js
+++ /dev/null
@@ -1,245 +0,0 @@
-import axios from "axios";
-//import { browserHistory } from "react-router"
-import * as types from "./group-constants";
-import { push } from '@lagunovsky/redux-react-router'
-
-// "Log In" action creators
-function beginCreateGroup() {
- return { type: types.CREATE_GROUP };
-}
-
-function createGroupSuccess(data) {
- return {
- type: types.CREATE_SUCCESS_GROUP,
- data
- };
-}
-
-function createGroupError(data) {
- return {
- type: types.CREATE_ERROR_GROUP,
- data
- };
-}
-
-
-function beginUpdateGroup() {
- return { type: types.UPDATE_GROUP };
-}
-
-function updateGroupSuccess(data) {
- return { type: types.UPDATE_SUCCESS_GROUP, data };
-}
-
-function updateGroupError() {
- return { type: types.UPDATE_ERROR_GROUP };
-}
-
-
-function beginDeleteGroup() {
- return { type: types.DELETE_GROUP };
-}
-
-function deleteGroupSuccess(data) {
- return { type: types.DELETE_SUCCESS_GROUP, data };
-}
-
-function deleteGroupError() {
- return { type: types.DELETE_ERROR_GROUP };
-}
-
-function beginFetchGroup() {
- return { type: types.FETCH_GROUP };
-}
-
-function fetchGroupSuccess(data) {
- return {
- type: types.FETCH_SUCCESS_GROUP,
- data
- };
-}
-
-function fetchGroupError(data) {
- return {
- type: types.FETCH_ERROR_GROUP,
- data
- };
-}
-
-function saveGroupOrderSuccess() {
- return { type: types.SAVE_ORDER_SUCCESS_GROUP };
-}
-
-function saveGroupOrderError() {
- return { type: types.SAVE_ORDER_ERROR_GROUP };
-}
-
-function makeUserRequest(method, data, api = "/login") {
- // returns a Promise
- return axios({
- method: method,
- url: api,
- data: data,
- withCredentials: true
- });
-}
-
-export function changeUrl(url) {
- return dispatch => {
- dispatch(push(url));
- };
-}
-
-// Example of an Async Action Creator
-// http://redux.js.org/docs/advanced/AsyncActions.html
-
-export function updateGroup(data) {
- return dispatch => {
- dispatch(beginUpdateGroup());
-
- return makeUserRequest("post", data, process.env.REACT_APP_ADMIN_SERVER + "/groups/" + data.shortName + "/" + data._id)
- .then(response => {
- if (response.data.success) {
- dispatch(updateGroupSuccess(response.data.group));
- } else {
- dispatch(updateGroupError());
- let registerMessage = response.data.message;
- return registerMessage;
- }
- })
- .catch(response => {
- if (response instanceof Error) {
- // Something happened in setting up the request that triggered an Error
- console.log("Error", response.message);
- }
- });
- };
-}
-
-function shouldFetchGroups(state,shortName) {
- if (!state.group.items || !state.group.items[shortName]) {
- return true;
- } else if (state.group.isWaiting) {
- return false;
- } else {
- return false;
- }
-}
-
-export function reorderGroup(shortName, oldIndex, newIndex) {
- return (dispatch, getState) => {
- const data = {
- shortName: shortName,
- oldIndex: oldIndex,
- newIndex: newIndex
- };
- dispatch({
- type: types.REORDER_GROUP,
- data
- });
- };
-}
-
-export function fetchGroups(shortName) {
- return (dispatch, getState) => {
- if (shouldFetchGroups(getState(), shortName)) {
- dispatch(beginFetchGroup());
- return axios
- .get(process.env.REACT_APP_ADMIN_SERVER + "/groups/" + shortName, {withCredentials: true})
- .then(response => {
- if (response.data.success) {
- const data = { shortName: shortName, groups: response.data.groups };
- dispatch(fetchGroupSuccess(data));
- } else {
- dispatch(fetchGroupError());
- let registerMessage = response.data.message;
- return registerMessage;
- }
- })
- .catch(response => {
- if (response instanceof Error) {
- // Something happened in setting up the request that triggered an Error
- console.log("Error", response.message);
- }
- });
- }
- };
-}
-
-export function saveGroupOrder(shortName, data) {
- return dispatch => {
- dispatch({
- type: types.SAVE_ORDER_GROUP,
- data
- });
-
- return makeUserRequest(
- "post",
- data,
- process.env.REACT_APP_ADMIN_SERVER + "/groups/" + shortName + "/reorder"
- )
- .then(response => {
- if (response.data.success) {
- dispatch(saveGroupOrderSuccess());
- } else {
- dispatch(saveGroupOrderError());
- let registerMessage = response.data.message;
- return registerMessage;
- }
- })
- .catch(response => {
- if (response instanceof Error) {
- // Something happened in setting up the request that triggered an Error
- console.log("Error", response.message);
- }
- });
- };
-}
-
-export function deleteGroup(shortName, groupId) {
- return dispatch => {
- dispatch(beginDeleteGroup());
-
- return makeUserRequest("delete", null, process.env.REACT_APP_ADMIN_SERVER + "/groups/" + shortName + "/" + groupId)
- .then(response => {
- if (response.data.success) {
- const data = {shortName: shortName, groupId: groupId}
- dispatch(deleteGroupSuccess(data));
- } else {
- dispatch(deleteGroupError());
- let registerMessage = response.data.message;
- return registerMessage;
- }
- })
- .catch(response => {
- if (response instanceof Error) {
- // Something happened in setting up the request that triggered an Error
- console.log("Error", response.message);
- }
- });
- };
-}
-
-
-export function createGroup(data) {
- return dispatch => {
- dispatch(beginCreateGroup());
-
- return makeUserRequest("post", data, process.env.REACT_APP_ADMIN_SERVER + "/groups/" + data.shortName)
- .then(response => {
- if (response.data.success) {
- dispatch(createGroupSuccess(response.data.group));
- } else {
- dispatch(createGroupError());
- let registerMessage = response.data.message;
- return registerMessage;
- }
- })
- .catch(response => {
- if (response instanceof Error) {
- // Something happened in setting up the request that triggered an Error
- console.log("Error", response.message);
- }
- });
- };
-}
diff --git a/admin/src/Group/group-constants.js b/admin/src/Group/group-constants.js
deleted file mode 100644
index 2552e3d..0000000
--- a/admin/src/Group/group-constants.js
+++ /dev/null
@@ -1,16 +0,0 @@
-export const CREATE_GROUP = "CREATE_GROUP"
-export const CREATE_SUCCESS_GROUP = "CREATE_SUCCESS_GROUP"
-export const CREATE_ERROR_GROUP = "CREATE_ERROR_GROUP"
-export const UPDATE_GROUP = "UPDATE_GROUP"
-export const UPDATE_SUCCESS_GROUP = "UPDATE_SUCCESS_GROUP"
-export const UPDATE_ERROR_GROUP = "UPDATE_ERROR_GROUP"
-export const DELETE_GROUP = "DELETE_GROUP"
-export const DELETE_SUCCESS_GROUP = "DELETE_SUCCESS_GROUP"
-export const DELETE_ERROR_GROUP = "DELETE_ERROR_GROUP"
-export const FETCH_GROUP = "FETCH_GROUP"
-export const FETCH_SUCCESS_GROUP = "FETCH_SUCCESS_GROUP"
-export const FETCH_ERROR_GROUP = "FETCH_ERROR_GROUP"
-export const REORDER_GROUP = "REORDER_GROUP"
-export const SAVE_ORDER_GROUP = "SAVE_ORDER_GROUP"
-export const SAVE_ORDER_SUCCESS_GROUP = "SAVE_ORDER_SUCCESS_GROUP"
-export const SAVE_ORDER_ERROR_GROUP = "SAVE_ORDER_ERROR_GROUP"
diff --git a/admin/src/Group/group-reducer.js b/admin/src/Group/group-reducer.js
deleted file mode 100644
index 5d11eff..0000000
--- a/admin/src/Group/group-reducer.js
+++ /dev/null
@@ -1,123 +0,0 @@
-import {
- CREATE_GROUP,
- CREATE_SUCCESS_GROUP,
- CREATE_ERROR_GROUP,
- DELETE_GROUP,
- DELETE_SUCCESS_GROUP,
- DELETE_ERROR_GROUP,
- UPDATE_GROUP,
- UPDATE_SUCCESS_GROUP,
- UPDATE_ERROR_GROUP,
- FETCH_GROUP,
- FETCH_SUCCESS_GROUP,
- FETCH_ERROR_GROUP,
- REORDER_GROUP,
- SAVE_ORDER_GROUP,
- SAVE_ORDER_ERROR_GROUP,
- SAVE_ORDER_SUCCESS_GROUP
-} from "./group-constants";
-
-
-function updateItemInArray(array, updatedItem) {
- const updatedItems = array.map(item => {
- if(item._id !== updatedItem._id) {
- // Since we only want to update one item, preserve all others as they are now
- return item;
- }
- return updatedItem;
- });
-
- return updatedItems;
-}
-
-const group = (
- state = {
- orderChange: false,
- isWaiting: false,
- items: {}},
- action
-) => {
- switch (action.type) {
-
- case SAVE_ORDER_GROUP:
- case CREATE_GROUP:
- case FETCH_GROUP:
- case DELETE_GROUP:
- case UPDATE_GROUP:
- return Object.assign({}, state, { isWaiting: true});
-
- case UPDATE_SUCCESS_GROUP:
- const updatedGroups = updateItemInArray(state.items[action.data.shortName], action.data);
- return Object.assign({}, state, {
- isWaiting: false,
- items: {
- ...state.items,
- [action.data.shortName]: updatedGroups
- }
- });
-
-
- case CREATE_SUCCESS_GROUP:
- const newGroups = state.items[action.data.shortName].concat(action.data);
- return Object.assign({}, state, {
- isWaiting: false,
- items: {
- ...state.items,
- [action.data.shortName]: newGroups
- }
- });
-
- case DELETE_SUCCESS_GROUP:
- const delGroups = state.items[action.data.shortName].filter(x => x._id !== action.data.groupId);
- return Object.assign({}, state, {
- isWaiting: false,
- items: {
- ...state.items,
- [action.data.shortName]: delGroups
- }
- });
-
- case FETCH_SUCCESS_GROUP:
- return Object.assign({}, state, {
- isWaiting: false,
- items: {
- ...state.items,
- [action.data.shortName]: action.data.groups
- }
- });
-
- case SAVE_ORDER_SUCCESS_GROUP:
- return Object.assign({}, state, {
- orderChange: false,
- isWaiting: false
- });
-
- case SAVE_ORDER_ERROR_GROUP:
- case FETCH_ERROR_GROUP:
- case CREATE_ERROR_GROUP:
- case DELETE_ERROR_GROUP:
- case UPDATE_ERROR_GROUP:
- return Object.assign({}, state, {
- isWaiting: false
- });
-
- case REORDER_GROUP:
- if ((action.data.newIndex<0)||(action.data.newIndex>(state.items[action.data.shortName].length-1))) {
- return state
- }
- const moveGroups = state.items[action.data.shortName].slice();
- moveGroups.splice(action.data.newIndex, 0, moveGroups.splice(action.data.oldIndex, 1)[0]);
- return Object.assign({}, state, {
- orderChange: true,
- items: {
- ...state.items,
- [action.data.shortName]: moveGroups
- }
- });
-
- default:
- return state;
- }
-};
-
-export default group;
diff --git a/admin/src/System/CreateSystemContainer.js b/admin/src/System/CreateSystemContainer.js
deleted file mode 100644
index dae3f90..0000000
--- a/admin/src/System/CreateSystemContainer.js
+++ /dev/null
@@ -1,14 +0,0 @@
-import { connect } from "react-redux"
-import * as systemActions from "./system-actions"
-import CreateSystem from "./CreateSystem"
-
-function mapStateToProps(state) {
- return {
- user: state.user
- }
-}
-
-export default connect(
- mapStateToProps,
- systemActions
-)(CreateSystem)
diff --git a/admin/src/System/ListSystemsContainer.js b/admin/src/System/ListSystemsContainer.js
deleted file mode 100644
index 9052b1f..0000000
--- a/admin/src/System/ListSystemsContainer.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import { connect } from "react-redux"
-import * as systemActions from "./system-actions"
-import ListSystems from "./ListSystems"
-
-function mapStateToProps(state) {
- return {
- system: state.system
- }
-}
-
-
-
-export default connect(
- mapStateToProps,
- systemActions
-)(ListSystems)
diff --git a/admin/src/System/PreCreateSystem.js b/admin/src/System/PreCreateSystem.js
deleted file mode 100644
index 5051633..0000000
--- a/admin/src/System/PreCreateSystem.js
+++ /dev/null
@@ -1,72 +0,0 @@
-import React, { Component } from "react";
-import ReactDOM from "react-dom";
-import {
- Container,
- Header,
- Form,
- Grid,
- Segment,
- Input,
- Button,
- Message,
- Step,
- Icon
-} from "semantic-ui-react";
-
-import SystemForm from "./SystemForm";
-
-// ----------------------------------------------------
-const requestMessageStyle = {
- color: "red"
-};
-
-// ----------------------------------------------------
-class PreCreateSystem extends Component {
- constructor(props) {
- super(props);
-
- }
-
- state = {
- requestMessage: ""
- }
-
-
-
- render() {
- return (
-
-
-
-
-
- Trunk Recorder
- Choose your shipping options
-
-
-
-
-
-
- Billing
- Enter billing information
-
-
-
-
-
-
- Confirm Order
-
-
-
-
-
-
-
-
- );
- }
-}
-
-export default PreCreateSystem;
diff --git a/admin/src/System/UpdateSystemContainer.js b/admin/src/System/UpdateSystemContainer.js
deleted file mode 100644
index d974068..0000000
--- a/admin/src/System/UpdateSystemContainer.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import { connect } from "react-redux"
-import UpdateSystem from "./UpdateSystem"
-import * as systemActions from "./system-actions"
-
-
-
-const mapStateToProps = (state, props) => {
-
- return {
- system: state.system.items.find((item) => item.shortName === props.match.params.shortName),
- user: state.user
- }
-}
-
-export default connect(
- mapStateToProps,
- systemActions
-)(UpdateSystem)
diff --git a/admin/src/System/error-actions.js b/admin/src/System/error-actions.js
deleted file mode 100644
index ebfa2a6..0000000
--- a/admin/src/System/error-actions.js
+++ /dev/null
@@ -1,54 +0,0 @@
-import axios from "axios";
-//import { browserHistory } from "react-router"
-import * as types from "./error-constants";
-import { push } from '@lagunovsky/redux-react-router';
-
-
-function beginFetch() {
- return { type: types.FETCH };
-}
-
-function fetchSuccess(data) {
- return { type: types.FETCH_SUCCESS,
- data };
-}
-
-function fetchError(data) {
- return { type: types.FETCH_ERROR,
- data };
-}
-
-export function changeUrl(url) {
- return dispatch => {
- dispatch(push(url));
- };
-}
-
-export function fetch(shortName) {
- return (dispatch, getState) => {
-
- dispatch(beginFetch());
-
- return axios
- .get(process.env.REACT_APP_BACKEND_SERVER + "/" + shortName + "/errors", {withCredentials: true})
- .then(response => {
- if (response.data) {
- var data ={
- shortName: shortName,
- errors: response.data
- }
- dispatch(fetchSuccess(data));
- } else {
- dispatch(fetchError());
- let registerMessage = response.data.message;
- return registerMessage;
- }
- })
- .catch(response => {
- if (response instanceof Error) {
- // Something happened in setting up the request that triggered an Error
- console.log("Error", response.message);
- }
- });
- };
-}
diff --git a/admin/src/System/error-constants.js b/admin/src/System/error-constants.js
deleted file mode 100644
index 13690f7..0000000
--- a/admin/src/System/error-constants.js
+++ /dev/null
@@ -1,3 +0,0 @@
-export const FETCH = "FETCH"
-export const FETCH_SUCCESS = "FETCH_SUCCESS"
-export const FETCH_ERROR = "FETCH_ERROR"
diff --git a/admin/src/System/error-reducer.js b/admin/src/System/error-reducer.js
deleted file mode 100644
index 4a5bf5d..0000000
--- a/admin/src/System/error-reducer.js
+++ /dev/null
@@ -1,42 +0,0 @@
-import {
- FETCH,
- FETCH_SUCCESS,
- FETCH_ERROR
-} from "./error-constants";
-
-
-
-const error = (
- state = {
- isWaiting: false,
- items: {}
- },
- action
-) => {
- switch (action.type) {
-
- case FETCH:
-
- return Object.assign({}, state, { isWaiting: true});
-
-
- case FETCH_SUCCESS:
- return Object.assign({}, state, {
- isWaiting: false,
- items: {
- ...state.items,
- [action.data.shortName]: action.data.errors
- }
- });
-
- case FETCH_ERROR:
- return Object.assign({}, state, {
- isWaiting: false
- });
-
- default:
- return state;
- }
-};
-
-export default error;
diff --git a/admin/src/System/statistic-reducer.js b/admin/src/System/statistic-reducer.js
deleted file mode 100644
index bc0aa45..0000000
--- a/admin/src/System/statistic-reducer.js
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-const FETCH_SUCCESS_STATISTIC = "FETCH_SUCCESS_STATISTIC"
-
-const statistic = (
- state = {},
- action
-) => {
- switch (action.type) {
-
-
- case FETCH_SUCCESS_STATISTIC:
- return Object.assign({}, state, {...action.data});
-
- default:
- return state;
- }
-};
-
-export default statistic;
diff --git a/admin/src/System/system-actions.js b/admin/src/System/system-actions.js
deleted file mode 100644
index a7ddf84..0000000
--- a/admin/src/System/system-actions.js
+++ /dev/null
@@ -1,232 +0,0 @@
-import axios from "axios";
-//import { browserHistory } from "react-router"
-import * as types from "./system-constants";
-import { push } from '@lagunovsky/redux-react-router';
-
-
-// "Log In" action creators
-function beginCreateSystem() {
- return { type: types.CREATE_SYSTEM };
-}
-
-function createSystemSuccess(data) {
- return {
- type: types.CREATE_SUCCESS_SYSTEM,
- data
- };
-}
-
-function createSystemError(data) {
- return {
- type: types.CREATE_ERROR_SYSTEM,
- data
- };
-}
-
-function beginUpdateSystem() {
- return { type: types.UPDATE_SYSTEM };
-}
-
-function updateSystemSuccess(data) {
- return { type: types.UPDATE_SUCCESS_SYSTEM, data };
-}
-
-function updateSystemError(data) {
- return { type: types.UPDATE_ERROR_SYSTEM, data };
-}
-
-function beginDeleteSystem() {
- return { type: types.DELETE_SYSTEM };
-}
-
-function deleteSystemSuccess(data) {
- return { type: types.DELETE_SUCCESS_SYSTEM,
- data };
-}
-
-function deleteSystemError() {
- return { type: types.DELETE_ERROR_SYSTEM };
-}
-
-function beginFetchSystem() {
- return { type: types.FETCH_SYSTEM };
-}
-
-function fetchSystemSuccess(data) {
- return { type: types.FETCH_SUCCESS_SYSTEM,
- data };
-}
-
-function fetchStatisticSuccess(data) {
- return { type: types.FETCH_SUCCESS_STATISTIC,
- data };
-}
-
-function fetchSystemError(data) {
- return { type: types.FETCH_ERROR_SYSTEM,
- data };
-}
-
-function beginFetchError() {
- return { type: types.FETCH_ERROR };
-}
-
-function fetchErrorsSuccess(data) {
- return { type: types.FETCH_SUCCESS_ERROR,
- data };
-}
-
-function fetchErrorsError(data) {
- return { type: types.FETCH_ERROR_ERROR,
- data };
-}
-
-function makeUserRequest(method, data, api = "/login") {
- // returns a Promise
- return axios({
- method: method,
- url: api,
- data: data,
- withCredentials: true
- });
-}
-
-export function changeUrl(url) {
- return dispatch => {
- dispatch(push(url));
- };
-}
-
-// Example of an Async Action Creator
-// http://redux.js.org/docs/advanced/AsyncActions.html
-
-export function updateSystem(data) {
- return dispatch => {
- dispatch(beginUpdateSystem());
-
- return makeUserRequest("post", data, process.env.REACT_APP_ADMIN_SERVER + "/systems/" + data.shortName, {withCredentials: true})
- .then(response => {
- if (response.data.success) {
- dispatch(updateSystemSuccess(response.data.system));
- } else {
- dispatch(updateSystemError());
- return response.data.message;
- }
- })
- .catch(response => {
- if (response instanceof Error) {
- // Something happened in setting up the request that triggered an Error
- console.log("Error", response.message);
- }
- });
- };
-}
-
-function shouldFetchSystems(state, subreddit) {
- if ((!state.system.items) || (state.system.items.length <1)) {
- return true
- } else if (state.system.isWaiting) {
- return false
- } else {
- return false
- }
-}
-
-export function fetchErrors(shortName) {
- return (dispatch, getState) => {
-
- dispatch(beginFetchError());
-
- return axios
- .get(process.env.REACT_APP_BACKEND_SERVER + "/" + shortName + "/systems", {withCredentials: true})
- .then(response => {
- if (response.data) {
- dispatch(fetchErrorsSuccess(shortName, response.data));
- } else {
- dispatch(fetchErrorsError());
- let registerMessage = response.data.message;
- return registerMessage;
- }
- })
- .catch(response => {
- if (response instanceof Error) {
- // Something happened in setting up the request that triggered an Error
- console.log("Error", response.message);
- }
- });
- };
-}
-
-export function fetchSystems() {
- return (dispatch, getState) => {
- if (shouldFetchSystems(getState())) {
- dispatch(beginFetchSystem());
-
- return axios
- .get(process.env.REACT_APP_ADMIN_SERVER + "/systems", {withCredentials: true})
- .then(response => {
- if (response.data.success) {
- dispatch(fetchSystemSuccess(response.data.systems));
- dispatch(fetchStatisticSuccess(response.data.stats));
- } else {
- dispatch(fetchSystemError());
- let registerMessage = response.data.message;
- return registerMessage;
- }
- })
- .catch(response => {
- if (response instanceof Error) {
- // Something happened in setting up the request that triggered an Error
- console.log("Error", response.message);
- }
- });
- };
-};
-}
-
-export function deleteSystem(shortName) {
- return dispatch => {
- dispatch(beginDeleteSystem());
-
- return makeUserRequest("delete", null, process.env.REACT_APP_ADMIN_SERVER + "/systems/"+shortName)
- .then(response => {
- if (response.data.success) {
- dispatch(deleteSystemSuccess({shortName: shortName}));
- dispatch(push("/list-systems"));
- } else {
- dispatch(deleteSystemError());
- let registerMessage = response.data.message;
- return registerMessage;
- }
- })
- .catch(response => {
- if (response instanceof Error) {
- // Something happened in setting up the request that triggered an Error
- console.log("Error", response.message);
- }
- });
- };
-}
-
-export function createSystem(data) {
- return dispatch => {
- dispatch(beginCreateSystem());
-
- return makeUserRequest("post", data, process.env.REACT_APP_ADMIN_SERVER + "/systems", {withCredentials: true})
- .then(response => {
- if (response.data.success) {
- dispatch(createSystemSuccess(response.data.system));
- } else {
- dispatch(createSystemError());
- let registerMessage = response.data.message;
- return registerMessage;
- }
- })
- .catch(response => {
- if (response instanceof Error) {
- // Something happened in setting up the request that triggered an Error
- console.log("Error", response.message);
- }
- });
- };
-}
diff --git a/admin/src/System/system-constants.js b/admin/src/System/system-constants.js
deleted file mode 100644
index 91e91da..0000000
--- a/admin/src/System/system-constants.js
+++ /dev/null
@@ -1,16 +0,0 @@
-export const CREATE_SYSTEM = "CREATE_SYSTEM"
-export const CREATE_SUCCESS_SYSTEM = "CREATE_SUCCESS_SYSTEM"
-export const CREATE_ERROR_SYSTEM = "CREATE_ERROR_SYSTEM"
-export const UPDATE_SYSTEM = "UPDATE_SYSTEM"
-export const UPDATE_SUCCESS_SYSTEM = "UPDATE_SUCCESS_SYSTEM"
-export const UPDATE_ERROR_SYSTEM = "UPDATE_ERROR_SYSTEM"
-export const DELETE_SYSTEM = "DELETE_SYSTEM"
-export const DELETE_SUCCESS_SYSTEM = "DELETE_SUCCESS_SYSTEM"
-export const DELETE_ERROR_SYSTEM = "DELETE_ERROR_SYSTEM"
-export const FETCH_SYSTEM = "FETCH_SYSTEM"
-export const FETCH_SUCCESS_SYSTEM = "FETCH_SUCCESS_SYSTEM"
-export const FETCH_ERROR_SYSTEM = "FETCH_ERROR_SYSTEM"
-export const FETCH_SUCCESS_STATISTIC = "FETCH_SUCCESS_STATISTIC"
-export const FETCH_ERROR = "FETCH_ERROR"
-export const FETCH_SUCCESS_ERROR = "FETCH_SUCCESS_ERROR"
-export const FETCH_ERROR_ERROR = "FETCH_ERROR_ERROR"
diff --git a/admin/src/System/system-reducer.js b/admin/src/System/system-reducer.js
deleted file mode 100644
index 7c33a4c..0000000
--- a/admin/src/System/system-reducer.js
+++ /dev/null
@@ -1,93 +0,0 @@
-import {
- CREATE_SYSTEM,
- CREATE_SUCCESS_SYSTEM,
- CREATE_ERROR_SYSTEM,
- UPDATE_SYSTEM,
- UPDATE_SUCCESS_SYSTEM,
- UPDATE_ERROR_SYSTEM,
- DELETE_SYSTEM,
- DELETE_SUCCESS_SYSTEM,
- DELETE_ERROR_SYSTEM,
- FETCH_SYSTEM,
- FETCH_SUCCESS_SYSTEM,
- FETCH_ERROR_SYSTEM
-} from "./system-constants";
-
-function updateObjectInArray(array, shortName, updatedItem) {
- return array.map( item => {
- if(item.shortName !== shortName) {
- // This isn't the item we care about - keep it as-is
- return item;
- }
-
- // Otherwise, this is the one we want - return an updated value
- return {
- ...item,
- ...updatedItem
- };
- });
-}
-
-
-const system = (
- state = {
- isWaiting: false,
- items: []},
- action
-) => {
- switch (action.type) {
-
- case DELETE_SYSTEM:
- case UPDATE_SYSTEM:
- case FETCH_SYSTEM:
- case CREATE_SYSTEM:
-
- return Object.assign({}, state, { isWaiting: true});
-
- case DELETE_SUCCESS_SYSTEM:
- return Object.assign({}, state, {
- items: state.items.filter(item => item.shortName !== action.data.shortName)
- });
-
- case UPDATE_SUCCESS_SYSTEM:
- return Object.assign({}, state, {
- items: updateObjectInArray(state.items, action.data.shortName, action.data)
- });
- case FETCH_SUCCESS_SYSTEM:
- return Object.assign({}, state, {
- isWaiting: false,
- items: action.data
- });
- case CREATE_SUCCESS_SYSTEM:
- const newItems = state.items.concat({
- name: action.data.name,
- shortName: action.data.shortName,
- description: action.data.description,
- systemType: action.data.systemType,
- city: action.data.city,
- state: action.data.state,
- county: action.data.county,
- country: action.data.country,
- key: action.data.key,
- userId: action.data.userId,
- id: action.data.id,
- showScreenName: action.data.showScreenName,
- ignoreUnknownTalkgroup : action.data.ignoreUnknownTalkgroup
- });
- return Object.assign({}, state, { isWaiting: false,
- items: newItems});
-
- case DELETE_ERROR_SYSTEM:
- case UPDATE_ERROR_SYSTEM:
- case FETCH_ERROR_SYSTEM:
- case CREATE_ERROR_SYSTEM:
- return Object.assign({}, state, {
- isWaiting: false
- });
-
- default:
- return state;
- }
-};
-
-export default system;
diff --git a/admin/src/Talkgroups/talkgroup-actions.js b/admin/src/Talkgroups/talkgroup-actions.js
deleted file mode 100644
index b79c363..0000000
--- a/admin/src/Talkgroups/talkgroup-actions.js
+++ /dev/null
@@ -1,163 +0,0 @@
-import axios from 'axios';
-//import { browserHistory } from "react-router"
-import * as types from "./talkgroup-constants";
-import { push } from '@lagunovsky/redux-react-router';
-
-// "Log In" action creators
-function beginImportTalkgroup() {
- return { type: types.IMPORT_TALKGROUP };
-}
-
-function importTalkgroupSuccess(data) {
- return {
- type: types.IMPORT_SUCCESS_TALKGROUP,
- data
- };
-}
-
-function importTalkgroupError(data) {
- return {
- type: types.IMPORT_ERROR_TALKGROUP,
- data
- };
-}
-
-function beginExportTalkgroup() {
- return { type: types.EXPORT_TALKGROUP };
-}
-
-function beginFetchTalkgroup() {
- return { type: types.FETCH_TALKGROUP };
-}
-
-function fetchTalkgroupSuccess(data) {
- return { type: types.FETCH_SUCCESS_TALKGROUP,
- data };
-}
-
-function fetchTalkgroupError(data) {
- return { type: types.FETCH_ERROR_TALKGROUP,
- data };
-}
-
-export function changeUrl(url) {
- return dispatch => {
- dispatch(push(url));
- };
-}
-
-
-// https://stackoverflow.com/questions/41878838/how-do-i-set-multipart-in-axios-with-react
-function fileUpload(shortName, file){
- const url = process.env.REACT_APP_ADMIN_SERVER + "/talkgroups/" + shortName + "/import";
- const formData = new FormData();
- formData.append('file',file)
- const config = {
- headers: {
- 'content-type': 'multipart/form-data'
- },
- withCredentials: true
- }
- return axios.post(url, formData,config)
- }
-
-// Example of an Async Action Creator
-// http://redux.js.org/docs/advanced/AsyncActions.html
-export function importTalkgroups(
- shortName, file,
- successPath // path to redirect to upon successful log in
-) {
- return dispatch => {
- dispatch(beginImportTalkgroup());
-
- return fileUpload(shortName, file)
- .then(response => {
- if (response.data.success) {
- var data = {};
- data.shortName = shortName;
- data.talkgroups = response.data.talkgroups
- dispatch(importTalkgroupSuccess(data));
- // use browserHistory singleton to control navigation. Will generate a
- // state change for time-traveling as we are using the react-router-redux package
- //browserHistory.push(successPath)
-
- } else {
- dispatch(importTalkgroupError(response.data.message));
- return response.data.message;
- }
- })
- .catch(function(response) {
- if (response instanceof Error) {
- // Something happened in setting up the request that triggered an Error
- console.log("Error", response.message);
- return response.message;
- }
- });
- };
-}
-
-export function exportTalkgroups(
- shortName
-) {
- return dispatch => {
- dispatch(beginExportTalkgroup());
-
- return axios
- .get(process.env.REACT_APP_ADMIN_SERVER + "/talkgroups/" + shortName + "/export", { withCredentials: true })
- .then(response => {
- if (response.data.success) {
- var data = {shortName: shortName, talkgroups: response.data.talkgroups}
- dispatch(fetchTalkgroupSuccess( data));
- } else {
- dispatch(fetchTalkgroupError());
- let registerMessage = response.data.message;
- return registerMessage;
- }
- })
- .catch(response => {
- if (response instanceof Error) {
- // Something happened in setting up the request that triggered an Error
- console.log("Error", response.message);
- }
- });
- };
- };
-
-
-
-function shouldFetchTalkgroups(state, shortName) {
- if (!state.talkgroup.items.hasOwnProperty(shortName)) {
- return true
- } else if (state.talkgroup.isWaiting) {
- return false
- } else {
- return false
- }
-}
-
-export function fetchTalkgroups(shortName) {
- return (dispatch, getState) => {
- if (shouldFetchTalkgroups(getState(), shortName)) {
- dispatch(beginFetchTalkgroup());
-
- return axios
- .get(process.env.REACT_APP_ADMIN_SERVER + "/talkgroups/"+shortName, { withCredentials: true })
- .then(response => {
- if (response.data.success) {
- var data = {shortName: shortName, talkgroups: response.data.talkgroups}
- dispatch(fetchTalkgroupSuccess( data));
- } else {
- dispatch(fetchTalkgroupError());
- let registerMessage = response.data.message;
- return registerMessage;
- }
- })
- .catch(response => {
- if (response instanceof Error) {
- // Something happened in setting up the request that triggered an Error
- console.log("Error", response.message);
- }
- });
- };
-};
-}
diff --git a/admin/src/Talkgroups/talkgroup-constants.js b/admin/src/Talkgroups/talkgroup-constants.js
deleted file mode 100644
index e5df09f..0000000
--- a/admin/src/Talkgroups/talkgroup-constants.js
+++ /dev/null
@@ -1,9 +0,0 @@
-export const IMPORT_TALKGROUP = "IMPORT_TALKGROUP"
-export const IMPORT_SUCCESS_TALKGROUP = "IMPORT_SUCCESS_TALKGROUP"
-export const IMPORT_ERROR_TALKGROUP = "IMPORT_ERROR_TALKGROUP"
-export const EXPORT_TALKGROUP = "EXPORT_TALKGROUP"
-export const EXPORT_SUCCESS_TALKGROUP = "EXPORT_SUCCESS_TALKGROUP"
-export const EXPORT_ERROR_TALKGROUP = "EXPORT_ERROR_TALKGROUP"
-export const FETCH_TALKGROUP = "FETCH_TALKGROUP"
-export const FETCH_SUCCESS_TALKGROUP = "FETCH_SUCCESS_TALKGROUP"
-export const FETCH_ERROR_TALKGROUP = "FETCH_ERROR_TALKGROUP"
diff --git a/admin/src/Talkgroups/talkgroup-reducer.js b/admin/src/Talkgroups/talkgroup-reducer.js
deleted file mode 100644
index 396d0d1..0000000
--- a/admin/src/Talkgroups/talkgroup-reducer.js
+++ /dev/null
@@ -1,51 +0,0 @@
-import {
- IMPORT_TALKGROUP,
- IMPORT_SUCCESS_TALKGROUP,
- IMPORT_ERROR_TALKGROUP,
- EXPORT_TALKGROUP,
- EXPORT_SUCCESS_TALKGROUP,
- EXPORT_ERROR_TALKGROUP,
- FETCH_TALKGROUP,
- FETCH_SUCCESS_TALKGROUP,
- FETCH_ERROR_TALKGROUP
-} from "./talkgroup-constants";
-
-const talkgroup = (
- state = {
- isWaiting: false,
- items: {}},
- action
-) => {
- switch (action.type) {
-
- case FETCH_TALKGROUP:
- case IMPORT_TALKGROUP:
- case EXPORT_TALKGROUP:
- return Object.assign({}, state, { isWaiting: true});
-
- case IMPORT_SUCCESS_TALKGROUP:
- case FETCH_SUCCESS_TALKGROUP:
- return Object.assign({}, state, {
- isWaiting: false,
- items: {
- ...state.items,
- [action.data.shortName]: action.data.talkgroups
- }
- });
-
-
-
- case FETCH_ERROR_TALKGROUP:
- case IMPORT_ERROR_TALKGROUP:
- case EXPORT_ERROR_TALKGROUP:
- case EXPORT_SUCCESS_TALKGROUP:
- return Object.assign({}, state, {
- isWaiting: false
- });
-
- default:
- return state;
- }
-};
-
-export default talkgroup;
diff --git a/admin/src/User/user-actions.js b/admin/src/User/user-actions.js
deleted file mode 100644
index 8b469ee..0000000
--- a/admin/src/User/user-actions.js
+++ /dev/null
@@ -1,46 +0,0 @@
-import axios from "axios";
-//import { browserHistory } from "react-router"
-import * as types from "./user-constants";
-import { push } from '@lagunovsky/redux-react-router';
-
-
-// "Log Out" action creators
-function beginLogout() {
- return { type: types.LOGOUT_USER };
-}
-
-function logoutSuccess() {
- return { type: types.LOGOUT_SUCCESS_USER };
-}
-
-function logoutError() {
- return { type: types.LOGOUT_ERROR_USER };
-}
-
-// Example of an Async Action Creator
-// http://redux.js.org/docs/advanced/AsyncActions.html
-export function manualLogout() {
- return dispatch => {
- dispatch(beginLogout());
-
- return axios
- .get(process.env.REACT_APP_ACCOUNT_SERVER + "/logout", {withCredentials: true})
- .then(response => {
- if (response.data.success) {
- dispatch(logoutSuccess());
- // use browserHistory singleton to control navigation. Will generate a
- // state change for time-traveling as we are using the react-router-redux package
- //browserHistory.push("/") // logout to home page
- dispatch(push("/"));
- } else {
- dispatch(logoutError());
- }
- })
- .catch(response => {
- if (response instanceof Error) {
- // Something happened during logout that triggered an Error
- console.log("Error", response.message);
- }
- });
- };
-}
diff --git a/admin/src/User/user-constants.js b/admin/src/User/user-constants.js
deleted file mode 100644
index 95b7062..0000000
--- a/admin/src/User/user-constants.js
+++ /dev/null
@@ -1,6 +0,0 @@
-export const LOGIN_SUCCESS_USER = "LOGIN_SUCCESS_USER"
-export const LOGIN_EMAIL_ERROR_USER = "LOGIN_EMAIL_ERROR_USER"
-export const LOGIN_ERROR_USER = "LOGIN_ERROR_USER"
-export const LOGOUT_USER = "LOGOUT_USER"
-export const LOGOUT_SUCCESS_USER = "LOGOUT_SUCCESS_USER"
-export const LOGOUT_ERROR_USER = "LOGOUT_ERROR_USER"
diff --git a/admin/src/User/user-reducer.js b/admin/src/User/user-reducer.js
deleted file mode 100644
index e7ce7e1..0000000
--- a/admin/src/User/user-reducer.js
+++ /dev/null
@@ -1,55 +0,0 @@
-import {
- LOGOUT_USER,
- LOGOUT_SUCCESS_USER,
- LOGOUT_ERROR_USER,
- LOGIN_SUCCESS_USER,
- LOGIN_ERROR_USER,
- LOGIN_EMAIL_ERROR_USER
-} from "./user-constants";
-
-const user = (
- state = {
- isWaiting: false,
- authenticated: false,
- userId: ""
- },
- action
-) => {
- switch (action.type) {
- case LOGIN_SUCCESS_USER:
- return Object.assign({}, state, {
- isWaiting: false,
- authenticated: true,
- ...action.data
- });
- case LOGIN_EMAIL_ERROR_USER:
- return Object.assign({}, state, {
- isWaiting: false,
- authenticated: false,
- userId: action.data.userId
- });
- case LOGIN_ERROR_USER:
- return Object.assign({}, state, {
- isWaiting: false,
- authenticated: false
- });
- case LOGOUT_USER:
- return Object.assign({}, state, { isWaiting: true });
- case LOGOUT_SUCCESS_USER:
- return Object.assign({}, state, {
- isWaiting: false,
- authenticated: false,
- email: "",
- userId: ""
- });
- case LOGOUT_ERROR_USER:
- return Object.assign({}, state, {
- isWaiting: false,
- authenticated: true
- });
- default:
- return state;
- }
-};
-
-export default user;