Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,14 @@ OAUTH2_PROXY_REDIRECT_URL=https://your-domain/oauth2/callback
# GitHub MCP Server configuration
GITHUB_PERSONAL_ACCESS_TOKEN=github_access_token

# QuickBooks Online (QBO) Configuration
QBO_API_URL=https://sandbox-accounts.platform.intuit.com/v1/openid_connect/userinfo
QBO_CLIENT_ID=your_qbo_client_id
QBO_CLIENT_SECRET=your_qbo_client_secret
QBO_COMPANY_ID=your_qbo_company_id
QBO_REFRESH_TOKEN=your_qbo_refresh_token
QBO_TOKEN_ENDPOINT=https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer

# =============================
# Production Environment
# =============================
Expand Down
15 changes: 13 additions & 2 deletions workers/main/src/configs/qbo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,20 @@ import { z } from 'zod';
export const qboConfig = {
apiUrl: process.env.QBO_API_URL,
bearerToken: process.env.QBO_BEARER_TOKEN,
// OAuth2 configuration
clientId: process.env.QBO_CLIENT_ID,
clientSecret: process.env.QBO_CLIENT_SECRET,
companyId: process.env.QBO_COMPANY_ID,
Comment thread
anatolyshipitz marked this conversation as resolved.
refreshToken: process.env.QBO_REFRESH_TOKEN,
tokenEndpoint:
process.env.QBO_TOKEN_ENDPOINT ||
'https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer',
};

export const qboSchema = z.object({
QBO_API_URL: z.string().url(),
QBO_BEARER_TOKEN: z.string(),
QBO_API_URL: z.string().url().min(1, 'QBO_API_URL is required'),
QBO_CLIENT_ID: z.string().min(1, 'QBO_CLIENT_ID is required'),
QBO_CLIENT_SECRET: z.string().min(1, 'QBO_CLIENT_SECRET is required'),
QBO_COMPANY_ID: z.string().min(1, 'QBO_COMPANY_ID is required'),
QBO_REFRESH_TOKEN: z.string().optional(),
});
Loading