Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 30 additions & 72 deletions ios/arcFrontend.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0940"
LastUpgradeVersion = "1000"
version = "1.3">
<BuildAction
parallelizeBuildables = "NO"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0940"
LastUpgradeVersion = "1000"
version = "1.3">
<BuildAction
parallelizeBuildables = "NO"
Expand Down
1 change: 0 additions & 1 deletion ios/arcFrontend/AppDelegate.m
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@

#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
Expand Down
4 changes: 2 additions & 2 deletions ios/arcFrontend/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>onearc</string>
<string>arcFrontend</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
Expand Down Expand Up @@ -38,7 +38,7 @@
</dict>
</dict>
<key>NSLocationWhenInUseUsageDescription</key>
<string></string>
<string/>
<key>UIAppFonts</key>
<array>
<string>Entypo.ttf</string>
Expand Down
208 changes: 207 additions & 1 deletion src/actionCreators/app/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ const manualLogin = (credentials) =>
},
body: JSON.stringify(credentials),
});
console.log(response);
if (response.status === 200) {
const token = JSON.parse(response._bodyText).token;
const userId = JSON.parse(response._bodyText).id;
Expand Down Expand Up @@ -90,6 +91,7 @@ const signupWithEmail = (user) => {
},
body: JSON.stringify(user),
});
console.log(response)
if (response.status === 201) {
const token = JSON.parse(response._bodyText).token;
const userId = JSON.parse(response._bodyText).id;
Expand All @@ -108,7 +110,211 @@ const signupWithEmail = (user) => {
}

const logout = () => {
return async dispatch => {
await AsyncStorage.removeItem('token');
dispatch({ type: types.LOGOUT });
}
}

//Medical
const createMedicalSettings = () => {
return async dispatch => {
try {
const token = await AsyncStorage.getItem('token');
const userId = await AsyncStorage.getItem('userId');
const response = await fetch(`${baseURL}profile/medical/`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + token
},
body: JSON.stringify({
blood_type: '',
allergies: '',
medication: '',
insurance: '',
emergency_name: '',
emergency_phone: ''
})
});
console.log(response);
} catch (error) {
console.log(error);
}
}
}

const getMedicalSettings = () => {
return async dispatch => {
dispatch({ type: types.MEDICAL_SETTINGS_GET_START })
try {
const token = await AsyncStorage.getItem('token');
const userId = await AsyncStorage.getItem('userId');
const response = await fetch(`${baseURL}profile/medical/${userId}`, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + token
}
});
const settings = JSON.parse(response._bodyText)
if (Object.keys(settings).length === 0 && settings.constructor === Object) {
dispatch({ type: types.MEDICAL_SETTINGS_GET_FAILED })
console.log('Initiating default medical settings');
dispatch(createMedicalSettings());
}
const { data } = settings;
dispatch({ type: types.MEDICAL_SETTINGS_GET_SUCCESS, data })
} catch (error) {
dispatch({ type: types.MEDICAL_SETTINGS_GET_FAILED })
console.log(error);
}
}
}

const updateMedicalSettings = (payload) => {
return async dispatch => {
try {
dispatch({ type: types.MEDICAL_SETTINGS_PATCH_START });
if (Object.keys(payload).length === 0 && payload.constructor === Object) {
dispatch({ type: types.MEDICAL_SETTINGS_PATCH_FAILED });
return;
}
const token = await AsyncStorage.getItem('token');
const userId = await AsyncStorage.getItem('userId');
const response = await fetch(`${baseURL}profile/medical/${userId}/update`, {
method: 'PATCH',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + token
},
body: JSON.stringify(payload)
});
const settings = JSON.parse(response._bodyText)
const { data } = settings;
console.log('response', response);
dispatch({ type: types.MEDICAL_SETTINGS_PATCH_SUCCESS, data: data[0] })
} catch (error) {
dispatch({ type: types.MEDICAL_SETTINGS_PATCH_FAILED })
console.log(error);
}
}
}

export { getGeoLocation, signupWithEmail, autoLogin, manualLogin, showCommunityList, hideCommunityList, setLogin };
// PERSONAL

const createPersonalSettings = () => {
return async dispatch => {
try {
const token = await AsyncStorage.getItem('token');
const userId = await AsyncStorage.getItem('userId');
const response = await fetch(`${baseURL}profile/personal/`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + token
},
body: JSON.stringify({
birth_date: '1989-02-20T00:00:00.000Z',
city: '',
state: '',
phone: '',
gps: 'false',
})
});
console.log(response);
} catch (error) {
console.log(error);
}
}
}

