Skip to content

Commit 33b4ff8

Browse files
fix(config): Refactor QBO configuration and schema validation
- Rearranged the QBO configuration parameters in `qbo.ts` for improved readability and consistency. - Updated the Zod schema to enforce required fields for `QBO_API_URL`, `QBO_CLIENT_ID`, `QBO_CLIENT_SECRET`, and `QBO_COMPANY_ID`, while making `QBO_REFRESH_TOKEN` optional. - This refactor enhances the clarity of the configuration setup and ensures that essential parameters are validated correctly. These changes improve the overall structure and usability of the QBO integration configuration.
1 parent f914da2 commit 33b4ff8

File tree

1 file changed

+9
-10
lines changed
  • workers/main/src/configs

1 file changed

+9
-10
lines changed

workers/main/src/configs/qbo.ts

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,17 @@ export const qboConfig = {
66
// OAuth2 configuration
77
clientId: process.env.QBO_CLIENT_ID,
88
clientSecret: process.env.QBO_CLIENT_SECRET,
9-
refreshToken: process.env.QBO_REFRESH_TOKEN,
10-
tokenEndpoint: process.env.QBO_TOKEN_ENDPOINT || 'https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer',
119
companyId: process.env.QBO_COMPANY_ID,
10+
refreshToken: process.env.QBO_REFRESH_TOKEN,
11+
tokenEndpoint:
12+
process.env.QBO_TOKEN_ENDPOINT ||
13+
'https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer',
1214
};
1315

1416
export const qboSchema = z.object({
15-
QBO_API_URL: z.string().url(),
16-
QBO_BEARER_TOKEN: z.string().optional(),
17-
// OAuth2 schema
18-
QBO_CLIENT_ID: z.string(),
19-
QBO_CLIENT_SECRET: z.string(),
20-
QBO_REFRESH_TOKEN: z.string(),
21-
QBO_TOKEN_ENDPOINT: z.string().url().optional(),
22-
QBO_COMPANY_ID: z.string(),
17+
QBO_API_URL: z.string().url().min(1, 'QBO_API_URL is required'),
18+
QBO_CLIENT_ID: z.string().min(1, 'QBO_CLIENT_ID is required'),
19+
QBO_CLIENT_SECRET: z.string().min(1, 'QBO_CLIENT_SECRET is required'),
20+
QBO_COMPANY_ID: z.string().min(1, 'QBO_COMPANY_ID is required'),
21+
QBO_REFRESH_TOKEN: z.string().optional(),
2322
});

0 commit comments

Comments
 (0)