using Blahblah.FlowerStory.Server.Data.Model;
using Microsoft.EntityFrameworkCore;
using System.Security.Cryptography;
namespace Blahblah.FlowerStory.Server.Controller;
partial class BaseController
{
///
/// 根据 uid 获取用户对象
///
/// 用户唯一 id
///
protected UserItem? QueryUserItem(int uid)
{
return database.Users
.FromSql($"SELECT \"uid\",\"id\",\"\" AS \"password\",\"level\",\"regdate\",\"activedate\",\"name\",\"email\",\"mobile\",NULL AS \"avatar\" FROM \"users\" WHERE \"uid\" = {uid} LIMIT 1")
.SingleOrDefault();
}
///
/// 根据 id 获取登录使用的用户对象
///
/// 用户 id
///
protected UserItem? QueryUserItemForAuthentication(string id)
{
return database.Users
.FromSql($"SELECT \"uid\",\"id\",\"password\",0 AS \"level\",0 AS \"regdate\",\"activedate\",\"\" AS \"name\",NULL AS \"email\",NULL AS \"mobile\",NULL as \"avatar\" FROM \"users\" WHERE \"id\" = {id} LIMIT 1")
.SingleOrDefault();
}
///
/// 获取用户头像数据
///
/// 用户唯一 id
///
protected byte[]? QueryUserAvatar(int uid)
{
return database.Database.SqlQuery($"SELECT \"avatar\" AS \"Value\" FROM \"users\" WHERE \"uid\" = {uid} LIMIT 1").SingleOrDefault();
}
///
/// 移除用户头像
///
/// 用户唯一 id
///
protected int RemoveUserAvatar(int uid)
{
return database.Database.ExecuteSql($"UPDATE \"users\" SET \"avatar\" = NULL WHERE \"uid\" = {uid}");
}
}