Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
7 changes: 7 additions & 0 deletions workers/main/.env.test
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,10 @@ SLACK_FIN_REPORT_CHANNEL_ID=C02URP5L3U5

QBO_API_URL=https://quickbooks.api.intuit.com/v3/company/111111111
QBO_BEARER_TOKEN=test-token

# QuickBooks Online (QBO) Configuration
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
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,
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(),
});