rspace-online/server/oauth/index.ts

24 lines
697 B
TypeScript

/**
* OAuth route mounting for external integrations.
*
* Provides OAuth2 authorize/callback/disconnect flows for:
* - Notion (workspace-level integration)
* - Google (user-level, with token refresh)
* - ClickUp (workspace-level, task sync)
*
* Tokens are stored in Automerge docs per space via SyncServer.
*/
import { Hono } from 'hono';
import { notionOAuthRoutes } from './notion';
import { googleOAuthRoutes } from './google';
import { clickupOAuthRoutes } from './clickup';
const oauthRouter = new Hono();
oauthRouter.route('/notion', notionOAuthRoutes);
oauthRouter.route('/google', googleOAuthRoutes);
oauthRouter.route('/clickup', clickupOAuthRoutes);
export { oauthRouter };