Просмотр исходного кода

feat(types): add ShareLink type and expiry options

Fszontagh 1 день назад
Родитель
Сommit
948ead0722
1 измененных файлов с 34 добавлено и 0 удалено
  1. 34 0
      src/types/index.ts

+ 34 - 0
src/types/index.ts

@@ -78,3 +78,37 @@ export interface ImageMetadata {
   expiresAt: string | null;
   canDelete: boolean;
 }
+
+// Share link for an image
+export interface ShareLink {
+  id: string;
+  linkCode: string;
+  shareUrl: string;
+  expiresAt: Date;
+  viewCount: number;
+  lastViewedAt?: Date;
+  isRevoked: boolean;
+  isValid: boolean;
+  createdAt: Date;
+}
+
+// Expiry options for share links (authenticated users)
+export const SHARE_LINK_EXPIRY_OPTIONS = [
+  { label: '5 minutes', value: 300 },
+  { label: '15 minutes', value: 900 },
+  { label: '30 minutes', value: 1800 },
+  { label: '1 hour', value: 3600 },
+  { label: '6 hours', value: 21600 },
+  { label: '24 hours', value: 86400 },
+  { label: '7 days', value: 604800 },
+  { label: '30 days', value: 2592000 },
+];
+
+// Expiry options for non-authenticated users
+export const ANON_EXPIRY_OPTIONS = [
+  { label: '1 hour', value: 3600 },
+  { label: '6 hours', value: 21600 },
+  { label: '24 hours', value: 86400 },
+  { label: '7 days', value: 604800 },
+  { label: '30 days', value: 2592000 },
+];