add confirm mail modal window
This commit is contained in:
+94
-17
@@ -139,6 +139,7 @@ export type FormState = {
|
||||
agree: string;
|
||||
},
|
||||
mailConfirm?: boolean,
|
||||
userId?: number,
|
||||
error: Record<string, string> | null
|
||||
};
|
||||
|
||||
@@ -219,11 +220,27 @@ export async function registration(
|
||||
if (response.ok) {
|
||||
let parsed = await response.json() as {
|
||||
message_desc: string,
|
||||
message_body: { token: string },
|
||||
message_body: { token: string, userId: number },
|
||||
message_code: string
|
||||
};
|
||||
console.log(parsed);
|
||||
if (parsed.message_desc === 'Operation successful') {
|
||||
await createSession(parsed.message_body.token, email as string);
|
||||
|
||||
/* await createSession(parsed.message_body.token, email as string); */
|
||||
return {
|
||||
previousState: {
|
||||
fullName,
|
||||
email,
|
||||
password,
|
||||
confirm_password,
|
||||
phone,
|
||||
companyName,
|
||||
agree
|
||||
},
|
||||
mailConfirm: true,
|
||||
userId: parsed.message_body.userId,
|
||||
error: null
|
||||
};
|
||||
} else {
|
||||
throw parsed;
|
||||
}
|
||||
@@ -231,19 +248,6 @@ export async function registration(
|
||||
throw (`${response.status}`);
|
||||
}
|
||||
|
||||
/* return {
|
||||
previousState: {
|
||||
fullName,
|
||||
email,
|
||||
password,
|
||||
confirm_password,
|
||||
phone,
|
||||
companyName,
|
||||
agree
|
||||
},
|
||||
mailConfirm: true,
|
||||
error: null
|
||||
}; */
|
||||
} catch (error: unknown) {
|
||||
if (error) {
|
||||
const typedError = error as any;
|
||||
@@ -282,6 +286,7 @@ export async function registration(
|
||||
companyName,
|
||||
agree
|
||||
},
|
||||
mailConfirm: false,
|
||||
error: errors
|
||||
};
|
||||
}
|
||||
@@ -327,9 +332,81 @@ export async function tokenLifeExtension() {
|
||||
|
||||
export async function confirmEmail(
|
||||
state: any | undefined,
|
||||
formData: any,
|
||||
formData: any
|
||||
) {
|
||||
console.log('confirmEmail');
|
||||
const emailConfirm = formData.get('emailConfirm') as string || '';
|
||||
console.log(emailConfirm);
|
||||
const userId = formData.get('userId') as string || '';
|
||||
|
||||
try {
|
||||
const response = await fetch(`${API_BASE_URL}/api/v1/data`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"Accept": "application/json",
|
||||
},
|
||||
body: JSON.stringify({
|
||||
version: 1,
|
||||
msg_id: 20009,
|
||||
message_body: {
|
||||
resend: 0,
|
||||
user_id: userId,
|
||||
verify_token: emailConfirm
|
||||
}
|
||||
}),
|
||||
});
|
||||
|
||||
if (response.ok) {
|
||||
const parsed = await response.json();
|
||||
console.log(parsed);
|
||||
|
||||
if (parsed.message_code === 0) {
|
||||
await createSession(parsed.message_body.token, parsed.message_body.email as string);
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
return {
|
||||
error: 'error'
|
||||
}
|
||||
}
|
||||
|
||||
redirect('/pages/dashboard');
|
||||
}
|
||||
|
||||
export async function resendConfirmEmail(userId: number) {
|
||||
console.log('resendConfirmEmail');
|
||||
|
||||
|
||||
try {
|
||||
const response = await fetch(`${API_BASE_URL}/api/v1/data`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"Accept": "application/json",
|
||||
},
|
||||
body: JSON.stringify({
|
||||
version: 1,
|
||||
msg_id: 20009,
|
||||
message_body: {
|
||||
resend: 1,
|
||||
user_id: userId,
|
||||
}
|
||||
}),
|
||||
});
|
||||
|
||||
if (response.ok) {
|
||||
const parsed = await response.json();
|
||||
console.log(parsed);
|
||||
|
||||
if (parsed.message_code === 0) {
|
||||
return {
|
||||
fine: true
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
return {
|
||||
fine: false
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user