94 - API methods GET/POST

This commit is contained in:
danis
2023-01-20 12:29:55 +03:00
committed by Clément Le Bihan
parent 8abf3e339a
commit 47629e3938
2 changed files with 56 additions and 15 deletions

View File

@@ -61,6 +61,39 @@ const baseAPIUrl =
? "/api"
: Constants.manifest?.extra?.apiUrl;
const requestGet = async (url: string) => {
try {
const response = await fetch(url, {
method: 'GET',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json'
}
});
const json = await response.json();
return json;
} catch (error) {
console.error(error);
}
}
const requestPost = async (url: string, params: any[]) => {
try {
const response = await fetch(url, {
method: 'POST',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json'
},
body : JSON.stringify(params),
});
const json = await response.json();
return json;
} catch (error) {
console.error(error);
}
}
export default class API {
private static async fetch(params: FetchParams) {
const jwtToken = store.getState().user.accessToken;
@@ -417,12 +450,20 @@ export default class API {
];
}
static async updateUserCredentials(dataKey: string, value: any): Promise<string> {
let validDataKeys: string = "password email";
/**
*
* @param dataKey
* @param value
* @description update user's account credentials. Either email or password, you choose via the datakey param
* @returns new user's credentials
*/
static async updateUserCredentials(dataKey: 'password' | 'email', value: any): Promise<string> {
let validDataKeys: string[] = ['password', 'email'];
return new Promise<string>((resolve, reject) => {
setTimeout(() => {
if (!validDataKeys.includes(dataKey))
return resolve("giga chad");
return resolve('giga chad');
}, 1000);
});
}

View File

@@ -23,7 +23,7 @@ const validationSchemas = {
};
const ChangeEmailForm = ({ onSubmit }: ChangeEmailFormProps) => {
const [formData, setFormData] = React.useState({
const [formData, setFormData] = React.useState({
oldEmail: {
value: "",
error: null as string | null,
@@ -34,12 +34,12 @@ const ChangeEmailForm = ({ onSubmit }: ChangeEmailFormProps) => {
}
});
const [submittingForm, setSubmittingForm] = React.useState(false);
const [submittingForm, setSubmittingForm] = React.useState(false);
const toast = useToast();
return (
<Box>
<Stack mx="4" style={{ width: '80%', maxWidth: 400 }}>
return (
<Box>
<Stack mx="4" style={{ width: '80%', maxWidth: 400 }}>
<FormControl
isRequired
isInvalid={
@@ -51,7 +51,7 @@ const ChangeEmailForm = ({ onSubmit }: ChangeEmailFormProps) => {
<Input
isRequired
type="text"
placeholder="lucy@er.com"
placeholder={translate("oldEmail")}
value={formData.oldEmail.value}
onChangeText={(t) => {
let error: null | string = null;
@@ -71,7 +71,7 @@ const ChangeEmailForm = ({ onSubmit }: ChangeEmailFormProps) => {
<Input
isRequired
type="text"
placeholder="lucy2@er.com"
placeholder={translate("newEmail")}
value={formData.newEmail.value}
onChangeText={(t) => {
let error: null | string = null;
@@ -86,7 +86,7 @@ const ChangeEmailForm = ({ onSubmit }: ChangeEmailFormProps) => {
<FormControl.ErrorMessage leftIcon={<WarningOutlineIcon size="xs" />} >
{formData.oldEmail.error}
</FormControl.ErrorMessage>
<Button
style={{ marginTop: 10 }}
// isLoading={submittingForm}
@@ -107,12 +107,12 @@ const ChangeEmailForm = ({ onSubmit }: ChangeEmailFormProps) => {
// }
// }}
>
Bite
{translate("submitBtn")}
</Button>
</FormControl>
</Stack>
</Box>
);
</Stack>
</Box>
);
}
export default ChangeEmailForm;