Skip to content

Commit

Permalink
feat: Expose QBD connector app conditionally (#1100)
Browse files Browse the repository at this point in the history
* feat: Expose QBD connector app conditionally

* fix test
  • Loading branch information
ashwin1111 committed Dec 10, 2024
1 parent 357a986 commit 0f88a7a
Show file tree
Hide file tree
Showing 7 changed files with 19 additions and 5 deletions.
2 changes: 1 addition & 1 deletion src/app/branding/expose-app-config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ export const exposeAppConfig: AllowedAppsConfiguration = {
NETSUITE: true,
QBD: true,
BAMBOO: true,
QBD_DIRECT: false
QBD_DIRECT: true
}
},
co: {
Expand Down
3 changes: 2 additions & 1 deletion src/app/core/models/enum/enum.model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ export enum InAppIntegration {
SAGE300 = 'Sage 300 CRE',
BUSINESS_CENTRAL = 'Dynamics 365 Business Central',
NETSUITE = 'NetSuite',
XERO = 'Xero'
XERO = 'Xero',
QBD_DIRECT = 'QuickBooks Connector'
}

export enum ToastSeverity {
Expand Down
1 change: 1 addition & 0 deletions src/app/core/models/integrations/integrations.model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ export type InAppIntegrationUrlMap = {
[InAppIntegration.BUSINESS_CENTRAL]: string,
[InAppIntegration.NETSUITE]: string,
[InAppIntegration.XERO]: string
[InAppIntegration.QBD_DIRECT]: string
}

export type AppUrlMap = {
Expand Down
1 change: 1 addition & 0 deletions src/app/core/models/org/org.model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ export type Org = {
is_sendgrid_connected: boolean;
allow_travelperk: boolean;
allow_dynamics: boolean;
allow_qbd_direct_integration: boolean;
created_at: Date;
updated_at: Date;
}
Expand Down
3 changes: 2 additions & 1 deletion src/app/core/services/org/org.fixture.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ export const orgMockData: Org = {
allow_travelperk: true,
created_at: new Date(),
updated_at: new Date(),
allow_dynamics: true
allow_dynamics: true,
allow_qbd_direct_integration: true
};

export const generateTokenData = {
Expand Down
11 changes: 10 additions & 1 deletion src/app/integrations/landing/landing.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,21 @@
NetSuite
</span>
</div>
<div *ngIf="exposeApps.QBD" class="landing--accounting-app tw-mr-20-px tw-mt-20-px" [ngClass]="{'tw-shadow-app-card': brandingConfig.brandId === 'fyle', 'tw-shadow-shadow-level-1': brandingConfig.brandId === 'co'}" (click)="openInAppIntegration(InAppIntegration.QBD)">
<!-- IIF -->
<div *ngIf="!(exposeApps.QBD_DIRECT && org.allow_qbd_direct_integration) && exposeApps.QBD" class="landing--accounting-app tw-mr-20-px tw-mt-20-px" [ngClass]="{'tw-shadow-app-card': brandingConfig.brandId === 'fyle', 'tw-shadow-shadow-level-1': brandingConfig.brandId === 'co'}" (click)="openInAppIntegration(InAppIntegration.QBD)">
<img src="assets/logos/quickbooks-logo.png" class="tw-mt-[-20px]" width="120px" height="60px" />
<span class="landing--accounting-app-name">
QuickBooks Desktop
</span>
</div>
<!-- Direct -->
<div *ngIf="exposeApps.QBD_DIRECT && org.allow_qbd_direct_integration" class="landing--accounting-app tw-mr-20-px tw-mt-20-px" [ngClass]="{'tw-shadow-app-card': brandingConfig.brandId === 'fyle', 'tw-shadow-shadow-level-1': brandingConfig.brandId === 'co'}" (click)="openInAppIntegration(InAppIntegration.QBD_DIRECT)">
<img src="assets/logos/quickbooks-logo.png" class="tw-mt-[-20px]" width="120px" height="60px" />
<span class="landing--accounting-app-name tw-gap-2 tw-px-4 tw-flex tw-items-center">
QuickBooks Desktop
<app-badge [theme]="ThemeOption.DARK" text="Beta"></app-badge>
</span>
</div>
</div>
<div>
<div *ngIf="exposeApps.INTACCT" class="landing--accounting-app tw-mr-20-px" [ngClass]="{'tw-shadow-app-card': brandingConfig.brandId === 'fyle', 'tw-shadow-shadow-level-1': brandingConfig.brandId === 'co'}" (click)="openAccountingIntegrationApp(AccountingIntegrationApp.SAGE_INTACCT)">
Expand Down
3 changes: 2 additions & 1 deletion src/app/integrations/landing/landing.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,8 @@ export class LandingComponent implements OnInit {
[InAppIntegration.SAGE300]: '/integrations/sage300',
[InAppIntegration.BUSINESS_CENTRAL]: '/integrations/business_central',
[InAppIntegration.NETSUITE]: '/integrations/netsuite',
[InAppIntegration.XERO]: '/integrations/xero'
[InAppIntegration.XERO]: '/integrations/xero',
[InAppIntegration.QBD_DIRECT]: '/integrations/qbd_direct'
};

readonly brandingConfig = brandingConfig;
Expand Down

0 comments on commit 0f88a7a

Please sign in to comment.