const getPersonalSettings = () => {
return async dispatch => {
dispatch({ type: types.PERSONAL_SETTINGS_GET_START })
try {
console.log('[API] GET personal Settings')
const token = await AsyncStorage.getItem('token');
const userId = await AsyncStorage.getItem('userId');
const response = await fetch(`${baseURL}profile/personal/${userId}`, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + token
}
});
const settings = JSON.parse(response._bodyText)
if (Object.keys(settings).length === 0 && settings.constructor === Object) {
dispatch({ type: types.PERSONAL_SETTINGS_GET_FAILED })
console.log('Initiating default medical settings');
dispatch(createMedicalSettings());
}
const { data: { birth_date, city, state, phone, gps } } = settings;
dispatch({ type: types.PERSONAL_SETTINGS_GET_SUCCESS, data: { birth_date, city, state, phone, gps } })
} catch (error) {
dispatch({ type: types.PERSONAL_SETTINGS_GET_FAILED })
console.log(error);
}
}
}

const updatePersonalSettings = (payload) => {
return async dispatch => {
try {
dispatch({ type: types.PERSONAL_SETTINGS_PATCH_START });
if (Object.keys(payload).length === 0 && payload.constructor === Object) {
dispatch({ type: types.PERSONAL_SETTINGS_PATCH_FAILED });
return;
}
const token = await AsyncStorage.getItem('token');
const userId = await AsyncStorage.getItem('userId');
const response = await fetch(`${baseURL}profile/personal/${userId}/update`, {
method: 'PATCH',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + token
},
body: JSON.stringify(payload)
});
const settings = JSON.parse(response._bodyText)
const { data } = settings;
console.log('response', response);
dispatch({ type: types.PERSONAL_SETTINGS_PATCH_SUCCESS, data: data[0] })
} catch (error) {
dispatch({ type: types.PERSONAL_SETTINGS_PATCH_FAILED })
console.log(error);
}
}
}


const startEdit = () => {
return async dispatch => {
dispatch({ type: types.EDIT_START });
}
}

const endEdit = () => {
return async dispatch => {
dispatch({ type: types.EDIT_END });
}
}

export {
getGeoLocation,
signupWithEmail,
autoLogin,
manualLogin,
showCommunityList,
hideCommunityList,
setLogin,
logout,
createPersonalSettings,
getPersonalSettings,
updatePersonalSettings,
getMedicalSettings,
updateMedicalSettings,
startEdit,
endEdit
};

24 changes: 21 additions & 3 deletions src/actionTypes/app/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,28 @@ export const LOGIN_START = 'app/LOGIN_START';
export const LOGIN_SUCCESS = 'app/LOGIN_SUCCESS';
export const LOGIN_FAILED = 'app/LOGIN_FAILED';

export const LOGOUT_START = 'app/LOGOUT_START';
export const LOGOUT_SUCCESS = 'app/LOGOUT_SUCCESS';
export const LOGOUT_FAILED = 'app/LOGOUT_FAILED';
export const LOGOUT = 'app/LOGOUT';

/* Facebook, Google, Twitter will go here

*/

//User Settings
export const EDIT_START = 'app/EDIT_START';
export const EDIT_END = 'app/EDIT_END';

export const MEDICAL_SETTINGS_GET_START = 'app/MEDICAL_SETTINGS_GET_START';
export const MEDICAL_SETTINGS_GET_SUCCESS = 'app/MEDICAL_SETTINGS_GET_SUCCESS';
export const MEDICAL_SETTINGS_GET_FAILED = 'app/MEDICAL_SETTINGS_GET_FAILED';

export const MEDICAL_SETTINGS_PATCH_START = 'app/MEDICAL_SETTINGS_PATCH_START';
export const MEDICAL_SETTINGS_PATCH_SUCCESS = 'app/MEDICAL_SETTINGS_PATCH_SUCCESS';
export const MEDICAL_SETTINGS_PATCH_FAILED = 'app/MEDICAL_SETTINGS_PATCH_FAILED';

export const PERSONAL_SETTINGS_GET_START = 'app/PERSONAL_SETTINGS_GET_START';
export const PERSONAL_SETTINGS_GET_SUCCESS = 'app/PERSONAL_SETTINGS_GET_SUCCESS';
export const PERSONAL_SETTINGS_GET_FAILED = 'app/PERSONAL_SETTINGS_GET_FAILED';

export const PERSONAL_SETTINGS_PATCH_START = 'app/PERSONAL_SETTINGS_PATCH_START';
export const PERSONAL_SETTINGS_PATCH_SUCCESS = 'app/PERSONAL_SETTINGS_PATCH_SUCCESS';
export const PERSONAL_SETTINGS_PATCH_FAILED = 'app/PERSONAL_SETTINGS_PATCH_FAILED';
Loading