mirror of
https://github.com/appwrite/console.git
synced 2026-06-06 19:27:48 +00:00
66 lines
1.6 KiB
TypeScript
66 lines
1.6 KiB
TypeScript
import { writable } from 'svelte/store';
|
|
import { type Models, AuthMethod as AuthMethodEnum } from '@appwrite.io/console';
|
|
|
|
export type AuthMethod = {
|
|
label: string;
|
|
method: AuthMethodEnum;
|
|
value: boolean | null;
|
|
};
|
|
|
|
const setAuthMethod = (project: Models.Project): AuthMethod[] => {
|
|
return [
|
|
{
|
|
label: 'Email/Password',
|
|
method: AuthMethodEnum.Emailpassword,
|
|
value: project?.authEmailPassword
|
|
},
|
|
{
|
|
label: 'Phone',
|
|
method: AuthMethodEnum.Phone,
|
|
value: project?.authPhone
|
|
},
|
|
{
|
|
label: 'Magic URL',
|
|
method: AuthMethodEnum.Magicurl,
|
|
value: project?.authUsersAuthMagicURL
|
|
},
|
|
{
|
|
label: 'Email OTP',
|
|
method: AuthMethodEnum.Emailotp,
|
|
value: project?.authEmailOtp
|
|
},
|
|
{
|
|
label: 'Anonymous',
|
|
method: AuthMethodEnum.Anonymous,
|
|
value: project?.authAnonymous
|
|
},
|
|
{
|
|
label: 'Team Invites',
|
|
method: AuthMethodEnum.Invites,
|
|
value: project?.authInvites
|
|
},
|
|
{
|
|
label: 'JWT',
|
|
method: AuthMethodEnum.Jwt,
|
|
value: project?.authJWT
|
|
}
|
|
];
|
|
};
|
|
|
|
function createAuthMethods() {
|
|
const { subscribe, set } = writable({
|
|
list: setAuthMethod(null)
|
|
});
|
|
|
|
return {
|
|
subscribe,
|
|
set,
|
|
load: (project: Models.Project) => {
|
|
const list = setAuthMethod(project);
|
|
set({ list });
|
|
}
|
|
};
|
|
}
|
|
|
|
export const authMethods = createAuthMethods();
|