@bisondesk/core-sdk 1.0.382 → 1.0.384

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.
@@ -17,6 +17,5 @@ export declare const searchLeasingContracts: (tenantId: string, request: SearchR
17
17
  export declare const findLeasingContracts: (tenantId: string, clientId: string, vehicleId: string) => Promise<LeasingContract[]>;
18
18
  export declare const upsertLeasingContract: (tenantId: string, contract: NewLeasingContract | LeasingContract) => Promise<LeasingContract>;
19
19
  export declare const getLeasingAmortizations: (tenantId: string, contractId: string) => Promise<AmortizationTable | undefined>;
20
- export declare const addAmortizationDocs: (tenantId: string, contractId: string, docs: AmortizationDocs) => Promise<AmortizationDocs>;
21
20
  export declare const listAmortizationDocsByContract: (tenantId: string, contractId: string) => Promise<AmortizationDocs[]>;
22
21
  //# sourceMappingURL=leasing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"leasing.d.ts","sourceRoot":"/","sources":["apis/leasing.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE9D,eAAO,MAAM,kBAAkB,aACnB,MAAM,UACR,MAAM,SACP,MAAM,SACN;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,KAC3B,OAAO,CAAC,MAAM,EAAE,CAiBlB,CAAC;AAEF,eAAO,MAAM,oBAAoB,aACrB,MAAM,UACR,MAAM,SACP,MAAM,SACN;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,KAC3B,OAAO,CAAC,eAAe,EAAE,CAiB3B,CAAC;AAEF,eAAO,MAAM,oBAAoB,aACrB,MAAM,gBACF,MAAM,KACnB,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAgBvC,CAAC;AAEF,eAAO,MAAM,uBAAuB,aACxB,MAAM,cACJ,oBAAoB,KAC/B,OAAO,CAAC,iBAAiB,CAoB3B,CAAC;AAEF,eAAO,MAAM,0BAA0B,aAC3B,MAAM,kBACA,MAAM,KACrB,OAAO,CAAC,eAAe,GAAG,SAAS,CAgBrC,CAAC;AAEF,eAAO,MAAM,kBAAkB,aACnB,MAAM,cACJ,MAAM,KACjB,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,SAAS,CAgBjD,CAAC;AAEF,eAAO,MAAM,sBAAsB,aACvB,MAAM,WACP,aAAa,KACrB,OAAO,CAAC,aAAa,CAAC,qBAAqB,EAAE,aAAa,CAAC,GAAG,SAAS,CAoBzE,CAAC;AAEF,eAAO,MAAM,oBAAoB,aACrB,MAAM,YACN,MAAM,aACL,MAAM,KAChB,OAAO,CAAC,eAAe,EAAE,CAgB3B,CAAC;AAEF,eAAO,MAAM,qBAAqB,aACtB,MAAM,YACN,kBAAkB,GAAG,eAAe,KAC7C,OAAO,CAAC,eAAe,CAoBzB,CAAC;AAEF,eAAO,MAAM,uBAAuB,aACxB,MAAM,cACJ,MAAM,KACjB,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAgBvC,CAAC;AAEF,eAAO,MAAM,mBAAmB,aACpB,MAAM,cACJ,MAAM,QACZ,gBAAgB,KACrB,OAAO,CAAC,gBAAgB,CAoB1B,CAAC;AAEF,eAAO,MAAM,8BAA8B,aAC/B,MAAM,cACJ,MAAM,KACjB,OAAO,CAAC,gBAAgB,EAAE,CAgB5B,CAAC"}
1
+ {"version":3,"file":"leasing.d.ts","sourceRoot":"/","sources":["apis/leasing.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE9D,eAAO,MAAM,kBAAkB,aACnB,MAAM,UACR,MAAM,SACP,MAAM,SACN;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,KAC3B,OAAO,CAAC,MAAM,EAAE,CAiBlB,CAAC;AAEF,eAAO,MAAM,oBAAoB,aACrB,MAAM,UACR,MAAM,SACP,MAAM,SACN;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,KAC3B,OAAO,CAAC,eAAe,EAAE,CAiB3B,CAAC;AAEF,eAAO,MAAM,oBAAoB,aACrB,MAAM,gBACF,MAAM,KACnB,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAgBvC,CAAC;AAEF,eAAO,MAAM,uBAAuB,aACxB,MAAM,cACJ,oBAAoB,KAC/B,OAAO,CAAC,iBAAiB,CAoB3B,CAAC;AAEF,eAAO,MAAM,0BAA0B,aAC3B,MAAM,kBACA,MAAM,KACrB,OAAO,CAAC,eAAe,GAAG,SAAS,CAgBrC,CAAC;AAEF,eAAO,MAAM,kBAAkB,aACnB,MAAM,cACJ,MAAM,KACjB,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,SAAS,CAgBjD,CAAC;AAEF,eAAO,MAAM,sBAAsB,aACvB,MAAM,WACP,aAAa,KACrB,OAAO,CAAC,aAAa,CAAC,qBAAqB,EAAE,aAAa,CAAC,GAAG,SAAS,CAoBzE,CAAC;AAEF,eAAO,MAAM,oBAAoB,aACrB,MAAM,YACN,MAAM,aACL,MAAM,KAChB,OAAO,CAAC,eAAe,EAAE,CAgB3B,CAAC;AAEF,eAAO,MAAM,qBAAqB,aACtB,MAAM,YACN,kBAAkB,GAAG,eAAe,KAC7C,OAAO,CAAC,eAAe,CAoBzB,CAAC;AAEF,eAAO,MAAM,uBAAuB,aACxB,MAAM,cACJ,MAAM,KACjB,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAgBvC,CAAC;AAEF,eAAO,MAAM,8BAA8B,aAC/B,MAAM,cACJ,MAAM,KACjB,OAAO,CAAC,gBAAgB,EAAE,CAgB5B,CAAC"}
@@ -166,25 +166,6 @@ export const getLeasingAmortizations = async (tenantId, contractId) => {
166
166
  const body = await response.text();
167
167
  throw new XError(response.statusText, { url, tenantId, contractId, body });
168
168
  };
169
- export const addAmortizationDocs = async (tenantId, contractId, docs) => {
170
- const auth = await getAdminAuth();
171
- const url = `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/${contractId}/amortization/add-docs`;
172
- const method = 'PATCH';
173
- const response = await fetch(url, {
174
- method,
175
- headers: {
176
- 'Content-Type': 'application/json',
177
- Authorization: auth,
178
- [TENANT_ID_ADMIN_HEADER]: tenantId,
179
- },
180
- body: JSON.stringify(docs),
181
- });
182
- if (response.status === 200) {
183
- return response.json();
184
- }
185
- const body = await response.text();
186
- throw new XError(response.statusText, { url, tenantId, docs, body });
187
- };
188
169
  export const listAmortizationDocsByContract = async (tenantId, contractId) => {
189
170
  const auth = await getAdminAuth();
190
171
  const url = `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/${contractId}/amortization/docs`;
@@ -1 +1 @@
1
- {"version":3,"file":"leasing.js","sourceRoot":"/","sources":["apis/leasing.ts"],"names":[],"mappings":"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","sourcesContent":["import { SERVICE_ID_ADMIN_HEADER, TENANT_ID_ADMIN_HEADER } from '@bisondesk/commons-sdk/constants';\nimport { XError } from '@bisondesk/commons-sdk/errors';\nimport { cleanHeaders, getAdminAuth } from '@bisondesk/commons-sdk/fetch';\nimport { PaginatedList } from '@bisondesk/commons-sdk/types';\nimport fetch, { Response } from 'node-fetch';\nimport { SearchLeasingContract } from '../types/leasing-search.js';\nimport {\n AmortizationDocs,\n AmortizationTable,\n LeasingConditions,\n LeasingContract,\n NewLeasingConditions,\n NewLeasingContract,\n} from '../types/leasing.js';\nimport { SearchRequest } from '../types/search.js';\nimport { DataRecord, ReferenceData } from '../types/utils.js';\n\nexport const listLeasingClients = async (\n tenantId: string,\n offset: number,\n limit: number,\n opts?: { serviceId: string }\n): Promise<string[]> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/clients?offset=${offset}&limit=${limit}`;\n const response: Response = await fetch(url, {\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n });\n\n if (response.ok) {\n return response.status === 200 ? (response.json() as any) : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { url, tenantId, body, offset, limit });\n};\n\nexport const listLeasingContracts = async (\n tenantId: string,\n offset: number,\n limit: number,\n opts?: { serviceId: string }\n): Promise<LeasingContract[]> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/leasing/contracts?offset=${offset}&limit=${limit}`;\n const response: Response = await fetch(url, {\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n });\n\n if (response.ok) {\n return response.status === 200 ? (response.json() as any) : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { url, tenantId, body, offset, limit });\n};\n\nexport const getLeasingConditions = async (\n tenantId: string,\n conditionsId: string\n): Promise<LeasingConditions | undefined> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/leasing/conditions/${conditionsId}`;\n const response: Response = await fetch(url, {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n });\n\n if (response.ok) {\n return response.status === 200 ? (response.json() as any) : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { url, tenantId, conditionsId, body });\n};\n\nexport const createLeasingConditions = async (\n tenantId: string,\n conditions: NewLeasingConditions\n): Promise<LeasingConditions> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/leasing/conditions`;\n const method = 'POST';\n const response: Response = await fetch(url, {\n method,\n headers: {\n 'Content-Type': 'application/json',\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n body: JSON.stringify(conditions),\n });\n\n if (response.status === 200) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { method, url, tenantId, conditions, body });\n};\n\nexport const getLeasingContractByNumber = async (\n tenantId: string,\n contractNumber: string\n): Promise<LeasingContract | undefined> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/number/${contractNumber}`;\n const response: Response = await fetch(url, {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n });\n\n if (response.ok) {\n return response.status === 200 ? (response.json() as any) : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { url, tenantId, contractNumber, body });\n};\n\nexport const getLeasingContract = async (\n tenantId: string,\n contractId: string\n): Promise<DataRecord<LeasingContract> | undefined> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/${contractId}`;\n const response: Response = await fetch(url, {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n });\n\n if (response.ok) {\n return response.status === 200 ? (response.json() as any) : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { url, tenantId, contractId, body });\n};\n\nexport const searchLeasingContracts = async (\n tenantId: string,\n request: SearchRequest\n): Promise<PaginatedList<SearchLeasingContract, ReferenceData> | undefined> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/search/results`;\n const method = 'POST';\n const response: Response = await fetch(url, {\n method,\n headers: {\n 'Content-Type': 'application/json',\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n body: JSON.stringify(request),\n });\n\n if (response.ok) {\n return response.status === 200 ? (response.json() as any) : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { method, url, tenantId, body });\n};\n\nexport const findLeasingContracts = async (\n tenantId: string,\n clientId: string,\n vehicleId: string\n): Promise<LeasingContract[]> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/find?clientId=${clientId}&vehicleId=${vehicleId}`;\n const response: Response = await fetch(url, {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n });\n\n if (response.status === 200) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { url, tenantId, clientId, vehicleId, body });\n};\n\nexport const upsertLeasingContract = async (\n tenantId: string,\n contract: NewLeasingContract | LeasingContract\n): Promise<LeasingContract> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/leasing/contracts`;\n const method = 'POST';\n const response: Response = await fetch(url, {\n method,\n headers: {\n 'Content-Type': 'application/json',\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n body: JSON.stringify(contract),\n });\n\n if (response.status === 200) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { method, url, tenantId, contract, body });\n};\n\nexport const getLeasingAmortizations = async (\n tenantId: string,\n contractId: string\n): Promise<AmortizationTable | undefined> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/${contractId}/amortization`;\n const response: Response = await fetch(url, {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n });\n\n if (response.status === 200) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { url, tenantId, contractId, body });\n};\n\nexport const addAmortizationDocs = async (\n tenantId: string,\n contractId: string,\n docs: AmortizationDocs\n): Promise<AmortizationDocs> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/${contractId}/amortization/add-docs`;\n const method = 'PATCH';\n const response: Response = await fetch(url, {\n method,\n headers: {\n 'Content-Type': 'application/json',\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n body: JSON.stringify(docs),\n });\n\n if (response.status === 200) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { url, tenantId, docs, body });\n};\n\nexport const listAmortizationDocsByContract = async (\n tenantId: string,\n contractId: string\n): Promise<AmortizationDocs[]> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/${contractId}/amortization/docs`;\n const response: Response = await fetch(url, {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n });\n\n if (response.status === 200) {\n return response.json() as any as any;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { url, tenantId, contractId, body });\n};\n"]}
1
+ {"version":3,"file":"leasing.js","sourceRoot":"/","sources":["apis/leasing.ts"],"names":[],"mappings":"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","sourcesContent":["import { SERVICE_ID_ADMIN_HEADER, TENANT_ID_ADMIN_HEADER } from '@bisondesk/commons-sdk/constants';\nimport { XError } from '@bisondesk/commons-sdk/errors';\nimport { cleanHeaders, getAdminAuth } from '@bisondesk/commons-sdk/fetch';\nimport { PaginatedList } from '@bisondesk/commons-sdk/types';\nimport fetch, { Response } from 'node-fetch';\nimport { SearchLeasingContract } from '../types/leasing-search.js';\nimport {\n AmortizationDocs,\n AmortizationTable,\n LeasingConditions,\n LeasingContract,\n NewLeasingConditions,\n NewLeasingContract,\n} from '../types/leasing.js';\nimport { SearchRequest } from '../types/search.js';\nimport { DataRecord, ReferenceData } from '../types/utils.js';\n\nexport const listLeasingClients = async (\n tenantId: string,\n offset: number,\n limit: number,\n opts?: { serviceId: string }\n): Promise<string[]> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/clients?offset=${offset}&limit=${limit}`;\n const response: Response = await fetch(url, {\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n });\n\n if (response.ok) {\n return response.status === 200 ? (response.json() as any) : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { url, tenantId, body, offset, limit });\n};\n\nexport const listLeasingContracts = async (\n tenantId: string,\n offset: number,\n limit: number,\n opts?: { serviceId: string }\n): Promise<LeasingContract[]> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/leasing/contracts?offset=${offset}&limit=${limit}`;\n const response: Response = await fetch(url, {\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n });\n\n if (response.ok) {\n return response.status === 200 ? (response.json() as any) : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { url, tenantId, body, offset, limit });\n};\n\nexport const getLeasingConditions = async (\n tenantId: string,\n conditionsId: string\n): Promise<LeasingConditions | undefined> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/leasing/conditions/${conditionsId}`;\n const response: Response = await fetch(url, {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n });\n\n if (response.ok) {\n return response.status === 200 ? (response.json() as any) : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { url, tenantId, conditionsId, body });\n};\n\nexport const createLeasingConditions = async (\n tenantId: string,\n conditions: NewLeasingConditions\n): Promise<LeasingConditions> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/leasing/conditions`;\n const method = 'POST';\n const response: Response = await fetch(url, {\n method,\n headers: {\n 'Content-Type': 'application/json',\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n body: JSON.stringify(conditions),\n });\n\n if (response.status === 200) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { method, url, tenantId, conditions, body });\n};\n\nexport const getLeasingContractByNumber = async (\n tenantId: string,\n contractNumber: string\n): Promise<LeasingContract | undefined> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/number/${contractNumber}`;\n const response: Response = await fetch(url, {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n });\n\n if (response.ok) {\n return response.status === 200 ? (response.json() as any) : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { url, tenantId, contractNumber, body });\n};\n\nexport const getLeasingContract = async (\n tenantId: string,\n contractId: string\n): Promise<DataRecord<LeasingContract> | undefined> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/${contractId}`;\n const response: Response = await fetch(url, {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n });\n\n if (response.ok) {\n return response.status === 200 ? (response.json() as any) : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { url, tenantId, contractId, body });\n};\n\nexport const searchLeasingContracts = async (\n tenantId: string,\n request: SearchRequest\n): Promise<PaginatedList<SearchLeasingContract, ReferenceData> | undefined> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/search/results`;\n const method = 'POST';\n const response: Response = await fetch(url, {\n method,\n headers: {\n 'Content-Type': 'application/json',\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n body: JSON.stringify(request),\n });\n\n if (response.ok) {\n return response.status === 200 ? (response.json() as any) : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { method, url, tenantId, body });\n};\n\nexport const findLeasingContracts = async (\n tenantId: string,\n clientId: string,\n vehicleId: string\n): Promise<LeasingContract[]> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/find?clientId=${clientId}&vehicleId=${vehicleId}`;\n const response: Response = await fetch(url, {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n });\n\n if (response.status === 200) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { url, tenantId, clientId, vehicleId, body });\n};\n\nexport const upsertLeasingContract = async (\n tenantId: string,\n contract: NewLeasingContract | LeasingContract\n): Promise<LeasingContract> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/leasing/contracts`;\n const method = 'POST';\n const response: Response = await fetch(url, {\n method,\n headers: {\n 'Content-Type': 'application/json',\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n body: JSON.stringify(contract),\n });\n\n if (response.status === 200) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { method, url, tenantId, contract, body });\n};\n\nexport const getLeasingAmortizations = async (\n tenantId: string,\n contractId: string\n): Promise<AmortizationTable | undefined> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/${contractId}/amortization`;\n const response: Response = await fetch(url, {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n });\n\n if (response.status === 200) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { url, tenantId, contractId, body });\n};\n\nexport const listAmortizationDocsByContract = async (\n tenantId: string,\n contractId: string\n): Promise<AmortizationDocs[]> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/${contractId}/amortization/docs`;\n const response: Response = await fetch(url, {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n });\n\n if (response.status === 200) {\n return response.json() as any as any;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { url, tenantId, contractId, body });\n};\n"]}
@@ -39,23 +39,23 @@ export type InsightsPriceHistogram = {
39
39
  }[];
40
40
  export type Insights = {
41
41
  trends: InsightsOnlineTrends[];
42
+ all: {
43
+ count: number;
44
+ histogramPrices: InsightsPriceHistogram;
45
+ percentilesDays: Percentiles;
46
+ percentilesPrices: Percentiles;
47
+ };
42
48
  online: {
43
49
  count: number;
44
50
  histogramPrices: InsightsPriceHistogram;
45
- avgPrice: number | null;
46
51
  percentilesDays: Percentiles;
47
- avgDays: number | null;
48
52
  percentilesPrices: Percentiles;
49
- minPrice: number;
50
53
  };
51
54
  sold: {
52
55
  count: number;
53
- avgPrice: number | null;
54
56
  percentilesPrices: Percentiles;
55
57
  percentilesDays: Percentiles;
56
- avgDays: number | null;
57
58
  histogramPrices: InsightsPriceHistogram;
58
- minPrice: number;
59
59
  };
60
60
  };
61
61
  //# sourceMappingURL=insights.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"insights.d.ts","sourceRoot":"/","sources":["types/insights.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE,uBAAuB,CAAC;IACpC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,uBAAuB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,UAAU,EAAE,uBAAuB,CAAC;IACpC,IAAI,EAAE,aAAa,CAAC;CACrB,CAAC;AAGF,MAAM,WAAW,uBAAwB,SAAQ,eAAe;CAAG;AAEnE,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,EAAE,CAAC;AAEJ,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,sBAAsB,CAAC;QACxC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,eAAe,EAAE,WAAW,CAAC;QAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,iBAAiB,EAAE,WAAW,CAAC;QAC/B,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,iBAAiB,EAAE,WAAW,CAAC;QAC/B,eAAe,EAAE,WAAW,CAAC;QAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,eAAe,EAAE,sBAAsB,CAAC;QACxC,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"insights.d.ts","sourceRoot":"/","sources":["types/insights.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE,uBAAuB,CAAC;IACpC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,uBAAuB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,UAAU,EAAE,uBAAuB,CAAC;IACpC,IAAI,EAAE,aAAa,CAAC;CACrB,CAAC;AAGF,MAAM,WAAW,uBAAwB,SAAQ,eAAe;CAAG;AAEnE,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,EAAE,CAAC;AAEJ,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,GAAG,EAAE;QACH,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,sBAAsB,CAAC;QACxC,eAAe,EAAE,WAAW,CAAC;QAC7B,iBAAiB,EAAE,WAAW,CAAC;KAChC,CAAC;IACF,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,sBAAsB,CAAC;QACxC,eAAe,EAAE,WAAW,CAAC;QAC7B,iBAAiB,EAAE,WAAW,CAAC;KAChC,CAAC;IACF,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,iBAAiB,EAAE,WAAW,CAAC;QAC/B,eAAe,EAAE,WAAW,CAAC;QAC7B,eAAe,EAAE,sBAAsB,CAAC;KACzC,CAAC;CACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"insights.js","sourceRoot":"/","sources":["types/insights.ts"],"names":[],"mappings":"","sourcesContent":["import { ComparableSpecs } from './comparables.js';\nimport { ReferenceData } from './utils.js';\n\nexport type SimilarVehiclesRequest = {\n offset: number;\n limit: number;\n};\n\nexport type InsightsSimilarRequest = {\n comparable: InsightsComparableSpecs;\n excludeVehicleIds?: string[];\n limit: number;\n nextToken?: string;\n};\n\nexport type InsightsResponse = {\n insights: Insights;\n comparable: InsightsComparableSpecs;\n};\n\nexport type InsightsVehicleComparableResponse = {\n comparable: InsightsComparableSpecs;\n meta: ReferenceData;\n};\n\n// here we are considering only specs that we can use to filter Market vehicles\nexport interface InsightsComparableSpecs extends ComparableSpecs {}\n\nexport type InsightsOptions = {\n months?: number;\n};\n\nexport type InsightsOnlineTrends = {\n date: string;\n count: number;\n avgDays: number | null;\n avgPrice: number | null;\n};\n\nexport type Percentiles = {\n [key: string]: number | null;\n};\n\nexport type InsightsPriceHistogram = {\n from: number | undefined;\n to: number | undefined;\n count: number;\n}[];\n\nexport type Insights = {\n trends: InsightsOnlineTrends[];\n online: {\n count: number;\n histogramPrices: InsightsPriceHistogram;\n avgPrice: number | null;\n percentilesDays: Percentiles;\n avgDays: number | null;\n percentilesPrices: Percentiles;\n minPrice: number;\n };\n sold: {\n count: number;\n avgPrice: number | null;\n percentilesPrices: Percentiles;\n percentilesDays: Percentiles;\n avgDays: number | null;\n histogramPrices: InsightsPriceHistogram;\n minPrice: number;\n };\n};\n"]}
1
+ {"version":3,"file":"insights.js","sourceRoot":"/","sources":["types/insights.ts"],"names":[],"mappings":"","sourcesContent":["import { ComparableSpecs } from './comparables.js';\nimport { ReferenceData } from './utils.js';\n\nexport type SimilarVehiclesRequest = {\n offset: number;\n limit: number;\n};\n\nexport type InsightsSimilarRequest = {\n comparable: InsightsComparableSpecs;\n excludeVehicleIds?: string[];\n limit: number;\n nextToken?: string;\n};\n\nexport type InsightsResponse = {\n insights: Insights;\n comparable: InsightsComparableSpecs;\n};\n\nexport type InsightsVehicleComparableResponse = {\n comparable: InsightsComparableSpecs;\n meta: ReferenceData;\n};\n\n// here we are considering only specs that we can use to filter Market vehicles\nexport interface InsightsComparableSpecs extends ComparableSpecs {}\n\nexport type InsightsOptions = {\n months?: number;\n};\n\nexport type InsightsOnlineTrends = {\n date: string;\n count: number;\n avgDays: number | null;\n avgPrice: number | null;\n};\n\nexport type Percentiles = {\n [key: string]: number | null;\n};\n\nexport type InsightsPriceHistogram = {\n from: number | undefined;\n to: number | undefined;\n count: number;\n}[];\n\nexport type Insights = {\n trends: InsightsOnlineTrends[];\n all: {\n count: number;\n histogramPrices: InsightsPriceHistogram;\n percentilesDays: Percentiles;\n percentilesPrices: Percentiles;\n };\n online: {\n count: number;\n histogramPrices: InsightsPriceHistogram;\n percentilesDays: Percentiles;\n percentilesPrices: Percentiles;\n };\n sold: {\n count: number;\n percentilesPrices: Percentiles;\n percentilesDays: Percentiles;\n histogramPrices: InsightsPriceHistogram;\n };\n};\n"]}
@@ -1,4 +1,3 @@
1
- import { ConditionsRef, LeasingContract, LeasingContractClient, OpportunityRef } from '../types/leasing.js';
1
+ import { LeasingContractClient } from '../types/leasing.js';
2
2
  export declare const sortContractClients: (clients: LeasingContractClient[]) => LeasingContractClient[];
3
- export declare const getDealRef: ({ conditions, opportunities, }: Pick<LeasingContract, "conditions" | "opportunities">) => ConditionsRef | OpportunityRef;
4
3
  //# sourceMappingURL=leasing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"leasing.d.ts","sourceRoot":"/","sources":["utils/leasing.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,cAAc,EACf,MAAM,qBAAqB,CAAC;AAG7B,eAAO,MAAM,mBAAmB,YAAa,qBAAqB,EAAE,KAAG,qBAAqB,EAQzF,CAAC;AAEJ,eAAO,MAAM,UAAU,mCAGpB,IAAI,CAAC,eAAe,EAAE,YAAY,GAAG,eAAe,CAAC,KAAG,aAAa,GAAG,cACjC,CAAC"}
1
+ {"version":3,"file":"leasing.d.ts","sourceRoot":"/","sources":["utils/leasing.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,eAAO,MAAM,mBAAmB,YAAa,qBAAqB,EAAE,KAAG,qBAAqB,EAQzF,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { UTCDate } from '@date-fns/utc';
2
2
  import { format } from 'date-fns';
3
- import { last, map, sortBy, uniqBy } from 'lodash-es';
3
+ import { map, sortBy, uniqBy } from 'lodash-es';
4
4
  export const sortContractClients = (clients) => sortBy(map(uniqBy(clients, (c) => c.takeoverId), (c) => ({ ...c, since: format(new UTCDate(c.since), 'yyyy-MM-dd') })), (cli) => cli.since, (cli) => (cli.takeoverId ? parseInt(cli.takeoverId.replace(/[^0-9]/g, '')) : 0));
5
- export const getDealRef = ({ conditions, opportunities, }) => last(conditions) ?? last(opportunities);
6
5
  //# sourceMappingURL=leasing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"leasing.js","sourceRoot":"/","sources":["utils/leasing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAStD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAgC,EAA2B,EAAE,CAC/F,MAAM,CACJ,GAAG,CACD,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,CACrE,EACD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAClB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAChF,CAAC;AAEJ,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,UAAU,EACV,aAAa,GACyC,EAAkC,EAAE,CAC1F,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,aAAa,CAAE,CAAC","sourcesContent":["import { UTCDate } from '@date-fns/utc';\nimport { format } from 'date-fns';\nimport { last, map, sortBy, uniqBy } from 'lodash-es';\nimport {\n ConditionsRef,\n LeasingContract,\n LeasingContractClient,\n OpportunityRef,\n} from '../types/leasing.js';\n\n/* sort from oldest to most recent client */\nexport const sortContractClients = (clients: LeasingContractClient[]): LeasingContractClient[] =>\n sortBy(\n map(\n uniqBy(clients, (c) => c.takeoverId),\n (c) => ({ ...c, since: format(new UTCDate(c.since), 'yyyy-MM-dd') }) // doing a map to also fix legacy data\n ),\n (cli) => cli.since,\n (cli) => (cli.takeoverId ? parseInt(cli.takeoverId.replace(/[^0-9]/g, '')) : 0)\n );\n\nexport const getDealRef = ({\n conditions,\n opportunities,\n}: Pick<LeasingContract, 'conditions' | 'opportunities'>): ConditionsRef | OpportunityRef =>\n last(conditions) ?? last(opportunities)!;\n"]}
1
+ {"version":3,"file":"leasing.js","sourceRoot":"/","sources":["utils/leasing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAIhD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAgC,EAA2B,EAAE,CAC/F,MAAM,CACJ,GAAG,CACD,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,CACrE,EACD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAClB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAChF,CAAC","sourcesContent":["import { UTCDate } from '@date-fns/utc';\nimport { format } from 'date-fns';\nimport { map, sortBy, uniqBy } from 'lodash-es';\nimport { LeasingContractClient } from '../types/leasing.js';\n\n/* sort from oldest to most recent client */\nexport const sortContractClients = (clients: LeasingContractClient[]): LeasingContractClient[] =>\n sortBy(\n map(\n uniqBy(clients, (c) => c.takeoverId),\n (c) => ({ ...c, since: format(new UTCDate(c.since), 'yyyy-MM-dd') }) // doing a map to also fix legacy data\n ),\n (cli) => cli.since,\n (cli) => (cli.takeoverId ? parseInt(cli.takeoverId.replace(/[^0-9]/g, '')) : 0)\n );\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"/","sources":["utils/search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,OAAO,GAAG,YAAY,GAAG,eAAe,CAAC;AAC1F,MAAM,MAAM,kBAAkB,GAC1B,iBAAiB,GACjB,aAAa,GACb,kBAAkB,GAClB,qBAAqB,CAAC;AAE1B,eAAO,MAAM,sBAAsB,SAAU,YAAY,YAAY,OAAO;;;;;;;;aAe3E,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE;KACpB,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE;QAC3B,aAAa,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,oBAAoB,CAAC;QACrD,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,MAAM,CAAC;QAClC,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;QACjD,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,MAAM,CAAC;QACzC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAChD;CAoDF,CAAC;AAUF,eAAO,MAAM,wBAAwB,qBACjB,iBAAiB,UAC3B,oBAAoB,KAC3B,MAAM,EAA8E,CAAC;AAExF,eAAO,MAAM,8BAA8B,qBACvB,iBAAiB,UAC3B,kBAAkB,aAKzB,CAAC;AAEJ,eAAO,MAAM,+BAA+B,qBACxB,iBAAiB,UAC3B,oBAAoB,WAC4C,CAAC;AAE3E,eAAO,MAAM,qCAAqC,qBAC9B,iBAAiB,UAC3B,kBAAkB,WAS3B,CAAC;AAEF,eAAO,MAAM,6BAA6B,qBACtB,iBAAiB,UAC3B,kBAAkB,yBAC2B,CAAC;AAExD,eAAO,MAAM,yBAAyB,qBAClB,iBAAiB,UAC3B,oBAAoB,WACoB,CAAC;AAEnD,eAAO,MAAM,+BAA+B,qBACxB,iBAAiB,gBACrB,kBAAkB,WAK/B,CAAC;AAEJ,eAAO,MAAM,wBAAwB,qBACjB,iBAAiB,UAC3B,oBAAoB,oCACqB,CAAC;AAEpD,eAAO,MAAM,8BAA8B,qBACvB,iBAAiB,gBACrB,kBAAkB,oCAK/B,CAAC"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"/","sources":["utils/search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,OAAO,GAAG,YAAY,GAAG,eAAe,CAAC;AAC1F,MAAM,MAAM,kBAAkB,GAC1B,iBAAiB,GACjB,aAAa,GACb,kBAAkB,GAClB,qBAAqB,CAAC;AAE1B,eAAO,MAAM,sBAAsB,SAAU,YAAY,YAAY,OAAO;;;;;;;;aAe3E,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE;KACpB,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE;QAC3B,aAAa,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,oBAAoB,CAAC;QACrD,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,MAAM,CAAC;QAClC,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;QACjD,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,MAAM,CAAC;QACzC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAChD;CAyCF,CAAC;AAUF,eAAO,MAAM,wBAAwB,qBACjB,iBAAiB,UAC3B,oBAAoB,KAC3B,MAAM,EAA8E,CAAC;AAExF,eAAO,MAAM,8BAA8B,qBACvB,iBAAiB,UAC3B,kBAAkB,aAKzB,CAAC;AAEJ,eAAO,MAAM,+BAA+B,qBACxB,iBAAiB,UAC3B,oBAAoB,WAC4C,CAAC;AAE3E,eAAO,MAAM,qCAAqC,qBAC9B,iBAAiB,UAC3B,kBAAkB,WAS3B,CAAC;AAEF,eAAO,MAAM,6BAA6B,qBACtB,iBAAiB,UAC3B,kBAAkB,yBAC2B,CAAC;AAExD,eAAO,MAAM,yBAAyB,qBAClB,iBAAiB,UAC3B,oBAAoB,WACoB,CAAC;AAEnD,eAAO,MAAM,+BAA+B,qBACxB,iBAAiB,gBACrB,kBAAkB,WAK/B,CAAC;AAEJ,eAAO,MAAM,wBAAwB,qBACjB,iBAAiB,UAC3B,oBAAoB,oCACqB,CAAC;AAEpD,eAAO,MAAM,8BAA8B,qBACvB,iBAAiB,gBACrB,kBAAkB,oCAK/B,CAAC"}
@@ -39,15 +39,6 @@ export const mappings = {
39
39
  vehicle.external.identification?.vin,
40
40
  ],
41
41
  },
42
- [BusinessEntityIds.ExternalVehicleSale]: {
43
- getMainEntity: (entity) => entity.vehicle,
44
- getTitle: (vehicle) => vehicle.internal.description.title,
45
- getTags: (vehicle) => [
46
- vehicle.external.identification?.stockNumber,
47
- vehicle.internal.identification?.administrativeNumber,
48
- vehicle.external.identification?.vin,
49
- ],
50
- },
51
42
  [BusinessEntityIds.Organizations]: {
52
43
  getMainEntity: (entity) => entity.org,
53
44
  getTitle: (org) => org.name,
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"/","sources":["utils/search.ts"],"names":[],"mappings":"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","sourcesContent":["import { joinWithSeparator } from '@bisondesk/commons-sdk/formatting';\nimport { BusinessEntityIds } from '../constants.js';\nimport { Contact, Organization, SearchOrganization } from '../types/crm.js';\nimport { SearchLeasingContract } from '../types/leasing-search.js';\nimport { LeasingContract } from '../types/leasing.js';\nimport { Opportunity, SearchOpportunity } from '../types/opportunities.js';\nimport { SearchVehicle, Vehicle } from '../types/vehicles.js';\n\nexport type GlobalBusinessEntity = Opportunity | Vehicle | Organization | LeasingContract;\nexport type GlobalSearchEntity =\n | SearchOpportunity\n | SearchVehicle\n | SearchOrganization\n | SearchLeasingContract;\n\nexport const getCustomerInformation = (org?: Organization, contact?: Contact) => {\n if (org != null) {\n return {\n countryCode: org.countryCode,\n title: org.name,\n code: org.externalId,\n };\n }\n\n if (contact != null) {\n return {\n countryCode: contact.countryCode,\n title: [contact?.firstName, contact?.lastName].filter(Boolean).join(' '),\n };\n }\n};\n\nexport const mappings: {\n [key in BusinessEntityIds]?: {\n getMainEntity: (entity: any) => GlobalBusinessEntity;\n getTitle: (entity: any) => string;\n getTags: (entity: any) => (string | undefined)[];\n getDescription?: (entity: any) => string;\n getMeta?: (entity: any) => Record<string, any>;\n };\n} = {\n [BusinessEntityIds.Opportunities]: {\n getMainEntity: (entity: SearchOpportunity) => entity.opportunity,\n getTitle: (opp: Opportunity) => opp.id,\n getDescription: (opp: SearchOpportunity) => {\n const customer = getCustomerInformation(opp.org, opp.contact);\n return joinWithSeparator(\n [customer?.code, customer?.title, opp.vehicle?.external.identification.stockNumber].filter(\n Boolean\n )\n );\n },\n getTags: (opp: Opportunity) => [opp.id],\n getMeta: (opp: Opportunity) => ({\n status: opp.status,\n wonAt: opp.wonAt,\n lostAt: opp.lostAt,\n }),\n },\n [BusinessEntityIds.Vehicles]: {\n getMainEntity: (entity: SearchVehicle) => entity.vehicle,\n getTitle: (vehicle: Vehicle) => vehicle.internal.description.title,\n getTags: (vehicle: Vehicle) => [\n // the order of the tags here is relevant for exact integration\n // see: packages/exact/src/service/purchase.ts\n vehicle.external.identification?.stockNumber,\n vehicle.internal.identification?.administrativeNumber,\n vehicle.external.identification?.vin,\n ],\n },\n [BusinessEntityIds.ExternalVehicleSale]: {\n getMainEntity: (entity: SearchVehicle) => entity.vehicle,\n getTitle: (vehicle: Vehicle) => vehicle.internal.description.title,\n getTags: (vehicle: Vehicle) => [\n // the order of the tags here is relevant for exact integration\n // see: packages/exact/src/service/purchase.ts\n vehicle.external.identification?.stockNumber,\n vehicle.internal.identification?.administrativeNumber,\n vehicle.external.identification?.vin,\n ],\n },\n [BusinessEntityIds.Organizations]: {\n getMainEntity: (entity: SearchOrganization) => entity.org,\n getTitle: (org: Organization) => org.name,\n getTags: (org: Organization) => [`${org.externalId}`, org.vatNumber],\n },\n [BusinessEntityIds.LeasingContracts]: {\n getMainEntity: (entity: SearchLeasingContract) => entity.contract,\n getTitle: (contract: LeasingContract) => contract.contractNumber ?? contract.id,\n getTags: (contract: LeasingContract) => [contract.contractNumber, contract.slbPartner],\n },\n};\n\nconst getMapping = (businessEntityId: BusinessEntityIds) => {\n const mapping = mappings[businessEntityId];\n if (!mapping) {\n throw new Error(`Invalid business entity id ${businessEntityId}`);\n }\n return mapping;\n};\n\nexport const getTagsForBusinessEntity = (\n businessEntityId: BusinessEntityIds,\n entity: GlobalBusinessEntity\n): string[] => getMapping(businessEntityId).getTags(entity).filter(Boolean) as string[];\n\nexport const getTagsForSearchBusinessEntity = (\n businessEntityId: BusinessEntityIds,\n entity: GlobalSearchEntity\n) =>\n getTagsForBusinessEntity(\n businessEntityId,\n getMainEntityFromSearchEntity(businessEntityId, entity)\n );\n\nexport const getDescriptionForBusinessEntity = (\n businessEntityId: BusinessEntityIds,\n entity: GlobalBusinessEntity\n) => joinWithSeparator(getTagsForBusinessEntity(businessEntityId, entity));\n\nexport const getDescriptionForSearchBusinessEntity = (\n businessEntityId: BusinessEntityIds,\n entity: GlobalSearchEntity\n) => {\n return (\n getMapping(businessEntityId).getDescription?.(entity) ??\n getDescriptionForBusinessEntity(\n businessEntityId,\n getMainEntityFromSearchEntity(businessEntityId, entity)\n )\n );\n};\n\nexport const getMainEntityFromSearchEntity = (\n businessEntityId: BusinessEntityIds,\n entity: GlobalSearchEntity\n) => getMapping(businessEntityId).getMainEntity(entity);\n\nexport const getTitleForBusinessEntity = (\n businessEntityId: BusinessEntityIds,\n entity: GlobalBusinessEntity\n) => getMapping(businessEntityId).getTitle(entity);\n\nexport const getTitleForSearchBusinessEntity = (\n businessEntityId: BusinessEntityIds,\n searchEntity: GlobalSearchEntity\n) =>\n getTitleForBusinessEntity(\n businessEntityId,\n getMainEntityFromSearchEntity(businessEntityId, searchEntity)\n );\n\nexport const getMetaForBusinessEntity = (\n businessEntityId: BusinessEntityIds,\n entity: GlobalBusinessEntity\n) => getMapping(businessEntityId).getMeta?.(entity);\n\nexport const getMetaForSearchBusinessEntity = (\n businessEntityId: BusinessEntityIds,\n searchEntity: GlobalSearchEntity\n) =>\n getMetaForBusinessEntity(\n businessEntityId,\n getMainEntityFromSearchEntity(businessEntityId, searchEntity)\n );\n"]}
1
+ {"version":3,"file":"search.js","sourceRoot":"/","sources":["utils/search.ts"],"names":[],"mappings":"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","sourcesContent":["import { joinWithSeparator } from '@bisondesk/commons-sdk/formatting';\nimport { BusinessEntityIds } from '../constants.js';\nimport { Contact, Organization, SearchOrganization } from '../types/crm.js';\nimport { SearchLeasingContract } from '../types/leasing-search.js';\nimport { LeasingContract } from '../types/leasing.js';\nimport { Opportunity, SearchOpportunity } from '../types/opportunities.js';\nimport { SearchVehicle, Vehicle } from '../types/vehicles.js';\n\nexport type GlobalBusinessEntity = Opportunity | Vehicle | Organization | LeasingContract;\nexport type GlobalSearchEntity =\n | SearchOpportunity\n | SearchVehicle\n | SearchOrganization\n | SearchLeasingContract;\n\nexport const getCustomerInformation = (org?: Organization, contact?: Contact) => {\n if (org != null) {\n return {\n countryCode: org.countryCode,\n title: org.name,\n code: org.externalId,\n };\n }\n\n if (contact != null) {\n return {\n countryCode: contact.countryCode,\n title: [contact?.firstName, contact?.lastName].filter(Boolean).join(' '),\n };\n }\n};\n\nexport const mappings: {\n [key in BusinessEntityIds]?: {\n getMainEntity: (entity: any) => GlobalBusinessEntity;\n getTitle: (entity: any) => string;\n getTags: (entity: any) => (string | undefined)[];\n getDescription?: (entity: any) => string;\n getMeta?: (entity: any) => Record<string, any>;\n };\n} = {\n [BusinessEntityIds.Opportunities]: {\n getMainEntity: (entity: SearchOpportunity) => entity.opportunity,\n getTitle: (opp: Opportunity) => opp.id,\n getDescription: (opp: SearchOpportunity) => {\n const customer = getCustomerInformation(opp.org, opp.contact);\n return joinWithSeparator(\n [customer?.code, customer?.title, opp.vehicle?.external.identification.stockNumber].filter(\n Boolean\n )\n );\n },\n getTags: (opp: Opportunity) => [opp.id],\n getMeta: (opp: Opportunity) => ({\n status: opp.status,\n wonAt: opp.wonAt,\n lostAt: opp.lostAt,\n }),\n },\n [BusinessEntityIds.Vehicles]: {\n getMainEntity: (entity: SearchVehicle) => entity.vehicle,\n getTitle: (vehicle: Vehicle) => vehicle.internal.description.title,\n getTags: (vehicle: Vehicle) => [\n // the order of the tags here is relevant for exact integration\n // see: packages/exact/src/service/purchase.ts\n vehicle.external.identification?.stockNumber,\n vehicle.internal.identification?.administrativeNumber,\n vehicle.external.identification?.vin,\n ],\n },\n [BusinessEntityIds.Organizations]: {\n getMainEntity: (entity: SearchOrganization) => entity.org,\n getTitle: (org: Organization) => org.name,\n getTags: (org: Organization) => [`${org.externalId}`, org.vatNumber],\n },\n [BusinessEntityIds.LeasingContracts]: {\n getMainEntity: (entity: SearchLeasingContract) => entity.contract,\n getTitle: (contract: LeasingContract) => contract.contractNumber ?? contract.id,\n getTags: (contract: LeasingContract) => [contract.contractNumber, contract.slbPartner],\n },\n};\n\nconst getMapping = (businessEntityId: BusinessEntityIds) => {\n const mapping = mappings[businessEntityId];\n if (!mapping) {\n throw new Error(`Invalid business entity id ${businessEntityId}`);\n }\n return mapping;\n};\n\nexport const getTagsForBusinessEntity = (\n businessEntityId: BusinessEntityIds,\n entity: GlobalBusinessEntity\n): string[] => getMapping(businessEntityId).getTags(entity).filter(Boolean) as string[];\n\nexport const getTagsForSearchBusinessEntity = (\n businessEntityId: BusinessEntityIds,\n entity: GlobalSearchEntity\n) =>\n getTagsForBusinessEntity(\n businessEntityId,\n getMainEntityFromSearchEntity(businessEntityId, entity)\n );\n\nexport const getDescriptionForBusinessEntity = (\n businessEntityId: BusinessEntityIds,\n entity: GlobalBusinessEntity\n) => joinWithSeparator(getTagsForBusinessEntity(businessEntityId, entity));\n\nexport const getDescriptionForSearchBusinessEntity = (\n businessEntityId: BusinessEntityIds,\n entity: GlobalSearchEntity\n) => {\n return (\n getMapping(businessEntityId).getDescription?.(entity) ??\n getDescriptionForBusinessEntity(\n businessEntityId,\n getMainEntityFromSearchEntity(businessEntityId, entity)\n )\n );\n};\n\nexport const getMainEntityFromSearchEntity = (\n businessEntityId: BusinessEntityIds,\n entity: GlobalSearchEntity\n) => getMapping(businessEntityId).getMainEntity(entity);\n\nexport const getTitleForBusinessEntity = (\n businessEntityId: BusinessEntityIds,\n entity: GlobalBusinessEntity\n) => getMapping(businessEntityId).getTitle(entity);\n\nexport const getTitleForSearchBusinessEntity = (\n businessEntityId: BusinessEntityIds,\n searchEntity: GlobalSearchEntity\n) =>\n getTitleForBusinessEntity(\n businessEntityId,\n getMainEntityFromSearchEntity(businessEntityId, searchEntity)\n );\n\nexport const getMetaForBusinessEntity = (\n businessEntityId: BusinessEntityIds,\n entity: GlobalBusinessEntity\n) => getMapping(businessEntityId).getMeta?.(entity);\n\nexport const getMetaForSearchBusinessEntity = (\n businessEntityId: BusinessEntityIds,\n searchEntity: GlobalSearchEntity\n) =>\n getMetaForBusinessEntity(\n businessEntityId,\n getMainEntityFromSearchEntity(businessEntityId, searchEntity)\n );\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bisondesk/core-sdk",
3
- "version": "1.0.382",
3
+ "version": "1.0.384",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -244,32 +244,6 @@ export const getLeasingAmortizations = async (
244
244
  throw new XError(response.statusText, { url, tenantId, contractId, body });
245
245
  };
246
246
 
247
- export const addAmortizationDocs = async (
248
- tenantId: string,
249
- contractId: string,
250
- docs: AmortizationDocs
251
- ): Promise<AmortizationDocs> => {
252
- const auth = await getAdminAuth();
253
- const url = `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/${contractId}/amortization/add-docs`;
254
- const method = 'PATCH';
255
- const response: Response = await fetch(url, {
256
- method,
257
- headers: {
258
- 'Content-Type': 'application/json',
259
- Authorization: auth,
260
- [TENANT_ID_ADMIN_HEADER]: tenantId,
261
- },
262
- body: JSON.stringify(docs),
263
- });
264
-
265
- if (response.status === 200) {
266
- return response.json() as any;
267
- }
268
-
269
- const body = await response.text();
270
- throw new XError(response.statusText, { url, tenantId, docs, body });
271
- };
272
-
273
247
  export const listAmortizationDocsByContract = async (
274
248
  tenantId: string,
275
249
  contractId: string
@@ -49,22 +49,22 @@ export type InsightsPriceHistogram = {
49
49
 
50
50
  export type Insights = {
51
51
  trends: InsightsOnlineTrends[];
52
+ all: {
53
+ count: number;
54
+ histogramPrices: InsightsPriceHistogram;
55
+ percentilesDays: Percentiles;
56
+ percentilesPrices: Percentiles;
57
+ };
52
58
  online: {
53
59
  count: number;
54
60
  histogramPrices: InsightsPriceHistogram;
55
- avgPrice: number | null;
56
61
  percentilesDays: Percentiles;
57
- avgDays: number | null;
58
62
  percentilesPrices: Percentiles;
59
- minPrice: number;
60
63
  };
61
64
  sold: {
62
65
  count: number;
63
- avgPrice: number | null;
64
66
  percentilesPrices: Percentiles;
65
67
  percentilesDays: Percentiles;
66
- avgDays: number | null;
67
68
  histogramPrices: InsightsPriceHistogram;
68
- minPrice: number;
69
69
  };
70
70
  };
@@ -1,12 +1,7 @@
1
1
  import { UTCDate } from '@date-fns/utc';
2
2
  import { format } from 'date-fns';
3
- import { last, map, sortBy, uniqBy } from 'lodash-es';
4
- import {
5
- ConditionsRef,
6
- LeasingContract,
7
- LeasingContractClient,
8
- OpportunityRef,
9
- } from '../types/leasing.js';
3
+ import { map, sortBy, uniqBy } from 'lodash-es';
4
+ import { LeasingContractClient } from '../types/leasing.js';
10
5
 
11
6
  /* sort from oldest to most recent client */
12
7
  export const sortContractClients = (clients: LeasingContractClient[]): LeasingContractClient[] =>
@@ -18,9 +13,3 @@ export const sortContractClients = (clients: LeasingContractClient[]): LeasingCo
18
13
  (cli) => cli.since,
19
14
  (cli) => (cli.takeoverId ? parseInt(cli.takeoverId.replace(/[^0-9]/g, '')) : 0)
20
15
  );
21
-
22
- export const getDealRef = ({
23
- conditions,
24
- opportunities,
25
- }: Pick<LeasingContract, 'conditions' | 'opportunities'>): ConditionsRef | OpportunityRef =>
26
- last(conditions) ?? last(opportunities)!;
@@ -68,17 +68,6 @@ export const mappings: {
68
68
  vehicle.external.identification?.vin,
69
69
  ],
70
70
  },
71
- [BusinessEntityIds.ExternalVehicleSale]: {
72
- getMainEntity: (entity: SearchVehicle) => entity.vehicle,
73
- getTitle: (vehicle: Vehicle) => vehicle.internal.description.title,
74
- getTags: (vehicle: Vehicle) => [
75
- // the order of the tags here is relevant for exact integration
76
- // see: packages/exact/src/service/purchase.ts
77
- vehicle.external.identification?.stockNumber,
78
- vehicle.internal.identification?.administrativeNumber,
79
- vehicle.external.identification?.vin,
80
- ],
81
- },
82
71
  [BusinessEntityIds.Organizations]: {
83
72
  getMainEntity: (entity: SearchOrganization) => entity.org,
84
73
  getTitle: (org: Organization) => org.name,