Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pterodactyl
GitHub Repository: pterodactyl/panel
Path: blob/1.0-develop/resources/scripts/api/auth/login.ts
10277 views
1
import http from '@/api/http';
2
3
export interface LoginResponse {
4
complete: boolean;
5
intended?: string;
6
confirmationToken?: string;
7
}
8
9
export interface LoginData {
10
username: string;
11
password: string;
12
recaptchaData?: string | null;
13
}
14
15
export default ({ username, password, recaptchaData }: LoginData): Promise<LoginResponse> => {
16
return new Promise((resolve, reject) => {
17
http.get('/sanctum/csrf-cookie')
18
.then(() =>
19
http.post('/auth/login', {
20
user: username,
21
password,
22
'g-recaptcha-response': recaptchaData,
23
})
24
)
25
.then((response) => {
26
if (!(response.data instanceof Object)) {
27
return reject(new Error('An error occurred while processing the login request.'));
28
}
29
30
return resolve({
31
complete: response.data.data.complete,
32
intended: response.data.data.intended || undefined,
33
confirmationToken: response.data.data.confirmation_token || undefined,
34
});
35
})
36
.catch(reject);
37
});
38
};
39
40