Merge pull request #842 from buster-so/staging

0.3.1
This commit is contained in:
dal 2025-09-10 11:14:33 -06:00 committed by GitHub
commit 198b7c52c6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
15 changed files with 25 additions and 12 deletions

View File

@ -169,8 +169,8 @@ jobs:
- name: Extract version from package.json
id: get_version
run: |
# Update this to 0.3.0 as requested
VERSION="0.3.0"
# Update this to 0.3.1 as requested
VERSION="0.3.1"
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "Extracted version: $VERSION"

View File

@ -1,6 +1,6 @@
{
"name": "@buster-app/cli",
"version": "0.3.0",
"version": "0.3.1",
"description": "Buster CLI - TypeScript version",
"type": "module",
"bin": {

View File

@ -10,7 +10,7 @@ import { InitCommand } from './commands/init.js';
program
.name('buster')
.description('Buster CLI - AI-powered data analytics platform')
.version('0.3.0');
.version('0.3.1');
// Auth command - authentication management
program

View File

@ -13,5 +13,6 @@ export const beforeLoad = ({
params,
search,
unsafeRelative: 'path',
replace: true,
});
};

View File

@ -13,5 +13,6 @@ export const beforeLoad = ({
params,
search,
unsafeRelative: 'path',
replace: true,
});
};

View File

@ -1,6 +1,5 @@
import { redirect } from '@tanstack/react-router';
import { createServerFn } from '@tanstack/react-start';
import { parseCookies, setCookie } from '@tanstack/react-start/server';
import { getSupabaseServerClient } from './server';
export const signOut = createServerFn({ method: 'POST' }).handler(async () => {
@ -13,5 +12,6 @@ export const signOut = createServerFn({ method: 'POST' }).handler(async () => {
throw redirect({
href: '/',
replace: true,
});
});

View File

@ -15,11 +15,12 @@ export const Route = createFileRoute('/app')({
context: ({ context }) => ({ ...context, getAppLayout }),
ssr: true,
beforeLoad: async () => {
console.log('before load app');
const { isExpired, accessToken = '' } = await getSupabaseSession();
if (isExpired || !accessToken) {
console.error('Access token is expired or not found');
throw redirect({ to: '/auth/login' });
throw redirect({ to: '/auth/login', replace: true });
}
return {
@ -29,6 +30,7 @@ export const Route = createFileRoute('/app')({
loader: async ({ context }) => {
const { queryClient, accessToken } = context;
try {
console.log('loader app');
const [initialLayout, user] = await Promise.all([
getAppLayout({ id: PRIMARY_APP_LAYOUT_ID }),
getSupabaseUser(),
@ -37,9 +39,10 @@ export const Route = createFileRoute('/app')({
prefetchListDatasources(queryClient),
prefetchGetDatasets(queryClient),
]);
console.log('loader app done', user, initialLayout);
if (!user) {
throw redirect({ to: '/auth/login' });
throw redirect({ to: '/auth/login', replace: true });
}
return {
@ -51,7 +54,7 @@ export const Route = createFileRoute('/app')({
};
} catch (error) {
console.error('Error in app route loader:', error);
throw redirect({ to: '/auth/login' });
throw redirect({ to: '/auth/login', replace: true });
}
},
component: () => {

View File

@ -5,6 +5,7 @@ export const Route = createFileRoute('/app/_app/datasets/$datasetId/permissions/
throw redirect({
to: '/app/datasets/$datasetId/permissions/overview',
params,
replace: true,
});
},
});

View File

@ -12,6 +12,7 @@ export const Route = createFileRoute('/app/_app/datasets/$datasetId')({
throw redirect({
to: '/app/datasets/$datasetId/overview',
params,
replace: true,
});
}
},

View File

@ -9,7 +9,7 @@ export const Route = createFileRoute('/app/_settings/_permissions')({
const { queryClient } = context;
const userData = await prefetchGetMyUserInfo(queryClient);
if (!userData || !userData.organizations || !checkIfUserIsAdmin(userData.organizations[0])) {
throw redirect({ to: '/auth/login' });
throw redirect({ to: '/auth/login', replace: true });
}
},
});

View File

@ -7,6 +7,7 @@ export const Route = createFileRoute(
throw redirect({
to: '/app/settings/dataset-groups/$datasetGroupId/datasets',
params,
replace: true,
});
},
});

View File

@ -7,7 +7,7 @@ export const Route = createFileRoute('/app/_settings/_restricted_layout/_admin_o
const { queryClient } = context;
const userData = await prefetchGetMyUserInfo(queryClient);
if (!userData || !userData.organizations || !checkIfUserIsAdmin(userData.organizations[0])) {
throw redirect({ to: '/auth/login' });
throw redirect({ to: '/auth/login', replace: true });
}
},

View File

@ -4,6 +4,7 @@ export const Route = createFileRoute('/app/_settings/settings/')({
beforeLoad: async () => {
throw redirect({
to: '/app/settings/profile',
replace: true,
});
},
});

View File

@ -2,6 +2,8 @@ import { createFileRoute, redirect } from '@tanstack/react-router';
export const Route = createFileRoute('/app/')({
beforeLoad: async () => {
throw redirect({ to: '/app/home' });
console.log('before load redirecting to app home');
throw redirect({ to: '/app/home', replace: true });
},
component: () => null,
});

View File

@ -2,6 +2,8 @@ import { createFileRoute, redirect } from '@tanstack/react-router';
export const Route = createFileRoute('/')({
beforeLoad: async () => {
throw redirect({ to: '/app/home' });
console.log('before load redirecting to app');
throw redirect({ to: '/app/home', replace: true });
},
component: () => null,
});