diff --git a/client/src/components/breadcrumbs/breadcrumbs.component.jsx b/client/src/components/breadcrumbs/breadcrumbs.component.jsx index ee0d51bf6..ba2619c4e 100644 --- a/client/src/components/breadcrumbs/breadcrumbs.component.jsx +++ b/client/src/components/breadcrumbs/breadcrumbs.component.jsx @@ -7,7 +7,9 @@ import { createStructuredSelector } from "reselect"; import { selectBreadcrumbs } from "../../redux/application/application.selectors"; import { selectBodyshop } from "../../redux/user/user.selectors"; import GlobalSearch from "../global-search/global-search.component"; +import GlobalSearchOs from "../global-search/global-search-os.component"; import "./breadcrumbs.styles.scss"; +import { useTreatments } from "@splitsoftware/splitio-react"; const mapStateToProps = createStructuredSelector({ breadcrumbs: selectBreadcrumbs, @@ -15,6 +17,12 @@ const mapStateToProps = createStructuredSelector({ }); export function BreadCrumbs({ breadcrumbs, bodyshop }) { + const { OpenSearch } = useTreatments( + ["OpenSearch"], + {}, + bodyshop && bodyshop.imexshopid + ); + return ( @@ -38,7 +46,7 @@ export function BreadCrumbs({ breadcrumbs, bodyshop }) { - + {OpenSearch.treatment === "on" ? : } ); diff --git a/client/src/components/global-search/global-search-os.component.jsx b/client/src/components/global-search/global-search-os.component.jsx new file mode 100644 index 000000000..94a32d569 --- /dev/null +++ b/client/src/components/global-search/global-search-os.component.jsx @@ -0,0 +1,208 @@ +import { useLazyQuery } from "@apollo/client"; +import { AutoComplete, Divider, Input, Space } from "antd"; +import _ from "lodash"; +import React, { useState } from "react"; +import { useTranslation } from "react-i18next"; +import { Link, useHistory } from "react-router-dom"; +import { GLOBAL_SEARCH_QUERY } from "../../graphql/search.queries"; +import PhoneNumberFormatter from "../../utils/PhoneFormatter"; +import AlertComponent from "../alert/alert.component"; +import OwnerNameDisplay, { + OwnerNameDisplayFunction, +} from "../owner-name-display/owner-name-display.component"; +import VehicleVinDisplay from "../vehicle-vin-display/vehicle-vin-display.component"; +import axios from "axios"; + +export default function GlobalSearchOs() { + const { t } = useTranslation(); + const history = useHistory(); + const [loading, setLoading] = useState(false); + const [data, setData] = useState(false); + + const executeSearch = async (v) => { + if (v && v && v !== "" && v.length >= 3) { + const searchData = await axios.post("/search", { + search: v, + }); + + const resultsByType = { + payments: [], + jobs: [], + bills: [], + owners: [], + vehicles: [], + }; + + searchData.data.hits.hits.forEach((hit) => { + resultsByType[hit._index].push(hit._source); + }); + setData([ + { + label: renderTitle(t("menus.header.search.jobs")), + options: resultsByType.jobs.map((job) => { + return { + key: job.id, + value: job.ro_number, + label: ( + + }> + {job.ro_number || t("general.labels.na")} + {`${job.status || ""}`} + + + + {`${job.v_model_yr || ""} ${job.v_make_desc || ""} ${ + job.v_model_desc || "" + }`} + {`${job.clm_no || ""}`} + + + ), + }; + }), + }, + { + label: renderTitle(t("menus.header.search.owners")), + options: resultsByType.owners.map((owner) => { + return { + key: owner.id, + value: OwnerNameDisplayFunction(owner), + label: ( + + } wrap> + + + + + {owner.ownr_ph1} + + + {owner.ownr_ph2} + + + + ), + }; + }), + }, + { + label: renderTitle(t("menus.header.search.vehicles")), + options: resultsByType.vehicles.map((vehicle) => { + return { + key: vehicle.id, + value: `${vehicle.v_model_yr || ""} ${ + vehicle.v_make_desc || "" + } ${vehicle.v_model_desc || ""}`, + label: ( + + }> + + {`${vehicle.v_model_yr || ""} ${ + vehicle.v_make_desc || "" + } ${vehicle.v_model_desc || ""}`} + + {vehicle.plate_no || ""} + + + {vehicle.v_vin || ""} + + + + + ), + }; + }), + }, + { + label: renderTitle(t("menus.header.search.payments")), + options: resultsByType.payments.map((payment) => { + return { + key: payment.id, + value: `${payment.job?.ro_number} ${payment.amount}`, + label: ( + + }> + {payment.paymentnum} + {payment.job?.ro_number} + {payment.memo || ""} + {payment.amount || ""} + {payment.transactionid || ""} + + + ), + }; + }), + }, + { + label: renderTitle(t("menus.header.search.bills")), + options: resultsByType.bills.map((bill) => { + return { + key: bill.id, + value: `${bill.invoice_number} - ${bill.vendor.name}`, + label: ( + + }> + {bill.invoice_number} + {bill.vendor.name} + {bill.date} + + + ), + }; + }), + }, + // { + // label: renderTitle(t("menus.header.search.phonebook")), + // options: resultsByType.search_phonebook.map((pb) => { + // return { + // key: pb.id, + // value: `${pb.firstname || ""} ${pb.lastname || ""} ${ + // pb.company || "" + // }`, + // label: ( + // + // }> + // {`${pb.firstname || ""} ${pb.lastname || ""} ${ + // pb.company || "" + // }`} + // {pb.phone1} + // {pb.email} + // + // + // ), + // }; + // }), + // }, + ]); + } + }; + const debouncedExecuteSearch = _.debounce(executeSearch, 750); + + const handleSearch = (value) => { + console.log("Handle Search"); + debouncedExecuteSearch(value); + }; + + const renderTitle = (title) => { + return {title}; + }; + + return ( + { + history.push(opt.label.props.to); + }} + > + + + ); +} diff --git a/hasura/metadata/tables.yaml b/hasura/metadata/tables.yaml index 3cbc21d33..2d36a544e 100644 --- a/hasura/metadata/tables.yaml +++ b/hasura/metadata/tables.yaml @@ -673,6 +673,33 @@ _eq: true - exported: _eq: false + event_triggers: + - name: os_bills + definition: + delete: + columns: '*' + enable_manual: false + insert: + columns: '*' + update: + columns: + - jobid + - invoice_number + - due_date + - vendorid + - id + - date + retry_conf: + interval_sec: 10 + num_retries: 3 + timeout_sec: 60 + webhook_from_env: HASURA_API_URL + request_transform: + method: POST + query_params: {} + template_engine: Kriti + url: '{{$base_url}}/opensearch' + version: 2 - table: name: bodyshops schema: public @@ -945,6 +972,7 @@ - tt_enforce_hours_for_tech_console - updated_at - use_fippa + - use_paint_scale_data - uselocalmediaserver - website - workingdays @@ -1034,6 +1062,7 @@ - tt_enforce_hours_for_tech_console - updated_at - use_fippa + - use_paint_scale_data - uselocalmediaserver - website - workingdays @@ -4054,6 +4083,41 @@ template_engine: Kriti url: '{{$base_url}}/record-handler/arms' version: 2 + - name: os_jobs + definition: + delete: + columns: '*' + enable_manual: false + insert: + columns: '*' + update: + columns: + - v_color + - ownerid + - ownr_fn + - v_model_desc + - ownr_ln + - id + - v_make_desc + - ownr_st + - clm_no + - voided + - status + - ownr_co_nm + - v_model_yr + - v_vin + - converted + retry_conf: + interval_sec: 10 + num_retries: 3 + timeout_sec: 60 + webhook_from_env: HASURA_API_URL + request_transform: + method: POST + query_params: {} + template_engine: Kriti + url: '{{$base_url}}/opensearch' + version: 2 - table: name: masterdata schema: public @@ -4478,6 +4542,32 @@ _eq: X-Hasura-User-Id - active: _eq: true + event_triggers: + - name: os_owners + definition: + delete: + columns: '*' + enable_manual: false + insert: + columns: '*' + update: + columns: + - shopid + - ownr_fn + - id + - ownr_co_nm + - ownr_ln + retry_conf: + interval_sec: 10 + num_retries: 3 + timeout_sec: 60 + webhook_from_env: HASURA_API_URL + request_transform: + method: POST + query_params: {} + template_engine: Kriti + url: '{{$base_url}}/opensearch' + version: 2 - table: name: parts_order_lines schema: public @@ -4901,6 +4991,36 @@ _eq: X-Hasura-User-Id - active: _eq: true + event_triggers: + - name: os_payments + definition: + delete: + columns: '*' + enable_manual: false + insert: + columns: '*' + update: + columns: + - paymentnum + - type + - amount + - date + - transactionid + - memo + - payer + - id + - jobid + retry_conf: + interval_sec: 10 + num_retries: 3 + timeout_sec: 60 + webhook_from_env: HASURA_API_URL + request_transform: + method: POST + query_params: {} + template_engine: Kriti + url: '{{$base_url}}/opensearch' + version: 2 - table: name: phonebook schema: public @@ -5815,6 +5935,34 @@ _eq: X-Hasura-User-Id - active: _eq: true + event_triggers: + - name: os_vehicles + definition: + delete: + columns: '*' + enable_manual: false + insert: + columns: '*' + update: + columns: + - v_model_yr + - plate_no + - id + - v_vin + - v_model_desc + - plate_st + - shopid + retry_conf: + interval_sec: 10 + num_retries: 3 + timeout_sec: 60 + webhook_from_env: HASURA_API_URL + request_transform: + method: POST + query_params: {} + template_engine: Kriti + url: '{{$base_url}}/opensearch' + version: 2 - table: name: vendors schema: public diff --git a/os-loader.js b/os-loader.js new file mode 100644 index 000000000..e26ae933b --- /dev/null +++ b/os-loader.js @@ -0,0 +1,235 @@ +const Dinero = require("dinero.js"); + +//const client = require("../graphql-client/graphql-client").client; +const _ = require("lodash"); +const GraphQLClient = require("graphql-request").GraphQLClient; +const logger = require("./server/utils/logger"); + +const path = require("path"); +const client = require("./server/graphql-client/graphql-client").client; +require("dotenv").config({ + path: path.resolve( + process.cwd(), + `.env.${process.env.NODE_ENV || "development"}` + ), +}); +const { Client, Connection } = require("@opensearch-project/opensearch"); +const { defaultProvider } = require("@aws-sdk/credential-provider-node"); +const aws4 = require("aws4"); +const { gql } = require("graphql-request"); +const gqlclient = require("./server/graphql-client/graphql-client").client; +// const osClient = new Client({ +// node: `https://imex:Wl0d8k@!@search-imexonline-search-ixp2stfvwp6qocjsowzjzyreoy.ca-central-1.es.amazonaws.com/`, +// }); + +var host = process.env.OPEN_SEARCH_HOST; // e.g. https://my-domain.region.es.amazonaws.com +const createAwsConnector = (credentials, region) => { + class AmazonConnection extends Connection { + buildRequestObject(params) { + const request = super.buildRequestObject(params); + request.service = "es"; + request.region = region; + request.headers = request.headers || {}; + request.headers["host"] = request.hostname; + + return aws4.sign(request, credentials); + } + } + return { + Connection: AmazonConnection, + }; +}; + +const getClient = async () => { + const credentials = await defaultProvider()(); + return new Client({ + ...createAwsConnector(credentials, "ca-central-1"), + node: host, + }); +}; + +async function OpenSearchUpdateHandler(req, res) { + try { + // var osClient = await getClient(); + const osClient = new Client({ + node: `https://imex:Wl0d8k@!@search-imexonline-search-ixp2stfvwp6qocjsowzjzyreoy.ca-central-1.es.amazonaws.com/`, + }); + + //Clear out all current documents + const deleteResult = await osClient.deleteByQuery({ + index: ["jobs", "payments", "bills", "vehicles", "owners"], + body: { + query: { + match_all: {}, + }, + }, + }); + + var batchSize = 1000; + var promiseQueue = []; + + //Jobs Load. + const jobsData = await gqlclient.request(`query{jobs{ + id + bodyshopid:shopid + ro_number + clm_no + ownr_fn + ownr_ln + status + ownr_co_nm + v_model_yr + v_make_desc + v_model_desc + }}`); + for (let i = 0; i <= jobsData.jobs.length / batchSize; i++) { + const slicedArray = jobsData.jobs.slice( + i * batchSize, + i * batchSize + batchSize + ); + const bulkOperation = []; + slicedArray.forEach((job) => { + bulkOperation.push({ index: { _index: "jobs", _id: job.id } }); + bulkOperation.push(job); + }); + promiseQueue.push(bulkOperation); + } + + //Owner Load + const ownersData = await gqlclient.request(`{ + owners { + id + bodyshopid: shopid + ownr_fn + ownr_ln + ownr_co_nm + ownr_ph1 + ownr_ph2 + } + } + `); + for (let i = 0; i <= ownersData.owners.length / batchSize; i++) { + const slicedArray = ownersData.owners.slice( + i * batchSize, + i * batchSize + batchSize + ); + const bulkOperation = []; + slicedArray.forEach((owner) => { + bulkOperation.push({ index: { _index: "owners", _id: owner.id } }); + bulkOperation.push(owner); + }); + promiseQueue.push(bulkOperation); + } + + //Vehicles + const vehiclesData = await gqlclient.request(`{ + vehicles { + id + bodyshopid: shopid +v_model_yr +v_model_desc +v_make_desc +v_color +v_vin +plate_no + } + } + `); + for (let i = 0; i <= vehiclesData.vehicles.length / batchSize; i++) { + const slicedArray = vehiclesData.vehicles.slice( + i * batchSize, + i * batchSize + batchSize + ); + const bulkOperation = []; + slicedArray.forEach((vehicle) => { + bulkOperation.push({ index: { _index: "vehicles", _id: vehicle.id } }); + bulkOperation.push(vehicle); + }); + promiseQueue.push(bulkOperation); + } + + //payments + const paymentsData = await gqlclient.request(`{ + payments { + id + amount + paymentnum + memo + transactionid + job { + id + ro_number + bodyshopid: shopid + } + } + } + + `); + for (let i = 0; i <= paymentsData.payments.length / batchSize; i++) { + const slicedArray = paymentsData.payments.slice( + i * batchSize, + i * batchSize + batchSize + ); + const bulkOperation = []; + slicedArray.forEach((payment) => { + bulkOperation.push({ index: { _index: "payments", _id: payment.id } }); + bulkOperation.push({ + ..._.omit(payment, ["job"]), + bodyshopid: payment.job.id, + }); + }); + promiseQueue.push(bulkOperation); + } + + //bills + const billsData = await gqlclient.request(`{ + bills { + id + total + invoice_number + date + vendor { + name + id + } + job { + ro_number + id + bodyshopid: shopid + } + } + } + + `); + for (let i = 0; i <= billsData.bills.length / batchSize; i++) { + const slicedArray = billsData.bills.slice( + i * batchSize, + i * batchSize + batchSize + ); + const bulkOperation = []; + slicedArray.forEach((bill) => { + bulkOperation.push({ index: { _index: "bills", _id: bill.id } }); + bulkOperation.push({ + ..._.omit(bill, ["job"]), + bodyshopid: bill.job.id, + }); + }); + promiseQueue.push(bulkOperation); + } + + //Load the entire queue. + for (const queueItem of promiseQueue) { + const insertJobsBulk = await osClient.bulk({ body: queueItem }); + + console.log( + ` ${insertJobsBulk.body.items.length} Records inserted in ${insertJobsBulk.body.took}.` + ); + if (insertJobsBulk.body.errors) + console.error("*** Error while inserting."); + } + } catch (error) { + console.log(error); + } +} + +OpenSearchUpdateHandler(); diff --git a/package-lock.json b/package-lock.json index d9f7e3cfa..73a9108b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.1", "license": "UNLICENSED", "dependencies": { + "@opensearch-project/opensearch": "^2.2.1", "aws-sdk": "^2.1326.0", "axios": "^0.27.2", "bluebird": "^3.7.2", @@ -362,6 +363,22 @@ "node": ">=8.0" } }, + "node_modules/@opensearch-project/opensearch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@opensearch-project/opensearch/-/opensearch-2.2.1.tgz", + "integrity": "sha512-8zfQX1acL9eWG+ohIc9nJVT9LSqXCdbVEJs0rCPRtji3XF6ahzsiKmGNTeWLxCPDxWCjAIWq9t95xP3Y5Egi6Q==", + "dependencies": { + "aws4": "^1.11.0", + "debug": "^4.3.1", + "hpagent": "^1.2.0", + "ms": "^2.1.3", + "secure-json-parse": "^2.4.0" + }, + "engines": { + "node": ">=10", + "yarn": "^1.22.10" + } + }, "node_modules/@protobufjs/aspromise": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", @@ -3066,6 +3083,14 @@ "node": ">=8" } }, + "node_modules/hpagent": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-1.2.0.tgz", + "integrity": "sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA==", + "engines": { + "node": ">=14" + } + }, "node_modules/href-content": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/href-content/-/href-content-2.0.2.tgz", @@ -4972,6 +4997,11 @@ "integrity": "sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==", "license": "BSD-3-Clause" }, + "node_modules/secure-json-parse": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", + "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==" + }, "node_modules/semver": { "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", @@ -6580,6 +6610,18 @@ "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-8.3.8.tgz", "integrity": "sha512-T8TbSnGsxo6TDBJx/Sgv/BlVJL3tshxZP7Aq5R1mSnM5OcHY2dQaxLMu2+E8u3gN0MLOzdjurqN4ZRVuzQycOQ==" }, + "@opensearch-project/opensearch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@opensearch-project/opensearch/-/opensearch-2.2.1.tgz", + "integrity": "sha512-8zfQX1acL9eWG+ohIc9nJVT9LSqXCdbVEJs0rCPRtji3XF6ahzsiKmGNTeWLxCPDxWCjAIWq9t95xP3Y5Egi6Q==", + "requires": { + "aws4": "^1.11.0", + "debug": "^4.3.1", + "hpagent": "^1.2.0", + "ms": "^2.1.3", + "secure-json-parse": "^2.4.0" + } + }, "@protobufjs/aspromise": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", @@ -8622,6 +8664,11 @@ "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==" }, + "hpagent": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-1.2.0.tgz", + "integrity": "sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA==" + }, "href-content": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/href-content/-/href-content-2.0.2.tgz", @@ -10042,6 +10089,11 @@ "resolved": "https://registry.npmjs.org/scmp/-/scmp-2.1.0.tgz", "integrity": "sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==" }, + "secure-json-parse": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", + "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==" + }, "semver": { "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", diff --git a/package.json b/package.json index 47f432c8f..e2896516b 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,10 @@ "start": "node server.js" }, "dependencies": { + "@aws-sdk/credential-provider-node": "^3.319.0", + "@opensearch-project/opensearch": "^2.2.1", "aws-sdk": "^2.1326.0", + "aws4": "^1.12.0", "axios": "^0.27.2", "bluebird": "^3.7.2", "body-parser": "^1.20.2", diff --git a/server.js b/server.js index 0a36f00b9..273676bb9 100644 --- a/server.js +++ b/server.js @@ -233,6 +233,13 @@ app.post("/newlog", (req, res) => { logger.log(message, type, user, record, object); }); +var os = require("./server/opensearch/os-handler"); +app.post( + "/opensearch", //fb.validateFirebaseIdToken, + os.handler +); +app.post("/search", fb.validateFirebaseIdToken, os.search); + var cdkGetMake = require("./server/cdk/cdk-get-makes"); app.post("/cdk/getvehicles", fb.validateFirebaseIdToken, cdkGetMake.default); diff --git a/server/graphql-client/queries.js b/server/graphql-client/queries.js index e71bf2e4a..e5aaa3083 100644 --- a/server/graphql-client/queries.js +++ b/server/graphql-client/queries.js @@ -1743,3 +1743,11 @@ exports.UPDATE_PARTS_CRITICAL = `mutation UPDATE_PARTS_CRITICAL ($IdsToMarkCriti affected_rows } }`; + +exports.ACTIVE_SHOP_BY_USER = `query ACTIVE_SHOP_BY_USER($user: String) { + associations(where: {active: {_eq: true}, useremail: {_eq: $user}}) { + id + shopid + } +} +`; diff --git a/server/opensearch/os-handler.js b/server/opensearch/os-handler.js new file mode 100644 index 000000000..c60902077 --- /dev/null +++ b/server/opensearch/os-handler.js @@ -0,0 +1,251 @@ +const Dinero = require("dinero.js"); +const queries = require("../graphql-client/queries"); +//const client = require("../graphql-client/graphql-client").client; +const _ = require("lodash"); +const GraphQLClient = require("graphql-request").GraphQLClient; +const logger = require("../utils/logger"); + +const path = require("path"); +const client = require("../graphql-client/graphql-client").client; +require("dotenv").config({ + path: path.resolve( + process.cwd(), + `.env.${process.env.NODE_ENV || "development"}` + ), +}); +const { Client, Connection } = require("@opensearch-project/opensearch"); +const { defaultProvider } = require("@aws-sdk/credential-provider-node"); +const aws4 = require("aws4"); +const { gql } = require("graphql-request"); + +var host = process.env.OPEN_SEARCH_HOST; +const createAwsConnector = (credentials, region) => { + class AmazonConnection extends Connection { + buildRequestObject(params) { + const request = super.buildRequestObject(params); + request.service = "es"; + request.region = region; + request.headers = request.headers || {}; + request.headers["host"] = request.hostname; + + return aws4.sign(request, credentials); + } + } + return { + Connection: AmazonConnection, + }; +}; + +const getClient = async () => { + const credentials = await defaultProvider()(); + return new Client({ + ...createAwsConnector(credentials, "ca-central-1"), + node: host, + }); +}; + +async function OpenSearchUpdateHandler(req, res) { + try { + var osClient = await getClient(); + // const osClient = new Client({ + // node: `https://imex:@search-imexonline-search-ixp2stfvwp6qocjsowzjzyreoy.ca-central-1.es.amazonaws.com/`, + // }); + + if (req.body.event.op === "DELETE") { + let response; + response = await osClient.delete({ + id: req.body.event.data.old.id, + index: req.body.table.name, + }); + res.status(200).json(response.body); + } else { + let document; + + switch (req.body.table.name) { + case "jobs": + document = _.pick(req.body.event.data.new, [ + "id", + "bodyshopid", + "ro_number", + "clm_no", + "ownr_fn", + "ownr_ln", + "status", + "ownr_co_nm", + "v_model_yr", + "v_make_desc", + "v_model_desc", + ]); + document.bodyshopid = req.body.event.data.new.shopid; + break; + case "vehicles": + document = _.pick(req.body.event.data.new, [ + "id", + "v_model_yr", + "v_model_desc", + "v_make_desc", + "v_color", + "v_vin", + "plate_no", + ]); + document.bodyshopid = req.body.event.data.new.shopid; + break; + case "owners": + document = _.pick(req.body.event.data.new, [ + "id", + "ownr_fn", + "ownr_ln", + "ownr_co_nm", + "ownr_ph1", + "ownr_ph2", + ]); + document.bodyshopid = req.body.event.data.new.shopid; + break; + case "bills": + const bill = await client.request( + `query ADMIN_GET_BILL_BY_ID($billId: uuid!) { + bills_by_pk(id: $billId) { + id + job { + id + ro_number + shopid + } + vendor { + id + name + } + } + } + `, + { billId: req.body.event.data.new.id } + ); + + document = { + ..._.pick(req.body.event.data.new, [ + "id", + "invoice_number", + "date", + ]), + ...bill.bills_by_pk, + bodyshopid: bill.bills_by_pk.job.shopid, + }; + + break; + case "payments": + //Query to get the job and RO number + const payment = await client.request( + `query ADMIN_GET_PAYMENT_BY_ID($paymentId: uuid!) { + payments_by_pk(id: $paymentId) { + id + job { + id + ro_number + shopid + } + } + } + + `, + { paymentId: req.body.event.data.new.id } + ); + document = { + ..._.pick(req.body.event.data.new, ["id", "invoice_number"]), + ...payment.payments_by_pk, + bodyshopid: bill.payments_by_pk.job.shopid, + }; + break; + } + + const payload = { + id: req.body.event.data.new.id, + index: req.body.table.name, + body: document, + }; + + let response; + response = await osClient.index(payload); + console.log(response.body); + res.status(200).json(response.body); + } + } catch (error) { + res.status(400).json(JSON.stringify(error)); + } finally { + } +} + +async function OpensearchSearchHandler(req, res) { + try { + const { search, bodyshopid } = req.body; + if (!req.user) { + res.sendStatus(401); + return; + } + logger.log("os-search", "DEBUG", req.user.email, null, { + search, + }); + + const BearerToken = req.headers.authorization; + const client = new GraphQLClient(process.env.GRAPHQL_ENDPOINT, { + headers: { + Authorization: BearerToken, + }, + }); + + const assocs = await client + .setHeaders({ Authorization: BearerToken }) + .request(queries.ACTIVE_SHOP_BY_USER, { + user: req.user.email, + }); + + if (assocs.length === 0) { + res.sendStatus(401); + } + + var osClient = await getClient(); + + const { body } = await osClient.search({ + body: { + size: 100, + query: { + bool: { + must: [ + { + multi_match: { + query: search, + //fields: ["*"], + fuzziness: "AUTO", + prefix_length: 2, + }, + }, + { + match: { + bodyshopid: assocs.associations[0].shopid, + }, + }, + ], + }, + }, + sort: [ + { + _score: { + order: "desc", + }, + }, + ], + }, + }); + + res.json(body); + } catch (error) { + console.log(error); + logger.log("os-search-error", "ERROR", req.user.email, null, { + error: JSON.stringify(error), + }); + res.status(400).json(error); + } finally { + } +} + +exports.handler = OpenSearchUpdateHandler; +exports.search = OpensearchSearchHandler; diff --git a/yarn.lock b/yarn.lock index feca9c296..f7958c07f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,580 @@ # yarn lockfile v1 +"@aws-crypto/ie11-detection@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz#640ae66b4ec3395cee6a8e94ebcd9f80c24cd688" + integrity sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q== + dependencies: + tslib "^1.11.1" + +"@aws-crypto/sha256-browser@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz#05f160138ab893f1c6ba5be57cfd108f05827766" + integrity sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ== + dependencies: + "@aws-crypto/ie11-detection" "^3.0.0" + "@aws-crypto/sha256-js" "^3.0.0" + "@aws-crypto/supports-web-crypto" "^3.0.0" + "@aws-crypto/util" "^3.0.0" + "@aws-sdk/types" "^3.222.0" + "@aws-sdk/util-locate-window" "^3.0.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-crypto/sha256-js@3.0.0", "@aws-crypto/sha256-js@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz#f06b84d550d25521e60d2a0e2a90139341e007c2" + integrity sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ== + dependencies: + "@aws-crypto/util" "^3.0.0" + "@aws-sdk/types" "^3.222.0" + tslib "^1.11.1" + +"@aws-crypto/supports-web-crypto@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz#5d1bf825afa8072af2717c3e455f35cda0103ec2" + integrity sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg== + dependencies: + tslib "^1.11.1" + +"@aws-crypto/util@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-3.0.0.tgz#1c7ca90c29293f0883468ad48117937f0fe5bfb0" + integrity sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w== + dependencies: + "@aws-sdk/types" "^3.222.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-sdk/abort-controller@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/abort-controller/-/abort-controller-3.310.0.tgz#0da2d29b823daa03b7c1f0b43de1f030583b4f51" + integrity sha512-v1zrRQxDLA1MdPim159Vx/CPHqsB4uybSxRi1CnfHO5ZjHryx3a5htW2gdGAykVCul40+yJXvfpufMrELVxH+g== + dependencies: + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/client-sso-oidc@3.319.0": + version "3.319.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.319.0.tgz#d9c1045ac3e1c55b719590f2a47e825a803fd6ed" + integrity sha512-GJBgT/tephRZY3oTbDBMv+G9taoqKUIvGPn+7shmzz2P1SerutsRSfKfDXV+VptPNRoGmjjCLPmWjMFYbFKILQ== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/config-resolver" "3.310.0" + "@aws-sdk/fetch-http-handler" "3.310.0" + "@aws-sdk/hash-node" "3.310.0" + "@aws-sdk/invalid-dependency" "3.310.0" + "@aws-sdk/middleware-content-length" "3.310.0" + "@aws-sdk/middleware-endpoint" "3.310.0" + "@aws-sdk/middleware-host-header" "3.310.0" + "@aws-sdk/middleware-logger" "3.310.0" + "@aws-sdk/middleware-recursion-detection" "3.310.0" + "@aws-sdk/middleware-retry" "3.310.0" + "@aws-sdk/middleware-serde" "3.310.0" + "@aws-sdk/middleware-stack" "3.310.0" + "@aws-sdk/middleware-user-agent" "3.319.0" + "@aws-sdk/node-config-provider" "3.310.0" + "@aws-sdk/node-http-handler" "3.310.0" + "@aws-sdk/protocol-http" "3.310.0" + "@aws-sdk/smithy-client" "3.316.0" + "@aws-sdk/types" "3.310.0" + "@aws-sdk/url-parser" "3.310.0" + "@aws-sdk/util-base64" "3.310.0" + "@aws-sdk/util-body-length-browser" "3.310.0" + "@aws-sdk/util-body-length-node" "3.310.0" + "@aws-sdk/util-defaults-mode-browser" "3.316.0" + "@aws-sdk/util-defaults-mode-node" "3.316.0" + "@aws-sdk/util-endpoints" "3.319.0" + "@aws-sdk/util-retry" "3.310.0" + "@aws-sdk/util-user-agent-browser" "3.310.0" + "@aws-sdk/util-user-agent-node" "3.310.0" + "@aws-sdk/util-utf8" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/client-sso@3.319.0": + version "3.319.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.319.0.tgz#7cb96c4ef23fe97a561d15241a8bee3d3cfbd1c6" + integrity sha512-g46KgAjRiYBS8Oi85DPwSAQpt+Hgmw/YFgGVwZqMfTL70KNJwLFKRa5D9UocQd7t7OjPRdKF7g0Gp5peyAK9dw== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/config-resolver" "3.310.0" + "@aws-sdk/fetch-http-handler" "3.310.0" + "@aws-sdk/hash-node" "3.310.0" + "@aws-sdk/invalid-dependency" "3.310.0" + "@aws-sdk/middleware-content-length" "3.310.0" + "@aws-sdk/middleware-endpoint" "3.310.0" + "@aws-sdk/middleware-host-header" "3.310.0" + "@aws-sdk/middleware-logger" "3.310.0" + "@aws-sdk/middleware-recursion-detection" "3.310.0" + "@aws-sdk/middleware-retry" "3.310.0" + "@aws-sdk/middleware-serde" "3.310.0" + "@aws-sdk/middleware-stack" "3.310.0" + "@aws-sdk/middleware-user-agent" "3.319.0" + "@aws-sdk/node-config-provider" "3.310.0" + "@aws-sdk/node-http-handler" "3.310.0" + "@aws-sdk/protocol-http" "3.310.0" + "@aws-sdk/smithy-client" "3.316.0" + "@aws-sdk/types" "3.310.0" + "@aws-sdk/url-parser" "3.310.0" + "@aws-sdk/util-base64" "3.310.0" + "@aws-sdk/util-body-length-browser" "3.310.0" + "@aws-sdk/util-body-length-node" "3.310.0" + "@aws-sdk/util-defaults-mode-browser" "3.316.0" + "@aws-sdk/util-defaults-mode-node" "3.316.0" + "@aws-sdk/util-endpoints" "3.319.0" + "@aws-sdk/util-retry" "3.310.0" + "@aws-sdk/util-user-agent-browser" "3.310.0" + "@aws-sdk/util-user-agent-node" "3.310.0" + "@aws-sdk/util-utf8" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/config-resolver@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/config-resolver/-/config-resolver-3.310.0.tgz#c02dce96546d5cd25551bc89907b27224e16ca7f" + integrity sha512-8vsT+/50lOqfDxka9m/rRt6oxv1WuGZoP8oPMk0Dt+TxXMbAzf4+rejBgiB96wshI1k3gLokYRjSQZn+dDtT8g== + dependencies: + "@aws-sdk/types" "3.310.0" + "@aws-sdk/util-config-provider" "3.310.0" + "@aws-sdk/util-middleware" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-env@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.310.0.tgz#c52694fb276341db6ce4e816cf9ca90fa5830dad" + integrity sha512-vvIPQpI16fj95xwS7M3D48F7QhZJBnnCgB5lR+b7So+vsG9ibm1mZRVGzVpdxCvgyOhHFbvrby9aalNJmmIP1A== + dependencies: + "@aws-sdk/property-provider" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-imds@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.310.0.tgz#d8fb1223fee7e289a81e28177fe55dedf4d2745e" + integrity sha512-baxK7Zp6dai5AGW01FIW27xS2KAaPUmKLIXv5SvFYsUgXXvNW55im4uG3b+2gA0F7V+hXvVBH08OEqmwW6we5w== + dependencies: + "@aws-sdk/node-config-provider" "3.310.0" + "@aws-sdk/property-provider" "3.310.0" + "@aws-sdk/types" "3.310.0" + "@aws-sdk/url-parser" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-ini@3.319.0": + version "3.319.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.319.0.tgz#154d8dc7c20f42449cb0f948e6a9d52103bd675b" + integrity sha512-pzx388Fw1KlSgmIMUyRY8DJVYM3aXpwzjprD4RiQVPJeAI+t7oQmEvd2FiUZEuHDjWXcuonxgU+dk7i7HUk/HQ== + dependencies: + "@aws-sdk/credential-provider-env" "3.310.0" + "@aws-sdk/credential-provider-imds" "3.310.0" + "@aws-sdk/credential-provider-process" "3.310.0" + "@aws-sdk/credential-provider-sso" "3.319.0" + "@aws-sdk/credential-provider-web-identity" "3.310.0" + "@aws-sdk/property-provider" "3.310.0" + "@aws-sdk/shared-ini-file-loader" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-node@^3.319.0": + version "3.319.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.319.0.tgz#51c8cd9d676d5b3ef80e88282fc1925946b1aaaf" + integrity sha512-DS4a0Rdd7ZtMshoeE+zuSgbC05YBcdzd0h89u/eX+1Yqx+HCjeb8WXkbXsz0Mwx8q9TE04aS8f6Bw9J4x4mO5g== + dependencies: + "@aws-sdk/credential-provider-env" "3.310.0" + "@aws-sdk/credential-provider-imds" "3.310.0" + "@aws-sdk/credential-provider-ini" "3.319.0" + "@aws-sdk/credential-provider-process" "3.310.0" + "@aws-sdk/credential-provider-sso" "3.319.0" + "@aws-sdk/credential-provider-web-identity" "3.310.0" + "@aws-sdk/property-provider" "3.310.0" + "@aws-sdk/shared-ini-file-loader" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-process@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.310.0.tgz#0b2ee77f0c48262442d2768044d72332a4ad8884" + integrity sha512-h73sg6GPMUWC+3zMCbA1nZ2O03nNJt7G96JdmnantiXBwHpRKWW8nBTLzx5uhXn6hTuTaoQRP/P+oxQJKYdMmA== + dependencies: + "@aws-sdk/property-provider" "3.310.0" + "@aws-sdk/shared-ini-file-loader" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-sso@3.319.0": + version "3.319.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.319.0.tgz#c7bbea82e28bfbbafdb7d729239464c7ae38f7d0" + integrity sha512-gAUnWH41lxkIbANXu+Rz5zS0Iavjjmpf3C56vAMT7oaYZ3Cg/Ys5l2SwAucQGOCA2DdS2hDiSI8E+Yhr4F5toA== + dependencies: + "@aws-sdk/client-sso" "3.319.0" + "@aws-sdk/property-provider" "3.310.0" + "@aws-sdk/shared-ini-file-loader" "3.310.0" + "@aws-sdk/token-providers" "3.319.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-web-identity@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.310.0.tgz#c9fa09b0068027e58d31178e3fa06bf4e9ae9d36" + integrity sha512-H4SzuZXILNhK6/IR1uVvsUDZvzc051hem7GLyYghBCu8mU+tq28YhKE8MfSroi6eL2e5Vujloij1OM2EQQkPkw== + dependencies: + "@aws-sdk/property-provider" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/fetch-http-handler@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.310.0.tgz#f31006b7b3103683d72e177cd27d80354f7a37c4" + integrity sha512-Bi9vIwzdkw1zMcvi/zGzlWS9KfIEnAq4NNhsnCxbQ4OoIRU9wvU+WGZdBBhxg0ZxZmpp1j1aZhU53lLjA07MHw== + dependencies: + "@aws-sdk/protocol-http" "3.310.0" + "@aws-sdk/querystring-builder" "3.310.0" + "@aws-sdk/types" "3.310.0" + "@aws-sdk/util-base64" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/hash-node@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/hash-node/-/hash-node-3.310.0.tgz#4c1c89b9a2da3bb9783de84f0b762cc055b90d67" + integrity sha512-NvE2fhRc8GRwCXBfDehxVAWCmVwVMILliAKVPAEr4yz2CkYs0tqU51S48x23dtna07H4qHtgpeNqVTthcIQOEQ== + dependencies: + "@aws-sdk/types" "3.310.0" + "@aws-sdk/util-buffer-from" "3.310.0" + "@aws-sdk/util-utf8" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/invalid-dependency@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/invalid-dependency/-/invalid-dependency-3.310.0.tgz#b96da9b9f63b12d1c390f9a06eeb28840fcb5b3c" + integrity sha512-1s5RG5rSPXoa/aZ/Kqr5U/7lqpx+Ry81GprQ2bxWqJvWQIJ0IRUwo5pk8XFxbKVr/2a+4lZT/c3OGoBOM1yRRA== + dependencies: + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/is-array-buffer@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/is-array-buffer/-/is-array-buffer-3.310.0.tgz#f87a79f1b858c88744f07e8d8d0a791df204017e" + integrity sha512-urnbcCR+h9NWUnmOtet/s4ghvzsidFmspfhYaHAmSRdy9yDjdjBJMFjjsn85A1ODUktztm+cVncXjQ38WCMjMQ== + dependencies: + tslib "^2.5.0" + +"@aws-sdk/middleware-content-length@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-content-length/-/middleware-content-length-3.310.0.tgz#cc9b6c25c10736cec41d0219c94b57cfdb4582a3" + integrity sha512-P8tQZxgDt6CAh1wd/W6WPzjc+uWPJwQkm+F7rAwRlM+k9q17HrhnksGDKcpuuLyIhPQYdmOMIkpKVgXGa4avhQ== + dependencies: + "@aws-sdk/protocol-http" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-endpoint@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.310.0.tgz#d4bf8ac3cd4800af789d6bcb469b7e8cfa10badb" + integrity sha512-Z+N2vOL8K354/lstkClxLLsr6hCpVRh+0tCMXrVj66/NtKysCEZ/0b9LmqOwD9pWHNiI2mJqXwY0gxNlKAroUg== + dependencies: + "@aws-sdk/middleware-serde" "3.310.0" + "@aws-sdk/types" "3.310.0" + "@aws-sdk/url-parser" "3.310.0" + "@aws-sdk/util-middleware" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-host-header@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.310.0.tgz#bdd4fbffb58b331bda517df8340aa8b44ce55550" + integrity sha512-QWSA+46/hXorXyWa61ic2K7qZzwHTiwfk2e9mRRjeIRepUgI3qxFjsYqrWtrOGBjmFmq0pYIY8Bb/DCJuQqcoA== + dependencies: + "@aws-sdk/protocol-http" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-logger@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.310.0.tgz#8cc6381f49ef867cae1364b8517f939629e4dd9d" + integrity sha512-Lurm8XofrASBRnAVtiSNuDSRsRqPNg27RIFLLsLp/pqog9nFJ0vz0kgdb9S5Z+zw83Mm+UlqOe6D8NTUNp4fVg== + dependencies: + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-recursion-detection@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.310.0.tgz#020c986ed8da751bd613fd84c8c8a805c89e0952" + integrity sha512-SuB75/xk/gyue24gkriTwO2jFd7YcUGZDClQYuRejgbXSa3CO0lWyawQtfLcSSEBp9izrEVXuFH24K1eAft5nQ== + dependencies: + "@aws-sdk/protocol-http" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-retry@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-retry/-/middleware-retry-3.310.0.tgz#12e95e962875d44af4acbdebe02db337a1ad5c35" + integrity sha512-oTPsRy2W4s+dfxbJPW7Km+hHtv/OMsNsVfThAq8DDYKC13qlr1aAyOqGLD+dpBy2aKe7ss517Sy2HcHtHqm7/g== + dependencies: + "@aws-sdk/protocol-http" "3.310.0" + "@aws-sdk/service-error-classification" "3.310.0" + "@aws-sdk/types" "3.310.0" + "@aws-sdk/util-middleware" "3.310.0" + "@aws-sdk/util-retry" "3.310.0" + tslib "^2.5.0" + uuid "^8.3.2" + +"@aws-sdk/middleware-serde@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-serde/-/middleware-serde-3.310.0.tgz#e334031b66a1a155375ec901478b26570fbe1783" + integrity sha512-RNeeTVWSLTaentUeCgQKZhAl+C6hxtwD78cQWS10UymWpQFwbaxztzKUu4UQS5xA2j6PxwPRRUjqa4jcFjfLsg== + dependencies: + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-stack@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-stack/-/middleware-stack-3.310.0.tgz#06c83963998fbdc83e99b67a7a138529312a6224" + integrity sha512-010O1PD+UAcZVKRvqEusE1KJqN96wwrf6QsqbRM0ywsKQ21NDweaHvEDlds2VHpgmofxkRLRu/IDrlPkKRQrRg== + dependencies: + tslib "^2.5.0" + +"@aws-sdk/middleware-user-agent@3.319.0": + version "3.319.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.319.0.tgz#8fa2d6d5e1824108f2bc618002dc0982801cf5c4" + integrity sha512-ytaLx2dlR5AdMSne6FuDCISVg8hjyKj+cHU20b2CRA/E/z+XXrLrssp4JrCgizRKPPUep0psMIa22Zd6osTT5Q== + dependencies: + "@aws-sdk/protocol-http" "3.310.0" + "@aws-sdk/types" "3.310.0" + "@aws-sdk/util-endpoints" "3.319.0" + tslib "^2.5.0" + +"@aws-sdk/node-config-provider@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/node-config-provider/-/node-config-provider-3.310.0.tgz#ba8fb41af2db0316291ba9002267627553ec65ac" + integrity sha512-T/Pp6htc6hq/Cq+MLNDSyiwWCMVF6GqbBbXKVlO5L8rdHx4sq9xPdoPveZhGWrxvkanjA6eCwUp6E0riBOSVng== + dependencies: + "@aws-sdk/property-provider" "3.310.0" + "@aws-sdk/shared-ini-file-loader" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/node-http-handler@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/node-http-handler/-/node-http-handler-3.310.0.tgz#bd8e72c1c7cf4b48c2a21851f638ad5e63001787" + integrity sha512-irv9mbcM9xC2xYjArQF5SYmHBMu4ciMWtGsoHII1nRuFOl9FoT4ffTvEPuLlfC6pznzvKt9zvnm6xXj7gDChKg== + dependencies: + "@aws-sdk/abort-controller" "3.310.0" + "@aws-sdk/protocol-http" "3.310.0" + "@aws-sdk/querystring-builder" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/property-provider@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/property-provider/-/property-provider-3.310.0.tgz#5fae8a4c11bda052afa9747d47b031f1c4f0f246" + integrity sha512-3lxDb0akV6BBzmFe4nLPaoliQbAifyWJhuvuDOu7e8NzouvpQXs0275w9LePhhcgjKAEVXUIse05ZW2DLbxo/g== + dependencies: + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/protocol-http@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/protocol-http/-/protocol-http-3.310.0.tgz#855c3314cba7ff3024a9a9701ca3c641691d997e" + integrity sha512-fgZ1aw/irQtnrsR58pS8ThKOWo57Py3xX6giRvwSgZDEcxHfVzuQjy9yPuV++v04fdmdtgpbGf8WfvAAJ11yXQ== + dependencies: + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/querystring-builder@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-builder/-/querystring-builder-3.310.0.tgz#5307ea52c3a4a1ae6818bbb6987cc6fce68b043f" + integrity sha512-ZHH8GV/80+pWGo7DzsvwvXR5xVxUHXUvPJPFAkhr6nCf78igdoF8gR10ScFoEKbtEapoNTaZlKHPXxpD8aPG7A== + dependencies: + "@aws-sdk/types" "3.310.0" + "@aws-sdk/util-uri-escape" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/querystring-parser@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-parser/-/querystring-parser-3.310.0.tgz#438183927e0b06e7c2ee004a1681b8d37c22e104" + integrity sha512-YkIznoP6lsiIUHinx++/lbb3tlMURGGqMpo0Pnn32zYzGrJXA6eC3D0as2EcMjo55onTfuLcIiX4qzXes2MYOA== + dependencies: + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/service-error-classification@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/service-error-classification/-/service-error-classification-3.310.0.tgz#352c1db426dcf54a44393bc9a0607dde796b2abb" + integrity sha512-PuyC7k3qfIKeH2LCnDwbttMOKq3qAx4buvg0yfnJtQOz6t1AR8gsnAq0CjKXXyfkXwNKWTqCpE6lVNUIkXgsMw== + +"@aws-sdk/shared-ini-file-loader@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.310.0.tgz#07e9c8e8e8bb0de7ed19b8cea908c920a493c9c9" + integrity sha512-N0q9pG0xSjQwc690YQND5bofm+4nfUviQ/Ppgan2kU6aU0WUq8KwgHJBto/YEEI+VlrME30jZJnxtOvcZJc2XA== + dependencies: + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/smithy-client@3.316.0": + version "3.316.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/smithy-client/-/smithy-client-3.316.0.tgz#8ee751d7f396179ccf52d323eb34fa7d9508aeb9" + integrity sha512-6YXOKbRnXeS8r8RWzuL6JMBolDYM5Wa4fD/VY6x/wK78i2xErHOvqzHgyyeLI1MMw4uqyd4wRNJNWC9TMPduXw== + dependencies: + "@aws-sdk/middleware-stack" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/token-providers@3.319.0": + version "3.319.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.319.0.tgz#60da565665d42837a7d498e610a8493a7dc2524b" + integrity sha512-5utg6VL6Pl0uiLUn8ZJPYYxzCb9VRPsgJmGXktRUwq0YlTJ6ABcaxTXwZcC++sjh/qyCQDK5PPLNU5kIBttHMQ== + dependencies: + "@aws-sdk/client-sso-oidc" "3.319.0" + "@aws-sdk/property-provider" "3.310.0" + "@aws-sdk/shared-ini-file-loader" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/types@3.310.0", "@aws-sdk/types@^3.222.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.310.0.tgz#b83a0580feb38b58417abb8b4ed3eae1a0cb7bc1" + integrity sha512-j8eamQJ7YcIhw7fneUfs8LYl3t01k4uHi4ZDmNRgtbmbmTTG3FZc2MotStZnp3nZB6vLiPF1o5aoJxWVvkzS6A== + dependencies: + tslib "^2.5.0" + +"@aws-sdk/url-parser@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/url-parser/-/url-parser-3.310.0.tgz#928c9eac2e3d74c3c5db4c6e364a1de00185dcaa" + integrity sha512-mCLnCaSB9rQvAgx33u0DujLvr4d5yEm/W5r789GblwwQnlNXedVu50QRizMLTpltYWyAUoXjJgQnJHmJMaKXhw== + dependencies: + "@aws-sdk/querystring-parser" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/util-base64@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64/-/util-base64-3.310.0.tgz#d0fd49aff358c5a6e771d0001c63b1f97acbe34c" + integrity sha512-v3+HBKQvqgdzcbL+pFswlx5HQsd9L6ZTlyPVL2LS9nNXnCcR3XgGz9jRskikRUuUvUXtkSG1J88GAOnJ/apTPg== + dependencies: + "@aws-sdk/util-buffer-from" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/util-body-length-browser@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.310.0.tgz#3fca9d2f73c058edf1907e4a1d99a392fdd23eca" + integrity sha512-sxsC3lPBGfpHtNTUoGXMQXLwjmR0zVpx0rSvzTPAuoVILVsp5AU/w5FphNPxD5OVIjNbZv9KsKTuvNTiZjDp9g== + dependencies: + tslib "^2.5.0" + +"@aws-sdk/util-body-length-node@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-node/-/util-body-length-node-3.310.0.tgz#4846ae72834ab0636f29f89fc1878520f6543fed" + integrity sha512-2tqGXdyKhyA6w4zz7UPoS8Ip+7sayOg9BwHNidiGm2ikbDxm1YrCfYXvCBdwaJxa4hJfRVz+aL9e+d3GqPI9pQ== + dependencies: + tslib "^2.5.0" + +"@aws-sdk/util-buffer-from@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-buffer-from/-/util-buffer-from-3.310.0.tgz#7a72cb965984d3c6a7e256ae6cf1621f52e54a57" + integrity sha512-i6LVeXFtGih5Zs8enLrt+ExXY92QV25jtEnTKHsmlFqFAuL3VBeod6boeMXkN2p9lbSVVQ1sAOOYZOHYbYkntw== + dependencies: + "@aws-sdk/is-array-buffer" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/util-config-provider@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-config-provider/-/util-config-provider-3.310.0.tgz#ff21f73d4774cfd7bd16ae56f905828600dda95f" + integrity sha512-xIBaYo8dwiojCw8vnUcIL4Z5tyfb1v3yjqyJKJWV/dqKUFOOS0U591plmXbM+M/QkXyML3ypon1f8+BoaDExrg== + dependencies: + tslib "^2.5.0" + +"@aws-sdk/util-defaults-mode-browser@3.316.0": + version "3.316.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.316.0.tgz#053d8061e51dbb8e6fd009130942c09de3ed18f2" + integrity sha512-6FSqLhYmaihtH2n1s4b2rlLW0ABU8N6VZIfzLfe2ING4PF0MzfaMMhnTFUHVXfKCVGoR8yP6iyFTRCyHGVEL1w== + dependencies: + "@aws-sdk/property-provider" "3.310.0" + "@aws-sdk/types" "3.310.0" + bowser "^2.11.0" + tslib "^2.5.0" + +"@aws-sdk/util-defaults-mode-node@3.316.0": + version "3.316.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.316.0.tgz#5649af63804a552cd53609e4e16a63be2b3b8b3e" + integrity sha512-dkYy10hdjPSScXXvnjGpZpnJxllkb6ICHgLMwZ4JczLHhPM12T/4PQ758YN8HS+muiYDGX1Bl2z1jd/bMcewBQ== + dependencies: + "@aws-sdk/config-resolver" "3.310.0" + "@aws-sdk/credential-provider-imds" "3.310.0" + "@aws-sdk/node-config-provider" "3.310.0" + "@aws-sdk/property-provider" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/util-endpoints@3.319.0": + version "3.319.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.319.0.tgz#9be64762a8fae9eaac004cd3fa95576b3cb6ee38" + integrity sha512-3I64UMoYA2e2++oOUJXRcFtYLpLylnZFRltWfPo1B3dLlf+MIWat9djT+mMus+hW1ntLsvAIVu1hLVePJC0gvw== + dependencies: + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/util-locate-window@^3.0.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz#b071baf050301adee89051032bd4139bba32cc40" + integrity sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w== + dependencies: + tslib "^2.5.0" + +"@aws-sdk/util-middleware@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-middleware/-/util-middleware-3.310.0.tgz#713c5bfa296f4cf707150a0a1e911afd50dcf939" + integrity sha512-FTSUKL/eRb9X6uEZClrTe27QFXUNNp7fxYrPndZwk1hlaOP5ix+MIHBcI7pIiiY/JPfOUmPyZOu+HetlFXjWog== + dependencies: + tslib "^2.5.0" + +"@aws-sdk/util-retry@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-retry/-/util-retry-3.310.0.tgz#4cdc35e2dfdacf2d928ab474ba8b67bbadd6be3c" + integrity sha512-FwWGhCBLfoivTMUHu1LIn4NjrN9JLJ/aX5aZmbcPIOhZVFJj638j0qDgZXyfvVqBuBZh7M8kGq0Oahy3dp69OA== + dependencies: + "@aws-sdk/service-error-classification" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/util-uri-escape@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-uri-escape/-/util-uri-escape-3.310.0.tgz#9f942f09a715d8278875013a416295746b6085ba" + integrity sha512-drzt+aB2qo2LgtDoiy/3sVG8w63cgLkqFIa2NFlGpUgHFWTXkqtbgf4L5QdjRGKWhmZsnqkbtL7vkSWEcYDJ4Q== + dependencies: + tslib "^2.5.0" + +"@aws-sdk/util-user-agent-browser@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.310.0.tgz#48d463a93351b78b678df324f3518a9798029c44" + integrity sha512-yU/4QnHHuQ5z3vsUqMQVfYLbZGYwpYblPiuZx4Zo9+x0PBkNjYMqctdDcrpoH9Z2xZiDN16AmQGK1tix117ZKw== + dependencies: + "@aws-sdk/types" "3.310.0" + bowser "^2.11.0" + tslib "^2.5.0" + +"@aws-sdk/util-user-agent-node@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.310.0.tgz#ebefbedc5a4759adc958885741628ec0de1ab197" + integrity sha512-Ra3pEl+Gn2BpeE7KiDGpi4zj7WJXZA5GXnGo3mjbi9+Y3zrbuhJAbdZO3mO/o7xDgMC6ph4xCTbaSGzU6b6EDg== + dependencies: + "@aws-sdk/node-config-provider" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/util-utf8-browser@^3.0.0": + version "3.259.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz#3275a6f5eb334f96ca76635b961d3c50259fd9ff" + integrity sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-utf8@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8/-/util-utf8-3.310.0.tgz#4a7b9dcebb88e830d3811aeb21e9a6df4273afb4" + integrity sha512-DnLfFT8uCO22uOJc0pt0DsSNau1GTisngBCDw8jQuWT5CqogMJu4b/uXmwEqfj8B3GX6Xsz8zOd6JpRlPftQoA== + dependencies: + "@aws-sdk/util-buffer-from" "3.310.0" + tslib "^2.5.0" + "@babel/parser@^7.20.15": version "7.21.2" resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.21.2.tgz" @@ -203,6 +777,17 @@ resolved "https://registry.npmjs.org/@oozcitak/util/-/util-8.3.8.tgz" integrity sha512-T8TbSnGsxo6TDBJx/Sgv/BlVJL3tshxZP7Aq5R1mSnM5OcHY2dQaxLMu2+E8u3gN0MLOzdjurqN4ZRVuzQycOQ== +"@opensearch-project/opensearch@^2.2.1": + version "2.2.1" + resolved "https://registry.npmjs.org/@opensearch-project/opensearch/-/opensearch-2.2.1.tgz" + integrity sha512-8zfQX1acL9eWG+ohIc9nJVT9LSqXCdbVEJs0rCPRtji3XF6ahzsiKmGNTeWLxCPDxWCjAIWq9t95xP3Y5Egi6Q== + dependencies: + aws4 "^1.11.0" + debug "^4.3.1" + hpagent "^1.2.0" + ms "^2.1.3" + secure-json-parse "^2.4.0" + "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz" @@ -588,11 +1173,16 @@ aws-sign2@~0.7.0: resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== -aws4@^1.8.0: +aws4@^1.11.0, aws4@^1.8.0: version "1.11.0" resolved "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz" integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== +aws4@^1.12.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" + integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== + axios-ntlm@^1.2.0: version "1.3.0" resolved "https://registry.npmjs.org/axios-ntlm/-/axios-ntlm-1.3.0.tgz" @@ -706,6 +1296,11 @@ boolbase@^1.0.0: resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== +bowser@^2.11.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" + integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" @@ -745,10 +1340,10 @@ buffer@4.9.2: ieee754 "^1.1.4" isarray "^1.0.0" -buildcheck@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/buildcheck/-/buildcheck-0.0.3.tgz#70451897a95d80f7807e68fc412eb2e7e35ff4d5" - integrity sha512-pziaA+p/wdVImfcbsZLNF32EiWyujlQLwolMqUQE8xpKNOH7KmZQaY8sXN7DGOEzPAElo9QTaeNRfGnf3iOJbA== +buildcheck@~0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/buildcheck/-/buildcheck-0.0.6.tgz#89aa6e417cfd1e2196e3f8fe915eb709d2fe4238" + integrity sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A== busboy@^1.0.0: version "1.6.0" @@ -1046,12 +1641,12 @@ cors@2.8.5, cors@~2.8.5: vary "^1" cpu-features@~0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.4.tgz#0023475bb4f4c525869c162e4108099e35bf19d8" - integrity sha512-fKiZ/zp1mUwQbnzb9IghXtHtDoTMtNeb8oYGx6kX2SYfhnG0HNdBEBIzB9b5KlXu5DQPhfy3mInbBxFcgwAr3A== + version "0.0.7" + resolved "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.7.tgz#81ba93e1d0a729fd25132a54c3ff689c37b542f7" + integrity sha512-fjzFmsUKKCrC9GrM1eQTvQx18e+kjXFzjRLvJPNEDjk31+bJ6ZiV6uchv/hzbzXVIgbWdrEyyX1IFKwse65+8w== dependencies: - buildcheck "0.0.3" - nan "^2.15.0" + buildcheck "~0.0.6" + nan "^2.17.0" cross-fetch@^3.1.5: version "3.1.5" @@ -1126,7 +1721,7 @@ debug@2.6.9: dependencies: ms "2.0.0" -debug@4, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: +debug@4, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: version "4.3.4" resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -1906,6 +2501,11 @@ hexoid@1.0.0, hexoid@^1.0.0: resolved "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz" integrity sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g== +hpagent@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/hpagent/-/hpagent-1.2.0.tgz" + integrity sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA== + href-content@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/href-content/-/href-content-2.0.2.tgz" @@ -2596,7 +3196,7 @@ ms@2.1.2: resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3, ms@^2.1.1: +ms@2.1.3, ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -2614,16 +3214,16 @@ multer@^1.4.5-lts.1: type-is "^1.6.4" xtend "^4.0.0" -nan@^2.15.0: - version "2.17.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" - integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== - nan@^2.16.0: version "2.16.0" resolved "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz" integrity sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA== +nan@^2.17.0: + version "2.17.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" + integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== + negotiator@0.6.3: version "0.6.3" resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" @@ -3208,6 +3808,11 @@ scmp@^2.1.0: resolved "https://registry.npmjs.org/scmp/-/scmp-2.1.0.tgz" integrity sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q== +secure-json-parse@^2.4.0: + version "2.7.0" + resolved "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz" + integrity sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw== + semver@^5.6.0: version "5.7.1" resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" @@ -3642,11 +4247,21 @@ triple-beam@^1.3.0: resolved "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz" integrity sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw== +tslib@^1.11.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + tslib@^2.0.1, tslib@^2.1.0: version "2.4.0" resolved "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== +tslib@^2.3.1, tslib@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" + integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== + tsscmp@1.0.6: version "1.0.6" resolved "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz"