@@ -115,23 +115,6 @@ export const authOptions = {
115
115
token . email = user . email ;
116
116
token . isPublic = user . isPublic ;
117
117
token . role = user . role ;
118
-
119
- const updatedToken = await fetchCachedData (
120
- `token-change-${ token . email } ` ,
121
- async ( ) => {
122
- const updatedUser = await db . user . findUnique ( {
123
- where : { id : user ?. id } ,
124
- select : { role : true } ,
125
- } ) ;
126
-
127
- return { role : updatedUser ?. role } ;
128
- } ,
129
- TEN_MINUTE_SEC ,
130
- ) ;
131
-
132
- if ( updatedToken ?. role && updatedToken . role !== user . role ) {
133
- token . role = updatedToken . role ;
134
- }
135
118
}
136
119
137
120
if ( trigger === 'update' ) {
@@ -157,6 +140,23 @@ export const authOptions = {
157
140
if ( token . role ) {
158
141
session . user . role = ( token . role as string ) || UserRole . STUDENT ;
159
142
}
143
+
144
+ const updatedToken = await fetchCachedData (
145
+ `token-change-${ token . email } ` ,
146
+ async ( ) => {
147
+ const updatedUser = await db . user . findUnique ( {
148
+ where : { id : session ?. user ?. userId } ,
149
+ select : { role : true } ,
150
+ } ) ;
151
+
152
+ return { role : updatedUser ?. role } ;
153
+ } ,
154
+ TEN_MINUTE_SEC ,
155
+ ) ;
156
+
157
+ if ( updatedToken ?. role && updatedToken . role !== session ?. user ?. role ) {
158
+ session . user . role = updatedToken . role ;
159
+ }
160
160
}
161
161
162
162
return session ;
0 commit comments