import { DOCS_URL } from '@/lib/constants' // Original storage constants export enum URL_EXPIRY_DURATION { WEEK = 60 * 60 * 24 * 7, MONTH = 60 * 60 * 24 * 30, YEAR = 60 * 60 * 24 * 365, } export enum STORAGE_VIEWS { COLUMNS = 'COLUMNS', LIST = 'LIST', } export enum STORAGE_SORT_BY { NAME = 'name', UPDATED_AT = 'updated_at', CREATED_AT = 'created_at', LAST_ACCESSED_AT = 'last_accessed_at', } export enum STORAGE_BUCKET_SORT { ALPHABETICAL = 'alphabetical', CREATED_AT = 'created_at', } export enum STORAGE_SORT_BY_ORDER { ASC = 'asc', DESC = 'desc', } export enum STORAGE_ROW_TYPES { BUCKET = 'BUCKET', FILE = 'FILE', FOLDER = 'FOLDER', } export enum STORAGE_ROW_STATUS { READY = 'READY', LOADING = 'LOADING', EDITING = 'EDITING', } export const STORAGE_CLIENT_LIBRARY_MAPPINGS = { upload: ['INSERT'], download: ['SELECT'], list: ['SELECT'], update: ['SELECT', 'UPDATE'], move: ['SELECT', 'UPDATE'], copy: ['SELECT', 'INSERT'], remove: ['SELECT', 'DELETE'], createSignedUrl: ['SELECT'], createSignedUrls: ['SELECT'], getPublicUrl: [], } export const BUCKET_TYPES = { files: { displayName: 'Files', singularName: 'file', article: 'a', description: 'General file storage for most types of digital content', valueProp: 'Store images, videos, documents, and any other file type.', docsUrl: `${DOCS_URL}/guides/storage/buckets/fundamentals`, }, analytics: { displayName: 'Analytics', singularName: 'analytics', article: 'an', description: 'Purpose-built storage for analytical workloads', valueProp: 'Store large datasets for analytics and reporting.', docsUrl: `${DOCS_URL}/guides/storage/analytics/introduction`, }, vectors: { displayName: 'Vectors', singularName: 'vector', article: 'a', description: 'Purpose-built storage for vector data', valueProp: 'Store, index, and query your vector embeddings at scale.', docsUrl: `${DOCS_URL}/guides/storage/vector/introduction`, }, } export const BUCKET_TYPE_KEYS = Object.keys(BUCKET_TYPES) as Array export const DEFAULT_BUCKET_TYPE: keyof typeof BUCKET_TYPES = 'files' export const PUBLIC_BUCKET_TOOLTIP = 'Objects in this bucket are readable by anyone with the URL.'