UNPKG

harvest

Version:
75 lines 3.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const client_1 = require("./client"); const clients_1 = require("./api/clients"); const company_1 = require("./api/company"); const contacts_1 = require("./api/contacts"); const estimateItemCategories_1 = require("./api/estimateItemCategories"); const estimateMessages_1 = require("./api/estimateMessages"); const estimates_1 = require("./api/estimates"); const expenseCategories_1 = require("./api/expenseCategories"); const expenses_1 = require("./api/expenses"); const invoiceItemCategories_1 = require("./api/invoiceItemCategories"); const invoiceMessages_1 = require("./api/invoiceMessages"); const invoicePayments_1 = require("./api/invoicePayments"); const invoices_1 = require("./api/invoices"); const projectAssignments_1 = require("./api/projectAssignments"); const projects_1 = require("./api/projects"); const roles_1 = require("./api/roles"); const taskAssignments_1 = require("./api/taskAssignments"); const tasks_1 = require("./api/tasks"); const timeEntries_1 = require("./api/timeEntries"); const userAssignments_1 = require("./api/userAssignments"); const users_1 = require("./api/users"); class Harvest { constructor(config) { this.userAgent = null; this.concurrency = null; this.debug = false; this.host = 'https://' + config.subdomain + '.harvestapp.com'; this.userAgent = config.userAgent; this.concurrency = config.concurrency || null; this.debug = config.debug || false; this.client = new client_1.RequestClient(config); this.request = this.requestGenerator(); this.clients = new clients_1.ClientsAPI(this); this.company = new company_1.CompanyAPI(this); this.contacts = new contacts_1.ContactsAPI(this); this.estimates = new estimates_1.EstimatesAPI(this); this.estimateItemCategories = new estimateItemCategories_1.EstimateItemCategoriesAPI(this); this.estimateMessages = new estimateMessages_1.EstimateMessagesAPI(this); this.expenses = new expenses_1.ExpensesAPI(this); this.expenseCategories = new expenseCategories_1.ExpenseCategoriesAPI(this); this.invoices = new invoices_1.InvoicesAPI(this); this.invoiceItemCategories = new invoiceItemCategories_1.InvoiceItemCategoriesAPI(this); this.invoiceMessages = new invoiceMessages_1.InvoiceMessagesAPI(this); this.invoicePayments = new invoicePayments_1.InvoicePaymentsAPI(this); this.projects = new projects_1.ProjectsAPI(this); this.projectAssignments = new projectAssignments_1.ProjectAssignmentsAPI(this); this.roles = new roles_1.RolesAPI(this); this.tasks = new tasks_1.TasksAPI(this); this.taskAssignments = new taskAssignments_1.TaskAssignmentsAPI(this); this.timeEntries = new timeEntries_1.TimeEntriesAPI(this); this.users = new users_1.UsersAPI(this); this.userAssignments = new userAssignments_1.UserAssignmentsAPI(this); } requestGenerator() { return (method, uri, data = {}) => { return new Promise((resolve, reject) => { this.client.push({ method, uri, data, callback: (error, results) => { if (error) { reject(error); } resolve(results); } }); }); }; } } exports.default = Harvest; //# sourceMappingURL=index.js.map