diff --git a/airbyte-integrations/connectors/source-quickbooks/Dockerfile b/airbyte-integrations/connectors/source-quickbooks/Dockerfile deleted file mode 100644 index 6b8769dd5327c..0000000000000 --- a/airbyte-integrations/connectors/source-quickbooks/Dockerfile +++ /dev/null @@ -1,38 +0,0 @@ -FROM python:3.9.11-alpine3.15 as base - -# build and load all requirements -FROM base as builder -WORKDIR /airbyte/integration_code - -# upgrade pip to the latest version -RUN apk --no-cache upgrade \ - && pip install --upgrade pip \ - && apk --no-cache add tzdata build-base - - -COPY setup.py ./ -# install necessary packages to a temporary folder -RUN pip install --prefix=/install . - -# build a clean environment -FROM base -WORKDIR /airbyte/integration_code - -# copy all loaded and built libraries to a pure basic image -COPY --from=builder /install /usr/local -# add default timezone settings -COPY --from=builder /usr/share/zoneinfo/Etc/UTC /etc/localtime -RUN echo "Etc/UTC" > /etc/timezone - -# bash is installed for more convenient debugging. -RUN apk --no-cache add bash - -# copy payload code only -COPY main.py ./ -COPY source_quickbooks ./source_quickbooks - -ENV AIRBYTE_ENTRYPOINT "python /airbyte/integration_code/main.py" -ENTRYPOINT ["python", "/airbyte/integration_code/main.py"] - -LABEL io.airbyte.version=3.0.2 -LABEL io.airbyte.name=airbyte/source-quickbooks diff --git a/airbyte-integrations/connectors/source-quickbooks/metadata.yaml b/airbyte-integrations/connectors/source-quickbooks/metadata.yaml index 3264633f69e95..ec82e2ce8d74e 100644 --- a/airbyte-integrations/connectors/source-quickbooks/metadata.yaml +++ b/airbyte-integrations/connectors/source-quickbooks/metadata.yaml @@ -5,6 +5,8 @@ data: - quickbooks.api.intuit.com - oauth.platform.intuit.com connectorSubtype: api + connectorBuildOptions: + baseImage: docker.io/airbyte/python-connector-base:1.1.0@sha256:bd98f6505c6764b1b5f99d3aedc23dfc9e9af631a62533f60eb32b1d3dbab20c connectorType: source definitionId: cf9c4355-b171-4477-8f2d-6c5cc5fc8b7e dockerImageTag: 3.0.2 diff --git a/airbyte-integrations/connectors/source-quickbooks/pyproject.toml b/airbyte-integrations/connectors/source-quickbooks/pyproject.toml new file mode 100644 index 0000000000000..33b9c403e84e8 --- /dev/null +++ b/airbyte-integrations/connectors/source-quickbooks/pyproject.toml @@ -0,0 +1,31 @@ +[build-system] +requires = [ "poetry-core>=1.0.0",] +build-backend = "poetry.core.masonry.api" + +[tool.poetry] +version = "3.0.2" +name = "source-quickbooks" +description = "Source implementation for quickbooks." +authors = [ "Airbyte ",] +license = "MIT" +readme = "README.md" +documentation = "https://docs.airbyte.com/integrations/sources/quickbooks" +homepage = "https://airbyte.com" +repository = "https://github.com/airbytehq/airbyte" +[[tool.poetry.packages]] +include = "source_quickbooks" + +[tool.poetry.dependencies] +python = "^3.9,<3.12" +airbyte-cdk = "==0.63.2" +vcrpy = "==4.1.1" +urllib3 = "==1.26.18" + +[tool.poetry.scripts] +source-quickbooks = "source_quickbooks.run:run" + +[tool.poetry.group.dev.dependencies] +requests-mock = "^1.9.3" +pytest-mock = "^3.6.1" +pytest = "^6.1" + diff --git a/airbyte-integrations/connectors/source-quickbooks/source_quickbooks/schemas/credit_memos.json b/airbyte-integrations/connectors/source-quickbooks/source_quickbooks/schemas/credit_memos.json index 91170b2b5fe88..a1fb3ccc9a0cc 100644 --- a/airbyte-integrations/connectors/source-quickbooks/source_quickbooks/schemas/credit_memos.json +++ b/airbyte-integrations/connectors/source-quickbooks/source_quickbooks/schemas/credit_memos.json @@ -1,6 +1,7 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "type": ["null", "object"], + "additionalProperties": true, "properties": { "ClassRef": { "properties": { @@ -102,6 +103,11 @@ }, "DetailType": { "type": ["null", "string"] + }, + "SubTotalLineDetail": { + "type": ["null", "object"], + "additionalProperties": true, + "properties": {} } }, "type": ["null", "object"] diff --git a/airbyte-integrations/connectors/source-quickbooks/source_quickbooks/schemas/estimates.json b/airbyte-integrations/connectors/source-quickbooks/source_quickbooks/schemas/estimates.json index 9d2eb205046b8..12e9946f51057 100644 --- a/airbyte-integrations/connectors/source-quickbooks/source_quickbooks/schemas/estimates.json +++ b/airbyte-integrations/connectors/source-quickbooks/source_quickbooks/schemas/estimates.json @@ -1,6 +1,7 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "type": ["null", "object"], + "additionalProperties": true, "properties": { "BillEmail": { "properties": { @@ -190,6 +191,11 @@ "DetailType": { "type": ["null", "string"] }, + "SubTotalLineDetail": { + "type": ["null", "object"], + "additionalProperties": true, + "properties": {} + }, "Description": { "type": ["null", "string"] }, @@ -227,7 +233,8 @@ "type": ["null", "object"] } }, - "type": ["null", "object"] + "type": ["null", "object"], + "additionalProperties": true }, "type": ["null", "array"] }, diff --git a/airbyte-integrations/connectors/source-quickbooks/source_quickbooks/schemas/invoices.json b/airbyte-integrations/connectors/source-quickbooks/source_quickbooks/schemas/invoices.json index 9185d986b532e..656b0c5e32096 100644 --- a/airbyte-integrations/connectors/source-quickbooks/source_quickbooks/schemas/invoices.json +++ b/airbyte-integrations/connectors/source-quickbooks/source_quickbooks/schemas/invoices.json @@ -80,9 +80,13 @@ "properties": { "value": { "type": ["null", "string"] + }, + "name": { + "type": ["null", "string"] } }, - "type": ["null", "object"] + "type": ["null", "object"], + "additionalProperties": true }, "AllowIPNPayment": { "type": ["null", "boolean"] @@ -157,6 +161,11 @@ "Line": { "items": { "properties": { + "SubTotalLineDetail": { + "type": ["null", "object"], + "additionalProperties": true, + "properties": {} + }, "LinkedTxn": { "items": { "properties": { @@ -254,7 +263,8 @@ "type": ["null", "string"] } }, - "type": ["null", "object"] + "type": ["null", "object"], + "additionalProperties": true }, "type": ["null", "array"] }, diff --git a/airbyte-integrations/connectors/source-quickbooks/source_quickbooks/schemas/refund_receipts.json b/airbyte-integrations/connectors/source-quickbooks/source_quickbooks/schemas/refund_receipts.json index e7271b4955c4a..2f333006aa612 100644 --- a/airbyte-integrations/connectors/source-quickbooks/source_quickbooks/schemas/refund_receipts.json +++ b/airbyte-integrations/connectors/source-quickbooks/source_quickbooks/schemas/refund_receipts.json @@ -38,6 +38,11 @@ "Line": { "items": { "properties": { + "SubTotalLineDetail": { + "type": ["null", "object"], + "additionalProperties": true, + "properties": {} + }, "Id": { "type": ["null", "string"] }, @@ -84,7 +89,8 @@ "type": ["null", "object"] } }, - "type": ["null", "object"] + "type": ["null", "object"], + "additionalProperties": true }, "type": ["null", "array"] }, diff --git a/airbyte-integrations/connectors/source-quickbooks/source_quickbooks/schemas/sales_receipts.json b/airbyte-integrations/connectors/source-quickbooks/source_quickbooks/schemas/sales_receipts.json index b9ec030fbd03f..e48e7e0a34f4d 100644 --- a/airbyte-integrations/connectors/source-quickbooks/source_quickbooks/schemas/sales_receipts.json +++ b/airbyte-integrations/connectors/source-quickbooks/source_quickbooks/schemas/sales_receipts.json @@ -116,7 +116,13 @@ "type": ["null", "array"], "items": { "type": ["null", "object"], + "additionalProperties": true, "properties": { + "SubTotalLineDetail": { + "type": ["null", "object"], + "additionalProperties": true, + "properties": {} + }, "DiscountLineDetail": { "type": ["null", "object"], "properties": {