Skip to content

Commit 23ec28b

Browse files
committed
fix
1 parent 23e8e1e commit 23ec28b

File tree

3 files changed

+24
-11
lines changed

3 files changed

+24
-11
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'better-auth-convex': minor
3+
---
4+
5+
- Fix `sortBy` direction handling in query generation - now correctly applies ascending order when specified
6+
- fix: use jwt session id for `getSession`, `getHeaders` state

src/adapterUtils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -468,7 +468,7 @@ const generateQuery = (
468468
)
469469
: query;
470470
const orderedQuery = args.sortBy
471-
? indexedQuery.order(args.sortBy.direction === 'asc' ? 'asc' : 'desc')
471+
? indexedQuery.order(args.sortBy.direction === 'desc' ? 'desc' : 'asc')
472472
: indexedQuery;
473473
const filteredQuery = orderedQuery.filterWith(async (doc) => {
474474
if (!index && indexFields?.length) {

src/helpers.ts

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,24 @@ export const getAuthUserId = async <DataModel extends GenericDataModel>(
1818

1919
export const getSession = async <DataModel extends GenericDataModel>(
2020
ctx: GenericQueryCtx<DataModel>,
21-
userId?: DocumentByName<DataModel, 'user'>['_id']
21+
_sessionId?: any
2222
) => {
23-
const resolvedUserId = userId ?? (await getAuthUserId(ctx));
23+
let sessionId = _sessionId;
2424

25-
if (!resolvedUserId) {
26-
return null;
25+
if (!sessionId) {
26+
const identity = await ctx.auth.getUserIdentity();
27+
28+
if (!identity) {
29+
return null;
30+
}
31+
32+
sessionId = identity.sessionId as any;
2733
}
2834

29-
return (await ctx.db
30-
.query('session' as any)
31-
.withIndex('userId', (q) => q.eq('userId', resolvedUserId as any))
32-
.order('desc')
33-
.first()) as DocumentByName<DataModel, 'session'> | null;
35+
return (await ctx.db.get(sessionId)) as DocumentByName<
36+
DataModel,
37+
'session'
38+
> | null;
3439
};
3540

3641
export const getHeaders = async <DataModel extends GenericDataModel>(
@@ -44,7 +49,9 @@ export const getHeaders = async <DataModel extends GenericDataModel>(
4449
}
4550

4651
return new Headers({
47-
...(resolvedSession?.token ? { authorization: `Bearer ${resolvedSession.token}` } : {}),
52+
...(resolvedSession?.token
53+
? { authorization: `Bearer ${resolvedSession.token}` }
54+
: {}),
4855
...(resolvedSession?.ipAddress
4956
? { 'x-forwarded-for': resolvedSession.ipAddress as string }
5057
: {}),

0 commit comments

Comments
 (0)