Merge branch 'master' of honey.fitz.guru:eventment-app

# Conflicts:
#	app/actions/profile.js
#	app/router.js
This commit is contained in:
2019-08-05 21:25:43 -04:00
17 changed files with 498 additions and 49 deletions

View File

@@ -1,38 +1,39 @@
import { List } from 'immutable';
import { getEndpointUrl } from '../api/index.js';
import { fetchItems } from '../api/items.js';
import {
GET_ITEMS,
ITEMS_LOADED,
} from '../constants/actionTypes.js';
import { getActiveEventId } from '../selectors/activeEvent.js';
import { getLoginToken } from '../selectors/profile.js';
import { blockUI, unblockUI } from './index.js';
import { API_ENDPOINTS } from '../constants/constants.js';
import Item from '../domain/Item.js';
const itemsLoaded = (payload) => ({ type: ITEMS_LOADED, payload });
const itemsLoadSuccess = (items, dispatch) => {
const itemsLoadError = (payload) => ({ type: ITEMS_LOAD_FAILED, payload });
const itemsFetchSuccess = (items) => (dispatch) => {
const payload = List(items).map((i) => Item.fromJS(i));
dispatch({ type: ITEMS_LOADED, payload });
dispatch(itemsLoaded(payload));
dispatch(unblockUI);
};
const itemsFetchFailure = (error) => (dispatch) => {
console.error('[actions::getItems]', error));
dispatch(itemsLoadFailure(error));
dispatch(unblockUI);
};
export const fetchItems = () => (dispatch, getState) => {
const state = getState();
const activeEvent = state.get('activeEvent');
const eventId = getActiveEventId(getState());
const authToken = getLoginToken(getState());
let apiUrl = getEndpointUrl(API_ENDPOINTS.GET_ITEMS);
apiUrl = apiUrl.replace(/:event_id$/, '');
if (activeEvent) {
apiUrl = `${apiUrl}${activeEvent}`;
}
dispatch(blockUI());
fetch(apiUrl)
.then(response => response.json())
.then(payload => itemsLoadSuccess(payload, dispatch))
.catch(err => console.error('[actions::getItems]', err));
fetchItems(activeEvent, authToken)
.then(payload => dispatch(itemsFetchSuccess(payload)))
.catch(err => dispatch(itemsFetchFailure(err));
};

View File

@@ -1,33 +1,89 @@
import { List } from 'immutable';
import { getEndpointUrl } from '../api/index.js';
import { blockUI, unblockUI } from './index.js';
import {
EVENTS_LOADED,
GET_EVENTS,
getEmailAvailability,
getNomAvailaibility,
registerNewUser,
} from '../api/profile.js';
import {
DO_LOGOUT,
PROFILE_EMAIL_AVAILABLE,
PROFILE_NOM_AVAILABLE,
UPDATE_PROFILE,
} from '../constants/actionTypes.js';
import { blockUI, unblockUI } from './index.js';
import { API_ENDPOINTS } from '../constants/constants.js';
import Event from '../domain/Event.js';
const eventsLoadSuccess = (events, dispatch) => {
const payload = List(events).map((i) => Event.fromJS(i));
dispatch({ type: EVENTS_LOADED, payload });
dispatch(unblockUI);
};
export const setActiveEvent = (eventId) => ({
type: SET_ACTIVE_EVENT,
payload: eventId,
const isValidEmail = (payload) => ({
type: PROFILE_EMAIL_AVAILABLE,
payload,
});
export const fetchEvents = () => (dispatch) => {
dispatch(blockUI());
fetch(getEndpointUr(API_ENDPOINTS.GET_EVENTS))
.then(response => response.json())
.then(payload => eventsLoadSuccess(payload, dispatch))
.catch(err => console.error('[actions::getEvents]', err));
const isValidNom = (payload) => ({
type: PROFILE_NOM_AVAILABLE,
payload,
});
const logoutUser = () => ({
type: DO_LOGOUT,
});
const registrationFailure = (payload) => ({
type: REGISTRATION_FAILURE,
payload,
});
const registrationSuccess = (payload) => ({
type: REGISTRATION_SUCCESS,
payload,
});
const updateProfile = (profile) => ({
type: UPDATE_PROFILE,
payload: profile,
});
export const checkEmailAvailability = (email) => (dispatch) => {
};
export const checkNomAvailability = (nomDeBid) => (dispatch) => {
};
export const logout = () => (dispatch) => dispatch(logoutUser());
// USER REGISTRATION
const handleRegistrationSuccess = (user) => (dispatch) => {
dispatch(unblockUI());
dispatch(registrationSuccess());
dispatch(loginSuccess(user));
};
const handleRegistrationFailure = (error) => (dispatch) => {
dispatch(unblockUI());
dispatch(registrationFailure(error));
};
export const registerUser = (user) => (dispatch) => {
dispatch(blockUI());
registerNewUser(user)
.then(user => dispatch(handleRegistrationSuccess(user)))
.catch(err => dispatch(handleRegistrationFailure(err)));
};
// FACEBOOK
export const facebookLoginSuccess = (result) => (dispatch) => {
console.log('facebookLoginSuccess', result);
dispatch(facebookLoginSuccess(result));
};
// LOGIN SERVICES COMMON ACTIONS
export const serviceRegistrationError = (error) => (dispatch) => {
};
export const serviceRegistrationCanceled = () => (dispatch) => {
};