Переработка аутентификации

This commit is contained in:
degradin 2025-05-07 15:20:04 +03:00
parent 5572b5f440
commit 977b0ec5e3

View File

@ -12,36 +12,52 @@ export const supabase = createClient(supabaseUrl, supabaseAnonKey);
// Auth functions
export const signUp = async (email, password, username) => {
try {
// Регистрируем пользователя
const { data, error } = await supabase.auth.signUp({
console.log('Начало регистрации:', { email, username });
// Регистрация пользователя
const { data: authData, error: authError } = await supabase.auth.signUp({
email,
password,
options: {
data: { username }
data: {
username: username
}
}
});
if (error) throw error;
if (authError) {
console.error('Ошибка при регистрации пользователя:', authError);
throw authError;
}
// Создаем профиль в таблице users
const { error: profileError } = await supabase
console.log('Пользователь создан в auth:', authData);
// Создание профиля пользователя
const { data: profileData, error: profileError } = await supabase
.from('users')
.insert({
id: data.user.id,
email,
username,
id: authData.user.id,
username: username,
email: email,
role: 'user',
is_critic: false,
created_at: new Date().toISOString()
});
})
.select()
.single();
if (profileError) {
console.error('Ошибка при создании профиля:', profileError);
// Если не удалось создать профиль, удаляем пользователя
await supabase.auth.admin.deleteUser(data.user.id);
await supabase.auth.admin.deleteUser(authData.user.id);
throw profileError;
}
return data;
console.log('Профиль пользователя создан:', profileData);
return { user: authData.user, profile: profileData };
} catch (error) {
console.error('Ошибка при регистрации:', error);
throw error;
}
};
@ -64,12 +80,12 @@ export const getCurrentUser = async () => {
};
// User functions
export const getUserProfile = async (userId) => {
export const getUserProfile = async (username) => {
const { data, error } = await supabase
.from('users')
.select('*')
.eq('id', userId)
.maybeSingle();
.eq('username', username)
.single();
if (error) throw error;
return data;