conductor-node 11.6.6 → 11.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -1
- package/dist/package.json +3 -3
- package/dist/src/integrations/qbd/QbdIntegration.d.ts +64 -0
- package/dist/src/integrations/qbd/QbdIntegration.js +64 -0
- package/dist/src/integrations/qbd/qbdTypes.d.ts +140 -0
- package/dist/src/interceptors/errorHandling.js +1 -2
- package/dist/src/interceptors/logging.js +6 -15
- package/dist/src/resources/EndUsersResource.d.ts +9 -7
- package/dist/src/utils/checkForUpdates.js +2 -3
- package/dist/src/utils/env.js +1 -2
- package/dist/src/utils/error.js +3 -3
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -36,6 +36,20 @@ Conductor, the company, is building a data integration platform for vertical Saa
|
|
|
36
36
|
<a href="https://docs.conductor.is"><img src="https://user-images.githubusercontent.com/170023/213273732-83dd6881-0b36-4787-820b-bd55cdc8444f.jpg" alt="QuickBooks Desktop autocomplete" width="600" style="border-radius: 20px;" /></a>
|
|
37
37
|
</div>
|
|
38
38
|
|
|
39
|
+
## Key features
|
|
40
|
+
|
|
41
|
+
- **Any data type:** Query, create, or update any QuickBooks Desktop data type.
|
|
42
|
+
- **Real-time**: Get real-time updates on your QuickBooks Desktop data. No queues, no polling.
|
|
43
|
+
- **Modern API:** JSON-based REST API, replacing the old XML-based SOAP model.
|
|
44
|
+
- **Typed Node.js client:** Fully typed library with autocomplete, inline docs, and type validation for endpoints, parameters, and responses.
|
|
45
|
+
- **Request handling:** Invisibly manages queues, timeouts, retries, and pagination.
|
|
46
|
+
- **Multi-company support:** Connects to multiple QuickBooks Desktop company files.
|
|
47
|
+
- **Validation:** Sanitizes and validates all inputs and outputs.
|
|
48
|
+
- **Unified error handling:** Streamlines error handling across the QuickBooks stack.
|
|
49
|
+
- **Authentication flow UI:** Simple UI for securely connecting QuickBooks Desktop accounts.
|
|
50
|
+
- **Dashboard**: UI to monitor and manage your QuickBooks Desktop connections and data.
|
|
51
|
+
- **Error resolution:** Detailed guides and instructions for resolving errors and handling edge cases.
|
|
52
|
+
|
|
39
53
|
## What is this repo?
|
|
40
54
|
|
|
41
55
|
This repository is a library for conveniently accessing Conductor's QuickBooks Desktop API from TypeScript or JavaScript. The library is a wrapper around the Conductor REST API, providing a fully-typed, easy-to-use interface for fetching, creating, and updating QuickBooks Desktop objects.
|
|
@@ -74,9 +88,9 @@ const conductor = new Conductor("{{YOUR_SECRET_KEY}}");
|
|
|
74
88
|
async function main() {
|
|
75
89
|
// 1. Create a new EndUser.
|
|
76
90
|
const endUser = await conductor.endUsers.create({
|
|
91
|
+
companyName: "{{END_USER_COMPANY_NAME}}",
|
|
77
92
|
sourceId: "{{UNIQUE_ID_FROM_YOUR_DB}}",
|
|
78
93
|
email: "{{END_USER_EMAIL}}",
|
|
79
|
-
companyName: "{{END_USER_COMPANY_NAME}}",
|
|
80
94
|
});
|
|
81
95
|
console.log("Save this EndUser ID to auth future requests:", endUser.id);
|
|
82
96
|
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "conductor-node",
|
|
3
|
-
"version": "11.6.
|
|
3
|
+
"version": "11.6.8",
|
|
4
4
|
"description": "QuickBooks Desktop API for Node.js and TypeScript",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"QuickBooks",
|
|
@@ -36,11 +36,11 @@
|
|
|
36
36
|
"prepublishOnly": "pnpm jest"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"axios": "^1.
|
|
39
|
+
"axios": "^1.7.2"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"axios-mock-adapter": "^1.22.0",
|
|
43
|
-
"tsc-alias": "^1.8.
|
|
43
|
+
"tsc-alias": "^1.8.10"
|
|
44
44
|
},
|
|
45
45
|
"engines": {
|
|
46
46
|
"node": ">=16"
|
|
@@ -1722,6 +1722,14 @@ export default class QbdIntegration extends BaseIntegration {
|
|
|
1722
1722
|
*/
|
|
1723
1723
|
query: (endUserId: string, params?: QbdTypes.ItemServiceQueryRq) => Promise<NonNullable<QbdTypes.ItemServiceQueryRs["ItemServiceRet"]>>;
|
|
1724
1724
|
};
|
|
1725
|
+
itemSites: {
|
|
1726
|
+
/**
|
|
1727
|
+
* Queries for the specified items at the specified inventory site.
|
|
1728
|
+
*
|
|
1729
|
+
* See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemSitesQuery
|
|
1730
|
+
*/
|
|
1731
|
+
query: (endUserId: string, params?: QbdTypes.ItemSitesQueryRq) => Promise<NonNullable<QbdTypes.ItemSitesQueryRs["ItemSitesRet"]>>;
|
|
1732
|
+
};
|
|
1725
1733
|
/**
|
|
1726
1734
|
* A subtotal item is used on a sales form to add up the amounts of the item
|
|
1727
1735
|
* lines above it, up to the previous subtotal.
|
|
@@ -1870,6 +1878,33 @@ export default class QbdIntegration extends BaseIntegration {
|
|
|
1870
1878
|
*/
|
|
1871
1879
|
query: (endUserId: string, params?: QbdTypes.LeadQueryRq) => Promise<NonNullable<QbdTypes.LeadQueryRs["LeadRet"]>>;
|
|
1872
1880
|
};
|
|
1881
|
+
/**
|
|
1882
|
+
* A list element is a record in a list, such as an `Account`, `Customer`, or
|
|
1883
|
+
* `Employee`.
|
|
1884
|
+
*/
|
|
1885
|
+
listDeleted: {
|
|
1886
|
+
/**
|
|
1887
|
+
* Returns all list elements deleted within the last 90 days, grouped
|
|
1888
|
+
* according to object type.
|
|
1889
|
+
*
|
|
1890
|
+
* If you are synchronizing deletes, you might want to specify `ListDelType`
|
|
1891
|
+
* elements in order of dependency; for example, first specify a
|
|
1892
|
+
* `ListDelType` of `Item`, then specify a `ListDelType` of `Vendor`. This
|
|
1893
|
+
* way the SDK will return `Item` deletes before `Vendor` deletes (both in
|
|
1894
|
+
* order of real delete times). `Item` depends on (refers to) to `Vendor`,
|
|
1895
|
+
* so by having the `Item` deletes returned first you avoid a dependency
|
|
1896
|
+
* problem.
|
|
1897
|
+
*
|
|
1898
|
+
* By default, the records of each type are returned in ascending order,
|
|
1899
|
+
* according to the “real” delete time. For example: If list object A is
|
|
1900
|
+
* deleted at 10 a.m. and list object B is deleted at 11 a.m., the query
|
|
1901
|
+
* request will return A first, then B.
|
|
1902
|
+
*
|
|
1903
|
+
* See more:
|
|
1904
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ListDeletedQuery
|
|
1905
|
+
*/
|
|
1906
|
+
query: (endUserId: string, params: QbdTypes.ListDeletedQueryRq) => Promise<NonNullable<QbdTypes.ListDeletedQueryRs["ListDeletedRet"]>>;
|
|
1907
|
+
};
|
|
1873
1908
|
/**
|
|
1874
1909
|
* The “other names” list contains any names that do not appear on customer,
|
|
1875
1910
|
* vendor, or employee lists.
|
|
@@ -1895,6 +1930,35 @@ export default class QbdIntegration extends BaseIntegration {
|
|
|
1895
1930
|
*/
|
|
1896
1931
|
query: (endUserId: string, params?: QbdTypes.OtherNameQueryRq) => Promise<NonNullable<QbdTypes.OtherNameQueryRs["OtherNameRet"]>>;
|
|
1897
1932
|
};
|
|
1933
|
+
/**
|
|
1934
|
+
* A payment method is a method of payment that a business accepts, such as
|
|
1935
|
+
* cash, check, or credit card.
|
|
1936
|
+
*/
|
|
1937
|
+
paymentMethod: {
|
|
1938
|
+
/**
|
|
1939
|
+
* Adds a payment method, which is the way a customer pays for goods or
|
|
1940
|
+
* services, for example, cash, check, or Master Card.
|
|
1941
|
+
*
|
|
1942
|
+
* A `PaymentMethodRef` aggregate refers to an item on the `PaymentMethod`
|
|
1943
|
+
* list. In a request, if a `PaymentMethodRef` aggregate includes both
|
|
1944
|
+
* `FullName` and `ListID`, `FullName` will be ignored.
|
|
1945
|
+
*
|
|
1946
|
+
* In a `SalesReceiptAdd`, `ReceivePaymentAdd`, or `ARRefundCreditCard`
|
|
1947
|
+
* request that contains credit card transaction data supplied from QBMS
|
|
1948
|
+
* transaction responses, you must specify the payment method, and the
|
|
1949
|
+
* payment method must be a credit card type.
|
|
1950
|
+
*
|
|
1951
|
+
* See more:
|
|
1952
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PaymentMethodAdd
|
|
1953
|
+
*/
|
|
1954
|
+
add: (endUserId: string, params: QbdTypes.PaymentMethodAddRq["PaymentMethodAdd"]) => Promise<NonNullable<QbdTypes.PaymentMethodAddRs["PaymentMethodRet"]>>;
|
|
1955
|
+
/**
|
|
1956
|
+
* Queries for the specified payment method or set of payment methods.
|
|
1957
|
+
*
|
|
1958
|
+
* See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PaymentMethodQuery
|
|
1959
|
+
*/
|
|
1960
|
+
query: (endUserId: string, params?: QbdTypes.PaymentMethodQueryRq) => Promise<NonNullable<QbdTypes.PaymentMethodQueryRs["PaymentMethodRet"]>>;
|
|
1961
|
+
};
|
|
1898
1962
|
/**
|
|
1899
1963
|
* A payroll wage item describes and names a payment scheme, for example,
|
|
1900
1964
|
* Regular Pay or Overtime Pay.
|
|
@@ -1727,6 +1727,14 @@ class QbdIntegration extends BaseIntegration_1.default {
|
|
|
1727
1727
|
*/
|
|
1728
1728
|
query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { ItemServiceQueryRq: params }, "ItemServiceQueryRs", "ItemServiceRet"),
|
|
1729
1729
|
};
|
|
1730
|
+
itemSites = {
|
|
1731
|
+
/**
|
|
1732
|
+
* Queries for the specified items at the specified inventory site.
|
|
1733
|
+
*
|
|
1734
|
+
* See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemSitesQuery
|
|
1735
|
+
*/
|
|
1736
|
+
query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { ItemSitesQueryRq: params }, "ItemSitesQueryRs", "ItemSitesRet"),
|
|
1737
|
+
};
|
|
1730
1738
|
/**
|
|
1731
1739
|
* A subtotal item is used on a sales form to add up the amounts of the item
|
|
1732
1740
|
* lines above it, up to the previous subtotal.
|
|
@@ -1875,6 +1883,33 @@ class QbdIntegration extends BaseIntegration_1.default {
|
|
|
1875
1883
|
*/
|
|
1876
1884
|
query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { LeadQueryRq: params }, "LeadQueryRs", "LeadRet"),
|
|
1877
1885
|
};
|
|
1886
|
+
/**
|
|
1887
|
+
* A list element is a record in a list, such as an `Account`, `Customer`, or
|
|
1888
|
+
* `Employee`.
|
|
1889
|
+
*/
|
|
1890
|
+
listDeleted = {
|
|
1891
|
+
/**
|
|
1892
|
+
* Returns all list elements deleted within the last 90 days, grouped
|
|
1893
|
+
* according to object type.
|
|
1894
|
+
*
|
|
1895
|
+
* If you are synchronizing deletes, you might want to specify `ListDelType`
|
|
1896
|
+
* elements in order of dependency; for example, first specify a
|
|
1897
|
+
* `ListDelType` of `Item`, then specify a `ListDelType` of `Vendor`. This
|
|
1898
|
+
* way the SDK will return `Item` deletes before `Vendor` deletes (both in
|
|
1899
|
+
* order of real delete times). `Item` depends on (refers to) to `Vendor`,
|
|
1900
|
+
* so by having the `Item` deletes returned first you avoid a dependency
|
|
1901
|
+
* problem.
|
|
1902
|
+
*
|
|
1903
|
+
* By default, the records of each type are returned in ascending order,
|
|
1904
|
+
* according to the “real” delete time. For example: If list object A is
|
|
1905
|
+
* deleted at 10 a.m. and list object B is deleted at 11 a.m., the query
|
|
1906
|
+
* request will return A first, then B.
|
|
1907
|
+
*
|
|
1908
|
+
* See more:
|
|
1909
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ListDeletedQuery
|
|
1910
|
+
*/
|
|
1911
|
+
query: async (endUserId, params) => this.sendRequestWrapper(endUserId, { ListDeletedQueryRq: params }, "ListDeletedQueryRs", "ListDeletedRet"),
|
|
1912
|
+
};
|
|
1878
1913
|
/**
|
|
1879
1914
|
* The “other names” list contains any names that do not appear on customer,
|
|
1880
1915
|
* vendor, or employee lists.
|
|
@@ -1900,6 +1935,35 @@ class QbdIntegration extends BaseIntegration_1.default {
|
|
|
1900
1935
|
*/
|
|
1901
1936
|
query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { OtherNameQueryRq: params }, "OtherNameQueryRs", "OtherNameRet"),
|
|
1902
1937
|
};
|
|
1938
|
+
/**
|
|
1939
|
+
* A payment method is a method of payment that a business accepts, such as
|
|
1940
|
+
* cash, check, or credit card.
|
|
1941
|
+
*/
|
|
1942
|
+
paymentMethod = {
|
|
1943
|
+
/**
|
|
1944
|
+
* Adds a payment method, which is the way a customer pays for goods or
|
|
1945
|
+
* services, for example, cash, check, or Master Card.
|
|
1946
|
+
*
|
|
1947
|
+
* A `PaymentMethodRef` aggregate refers to an item on the `PaymentMethod`
|
|
1948
|
+
* list. In a request, if a `PaymentMethodRef` aggregate includes both
|
|
1949
|
+
* `FullName` and `ListID`, `FullName` will be ignored.
|
|
1950
|
+
*
|
|
1951
|
+
* In a `SalesReceiptAdd`, `ReceivePaymentAdd`, or `ARRefundCreditCard`
|
|
1952
|
+
* request that contains credit card transaction data supplied from QBMS
|
|
1953
|
+
* transaction responses, you must specify the payment method, and the
|
|
1954
|
+
* payment method must be a credit card type.
|
|
1955
|
+
*
|
|
1956
|
+
* See more:
|
|
1957
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PaymentMethodAdd
|
|
1958
|
+
*/
|
|
1959
|
+
add: async (endUserId, params) => this.sendRequestWrapper(endUserId, { PaymentMethodAddRq: { PaymentMethodAdd: params } }, "PaymentMethodAddRs", "PaymentMethodRet"),
|
|
1960
|
+
/**
|
|
1961
|
+
* Queries for the specified payment method or set of payment methods.
|
|
1962
|
+
*
|
|
1963
|
+
* See more: https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PaymentMethodQuery
|
|
1964
|
+
*/
|
|
1965
|
+
query: async (endUserId, params = {}) => this.sendRequestWrapper(endUserId, { PaymentMethodQueryRq: params }, "PaymentMethodQueryRs", "PaymentMethodRet"),
|
|
1966
|
+
};
|
|
1903
1967
|
/**
|
|
1904
1968
|
* A payroll wage item describes and names a payment scheme, for example,
|
|
1905
1969
|
* Regular Pay or Overtime Pay.
|
|
@@ -8268,6 +8268,63 @@ export interface ItemServiceRet {
|
|
|
8268
8268
|
/** A list of `IDataExtRet` objects, each of which represents a field that has been added to QuickBooks as a data extension. */
|
|
8269
8269
|
DataExtRet?: DataExtRet | DataExtRet[];
|
|
8270
8270
|
}
|
|
8271
|
+
export interface ItemSiteFilter {
|
|
8272
|
+
/** Filters according to the item name or ID. You can use an `ItemQuery` request to get information about all the items that are set up in the QuickBooks file. “Items” are line items used for fast entry on sales and purchase forms. They include services and goods that a business buys and sells, as well as special items that perform calculations–for example, subtotal, discount, and sales-tax items. */
|
|
8273
|
+
ItemFilter?: ItemFilter;
|
|
8274
|
+
/** Allows you to report on Sites. */
|
|
8275
|
+
SiteFilter?: SiteFilter;
|
|
8276
|
+
}
|
|
8277
|
+
export interface ItemSitesQueryRq {
|
|
8278
|
+
/** One or more `ListID` values. Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
8279
|
+
ListID?: string | string[];
|
|
8280
|
+
/** Allows you to report on a specific item type. */
|
|
8281
|
+
ItemTypeFilter?: ItemTypeFilter;
|
|
8282
|
+
/** Allows you to report on Item Sites. */
|
|
8283
|
+
ItemSiteFilter?: ItemSiteFilter;
|
|
8284
|
+
/** Limits the number of objects that a query returns. (To get a count of how many objects could possibly be returned, use the `metaData` query attribute.) If you include a `MaxReturned` value, it must be at least 1. */
|
|
8285
|
+
MaxReturned?: number;
|
|
8286
|
+
/** Used in filters to select list objects based on whether or not they are currently enabled for use by QuickBooks. The default value is `asActiveOnly`, which selects only list objects that are active. */
|
|
8287
|
+
ActiveStatus?: ActiveStatus;
|
|
8288
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
8289
|
+
IncludeRetElement?: string | string[];
|
|
8290
|
+
}
|
|
8291
|
+
export interface ItemSitesQueryRs {
|
|
8292
|
+
ItemSitesRet: ItemSitesRet[];
|
|
8293
|
+
}
|
|
8294
|
+
export interface ItemSitesRet {
|
|
8295
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
8296
|
+
ListID?: string;
|
|
8297
|
+
/** Time the object was created. */
|
|
8298
|
+
TimeCreated?: string;
|
|
8299
|
+
/** Time the object was last modified. */
|
|
8300
|
+
TimeModified?: string;
|
|
8301
|
+
/** A number that the server generates and assigns to this object. Every time the object is changed, the server will change its `EditSequence` value. When you try to modify a list object, you must provide its `EditSequence`. The server compares the `EditSequence` you provide with the `EditSequence` in memory to make sure you are dealing with the latest copy of the object. If you are not, the server will reject the request and return an error. Because `EditSequence` is only used to check whether two objects match, there is no reason to interpret its value. */
|
|
8302
|
+
EditSequence?: string;
|
|
8303
|
+
/** An inventory assembly item is one that is assembled or manufactured from inventory items. The items and/or assemblies that make up the assembly are called components. For Premier, an assembly can have a maximum of 100 components. For Enterprise, the maximum is 500 components. */
|
|
8304
|
+
ItemInventoryAssemblyRef?: ItemInventoryAssemblyRef;
|
|
8305
|
+
/** An inventory item is any merchandise or part that a business purchases, tracks as inventory, and then resells. In QuickBooks, information about an inventory item is grouped into three categories:Puchase Information includes `PurchaseDesc`, `PurchaseCost`, `COGSAccountRef`, and `PrefVendorRef`. Sales Information includes `SalesDesc`, `SalesPrice`, and `SalesTaxCodeRef`. Inventory Information includes `AssetAccountRef`, `ReorderPoint`, `QuantityOnHand`, `TotalValue`, and `InventoryDate`. The Life Cycle of Inventory Items and Effects of Sales and Purchases The value of inventory is set when an inventory item is created or bought. QuickBooks uses cost averaging and decreases the value of the inventory asset account at the price when the sale is recorded. So, lets say a company starts carrying widgets as inventory items. First the inventory item must be created in QuickBooks. If the widgets are already in inventory based on a purchase made that will not be recorded in QuickBooks, the user or application would add the inventory item description along with the quantity on hand and the value (total purchase price) of the quantity on hand. If the purchase is to be recorded in QuickBooks the inventory item would be created with quantity and value of 0 (zero). Then a bill would be added to QB which would increase the inventory quantity and value. Lets say we bought 10 widgets for $100. QuickBooks would then consider each widget to be worth $10. The next day a customer buys 5 widgets for $20 each. A sales receipt or invoice is created for the purchase, the quantity of widgets is reduced by 5, to 5 and the value is reduced by $50 to $50. The inventory asset account is reduced by $50 and the undeposited funds or accounts receivable account is increased by $100. It appears that widgets will be a big seller, so the small business owner goes out and buys 10 more widgets. However, the supplier has also noticed a widget buying trend, so he’s increased the price to $25 each. So now our quantity is increased from 5 to 15 and the value is increased from $50 to $300, so they are considered to be worth $20 each. After purchasing the widgets another customer decides to buy 10 widgets but the price has been raised to $50 each. After the sales receipt or invoice is entered, the inventory is reduced to 5 and the value is reduced to $100. The inventory asset account is reduced by $200 and the undeposited funds or accounts receivable account is increased by $500. An `ItemInventoryRef` aggregate refers to an inventory item. In a request, if an `ItemInventoryRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
8306
|
+
ItemInventoryRef?: ItemInventoryRef;
|
|
8307
|
+
/** Site where inventory is located. */
|
|
8308
|
+
InventorySiteRef?: InventorySiteRef;
|
|
8309
|
+
/** Location within the Inventory Site. */
|
|
8310
|
+
InventorySiteLocationRef?: InventorySiteLocationRef;
|
|
8311
|
+
/** Level that inventory should be reordered. */
|
|
8312
|
+
ReorderLevel?: number;
|
|
8313
|
+
/** The number of these items in inventory. `QuantityOnHand` times `AverageCost` is `TotalValue` in an inventory item list. To change the `QuantityOnHand` for an item, you would have to use `InventoryAdjustmentAdd` not an `ItemInventoryMod`. */
|
|
8314
|
+
QuantityOnHand?: number;
|
|
8315
|
+
/** Quantity of items on outstanding purchase orders. */
|
|
8316
|
+
QuantityOnPurchaseOrders?: number;
|
|
8317
|
+
/** Quantity of items on outstanding sales orders. */
|
|
8318
|
+
QuantityOnSalesOrders?: number;
|
|
8319
|
+
/** Quantity of items to be built on pending build transactions. */
|
|
8320
|
+
QuantityToBeBuiltByPendingBuildTxns?: number;
|
|
8321
|
+
/** Quantity of items required by pending build transactions. */
|
|
8322
|
+
QuantityRequiredByPendingBuildTxns?: number;
|
|
8323
|
+
/** Quantity of items on pending transfers. */
|
|
8324
|
+
QuantityOnPendingTransfers?: number;
|
|
8325
|
+
/** Inventory level that new build assembly should begin. */
|
|
8326
|
+
AssemblyBuildPoint?: number;
|
|
8327
|
+
}
|
|
8271
8328
|
export interface ItemSubtotalAdd {
|
|
8272
8329
|
/** The case-insensitive name of a list object, not including the names of its ancestors. `Name` must be unique, unless it is the `Name` of a “hierarchical” list object. List objects in different hierarchies can have duplicate names because their `FullNames` will still be unique. For example, two objects could both have the `Name` kitchen, but they could have unique `FullNames`, such as Job12:kitchen and Baker:kitchen. For built-in currencies, `Name` is the internationally accepted currency name and is not editable. */
|
|
8273
8330
|
Name: string;
|
|
@@ -8873,6 +8930,30 @@ export interface LinkToTxn {
|
|
|
8873
8930
|
TxnLineID: string;
|
|
8874
8931
|
}
|
|
8875
8932
|
export type LinkType = "AMTTYPE" | "QUANTYPE";
|
|
8933
|
+
export interface ListDeletedQueryRq {
|
|
8934
|
+
/** A list of enum values showing which types of deleted lists the query will return. */
|
|
8935
|
+
ListDelType: ListDelType | ListDelType[];
|
|
8936
|
+
/** Filters according to delete dates (within the last 90 days). */
|
|
8937
|
+
DeletedDateRangeFilter?: DeletedDateRangeFilter;
|
|
8938
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
8939
|
+
IncludeRetElement?: string[] | string;
|
|
8940
|
+
}
|
|
8941
|
+
export interface ListDeletedQueryRs {
|
|
8942
|
+
ListDeletedRet: ListDeletedRet[];
|
|
8943
|
+
}
|
|
8944
|
+
export interface ListDeletedRet {
|
|
8945
|
+
/** The type of list from which a list member is being deleted. */
|
|
8946
|
+
ListDelType: ListDelType;
|
|
8947
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
8948
|
+
ListID: string;
|
|
8949
|
+
/** Time the object was created. */
|
|
8950
|
+
TimeCreated: string;
|
|
8951
|
+
/** The time when this list or transaction object was deleted. */
|
|
8952
|
+
TimeDeleted: string;
|
|
8953
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
8954
|
+
FullName?: string;
|
|
8955
|
+
}
|
|
8956
|
+
export type ListDelType = "Account" | "BillingRate" | "Class" | "Currency" | "Customer" | "CustomerMsg" | "CustomerType" | "DateDrivenTerms" | "Employee" | "InventorySite" | "ItemDiscount" | "ItemFixedAsset" | "ItemGroup" | "ItemInventory" | "ItemInventoryAssembly" | "ItemNonInventory" | "ItemOtherCharge" | "ItemPayment" | "ItemSalesTax" | "ItemSalesTaxGroup" | "ItemService" | "ItemSubtotal" | "JobType" | "OtherName" | "PaymentMethod" | "PayrollItemNonWage" | "PayrollItemWage" | "PriceLevel" | "SalesRep" | "SalesTaxCode" | "ShipMethod" | "StandardTerms" | "ToDo" | "UnitOfMeasureSet" | "Vehicle" | "Vendor" | "VendorType" | "WorkersCompCode";
|
|
8876
8957
|
export interface Locations {
|
|
8877
8958
|
/** Where the asset is located or has been placed into service. */
|
|
8878
8959
|
Location: string;
|
|
@@ -9180,12 +9261,71 @@ export interface PayeeEntityRef {
|
|
|
9180
9261
|
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
9181
9262
|
FullName?: string;
|
|
9182
9263
|
}
|
|
9264
|
+
export interface PaymentMethodAdd {
|
|
9265
|
+
/** The case-insensitive name of a list object, not including the names of its ancestors. `Name` must be unique, unless it is the `Name` of a “hierarchical” list object. List objects in different hierarchies can have duplicate names because their `FullNames` will still be unique. For example, two objects could both have the `Name` kitchen, but they could have unique `FullNames`, such as Job12:kitchen and Baker:kitchen. For built-in currencies, `Name` is the internationally accepted currency name and is not editable. */
|
|
9266
|
+
Name: string;
|
|
9267
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
9268
|
+
IsActive?: boolean;
|
|
9269
|
+
/** The payment method, such as check, cash, debit card, Visa, etc. */
|
|
9270
|
+
PaymentMethodType?: PaymentMethodType;
|
|
9271
|
+
}
|
|
9272
|
+
export interface PaymentMethodAddRq {
|
|
9273
|
+
PaymentMethodAdd: PaymentMethodAdd;
|
|
9274
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
9275
|
+
IncludeRetElement?: string | string[];
|
|
9276
|
+
}
|
|
9277
|
+
export interface PaymentMethodAddRs {
|
|
9278
|
+
PaymentMethodRet?: PaymentMethodRet;
|
|
9279
|
+
ErrorRecovery?: ErrorRecovery;
|
|
9280
|
+
}
|
|
9281
|
+
export interface PaymentMethodQueryRq {
|
|
9282
|
+
/** One or more `ListID` values. Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
9283
|
+
ListID?: string | string[];
|
|
9284
|
+
/** A list of one or more `FullName` values. `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
9285
|
+
FullName?: string | string[];
|
|
9286
|
+
/** Limits the number of objects that a query returns. (To get a count of how many objects could possibly be returned, use the `metaData` query attribute.) If you include a `MaxReturned` value, it must be at least 1. */
|
|
9287
|
+
MaxReturned?: number;
|
|
9288
|
+
/** Used in filters to select list objects based on whether or not they are currently enabled for use by QuickBooks. The default value is `asActiveOnly`, which selects only list objects that are active. */
|
|
9289
|
+
ActiveStatus?: ActiveStatus;
|
|
9290
|
+
/** Selects objects modified on or after this date. See the note below regarding QBFC usage.For desktop versions of QuickBooks, the `FromModifiedDate` and `ToModifiedDate` must be between 1970-01-01 and 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). (The time portion of the field was not supported in qbXML version 1.0 or 1.1.) Also, for desktop versions of QuickBooks, if `FromModifiedDate` includes a date but not a time (for example, if you set `FromModifiedDate` to 2003-02-14), the time is assumed to be zero (2003-02-14T00:00:00). If you omit `FromModifiedDate`, it will be set to 1970-01-01T00:00:00 (1969-12-31T16:00:00-08:00 PST).For QBOE, the `FromModifiedDate` and `ToModifiedDate` must be between 1900-01-01T00:00:00 and 9999-12-31T00:00:00. If `FromModifiedDate` includes a date but not a time (for example, if you set `FromModifiedDate` to 2003-02-14), the time is assumed to be zero (2003-02-14T00:00:00). If you omit `FromModifiedDate`, it will be set to 1900-01-01T00:00:00.`Note`: When specifying this in QBFC, you need to supply the parameter `asDateOnly`, which is a Boolean. If `asDateOnly` is true, the date value will be represented as a date only (without a time). If `asDateOnly` is false, the date value will be represented as date and time, padded with zeros if necessary, and set to the beginning of the day if no time is provided. The `asDateOnly` parameter is especially useful in the `ToModifiedDate` field of a query: If `asDateOnly` is set to true in the `ToModifiedDate` field of a query, then the query includes elements modified up to the end of the day. If `asDateOnly` is false, the query includes elements modified up to the specified time (or up to the beginning of the day if no time is included). */
|
|
9291
|
+
FromModifiedDate?: string;
|
|
9292
|
+
/** Selects objects modified on or before this date. See the note below on QBFC usage.For desktop versions of QuickBooks, the `ToModifiedDate` and `FromModifiedDate` must be between 01/01/1970 and 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). (Note that the time portion of the field was not supported in qbXML version 1.0 or 1.1.) If `ToModifiedDate` includes a date but not a time (for example, if you set `ToModifiedDate` to 2003-02-14), the time is assumed to be the end of the day (2003-02-14T23:59:59). If you omit `ToModifiedDate` altogether, it will be set to 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST).For QBOE, the `ToModifiedDate` and `FromModifiedDate` must be between 01/01/1900 and 9999-12-31T00:00:00. If `ToModifiedDate` includes a date but not a time (for example, if you set `ToModifiedDate` to 2003-02-14), the time is assumed to be the end of the day (2003-02-14T23:59:59). If you omit `ToModifiedDate` altogether, it will be set to 9999-12-31T00:00:00.`Note`: When specifying this in QBFC, you need to supply the parameter `asDateOnly`, which is a Boolean. If `asDateOnly` is true, the date value will be represented as a date only (without a time). If `asDateOnly` is false, the date value will be represented as date and time, padded with zeros if necessary, and set to the beginning of the day if no time is provided. The `asDateOnly` parameter is especially useful in the `ToModifiedDate` field of a query: If `asDateOnly` is set to true in the `ToModifiedDate` field of a query, then the query includes elements modified up to the end of the day. If `asDateOnly` is false, the query includes elements modified up to the specified time (or up to the beginning of the day if no time is included). */
|
|
9293
|
+
ToModifiedDate?: string;
|
|
9294
|
+
/** Filters according to the object’s `Name`. */
|
|
9295
|
+
NameFilter?: NameFilter;
|
|
9296
|
+
/** Filters according to the object’s `Name`. */
|
|
9297
|
+
NameRangeFilter?: NameRangeFilter;
|
|
9298
|
+
/** The the list to which you Add the payment method, such as check, cash, debit card, Visa, etc. */
|
|
9299
|
+
PaymentMethodType?: PaymentMethodType | PaymentMethodType[];
|
|
9300
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
9301
|
+
IncludeRetElement?: string | string[];
|
|
9302
|
+
}
|
|
9303
|
+
export interface PaymentMethodQueryRs {
|
|
9304
|
+
PaymentMethodRet: PaymentMethodRet[];
|
|
9305
|
+
}
|
|
9183
9306
|
export interface PaymentMethodRef {
|
|
9184
9307
|
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
9185
9308
|
ListID?: string;
|
|
9186
9309
|
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
9187
9310
|
FullName?: string;
|
|
9188
9311
|
}
|
|
9312
|
+
export interface PaymentMethodRet {
|
|
9313
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
9314
|
+
ListID: string;
|
|
9315
|
+
/** Time the object was created. */
|
|
9316
|
+
TimeCreated: string;
|
|
9317
|
+
/** Time the object was last modified. */
|
|
9318
|
+
TimeModified: string;
|
|
9319
|
+
/** A number that the server generates and assigns to this object. Every time the object is changed, the server will change its `EditSequence` value. When you try to modify a list object, you must provide its `EditSequence`. The server compares the `EditSequence` you provide with the `EditSequence` in memory to make sure you are dealing with the latest copy of the object. If you are not, the server will reject the request and return an error. Because `EditSequence` is only used to check whether two objects match, there is no reason to interpret its value. */
|
|
9320
|
+
EditSequence: string;
|
|
9321
|
+
/** The case-insensitive name of a list object, not including the names of its ancestors. `Name` must be unique, unless it is the `Name` of a “hierarchical” list object. List objects in different hierarchies can have duplicate names because their `FullNames` will still be unique. For example, two objects could both have the `Name` kitchen, but they could have unique `FullNames`, such as Job12:kitchen and Baker:kitchen. For built-in currencies, `Name` is the internationally accepted currency name and is not editable. */
|
|
9322
|
+
Name: string;
|
|
9323
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
9324
|
+
IsActive?: boolean;
|
|
9325
|
+
/** The payment method, such as check, cash, debit card, Visa, etc. */
|
|
9326
|
+
PaymentMethodType?: PaymentMethodType;
|
|
9327
|
+
}
|
|
9328
|
+
export type PaymentMethodType = "AmericanExpress" | "Cash" | "Check" | "DebitCard" | "Discover" | "ECheck" | "GiftCard" | "MasterCard" | "Other" | "OtherCreditCard" | "Visa";
|
|
9189
9329
|
export type PaymentStatus = "Completed" | "Unknown";
|
|
9190
9330
|
export type PayPeriod = "Biweekly" | "Daily" | "Monthly" | "Quarterly" | "Semimonthly" | "Weekly" | "Yearly";
|
|
9191
9331
|
export interface PayrollDetailReportQueryRq {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.addErrorHandlingInterceptors =
|
|
3
|
+
exports.addErrorHandlingInterceptors = addErrorHandlingInterceptors;
|
|
4
4
|
const error_1 = require("../utils/error");
|
|
5
5
|
const axios_1 = require("axios");
|
|
6
6
|
function addErrorHandlingInterceptors(httpClient) {
|
|
@@ -51,4 +51,3 @@ function addErrorHandlingInterceptors(httpClient) {
|
|
|
51
51
|
});
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
|
-
exports.addErrorHandlingInterceptors = addErrorHandlingInterceptors;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
-
|
|
3
|
+
exports.addLoggingInterceptors = addLoggingInterceptors;
|
|
4
|
+
exports.createRequestLogObject = createRequestLogObject;
|
|
5
|
+
exports.getDurationStringFromConfig = getDurationStringFromConfig;
|
|
6
|
+
exports.stringifyForLogs = stringifyForLogs;
|
|
8
7
|
function addLoggingInterceptors(httpClient, verbose) {
|
|
9
8
|
httpClient.interceptors.request.use((config) => {
|
|
10
9
|
if (verbose) {
|
|
@@ -31,7 +30,6 @@ function addLoggingInterceptors(httpClient, verbose) {
|
|
|
31
30
|
throw error;
|
|
32
31
|
});
|
|
33
32
|
}
|
|
34
|
-
exports.addLoggingInterceptors = addLoggingInterceptors;
|
|
35
33
|
function createRequestLogObject(config) {
|
|
36
34
|
const requestInfo = {};
|
|
37
35
|
if (config.method !== undefined) {
|
|
@@ -54,7 +52,6 @@ function createRequestLogObject(config) {
|
|
|
54
52
|
}
|
|
55
53
|
return requestInfo;
|
|
56
54
|
}
|
|
57
|
-
exports.createRequestLogObject = createRequestLogObject;
|
|
58
55
|
function createResponseLogObject(response) {
|
|
59
56
|
return {
|
|
60
57
|
duration: getDurationStringFromConfig(response.config),
|
|
@@ -67,13 +64,7 @@ function getDurationStringFromConfig(config) {
|
|
|
67
64
|
const duration = Date.now() - config.startTime;
|
|
68
65
|
return `${Math.round(duration / 10) / 100}s`;
|
|
69
66
|
}
|
|
70
|
-
exports.getDurationStringFromConfig = getDurationStringFromConfig;
|
|
71
67
|
function stringifyForLogs(object) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
// Omit color codes to keep logs clean when sent to a log management
|
|
75
|
-
// service.
|
|
76
|
-
colors: false,
|
|
77
|
-
});
|
|
68
|
+
// Output raw JSON for easy copy-pasting for REST API development.
|
|
69
|
+
return JSON.stringify(object, undefined, 2);
|
|
78
70
|
}
|
|
79
|
-
exports.stringifyForLogs = stringifyForLogs;
|
|
@@ -13,18 +13,20 @@ export interface EndUser {
|
|
|
13
13
|
*/
|
|
14
14
|
readonly objectType: "end_user";
|
|
15
15
|
/**
|
|
16
|
-
* Your end-user's
|
|
17
|
-
* other end-users.
|
|
16
|
+
* Your end-user's company name that will be shown elsewhere in Conductor.
|
|
18
17
|
*/
|
|
19
|
-
readonly
|
|
18
|
+
readonly companyName: string;
|
|
20
19
|
/**
|
|
21
|
-
*
|
|
20
|
+
* A unique identifier for your end-user from your system. Maps users between
|
|
21
|
+
* your database and Conductor. Must be unique for each user. If you have only
|
|
22
|
+
* one user, you may use any string value.
|
|
22
23
|
*/
|
|
23
|
-
readonly
|
|
24
|
+
readonly sourceId: string;
|
|
24
25
|
/**
|
|
25
|
-
* Your end-user's
|
|
26
|
+
* Your end-user's email address for identification purposes. Setting this
|
|
27
|
+
* field will not cause any emails to be sent.
|
|
26
28
|
*/
|
|
27
|
-
readonly
|
|
29
|
+
readonly email: string;
|
|
28
30
|
/**
|
|
29
31
|
* The time at which the object was created.
|
|
30
32
|
*/
|
|
@@ -3,7 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.checkForUpdates = checkForUpdates;
|
|
7
|
+
exports.createFramedMessage = createFramedMessage;
|
|
7
8
|
const package_json_1 = __importDefault(require("../../package.json"));
|
|
8
9
|
const env_1 = require("../utils/env");
|
|
9
10
|
const axios_1 = __importDefault(require("axios"));
|
|
@@ -43,7 +44,6 @@ function checkForUpdates() {
|
|
|
43
44
|
console.debug("Failed to check for updates:", error);
|
|
44
45
|
});
|
|
45
46
|
}
|
|
46
|
-
exports.checkForUpdates = checkForUpdates;
|
|
47
47
|
function createFramedMessage(messageLines) {
|
|
48
48
|
const maxLength = Math.max(...messageLines.map((line) => line.length), 0);
|
|
49
49
|
const paddingHorizontalLength = 2;
|
|
@@ -60,4 +60,3 @@ function createFramedMessage(messageLines) {
|
|
|
60
60
|
`└${"─".repeat(maxLength + paddingHorizontalLength * 2)}┘`,
|
|
61
61
|
].join("\n");
|
|
62
62
|
}
|
|
63
|
-
exports.createFramedMessage = createFramedMessage;
|
package/dist/src/utils/env.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isEnvironmentVariableTruthy =
|
|
3
|
+
exports.isEnvironmentVariableTruthy = isEnvironmentVariableTruthy;
|
|
4
4
|
const FALSY_VALUES = new Set([
|
|
5
5
|
undefined,
|
|
6
6
|
"",
|
|
@@ -13,4 +13,3 @@ function isEnvironmentVariableTruthy(name) {
|
|
|
13
13
|
const value = process.env[name]?.toLowerCase();
|
|
14
14
|
return !FALSY_VALUES.has(value);
|
|
15
15
|
}
|
|
16
|
-
exports.isEnvironmentVariableTruthy = isEnvironmentVariableTruthy;
|
package/dist/src/utils/error.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/* eslint-disable max-classes-per-file -- Use one module for all error classes. */
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.
|
|
4
|
+
exports.ConductorUnknownError = exports.ConductorInternalError = exports.ConductorConnectionError = exports.ConductorPermissionError = exports.ConductorAuthenticationError = exports.ConductorInvalidRequestError = exports.ConductorIntegrationConnectionError = exports.ConductorIntegrationError = exports.ConductorError = exports.DEFAULT_USER_FACING_MESSAGE = void 0;
|
|
5
|
+
exports.isWellFormedConductorServerError = isWellFormedConductorServerError;
|
|
6
|
+
exports.generateConductorErrorFromType = generateConductorErrorFromType;
|
|
5
7
|
// Matches server-side value.
|
|
6
8
|
exports.DEFAULT_USER_FACING_MESSAGE = "An internal server error occurred. Please try again later.";
|
|
7
9
|
function isWellFormedConductorServerError(error) {
|
|
@@ -14,7 +16,6 @@ function isWellFormedConductorServerError(error) {
|
|
|
14
16
|
typeof error.error.code === "string" &&
|
|
15
17
|
typeof error.error.httpStatusCode === "number");
|
|
16
18
|
}
|
|
17
|
-
exports.isWellFormedConductorServerError = isWellFormedConductorServerError;
|
|
18
19
|
/**
|
|
19
20
|
* The base error from which all other more specific Conductor errors derive.
|
|
20
21
|
* Specifically for errors that Conductor's API returned.
|
|
@@ -251,4 +252,3 @@ function generateConductorErrorFromType(options) {
|
|
|
251
252
|
}
|
|
252
253
|
}
|
|
253
254
|
}
|
|
254
|
-
exports.generateConductorErrorFromType = generateConductorErrorFromType;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "conductor-node",
|
|
3
|
-
"version": "11.6.
|
|
3
|
+
"version": "11.6.8",
|
|
4
4
|
"description": "QuickBooks Desktop API for Node.js and TypeScript",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"QuickBooks",
|
|
@@ -36,11 +36,11 @@
|
|
|
36
36
|
"prepublishOnly": "pnpm jest"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"axios": "^1.
|
|
39
|
+
"axios": "^1.7.2"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"axios-mock-adapter": "^1.22.0",
|
|
43
|
-
"tsc-alias": "^1.8.
|
|
43
|
+
"tsc-alias": "^1.8.10"
|
|
44
44
|
},
|
|
45
45
|
"engines": {
|
|
46
46
|
"node": ">=16"
|