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