fix: max expiration gets ignored if expiration is set to "never"

This commit is contained in:
Elias Schneider
2023-11-17 15:27:22 +01:00
parent 2e1a2b60c4
commit 330eef51e4
4 changed files with 13 additions and 7 deletions

View File

@@ -19,7 +19,6 @@ export class ShareOwnerGuard extends JwtGuard {
}
async canActivate(context: ExecutionContext) {
const request: Request = context.switchToHttp().getRequest();
const shareId = Object.prototype.hasOwnProperty.call(
request.params,

View File

@@ -54,10 +54,15 @@ export class ShareService {
} else {
const parsedExpiration = parseRelativeDateToAbsolute(share.expiration);
const expiresNever = moment(0).toDate() == parsedExpiration;
if (
this.config.get("share.maxExpiration") !== 0 &&
parsedExpiration >
moment().add(this.config.get("share.maxExpiration"), "hours").toDate()
(expiresNever ||
parsedExpiration >
moment()
.add(this.config.get("share.maxExpiration"), "hours")
.toDate())
) {
throw new BadRequestException(
"Expiration date exceeds maximum expiration date",