workspaces to dashboards, imap email sync, ffmpeg tool, tts fix, file browser refresh, automation sidebar reorder
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -12,7 +12,7 @@ import {
|
||||
} from 'officerdb';
|
||||
|
||||
const GOOGLE_SCOPES = [
|
||||
'https://www.googleapis.com/auth/gmail.readonly',
|
||||
'https://mail.google.com/',
|
||||
'https://www.googleapis.com/auth/calendar.readonly',
|
||||
'https://www.googleapis.com/auth/userinfo.email',
|
||||
];
|
||||
@@ -131,6 +131,15 @@ integrationsRouter.get('/google/status', async (ctx) => {
|
||||
|
||||
integrationsRouter.delete('/google/connection', async (ctx) => {
|
||||
const user = ctx.get('user');
|
||||
const connection = await getUserIntegration(user.id, 'google');
|
||||
const connConfig = connection?.config as Record<string, unknown> | undefined;
|
||||
|
||||
// Revoke token at Google so the old grant is fully removed
|
||||
const token = (connConfig?.refreshToken as string) || (connConfig?.accessToken as string);
|
||||
if (token) {
|
||||
fetch(`https://oauth2.googleapis.com/revoke?token=${token}`, { method: 'POST' }).catch(() => {});
|
||||
}
|
||||
|
||||
await deleteUserIntegration(user.id, 'google');
|
||||
return ctx.json({ ok: true });
|
||||
});
|
||||
@@ -157,6 +166,7 @@ integrationsRouter.get('/google/authorize', async (ctx) => {
|
||||
scope: GOOGLE_SCOPES.join(' '),
|
||||
access_type: 'offline',
|
||||
prompt: 'consent',
|
||||
include_granted_scopes: 'false',
|
||||
state,
|
||||
});
|
||||
|
||||
@@ -244,7 +254,7 @@ export const googleCallbackHandler = async (ctx: any) => {
|
||||
// Auto-add /email to dock
|
||||
try {
|
||||
const existing = await getDockPaths(dbUser.id);
|
||||
const paths = existing ?? ['/', '/files', '/automation', '/projects', '/workspaces', '/chat'];
|
||||
const paths = existing ?? ['/', '/files', '/automation', '/projects', '/dashboards', '/chat'];
|
||||
|
||||
if (!paths.includes('/email')) {
|
||||
paths.push('/email');
|
||||
|
||||
Reference in New Issue
Block a user