aboutsummaryrefslogtreecommitdiffstats
path: root/packages/trpc
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-06-21 11:32:42 +0000
committerMohamed Bassem <me@mbassem.com>2025-06-21 11:32:42 +0000
commit10d45e8d14cdc3672cc65dc7f5ae79e63fb2da1a (patch)
treec7718fa75a07a7aa166db6a1a1b2e93030732b1e /packages/trpc
parentf1f665f89cba21d4d448d27471d01a4d78a184ff (diff)
downloadkarakeep-10d45e8d14cdc3672cc65dc7f5ae79e63fb2da1a.tar.zst
fix: Change public image's signed tokens to be time aligned for better caching
Diffstat (limited to 'packages/trpc')
-rw-r--r--packages/trpc/models/bookmarks.ts12
1 files changed, 10 insertions, 2 deletions
diff --git a/packages/trpc/models/bookmarks.ts b/packages/trpc/models/bookmarks.ts
index 6e9e5651..986fca58 100644
--- a/packages/trpc/models/bookmarks.ts
+++ b/packages/trpc/models/bookmarks.ts
@@ -28,7 +28,10 @@ import {
tagsOnBookmarks,
} from "@karakeep/db/schema";
import serverConfig from "@karakeep/shared/config";
-import { createSignedToken } from "@karakeep/shared/signedTokens";
+import {
+ createSignedToken,
+ getAlignedExpiry,
+} from "@karakeep/shared/signedTokens";
import { zAssetSignedTokenSchema } from "@karakeep/shared/types/assets";
import {
BookmarkTypes,
@@ -332,7 +335,12 @@ export class Bookmark implements PrivacyAware {
assetId,
userId: this.ctx.user.id,
};
- const signedToken = createSignedToken(payload);
+ const signedToken = createSignedToken(
+ payload,
+ serverConfig.signingSecret(),
+ // Tokens will expire in 1 hour and will have a grace period of 15mins
+ getAlignedExpiry(/* interval */ 3600, /* grace */ 900),
+ );
return `${serverConfig.publicApiUrl}/public/assets/${assetId}?token=${signedToken}`;
};
const getContent = (