fix(data): 清理旧数据并保护服务端写入
This commit is contained in:
@@ -1,11 +1,12 @@
|
||||
import type { Member } from './members';
|
||||
import { generateUsernameFromName, normalizeUsername } from './members';
|
||||
|
||||
export interface AuthUser {
|
||||
id: string;
|
||||
name: string;
|
||||
username: string;
|
||||
roleId: string;
|
||||
departmentId: string;
|
||||
phone: string;
|
||||
email: string;
|
||||
}
|
||||
|
||||
@@ -13,9 +14,9 @@ export function toAuthUser(member: Member): AuthUser {
|
||||
return {
|
||||
id: member.id,
|
||||
name: member.name,
|
||||
username: normalizeUsername(member.username) || generateUsernameFromName(member.name, []),
|
||||
roleId: member.roleId,
|
||||
departmentId: member.departmentId,
|
||||
phone: member.phone,
|
||||
email: member.email,
|
||||
};
|
||||
}
|
||||
@@ -24,3 +25,16 @@ export function resolveAuthUserFromMembers(user: AuthUser, members: Member[]): A
|
||||
const member = members.find((m) => m.id === user.id);
|
||||
return member ? toAuthUser(member) : null;
|
||||
}
|
||||
|
||||
export function findMemberByUsernameCredentials(
|
||||
username: string,
|
||||
password: string,
|
||||
members: Member[],
|
||||
): Member | null {
|
||||
const normalizedUsername = normalizeUsername(username);
|
||||
if (!normalizedUsername || !password) return null;
|
||||
return members.find((member) => (
|
||||
normalizeUsername(member.username) === normalizedUsername &&
|
||||
(member.password || 'Ftb@2024') === password
|
||||
)) ?? null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user