mirror of
https://github.com/supabase/supabase.git
synced 2026-06-20 02:27:21 +08:00
* specialized dialog for analytics (and vector) bucket creation * handle missing wrapper extension and iceberg wrapper integration * bucket creation improvements * extension and integration checks * dialog header consistency * simplify bucket dialog creation button trigger * fix subtitle ternary * example bucket without dynamic route * create dynamic segment * fancy connection table * improve bucket page * connection table polish * polish * delete bucket modal * improve missing installations design * new table modal * fix copy icon * copy all env button placeholder * list all analytics buckets * specialised bucket modal * shared installer hooks and components * make iceberg wrapper not dependent on wrapper extension There are cases where the Iceberg Wrapper can be installed but the Wrapper extension has since been removed * better admonition copywriting * todo * remove later features * more removal of later work * remove old comment * remove unused content * Nits and hook up create analytics bucket logic * Nit --------- Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
93 lines
2.3 KiB
TypeScript
93 lines
2.3 KiB
TypeScript
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 CONTEXT_MENU_KEYS = {
|
|
STORAGE_COLUMN: 'STORAGE_COLUMN',
|
|
STORAGE_ITEM: 'STORAGE_ITEM',
|
|
STORAGE_FOLDER: 'STORAGE_FOLDER',
|
|
}
|
|
|
|
// New bucket types configuration
|
|
|
|
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/vectors`,
|
|
},
|
|
}
|
|
export const BUCKET_TYPE_KEYS = Object.keys(BUCKET_TYPES) as Array<keyof typeof BUCKET_TYPES>
|
|
export const DEFAULT_BUCKET_TYPE: keyof typeof BUCKET_TYPES = 'files'
|