로그인시 데이터 중복 생성 버그 수정
This commit is contained in:
parent
49ef0b8e47
commit
e71c3c9fb9
|
|
@ -1,5 +1,6 @@
|
|||
using Microsoft.EntityFrameworkCore;
|
||||
using Npgsql.EntityFrameworkCore.PostgreSQL;
|
||||
using SkiaSharp;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using static System.Runtime.InteropServices.JavaScript.JSType;
|
||||
|
||||
|
|
@ -28,5 +29,10 @@ namespace Server.SQL
|
|||
{
|
||||
return table.SingleOrDefault(data => data.mail == mail);
|
||||
}
|
||||
|
||||
public void Update(User user)
|
||||
{
|
||||
table.Update(user);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,17 +11,23 @@ namespace Server.Service
|
|||
{
|
||||
UserSQL userSql = new UserSQL();
|
||||
User user;
|
||||
if (req.uuid == null)
|
||||
Console.WriteLine(req.uuid);
|
||||
bool isNewUser = false;
|
||||
if (req.uuid == "")
|
||||
{
|
||||
//최초 메일 로그인
|
||||
//게스트 로그인은 허용하지 않고 무조건 구글로그인 혹은 마스토돈 로그인만 가능하게 처리하기
|
||||
user = userSql.SelectMail(req.mail);
|
||||
|
||||
//현재 닉네임을 설정하는 곳이 없기에 임시 작업
|
||||
if (user != null)
|
||||
{
|
||||
user.nickname = "";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//기존 유저 로그인
|
||||
user = userSql.SelectUuid(req.uuid);
|
||||
|
||||
//현재 닉네임을 설정하는 곳이 없기에 임시 작업
|
||||
|
|
@ -34,6 +40,7 @@ namespace Server.Service
|
|||
{
|
||||
throw new RuntimeException("not User", Error.nodata);
|
||||
}
|
||||
isNewUser = true;
|
||||
user = new User();
|
||||
user.mail = req.mail;
|
||||
user.uuid = Guid.NewGuid().ToString();
|
||||
|
|
@ -43,15 +50,22 @@ namespace Server.Service
|
|||
#endregion
|
||||
}
|
||||
|
||||
SaveQurry(userSql, user);
|
||||
SaveQurry(userSql, user, isNewUser);
|
||||
|
||||
return makeResp(user);
|
||||
}
|
||||
|
||||
public void SaveQurry(UserSQL userSql, User user)
|
||||
public void SaveQurry(UserSQL userSql, User user, bool isNewUser)
|
||||
{
|
||||
if (isNewUser)
|
||||
{
|
||||
userSql.Insert(user);
|
||||
}
|
||||
else
|
||||
{
|
||||
userSql.Update(user);
|
||||
}
|
||||
}
|
||||
|
||||
public override Protocol ProtocolValue() => Protocol.Login;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue