diff --git a/apps/studio/TANSTACK_MIGRATION.md b/apps/studio/TANSTACK_MIGRATION.md index 8cead75f0a3..5981028e5a9 100644 --- a/apps/studio/TANSTACK_MIGRATION.md +++ b/apps/studio/TANSTACK_MIGRATION.md @@ -204,8 +204,8 @@ These are the layout-only TanStack files. Most hold a single product layout comp - [x] A `routes/project/$ref/storage/files/buckets/$bucketId.tsx` ← `pages/project/[ref]/storage/files/buckets/[bucketId].tsx` (sets `skipStorageBucketsLayout: true`) - [x] A `routes/project/$ref/storage/analytics/index.tsx` ← `pages/project/[ref]/storage/analytics/index.tsx` - [x] A `routes/project/$ref/storage/analytics/buckets/$bucketId.tsx` ← `pages/project/[ref]/storage/analytics/buckets/[bucketId].tsx` (sets `skipStorageBucketsLayout: true`) -- [ ] `routes/project/$ref/storage/vectors/index.tsx` ← `pages/project/[ref]/storage/vectors/index.tsx` -- [ ] `routes/project/$ref/storage/vectors/buckets/$bucketId.tsx` ← `pages/project/[ref]/storage/vectors/buckets/[bucketId].tsx` +- [x] A `routes/project/$ref/storage/vectors/index.tsx` ← `pages/project/[ref]/storage/vectors/index.tsx` +- [x] A `routes/project/$ref/storage/vectors/buckets/$bucketId.tsx` ← `pages/project/[ref]/storage/vectors/buckets/[bucketId].tsx` (sets `skipStorageBucketsLayout: true`) ### Project shell — `/realtime/*` diff --git a/apps/studio/routeTree.gen.ts b/apps/studio/routeTree.gen.ts index 50056dd8ada..3052efda419 100644 --- a/apps/studio/routeTree.gen.ts +++ b/apps/studio/routeTree.gen.ts @@ -111,6 +111,7 @@ import { Route as AppOrgSlugBillingRouteImport } from './routes/_app/org/$slug/b import { Route as AppOrgSlugAuditRouteImport } from './routes/_app/org/$slug/audit' import { Route as AppOrgSlugAppsRouteImport } from './routes/_app/org/$slug/apps' import { Route as AppAccountTokensScopedRouteImport } from './routes/_app/account/tokens/scoped' +import { Route as ProjectRefStorageVectorsIndexRouteImport } from './routes/project/$ref/storage/vectors/index' import { Route as ProjectRefStorageFilesIndexRouteImport } from './routes/project/$ref/storage/files/index' import { Route as ProjectRefStorageAnalyticsIndexRouteImport } from './routes/project/$ref/storage/analytics/index' import { Route as ProjectRefDatabaseTriggersIndexRouteImport } from './routes/project/$ref/database/triggers/index' @@ -165,6 +166,7 @@ import { Route as ApiPlatformProjectsRefContentIndexRouteImport } from './routes import { Route as ApiPlatformProjectsRefConfigIndexRouteImport } from './routes/api/platform/projects/$ref/config/index' import { Route as ApiPlatformPgMetaRefQueryIndexRouteImport } from './routes/api/platform/pg-meta/$ref/query/index' import { Route as ApiPlatformAuthRefUsersIndexRouteImport } from './routes/api/platform/auth/$ref/users/index' +import { Route as ProjectRefStorageVectorsBucketsBucketIdRouteImport } from './routes/project/$ref/storage/vectors/buckets/$bucketId' import { Route as ProjectRefStorageFilesBucketsBucketIdRouteImport } from './routes/project/$ref/storage/files/buckets/$bucketId' import { Route as ProjectRefStorageAnalyticsBucketsBucketIdRouteImport } from './routes/project/$ref/storage/analytics/buckets/$bucketId' import { Route as ProjectRefDatabaseReplicationReplicaReplicaIdRouteImport } from './routes/project/$ref/database/replication/replica/$replicaId' @@ -727,6 +729,12 @@ const AppAccountTokensScopedRoute = AppAccountTokensScopedRouteImport.update({ path: '/tokens/scoped', getParentRoute: () => AppAccountRoute, } as any) +const ProjectRefStorageVectorsIndexRoute = + ProjectRefStorageVectorsIndexRouteImport.update({ + id: '/vectors/', + path: '/vectors/', + getParentRoute: () => ProjectRefStorageRoute, + } as any) const ProjectRefStorageFilesIndexRoute = ProjectRefStorageFilesIndexRouteImport.update({ id: '/files/', @@ -1047,6 +1055,12 @@ const ApiPlatformAuthRefUsersIndexRoute = path: '/api/platform/auth/$ref/users/', getParentRoute: () => rootRouteImport, } as any) +const ProjectRefStorageVectorsBucketsBucketIdRoute = + ProjectRefStorageVectorsBucketsBucketIdRouteImport.update({ + id: '/vectors/buckets/$bucketId', + path: '/vectors/buckets/$bucketId', + getParentRoute: () => ProjectRefStorageRoute, + } as any) const ProjectRefStorageFilesBucketsBucketIdRoute = ProjectRefStorageFilesBucketsBucketIdRouteImport.update({ id: '/files/buckets/$bucketId', @@ -1382,6 +1396,7 @@ export interface FileRoutesByFullPath { '/project/$ref/database/triggers/': typeof ProjectRefDatabaseTriggersIndexRoute '/project/$ref/storage/analytics/': typeof ProjectRefStorageAnalyticsIndexRoute '/project/$ref/storage/files/': typeof ProjectRefStorageFilesIndexRoute + '/project/$ref/storage/vectors/': typeof ProjectRefStorageVectorsIndexRoute '/api/platform/organizations/$slug/billing/subscription': typeof ApiPlatformOrganizationsSlugBillingSubscriptionRoute '/api/platform/projects/$ref/analytics/log-drains': typeof ApiPlatformProjectsRefAnalyticsLogDrainsRouteWithChildren '/api/platform/projects/$ref/api-keys/temporary': typeof ApiPlatformProjectsRefApiKeysTemporaryRoute @@ -1396,6 +1411,7 @@ export interface FileRoutesByFullPath { '/project/$ref/database/replication/replica/$replicaId': typeof ProjectRefDatabaseReplicationReplicaReplicaIdRoute '/project/$ref/storage/analytics/buckets/$bucketId': typeof ProjectRefStorageAnalyticsBucketsBucketIdRoute '/project/$ref/storage/files/buckets/$bucketId': typeof ProjectRefStorageFilesBucketsBucketIdRoute + '/project/$ref/storage/vectors/buckets/$bucketId': typeof ProjectRefStorageVectorsBucketsBucketIdRoute '/api/platform/auth/$ref/users/': typeof ApiPlatformAuthRefUsersIndexRoute '/api/platform/pg-meta/$ref/query/': typeof ApiPlatformPgMetaRefQueryIndexRoute '/api/platform/projects/$ref/config/': typeof ApiPlatformProjectsRefConfigIndexRoute @@ -1566,6 +1582,7 @@ export interface FileRoutesByTo { '/project/$ref/database/triggers': typeof ProjectRefDatabaseTriggersIndexRoute '/project/$ref/storage/analytics': typeof ProjectRefStorageAnalyticsIndexRoute '/project/$ref/storage/files': typeof ProjectRefStorageFilesIndexRoute + '/project/$ref/storage/vectors': typeof ProjectRefStorageVectorsIndexRoute '/api/platform/organizations/$slug/billing/subscription': typeof ApiPlatformOrganizationsSlugBillingSubscriptionRoute '/api/platform/projects/$ref/analytics/log-drains': typeof ApiPlatformProjectsRefAnalyticsLogDrainsRouteWithChildren '/api/platform/projects/$ref/api-keys/temporary': typeof ApiPlatformProjectsRefApiKeysTemporaryRoute @@ -1580,6 +1597,7 @@ export interface FileRoutesByTo { '/project/$ref/database/replication/replica/$replicaId': typeof ProjectRefDatabaseReplicationReplicaReplicaIdRoute '/project/$ref/storage/analytics/buckets/$bucketId': typeof ProjectRefStorageAnalyticsBucketsBucketIdRoute '/project/$ref/storage/files/buckets/$bucketId': typeof ProjectRefStorageFilesBucketsBucketIdRoute + '/project/$ref/storage/vectors/buckets/$bucketId': typeof ProjectRefStorageVectorsBucketsBucketIdRoute '/api/platform/auth/$ref/users': typeof ApiPlatformAuthRefUsersIndexRoute '/api/platform/pg-meta/$ref/query': typeof ApiPlatformPgMetaRefQueryIndexRoute '/api/platform/projects/$ref/config': typeof ApiPlatformProjectsRefConfigIndexRoute @@ -1756,6 +1774,7 @@ export interface FileRoutesById { '/project/$ref/database/triggers/': typeof ProjectRefDatabaseTriggersIndexRoute '/project/$ref/storage/analytics/': typeof ProjectRefStorageAnalyticsIndexRoute '/project/$ref/storage/files/': typeof ProjectRefStorageFilesIndexRoute + '/project/$ref/storage/vectors/': typeof ProjectRefStorageVectorsIndexRoute '/api/platform/organizations/$slug/billing/subscription': typeof ApiPlatformOrganizationsSlugBillingSubscriptionRoute '/api/platform/projects/$ref/analytics/log-drains': typeof ApiPlatformProjectsRefAnalyticsLogDrainsRouteWithChildren '/api/platform/projects/$ref/api-keys/temporary': typeof ApiPlatformProjectsRefApiKeysTemporaryRoute @@ -1770,6 +1789,7 @@ export interface FileRoutesById { '/project/$ref/database/replication/replica/$replicaId': typeof ProjectRefDatabaseReplicationReplicaReplicaIdRoute '/project/$ref/storage/analytics/buckets/$bucketId': typeof ProjectRefStorageAnalyticsBucketsBucketIdRoute '/project/$ref/storage/files/buckets/$bucketId': typeof ProjectRefStorageFilesBucketsBucketIdRoute + '/project/$ref/storage/vectors/buckets/$bucketId': typeof ProjectRefStorageVectorsBucketsBucketIdRoute '/api/platform/auth/$ref/users/': typeof ApiPlatformAuthRefUsersIndexRoute '/api/platform/pg-meta/$ref/query/': typeof ApiPlatformPgMetaRefQueryIndexRoute '/api/platform/projects/$ref/config/': typeof ApiPlatformProjectsRefConfigIndexRoute @@ -1945,6 +1965,7 @@ export interface FileRouteTypes { | '/project/$ref/database/triggers/' | '/project/$ref/storage/analytics/' | '/project/$ref/storage/files/' + | '/project/$ref/storage/vectors/' | '/api/platform/organizations/$slug/billing/subscription' | '/api/platform/projects/$ref/analytics/log-drains' | '/api/platform/projects/$ref/api-keys/temporary' @@ -1959,6 +1980,7 @@ export interface FileRouteTypes { | '/project/$ref/database/replication/replica/$replicaId' | '/project/$ref/storage/analytics/buckets/$bucketId' | '/project/$ref/storage/files/buckets/$bucketId' + | '/project/$ref/storage/vectors/buckets/$bucketId' | '/api/platform/auth/$ref/users/' | '/api/platform/pg-meta/$ref/query/' | '/api/platform/projects/$ref/config/' @@ -2129,6 +2151,7 @@ export interface FileRouteTypes { | '/project/$ref/database/triggers' | '/project/$ref/storage/analytics' | '/project/$ref/storage/files' + | '/project/$ref/storage/vectors' | '/api/platform/organizations/$slug/billing/subscription' | '/api/platform/projects/$ref/analytics/log-drains' | '/api/platform/projects/$ref/api-keys/temporary' @@ -2143,6 +2166,7 @@ export interface FileRouteTypes { | '/project/$ref/database/replication/replica/$replicaId' | '/project/$ref/storage/analytics/buckets/$bucketId' | '/project/$ref/storage/files/buckets/$bucketId' + | '/project/$ref/storage/vectors/buckets/$bucketId' | '/api/platform/auth/$ref/users' | '/api/platform/pg-meta/$ref/query' | '/api/platform/projects/$ref/config' @@ -2318,6 +2342,7 @@ export interface FileRouteTypes { | '/project/$ref/database/triggers/' | '/project/$ref/storage/analytics/' | '/project/$ref/storage/files/' + | '/project/$ref/storage/vectors/' | '/api/platform/organizations/$slug/billing/subscription' | '/api/platform/projects/$ref/analytics/log-drains' | '/api/platform/projects/$ref/api-keys/temporary' @@ -2332,6 +2357,7 @@ export interface FileRouteTypes { | '/project/$ref/database/replication/replica/$replicaId' | '/project/$ref/storage/analytics/buckets/$bucketId' | '/project/$ref/storage/files/buckets/$bucketId' + | '/project/$ref/storage/vectors/buckets/$bucketId' | '/api/platform/auth/$ref/users/' | '/api/platform/pg-meta/$ref/query/' | '/api/platform/projects/$ref/config/' @@ -3177,6 +3203,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AppAccountTokensScopedRouteImport parentRoute: typeof AppAccountRoute } + '/project/$ref/storage/vectors/': { + id: '/project/$ref/storage/vectors/' + path: '/vectors' + fullPath: '/project/$ref/storage/vectors/' + preLoaderRoute: typeof ProjectRefStorageVectorsIndexRouteImport + parentRoute: typeof ProjectRefStorageRoute + } '/project/$ref/storage/files/': { id: '/project/$ref/storage/files/' path: '/files' @@ -3555,6 +3588,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof ApiPlatformAuthRefUsersIndexRouteImport parentRoute: typeof rootRouteImport } + '/project/$ref/storage/vectors/buckets/$bucketId': { + id: '/project/$ref/storage/vectors/buckets/$bucketId' + path: '/vectors/buckets/$bucketId' + fullPath: '/project/$ref/storage/vectors/buckets/$bucketId' + preLoaderRoute: typeof ProjectRefStorageVectorsBucketsBucketIdRouteImport + parentRoute: typeof ProjectRefStorageRoute + } '/project/$ref/storage/files/buckets/$bucketId': { id: '/project/$ref/storage/files/buckets/$bucketId' path: '/files/buckets/$bucketId' @@ -4005,8 +4045,10 @@ interface ProjectRefStorageRouteChildren { ProjectRefStorageFilesSettingsRoute: typeof ProjectRefStorageFilesSettingsRoute ProjectRefStorageAnalyticsIndexRoute: typeof ProjectRefStorageAnalyticsIndexRoute ProjectRefStorageFilesIndexRoute: typeof ProjectRefStorageFilesIndexRoute + ProjectRefStorageVectorsIndexRoute: typeof ProjectRefStorageVectorsIndexRoute ProjectRefStorageAnalyticsBucketsBucketIdRoute: typeof ProjectRefStorageAnalyticsBucketsBucketIdRoute ProjectRefStorageFilesBucketsBucketIdRoute: typeof ProjectRefStorageFilesBucketsBucketIdRoute + ProjectRefStorageVectorsBucketsBucketIdRoute: typeof ProjectRefStorageVectorsBucketsBucketIdRoute } const ProjectRefStorageRouteChildren: ProjectRefStorageRouteChildren = { @@ -4015,10 +4057,13 @@ const ProjectRefStorageRouteChildren: ProjectRefStorageRouteChildren = { ProjectRefStorageFilesSettingsRoute: ProjectRefStorageFilesSettingsRoute, ProjectRefStorageAnalyticsIndexRoute: ProjectRefStorageAnalyticsIndexRoute, ProjectRefStorageFilesIndexRoute: ProjectRefStorageFilesIndexRoute, + ProjectRefStorageVectorsIndexRoute: ProjectRefStorageVectorsIndexRoute, ProjectRefStorageAnalyticsBucketsBucketIdRoute: ProjectRefStorageAnalyticsBucketsBucketIdRoute, ProjectRefStorageFilesBucketsBucketIdRoute: ProjectRefStorageFilesBucketsBucketIdRoute, + ProjectRefStorageVectorsBucketsBucketIdRoute: + ProjectRefStorageVectorsBucketsBucketIdRoute, } const ProjectRefStorageRouteWithChildren = diff --git a/apps/studio/routes/project/$ref/storage/vectors/buckets/$bucketId.tsx b/apps/studio/routes/project/$ref/storage/vectors/buckets/$bucketId.tsx new file mode 100644 index 00000000000..649abc3a995 --- /dev/null +++ b/apps/studio/routes/project/$ref/storage/vectors/buckets/$bucketId.tsx @@ -0,0 +1,15 @@ +import { createFileRoute } from '@tanstack/react-router' + +import VectorsBucketPage from '@/pages/project/[ref]/storage/vectors/buckets/[bucketId]' + +export const Route = createFileRoute('/project/$ref/storage/vectors/buckets/$bucketId')({ + component: StorageVectorsBucketRoute, + staticData: { + storageLayoutTitle: 'Buckets', + skipStorageBucketsLayout: true, + }, +}) + +function StorageVectorsBucketRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/storage/vectors/index.tsx b/apps/studio/routes/project/$ref/storage/vectors/index.tsx new file mode 100644 index 00000000000..b2acbe7348a --- /dev/null +++ b/apps/studio/routes/project/$ref/storage/vectors/index.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import StorageVectorsPage from '@/pages/project/[ref]/storage/vectors/index' + +export const Route = createFileRoute('/project/$ref/storage/vectors/')({ + component: StorageVectorsIndexRoute, + staticData: { + storageLayoutTitle: 'Vectors', + }, +}) + +function StorageVectorsIndexRoute() { + return +}