|
|
|
@ -25,21 +25,23 @@ export default function(handlerFn, permissionName) {
|
|
|
|
|
NcError.unauthorized('Unauthorized access'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// check if the token is still valid
|
|
|
|
|
const email = req?.session?.passport?.user?.email; |
|
|
|
|
let user = |
|
|
|
|
email && |
|
|
|
|
(await NocoCache.get( |
|
|
|
|
`${CacheScope.USER}:${email}`, |
|
|
|
|
CacheGetType.TYPE_OBJECT |
|
|
|
|
)); |
|
|
|
|
if (!user) { |
|
|
|
|
user = await Noco.ncMeta.metaGet2(null, null, MetaTable.USERS, { |
|
|
|
|
email |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
if (user.token_expired) { |
|
|
|
|
NcError.unauthorized('Token Expired. Please login again.'); |
|
|
|
|
// check if the token is still valid for non-public base
|
|
|
|
|
if (!req?.session?.passport?.user?.isPublicBase) { |
|
|
|
|
const email = req?.session?.passport?.user?.email; |
|
|
|
|
let user = |
|
|
|
|
email && |
|
|
|
|
(await NocoCache.get( |
|
|
|
|
`${CacheScope.USER}:${email}`, |
|
|
|
|
CacheGetType.TYPE_OBJECT |
|
|
|
|
)); |
|
|
|
|
if (!user) { |
|
|
|
|
user = await Noco.ncMeta.metaGet2(null, null, MetaTable.USERS, { |
|
|
|
|
email |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
if (user.token_expired) { |
|
|
|
|
NcError.unauthorized('Token Expired. Please login again.'); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
next(); |
|
|
|
|
}), |
|
|
|
|