feat(server): 移除userservice
This commit is contained in:
@@ -1,50 +0,0 @@
|
|||||||
import { Request } from "express";
|
|
||||||
import {extractTokenFromHeader, getUserInfoByToken, UserInfo} from "../middleware/auth";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* User information service class
|
|
||||||
* Provides user information retrieval methods for direct use in business logic
|
|
||||||
*/
|
|
||||||
export class UserService {
|
|
||||||
/**
|
|
||||||
* Get user information from request
|
|
||||||
* If userInfo already exists in request (set by middleware), return it directly
|
|
||||||
* Otherwise extract token from request header and get user information
|
|
||||||
*/
|
|
||||||
static async getUserInfoFromRequest(req: Request): Promise<UserInfo> {
|
|
||||||
// If middleware has already set user information, return it directly
|
|
||||||
if (req.userInfo) {
|
|
||||||
return req.userInfo;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Extract token from request header
|
|
||||||
const token = extractTokenFromHeader(req.headers.authorization);
|
|
||||||
if (!token) {
|
|
||||||
throw new Error("No valid access token found");
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get user information
|
|
||||||
return await getUserInfoByToken(token);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Verify if user is logged in
|
|
||||||
*/
|
|
||||||
static isUserLoggedIn(req: Request): boolean {
|
|
||||||
return !!req.userInfo;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get user ID (assuming user info contains id field)
|
|
||||||
*/
|
|
||||||
static getUserId(req: Request): string | number | null {
|
|
||||||
return req.userInfo?.userId || null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get user information directly by token (not dependent on request object)
|
|
||||||
*/
|
|
||||||
static async getUserInfoByToken(token: string): Promise<any> {
|
|
||||||
return await getUserInfoByToken(token);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user