diff options
| author | Mohamed Bassem <me@mbassem.com> | 2025-06-21 11:32:42 +0000 |
|---|---|---|
| committer | Mohamed Bassem <me@mbassem.com> | 2025-06-21 11:32:42 +0000 |
| commit | 10d45e8d14cdc3672cc65dc7f5ae79e63fb2da1a (patch) | |
| tree | c7718fa75a07a7aa166db6a1a1b2e93030732b1e /packages/trpc/models/bookmarks.ts | |
| parent | f1f665f89cba21d4d448d27471d01a4d78a184ff (diff) | |
| download | karakeep-10d45e8d14cdc3672cc65dc7f5ae79e63fb2da1a.tar.zst | |
fix: Change public image's signed tokens to be time aligned for better caching
Diffstat (limited to 'packages/trpc/models/bookmarks.ts')
| -rw-r--r-- | packages/trpc/models/bookmarks.ts | 12 |
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 = ( |
