unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
29 lines • 1 kB
JavaScript
import { SYSTEM_USER, SYSTEM_USER_AUDIT } from '../../lib/types/index.js';
export function extractClientIp(req) {
return req.ip || 'unknown';
}
export function extractUsernameFromUser(user) {
return (user?.email || user?.username || SYSTEM_USER_AUDIT.username);
}
export function extractUsername(req) {
return extractUsernameFromUser(req.user);
}
export const extractUserIdFromUser = (user) => user?.id ||
user?.internalAdminTokenUserId ||
SYSTEM_USER.id;
export const extractUserId = (req) => extractUserIdFromUser(req.user);
export const extractUserInfo = (req) => ({
id: extractUserId(req),
username: extractUsername(req),
});
export const extractAuditInfoFromUser = (user, ip = '127.0.0.1') => ({
id: extractUserIdFromUser(user),
username: extractUsernameFromUser(user),
ip,
});
export const extractAuditInfo = (req) => ({
id: extractUserId(req),
username: extractUsername(req),
ip: extractClientIp(req),
});
//# sourceMappingURL=extract-user.js.map