1
- import { node , type Query , relation } from 'cypher-query-builder' ;
1
+ import {
2
+ node ,
3
+ type NodePattern ,
4
+ type Query ,
5
+ relation ,
6
+ } from 'cypher-query-builder' ;
2
7
import { uniq } from 'lodash' ;
3
8
import { DateTime } from 'luxon' ;
9
+ import { type Tagged } from 'type-fest' ;
4
10
import {
5
11
type ID ,
6
12
isIdLike ,
@@ -13,11 +19,17 @@ import {
13
19
import { variable } from '../query-augmentation/condition-variables' ;
14
20
import { apoc , collect , listConcat , merge } from './cypher-functions' ;
15
21
16
- export const requestingUser = ( session : Session | ID ) => {
22
+ export const currentUser = node ( 'currentUser' , 'User' , {
23
+ id : variable ( '$currentUser' ) ,
24
+ } ) as Tagged < NodePattern , 'CurrentUser' > ;
25
+
26
+ export const requestingUser = ( session ?: Session | ID ) => {
17
27
const n = node ( 'requestingUser' , 'User' , {
18
- id : variable ( '$requestingUser' ) ,
28
+ id : variable ( session ? '$requestingUser' : '$currentUser ') ,
19
29
} ) ;
20
- n . addParam ( isIdLike ( session ) ? session : session . userId , 'requestingUser' ) ;
30
+ if ( session ) {
31
+ n . addParam ( isIdLike ( session ) ? session : session . userId , 'requestingUser' ) ;
32
+ }
21
33
return n ;
22
34
} ;
23
35
0 commit comments