UNPKG

@memberjunction/actions-bizapps-accounting

Version:

Accounting system integration actions for MemberJunction

53 lines 1.98 kB
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