@memberjunction/actions-bizapps-accounting
Version:
Accounting system integration actions for MemberJunction
53 lines • 1.98 kB
TypeScript
import { BaseAccountingAction } from '../../base/base-accounting-action';
import { UserInfo } from '@memberjunction/core';
import { CompanyIntegrationEntity } from '@memberjunction/core-entities';
import { ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
/**
* Base class for all QuickBooks Online actions.
* Handles QB-specific authentication and API interaction patterns.
*/
export declare abstract class QuickBooksBaseAction extends BaseAccountingAction {
protected accountingProvider: string;
protected integrationName: string;
/**
* QuickBooks API version
*/
protected apiVersion: string;
/**
* QuickBooks minor version for API compatibility
*/
protected minorVersion: string;
/**
* Makes an authenticated request to QuickBooks Online API
*/
protected makeQBORequest<T = any>(endpoint: string, method?: 'GET' | 'POST' | 'PUT' | 'DELETE', body?: any, contextUser?: UserInfo): Promise<T>;
/**
* Handles QuickBooks query language requests
*/
protected queryQBO<T = any>(query: string, contextUser: UserInfo): Promise<T>;
/**
* Converts QuickBooks date format to standard ISO format
*/
protected parseQBODate(qboDate: string): Date;
/**
* Formats date for QuickBooks API
*/
protected formatQBODate(date: Date): string;
/**
* Maps QuickBooks account types to standard accounting categories
*/
protected mapAccountType(qboAccountType: string): string;
/**
* Gets the appropriate QuickBooks API URL based on configuration
*/
protected getQuickBooksAPIUrl(integration: CompanyIntegrationEntity): Promise<string>;
/**
* Store the params for use in other methods
*/
private _params;
/**
* Override the required abstract method
*/
protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
}
//# sourceMappingURL=quickbooks-base.action.d.ts.map