UNPKG

harvest

Version:
62 lines (61 loc) 2.33 kB
import { RequestClient } from './client'; import { ClientsAPI } from './api/clients'; import { CompanyAPI } from './api/company'; import { ContactsAPI } from './api/contacts'; import { EstimateItemCategoriesAPI } from './api/estimateItemCategories'; import { EstimateMessagesAPI } from './api/estimateMessages'; import { EstimatesAPI } from './api/estimates'; import { ExpenseCategoriesAPI } from './api/expenseCategories'; import { ExpensesAPI } from './api/expenses'; import { InvoiceItemCategoriesAPI } from './api/invoiceItemCategories'; import { InvoiceMessagesAPI } from './api/invoiceMessages'; import { InvoicePaymentsAPI } from './api/invoicePayments'; import { InvoicesAPI } from './api/invoices'; import { ProjectAssignmentsAPI } from './api/projectAssignments'; import { ProjectsAPI } from './api/projects'; import { RolesAPI } from './api/roles'; import { TaskAssignmentsAPI } from './api/taskAssignments'; import { TasksAPI } from './api/tasks'; import { TimeEntriesAPI } from './api/timeEntries'; import { UserAssignmentsAPI } from './api/userAssignments'; import { UsersAPI } from './api/users'; export interface Config { subdomain: string; userAgent: string; concurrency?: number; debug?: boolean; auth: { accessToken: string; accountId: string; }; } export default class Harvest { host: string; userAgent: string; concurrency: number; debug: boolean; client: RequestClient; request: <T>(method: string, uri: string, data?: any) => Promise<T>; clients: ClientsAPI; company: CompanyAPI; contacts: ContactsAPI; estimateItemCategories: EstimateItemCategoriesAPI; estimateMessages: EstimateMessagesAPI; estimates: EstimatesAPI; expenseCategories: ExpenseCategoriesAPI; expenses: ExpensesAPI; invoiceItemCategories: InvoiceItemCategoriesAPI; invoiceMessages: InvoiceMessagesAPI; invoicePayments: InvoicePaymentsAPI; invoices: InvoicesAPI; projectAssignments: ProjectAssignmentsAPI; projects: ProjectsAPI; roles: RolesAPI; taskAssignments: TaskAssignmentsAPI; tasks: TasksAPI; timeEntries: TimeEntriesAPI; userAssignments: UserAssignmentsAPI; users: UsersAPI; constructor(config: Config); requestGenerator<T>(): (method: string, uri: string, data?: any) => Promise<T>; }