type TokenUser = Token & { user: Omit<User, "passwordHash"> };
export async function getToken<DB extends DBTransaction>(tx: DB, token: string, tokenType: TokenType): Promise<TokenUser | undefined> {
return await tx.query.tokens.findFirst({
where: and(
eq(tokens.token, token),
isNull(tokens.disabledAt),
gt(tokens.expiresAt, new Date()),
eq(tokens.tokenType, tokenType)
),
with: {
user: {
columns: {
passwordHash: false,
}
}
}
});
}
type TokenUser = Token & { user: Omit<User, "passwordHash"> };
export async function getToken<DB extends DBTransaction>(tx: DB, token: string, tokenType: TokenType): Promise<TokenUser | undefined> {
return await tx.query.tokens.findFirst({
where: and(
eq(tokens.token, token),
isNull(tokens.disabledAt),
gt(tokens.expiresAt, new Date()),
eq(tokens.tokenType, tokenType)
),
with: {
user: {
columns: {
passwordHash: false,
}
}
}
});
}