mirror of
https://github.com/kremalicious/umami.git
synced 2024-11-22 18:00:17 +01:00
Updated user get.
This commit is contained in:
parent
ea28511b3c
commit
02c9e0115e
@ -3,7 +3,7 @@ import debug from 'debug';
|
|||||||
import redis from '@umami/redis-client';
|
import redis from '@umami/redis-client';
|
||||||
import { getAuthToken, parseShareToken } from 'lib/auth';
|
import { getAuthToken, parseShareToken } from 'lib/auth';
|
||||||
import { ROLES } from 'lib/constants';
|
import { ROLES } from 'lib/constants';
|
||||||
import { isUuid, secret } from 'lib/crypto';
|
import { secret } from 'lib/crypto';
|
||||||
import { findSession } from 'lib/session';
|
import { findSession } from 'lib/session';
|
||||||
import {
|
import {
|
||||||
badRequest,
|
badRequest,
|
||||||
@ -52,7 +52,7 @@ export const useAuth = createMiddleware(async (req, res, next) => {
|
|||||||
let user = null;
|
let user = null;
|
||||||
const { userId, authKey, grant } = payload || {};
|
const { userId, authKey, grant } = payload || {};
|
||||||
|
|
||||||
if (isUuid(userId)) {
|
if (userId) {
|
||||||
user = await getUserById(userId);
|
user = await getUserById(userId);
|
||||||
} else if (redis.enabled && authKey) {
|
} else if (redis.enabled && authKey) {
|
||||||
const key = await redis.client.get(authKey);
|
const key = await redis.client.get(authKey);
|
||||||
@ -61,7 +61,7 @@ export const useAuth = createMiddleware(async (req, res, next) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (process.env.NODE_ENV === 'development') {
|
if (process.env.NODE_ENV === 'development') {
|
||||||
log({ token, shareToken, payload, user, grant });
|
log('useAuth:', { token, shareToken, payload, user, grant });
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!user?.id && !shareToken) {
|
if (!user?.id && !shareToken) {
|
||||||
|
@ -11,13 +11,17 @@ export interface GetUserOptions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function getUser(
|
async function getUser(
|
||||||
where: Prisma.UserWhereInput | Prisma.UserWhereUniqueInput,
|
where: Prisma.UserWhereUniqueInput,
|
||||||
options: GetUserOptions = {},
|
options: GetUserOptions = {},
|
||||||
): Promise<User> {
|
): Promise<User> {
|
||||||
const { includePassword = false, showDeleted = false } = options;
|
const { includePassword = false, showDeleted = false } = options;
|
||||||
|
|
||||||
return prisma.client.user.findFirst({
|
if (showDeleted) {
|
||||||
where: { ...where, ...(showDeleted ? {} : { deletedAt: null }) },
|
where.deletedAt = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return prisma.client.user.findUnique({
|
||||||
|
where,
|
||||||
select: {
|
select: {
|
||||||
id: true,
|
id: true,
|
||||||
username: true,
|
username: true,
|
||||||
@ -28,8 +32,8 @@ async function getUser(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getUserById(userId: string, options: GetUserOptions = {}) {
|
export async function getUserById(id: string, options: GetUserOptions = {}) {
|
||||||
return getUser({ id: userId }, options);
|
return getUser({ id }, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getUserByUsername(username: string, options: GetUserOptions = {}) {
|
export async function getUserByUsername(username: string, options: GetUserOptions = {}) {
|
||||||
|
Loading…
Reference in New Issue
Block a user