* feat(admin): add auto open share modal config for global. * feat(upload): Apply the flag that disables the automatic open create share modal. * fix: remove migration and add new config variable to seed script * chore(translations): improve auto open share modal description * refactor: run formatter --------- Co-authored-by: Elias Schneider <login@eliasschneider.com>
29 lines
877 B
TypeScript
29 lines
877 B
TypeScript
import { ExecutionContext, Injectable } from "@nestjs/common";
|
|
import { JwtGuard } from "src/auth/guard/jwt.guard";
|
|
import { ConfigService } from "src/config/config.service";
|
|
import { ReverseShareService } from "src/reverseShare/reverseShare.service";
|
|
|
|
@Injectable()
|
|
export class CreateShareGuard extends JwtGuard {
|
|
constructor(
|
|
configService: ConfigService,
|
|
private reverseShareService: ReverseShareService,
|
|
) {
|
|
super(configService);
|
|
}
|
|
|
|
async canActivate(context: ExecutionContext): Promise<boolean> {
|
|
if (await super.canActivate(context)) return true;
|
|
|
|
const reverseShareTokenId = context.switchToHttp().getRequest()
|
|
.cookies.reverse_share_token;
|
|
|
|
if (!reverseShareTokenId) return false;
|
|
|
|
const isReverseShareTokenValid =
|
|
await this.reverseShareService.isValid(reverseShareTokenId);
|
|
|
|
return isReverseShareTokenValid;
|
|
}
|
|
}
|