@bisondesk/core-sdk 1.0.297 → 1.0.299

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.
Files changed (51) hide show
  1. package/lib/cjs/apis/crm.js.map +1 -1
  2. package/lib/cjs/apis/documents.js.map +1 -1
  3. package/lib/cjs/apis/leasing-administration.js.map +1 -1
  4. package/lib/cjs/apis/leasing.js.map +1 -1
  5. package/lib/cjs/apis/picklists.js.map +1 -1
  6. package/lib/cjs/apis/tenants.js.map +1 -1
  7. package/lib/cjs/apis/users.js.map +1 -1
  8. package/lib/cjs/apis/vehicles.js.map +1 -1
  9. package/lib/cjs/types/documents.js +7 -0
  10. package/lib/cjs/types/documents.js.map +1 -1
  11. package/lib/cjs/types/leasing-administration.js.map +1 -1
  12. package/lib/cjs/types/leasing.js +5 -1
  13. package/lib/cjs/types/leasing.js.map +1 -1
  14. package/lib/cjs/types/quotes.js.map +1 -1
  15. package/lib/esm/apis/crm.js.map +1 -1
  16. package/lib/esm/apis/documents.js.map +1 -1
  17. package/lib/esm/apis/leasing-administration.js.map +1 -1
  18. package/lib/esm/apis/leasing.js.map +1 -1
  19. package/lib/esm/apis/picklists.js.map +1 -1
  20. package/lib/esm/apis/tenants.js.map +1 -1
  21. package/lib/esm/apis/users.js.map +1 -1
  22. package/lib/esm/apis/vehicles.js.map +1 -1
  23. package/lib/esm/types/documents.js +6 -1
  24. package/lib/esm/types/documents.js.map +1 -1
  25. package/lib/esm/types/leasing-administration.js.map +1 -1
  26. package/lib/esm/types/leasing.js +4 -0
  27. package/lib/esm/types/leasing.js.map +1 -1
  28. package/lib/esm/types/quotes.js.map +1 -1
  29. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  30. package/lib/tsconfig.esm.tsbuildinfo +1 -1
  31. package/lib/types/types/documents.d.ts +5 -0
  32. package/lib/types/types/documents.d.ts.map +1 -1
  33. package/lib/types/types/leasing-administration.d.ts +2 -2
  34. package/lib/types/types/leasing-administration.d.ts.map +1 -1
  35. package/lib/types/types/leasing.d.ts +3 -0
  36. package/lib/types/types/leasing.d.ts.map +1 -1
  37. package/lib/types/types/quotes.d.ts +9 -0
  38. package/lib/types/types/quotes.d.ts.map +1 -1
  39. package/package.json +1 -1
  40. package/src/apis/crm.ts +8 -8
  41. package/src/apis/documents.ts +1 -1
  42. package/src/apis/leasing-administration.ts +2 -2
  43. package/src/apis/leasing.ts +11 -11
  44. package/src/apis/picklists.ts +2 -2
  45. package/src/apis/tenants.ts +5 -5
  46. package/src/apis/users.ts +1 -1
  47. package/src/apis/vehicles.ts +9 -9
  48. package/src/types/documents.ts +6 -0
  49. package/src/types/leasing-administration.ts +2 -2
  50. package/src/types/leasing.ts +4 -0
  51. package/src/types/quotes.ts +10 -0
@@ -1 +1 @@
1
- {"version":3,"file":"crm.js","sourceRoot":"/","sources":["apis/crm.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 type { Patch } from 'immer';\nimport fetch, { Response } from 'node-fetch';\nimport {\n Contact,\n NewContact,\n NewOrganization,\n Organization,\n SearchContact,\n SearchOrganization,\n} from '../types/crm';\nimport { SearchRequest } from '../types/search';\nimport { ReferenceData } from '../types/utils';\n\nexport const getCrmOrganization = async (\n tenantId: string,\n organizationId: string,\n opts?: { serviceId: string }\n): Promise<Organization | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/crm/organizations/${organizationId}`,\n {\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\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, { body, tenantId, organizationId, opts });\n};\n\nexport const getCrmOrganizationByExternalId = async (\n tenantId: string,\n externalId: string,\n opts?: { serviceId: string }\n): Promise<Organization | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/crm/organizations/external-id/${externalId}`,\n {\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\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, { body, tenantId, externalId, opts });\n};\n\nexport const saveCrmOrganization = async (\n tenantId: string,\n org: Organization | NewOrganization,\n opts?: { serviceId: string }\n): Promise<Organization> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/api/crm/organizations`, {\n method: 'POST',\n headers: cleanHeaders({\n Authorization: auth,\n 'Content-Type': 'application/json',\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n body: JSON.stringify(org),\n });\n\n if (response.ok) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body, tenantId, org, opts });\n};\n\nexport const patchCrmOrganization = async (\n tenantId: string,\n organizationId: string,\n changes: Patch[],\n opts?: { serviceId: string }\n): Promise<Organization> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/crm/organizations/${organizationId}`,\n {\n method: 'PATCH',\n headers: cleanHeaders({\n Authorization: auth,\n 'Content-Type': 'application/json',\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n body: JSON.stringify(changes),\n }\n );\n\n if (response.ok) {\n return response.json() as Promise<Organization>;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { tenantId, organizationId, changes, body, opts });\n};\n\nexport const searchCrmOrganizations = async (\n tenantId: string,\n req: SearchRequest,\n opts?: { serviceId: string }\n): Promise<PaginatedList<SearchOrganization, ReferenceData>> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/crm/organizations/search/results`,\n {\n method: 'POST',\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n body: JSON.stringify(req),\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, { body, tenantId, req, opts });\n};\n\nexport const searchCrmContacts = async (\n tenantId: string,\n req: SearchRequest,\n opts?: { serviceId: string }\n): Promise<PaginatedList<SearchContact, ReferenceData>> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/crm/contacts/search/results`,\n {\n method: 'POST',\n headers: cleanHeaders({\n Authorization: auth,\n 'Content-Type': 'application/json',\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n body: JSON.stringify(req),\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, { body, tenantId, req, opts });\n};\n\nexport const deleteCrmOrganization = async (\n tenantId: string,\n orgId: string,\n opts?: { serviceId: string }\n): Promise<void> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/crm/organizations/${orgId}`,\n {\n method: 'DELETE',\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n }\n );\n\n if (!response.ok) {\n const body = await response.text();\n throw new XError(response.statusText, { body, tenantId, orgId, opts });\n }\n};\n\nexport const listCrmContacts = async (\n tenantId: string,\n organizationId: string,\n opts?: { serviceId: string }\n): Promise<Contact[]> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/admin/crm/organizations/${organizationId}/contacts`,\n {\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\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, { body, tenantId, organizationId, opts });\n};\n\nexport const getCrmContact = async (\n tenantId: string,\n contactId: string,\n opts?: { serviceId: string }\n): Promise<Contact | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/crm/contacts/${contactId}`,\n {\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\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, { body, tenantId, contactId, opts });\n};\n\nexport const saveCrmContact = async (\n tenantId: string,\n contact: Contact | NewContact,\n opts?: { serviceId: string }\n): Promise<Contact> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/api/crm/contacts`, {\n method: 'POST',\n headers: cleanHeaders({\n Authorization: auth,\n 'Content-Type': 'application/json',\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n body: JSON.stringify(contact),\n });\n\n if (response.ok) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body, contact, tenantId, opts });\n};\n\nexport const deleteCrmContact = async (\n tenantId: string,\n contactId: string,\n orgId: string = '',\n opts?: { serviceId: string }\n): Promise<void> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/crm/contacts/${contactId}?orgId=${orgId}`,\n {\n method: 'DELETE',\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n }\n );\n\n if (!response.ok) {\n const body = await response.text();\n throw new XError(response.statusText, { body, tenantId, contactId, orgId, opts });\n }\n};\n"]}
1
+ {"version":3,"file":"crm.js","sourceRoot":"/","sources":["apis/crm.ts"],"names":[],"mappings":";;;;AAAA,gEAAmG;AACnG,0DAAuD;AACvD,wDAA0E;AAG1E,oEAA6C;AAYtC,MAAM,kBAAkB,GAAG,KAAK,EACrC,QAAgB,EAChB,cAAsB,EACtB,IAA4B,EACO,EAAE;IACrC,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EACpC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,0BAA0B,cAAc,EAAE,EACxE;QACE,OAAO,EAAE,IAAA,oBAAY,EAAC;YACpB,aAAa,EAAE,IAAI;YACnB,CAAC,kCAAsB,CAAC,EAAE,QAAQ;YAClC,CAAC,mCAAuB,CAAC,EAAE,IAAI,EAAE,SAAS;SAC3C,CAAC;KACH,CACF,CAAC;IAEF,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;KAC9D;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;AAClF,CAAC,CAAC;AAvBW,QAAA,kBAAkB,sBAuB7B;AAEK,MAAM,8BAA8B,GAAG,KAAK,EACjD,QAAgB,EAChB,UAAkB,EAClB,IAA4B,EACO,EAAE;IACrC,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EACpC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,sCAAsC,UAAU,EAAE,EAChF;QACE,OAAO,EAAE,IAAA,oBAAY,EAAC;YACpB,aAAa,EAAE,IAAI;YACnB,CAAC,kCAAsB,CAAC,EAAE,QAAQ;YAClC,CAAC,mCAAuB,CAAC,EAAE,IAAI,EAAE,SAAS;SAC3C,CAAC;KACH,CACF,CAAC;IAEF,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;KAC9D;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9E,CAAC,CAAC;AAvBW,QAAA,8BAA8B,kCAuBzC;AAEK,MAAM,mBAAmB,GAAG,KAAK,EACtC,QAAgB,EAChB,GAAmC,EACnC,IAA4B,EACL,EAAE;IACzB,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EAAC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,wBAAwB,EAAE;QAC7F,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,IAAA,oBAAY,EAAC;YACpB,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,kBAAkB;YAClC,CAAC,kCAAsB,CAAC,EAAE,QAAQ;YAClC,CAAC,mCAAuB,CAAC,EAAE,IAAI,EAAE,SAAS;SAC3C,CAAC;QACF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;KAC1B,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;KACxB;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;AACvE,CAAC,CAAC;AAvBW,QAAA,mBAAmB,uBAuB9B;AAEK,MAAM,oBAAoB,GAAG,KAAK,EACvC,QAAgB,EAChB,cAAsB,EACtB,OAAgB,EAChB,IAA4B,EACL,EAAE;IACzB,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EACpC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,0BAA0B,cAAc,EAAE,EACxE;QACE,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,IAAA,oBAAY,EAAC;YACpB,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,kBAAkB;YAClC,CAAC,kCAAsB,CAAC,EAAE,QAAQ;YAClC,CAAC,mCAAuB,CAAC,EAAE,IAAI,EAAE,SAAS;SAC3C,CAAC;QACF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KAC9B,CACF,CAAC;IAEF,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,IAAI,EAA2B,CAAC;KACjD;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3F,CAAC,CAAC;AA3BW,QAAA,oBAAoB,wBA2B/B;AAEK,MAAM,sBAAsB,GAAG,KAAK,EACzC,QAAgB,EAChB,GAAkB,EAClB,IAA4B,EAC+B,EAAE;IAC7D,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EACpC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,uCAAuC,EACrE;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,IAAA,oBAAY,EAAC;YACpB,aAAa,EAAE,IAAI;YACnB,CAAC,kCAAsB,CAAC,EAAE,QAAQ;YAClC,CAAC,mCAAuB,CAAC,EAAE,IAAI,EAAE,SAAS;SAC3C,CAAC;QACF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;KAC1B,CACF,CAAC;IAEF,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;KAC9D;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;AACvE,CAAC,CAAC;AAzBW,QAAA,sBAAsB,0BAyBjC;AAEK,MAAM,iBAAiB,GAAG,KAAK,EACpC,QAAgB,EAChB,GAAkB,EAClB,IAA4B,EAC0B,EAAE;IACxD,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EACpC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,kCAAkC,EAChE;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,IAAA,oBAAY,EAAC;YACpB,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,kBAAkB;YAClC,CAAC,kCAAsB,CAAC,EAAE,QAAQ;YAClC,CAAC,mCAAuB,CAAC,EAAE,IAAI,EAAE,SAAS;SAC3C,CAAC;QACF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;KAC1B,CACF,CAAC;IAEF,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;KAC9D;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;AACvE,CAAC,CAAC;AA1BW,QAAA,iBAAiB,qBA0B5B;AAEK,MAAM,qBAAqB,GAAG,KAAK,EACxC,QAAgB,EAChB,KAAa,EACb,IAA4B,EACb,EAAE;IACjB,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EACpC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,0BAA0B,KAAK,EAAE,EAC/D;QACE,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,IAAA,oBAAY,EAAC;YACpB,aAAa,EAAE,IAAI;YACnB,CAAC,kCAAsB,CAAC,EAAE,QAAQ;YAClC,CAAC,mCAAuB,CAAC,EAAE,IAAI,EAAE,SAAS;SAC3C,CAAC;KACH,CACF,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;QAChB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;KACxE;AACH,CAAC,CAAC;AAtBW,QAAA,qBAAqB,yBAsBhC;AAEK,MAAM,eAAe,GAAG,KAAK,EAClC,QAAgB,EAChB,cAAsB,EACtB,IAA4B,EACR,EAAE;IACtB,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EACpC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,4BAA4B,cAAc,WAAW,EACnF;QACE,OAAO,EAAE,IAAA,oBAAY,EAAC;YACpB,aAAa,EAAE,IAAI;YACnB,CAAC,kCAAsB,CAAC,EAAE,QAAQ;YAClC,CAAC,mCAAuB,CAAC,EAAE,IAAI,EAAE,SAAS;SAC3C,CAAC;KACH,CACF,CAAC;IAEF,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;KAC9D;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;AAClF,CAAC,CAAC;AAvBW,QAAA,eAAe,mBAuB1B;AAEK,MAAM,aAAa,GAAG,KAAK,EAChC,QAAgB,EAChB,SAAiB,EACjB,IAA4B,EACE,EAAE;IAChC,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EACpC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,qBAAqB,SAAS,EAAE,EAC9D;QACE,OAAO,EAAE,IAAA,oBAAY,EAAC;YACpB,aAAa,EAAE,IAAI;YACnB,CAAC,kCAAsB,CAAC,EAAE,QAAQ;YAClC,CAAC,mCAAuB,CAAC,EAAE,IAAI,EAAE,SAAS;SAC3C,CAAC;KACH,CACF,CAAC;IAEF,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;KAC9D;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7E,CAAC,CAAC;AAvBW,QAAA,aAAa,iBAuBxB;AAEK,MAAM,cAAc,GAAG,KAAK,EACjC,QAAgB,EAChB,OAA6B,EAC7B,IAA4B,EACV,EAAE;IACpB,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EAAC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,mBAAmB,EAAE;QACxF,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,IAAA,oBAAY,EAAC;YACpB,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,kBAAkB;YAClC,CAAC,kCAAsB,CAAC,EAAE,QAAQ;YAClC,CAAC,mCAAuB,CAAC,EAAE,IAAI,EAAE,SAAS;SAC3C,CAAC;QACF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KAC9B,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;KACxB;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3E,CAAC,CAAC;AAvBW,QAAA,cAAc,kBAuBzB;AAEK,MAAM,gBAAgB,GAAG,KAAK,EACnC,QAAgB,EAChB,SAAiB,EACjB,QAAgB,EAAE,EAClB,IAA4B,EACb,EAAE;IACjB,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EACpC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,qBAAqB,SAAS,UAAU,KAAK,EAAE,EAC7E;QACE,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,IAAA,oBAAY,EAAC;YACpB,aAAa,EAAE,IAAI;YACnB,CAAC,kCAAsB,CAAC,EAAE,QAAQ;YAClC,CAAC,mCAAuB,CAAC,EAAE,IAAI,EAAE,SAAS;SAC3C,CAAC;KACH,CACF,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;QAChB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;KACnF;AACH,CAAC,CAAC;AAvBW,QAAA,gBAAgB,oBAuB3B","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 type { Patch } from 'immer';\nimport fetch, { Response } from 'node-fetch';\nimport {\n Contact,\n NewContact,\n NewOrganization,\n Organization,\n SearchContact,\n SearchOrganization,\n} from '../types/crm';\nimport { SearchRequest } from '../types/search';\nimport { ReferenceData } from '../types/utils';\n\nexport const getCrmOrganization = async (\n tenantId: string,\n organizationId: string,\n opts?: { serviceId: string }\n): Promise<Organization | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/crm/organizations/${organizationId}`,\n {\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n }\n );\n\n if (response.ok) {\n return response.status === 200 ? response.json() : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body, tenantId, organizationId, opts });\n};\n\nexport const getCrmOrganizationByExternalId = async (\n tenantId: string,\n externalId: string,\n opts?: { serviceId: string }\n): Promise<Organization | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/crm/organizations/external-id/${externalId}`,\n {\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n }\n );\n\n if (response.ok) {\n return response.status === 200 ? response.json() : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body, tenantId, externalId, opts });\n};\n\nexport const saveCrmOrganization = async (\n tenantId: string,\n org: Organization | NewOrganization,\n opts?: { serviceId: string }\n): Promise<Organization> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/api/crm/organizations`, {\n method: 'POST',\n headers: cleanHeaders({\n Authorization: auth,\n 'Content-Type': 'application/json',\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n body: JSON.stringify(org),\n });\n\n if (response.ok) {\n return response.json();\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body, tenantId, org, opts });\n};\n\nexport const patchCrmOrganization = async (\n tenantId: string,\n organizationId: string,\n changes: Patch[],\n opts?: { serviceId: string }\n): Promise<Organization> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/crm/organizations/${organizationId}`,\n {\n method: 'PATCH',\n headers: cleanHeaders({\n Authorization: auth,\n 'Content-Type': 'application/json',\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n body: JSON.stringify(changes),\n }\n );\n\n if (response.ok) {\n return response.json() as Promise<Organization>;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { tenantId, organizationId, changes, body, opts });\n};\n\nexport const searchCrmOrganizations = async (\n tenantId: string,\n req: SearchRequest,\n opts?: { serviceId: string }\n): Promise<PaginatedList<SearchOrganization, ReferenceData>> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/crm/organizations/search/results`,\n {\n method: 'POST',\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n body: JSON.stringify(req),\n }\n );\n\n if (response.ok) {\n return response.status === 200 ? response.json() : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body, tenantId, req, opts });\n};\n\nexport const searchCrmContacts = async (\n tenantId: string,\n req: SearchRequest,\n opts?: { serviceId: string }\n): Promise<PaginatedList<SearchContact, ReferenceData>> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/crm/contacts/search/results`,\n {\n method: 'POST',\n headers: cleanHeaders({\n Authorization: auth,\n 'Content-Type': 'application/json',\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n body: JSON.stringify(req),\n }\n );\n\n if (response.ok) {\n return response.status === 200 ? response.json() : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body, tenantId, req, opts });\n};\n\nexport const deleteCrmOrganization = async (\n tenantId: string,\n orgId: string,\n opts?: { serviceId: string }\n): Promise<void> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/crm/organizations/${orgId}`,\n {\n method: 'DELETE',\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n }\n );\n\n if (!response.ok) {\n const body = await response.text();\n throw new XError(response.statusText, { body, tenantId, orgId, opts });\n }\n};\n\nexport const listCrmContacts = async (\n tenantId: string,\n organizationId: string,\n opts?: { serviceId: string }\n): Promise<Contact[]> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/admin/crm/organizations/${organizationId}/contacts`,\n {\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n }\n );\n\n if (response.ok) {\n return response.status === 200 ? response.json() : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body, tenantId, organizationId, opts });\n};\n\nexport const getCrmContact = async (\n tenantId: string,\n contactId: string,\n opts?: { serviceId: string }\n): Promise<Contact | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/crm/contacts/${contactId}`,\n {\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n }\n );\n\n if (response.ok) {\n return response.status === 200 ? response.json() : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body, tenantId, contactId, opts });\n};\n\nexport const saveCrmContact = async (\n tenantId: string,\n contact: Contact | NewContact,\n opts?: { serviceId: string }\n): Promise<Contact> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/api/crm/contacts`, {\n method: 'POST',\n headers: cleanHeaders({\n Authorization: auth,\n 'Content-Type': 'application/json',\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n body: JSON.stringify(contact),\n });\n\n if (response.ok) {\n return response.json();\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body, contact, tenantId, opts });\n};\n\nexport const deleteCrmContact = async (\n tenantId: string,\n contactId: string,\n orgId: string = '',\n opts?: { serviceId: string }\n): Promise<void> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/crm/contacts/${contactId}?orgId=${orgId}`,\n {\n method: 'DELETE',\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n }\n );\n\n if (!response.ok) {\n const body = await response.text();\n throw new XError(response.statusText, { body, tenantId, contactId, orgId, opts });\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"documents.js","sourceRoot":"/","sources":["apis/documents.ts"],"names":[],"mappings":";;;;AAAA,gEAA0E;AAC1E,0DAAuD;AACvD,wDAA4D;AAC5D,oEAA6C;AAGtC,MAAM,gBAAgB,GAAG,KAAK,EACnC,QAAgB,EAChB,GAAoB,EACM,EAAE;IAC5B,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EAAC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,wBAAwB,EAAE;QAC7F,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,IAAI;YACnB,CAAC,kCAAsB,CAAC,EAAE,QAAQ;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;KAC1B,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;QAC3B,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;KACxB;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,4CAA4C,EAAE;QAC7D,QAAQ;QACR,GAAG;QACH,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAC;AACL,CAAC,CAAC;AA1BW,QAAA,gBAAgB,oBA0B3B;AAEK,MAAM,oBAAoB,GAAG,KAAK,EACvC,QAAgB,EAChB,OAAuB,EACE,EAAE;IAC3B,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EACpC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,gCAAgC,EAC9D;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,IAAI;YACnB,CAAC,kCAAsB,CAAC,EAAE,QAAQ;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KAC9B,CACF,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;QAC3B,OAAO,QAAQ,CAAC,IAAI,EAAS,CAAC;KAC/B;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,gDAAgD,EAAE;QACjE,QAAQ;QACR,OAAO;QACP,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAC;AACL,CAAC,CAAC;AA7BW,QAAA,oBAAoB,wBA6B/B","sourcesContent":["import { TENANT_ID_ADMIN_HEADER } from '@bisondesk/commons-sdk/constants';\nimport { XError } from '@bisondesk/commons-sdk/errors';\nimport { getAdminAuth } from '@bisondesk/commons-sdk/fetch';\nimport fetch, { Response } from 'node-fetch';\nimport { FinanceBooking, FinanceDocument } from '../types/documents';\n\nexport const upsertFinanceDoc = async (\n tenantId: string,\n doc: FinanceDocument\n): Promise<FinanceDocument> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/api/documents/finance`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n body: JSON.stringify(doc),\n });\n\n if (response.status === 200) {\n return response.json();\n }\n\n const body = await response.text();\n throw new XError('core-sdk.documents.upsert-finance-doc-fail', {\n tenantId,\n doc,\n response: body,\n status: response.status,\n });\n};\n\nexport const upsertFinanceBooking = async (\n tenantId: string,\n booking: FinanceBooking\n): Promise<FinanceBooking> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/documents/finance/booking`,\n {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n body: JSON.stringify(booking),\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('core-sdk.documents.upsert-finance-booking-fail', {\n tenantId,\n booking,\n response: body,\n status: response.status,\n });\n};\n"]}
1
+ {"version":3,"file":"documents.js","sourceRoot":"/","sources":["apis/documents.ts"],"names":[],"mappings":";;;;AAAA,gEAA0E;AAC1E,0DAAuD;AACvD,wDAA4D;AAC5D,oEAA6C;AAGtC,MAAM,gBAAgB,GAAG,KAAK,EACnC,QAAgB,EAChB,GAAoB,EACM,EAAE;IAC5B,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EAAC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,wBAAwB,EAAE;QAC7F,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,IAAI;YACnB,CAAC,kCAAsB,CAAC,EAAE,QAAQ;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;KAC1B,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;QAC3B,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;KACxB;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,4CAA4C,EAAE;QAC7D,QAAQ;QACR,GAAG;QACH,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAC;AACL,CAAC,CAAC;AA1BW,QAAA,gBAAgB,oBA0B3B;AAEK,MAAM,oBAAoB,GAAG,KAAK,EACvC,QAAgB,EAChB,OAAuB,EACE,EAAE;IAC3B,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EACpC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,gCAAgC,EAC9D;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,IAAI;YACnB,CAAC,kCAAsB,CAAC,EAAE,QAAQ;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KAC9B,CACF,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;QAC3B,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;KACxB;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,gDAAgD,EAAE;QACjE,QAAQ;QACR,OAAO;QACP,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAC;AACL,CAAC,CAAC;AA7BW,QAAA,oBAAoB,wBA6B/B","sourcesContent":["import { TENANT_ID_ADMIN_HEADER } from '@bisondesk/commons-sdk/constants';\nimport { XError } from '@bisondesk/commons-sdk/errors';\nimport { getAdminAuth } from '@bisondesk/commons-sdk/fetch';\nimport fetch, { Response } from 'node-fetch';\nimport { FinanceBooking, FinanceDocument } from '../types/documents';\n\nexport const upsertFinanceDoc = async (\n tenantId: string,\n doc: FinanceDocument\n): Promise<FinanceDocument> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/api/documents/finance`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n body: JSON.stringify(doc),\n });\n\n if (response.status === 200) {\n return response.json();\n }\n\n const body = await response.text();\n throw new XError('core-sdk.documents.upsert-finance-doc-fail', {\n tenantId,\n doc,\n response: body,\n status: response.status,\n });\n};\n\nexport const upsertFinanceBooking = async (\n tenantId: string,\n booking: FinanceBooking\n): Promise<FinanceBooking> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/documents/finance/booking`,\n {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n body: JSON.stringify(booking),\n }\n );\n\n if (response.status === 200) {\n return response.json();\n }\n\n const body = await response.text();\n throw new XError('core-sdk.documents.upsert-finance-booking-fail', {\n tenantId,\n booking,\n response: body,\n status: response.status,\n });\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"leasing-administration.js","sourceRoot":"/","sources":["apis/leasing-administration.ts"],"names":[],"mappings":";;;;AAAA,gEAAmG;AACnG,0DAAuD;AACvD,wDAA0E;AAC1E,oEAA6C;AAOtC,MAAM,wBAAwB,GAAG,KAAK,EAC3C,QAAgB,EAChB,IAAkC,EAClC,IAA4B,EACC,EAAE;IAC/B,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EACpC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,qCAAqC,EACnE;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,IAAA,oBAAY,EAAC;YACpB,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,kBAAkB;YAClC,CAAC,kCAAsB,CAAC,EAAE,QAAQ;YAClC,CAAC,mCAAuB,CAAC,EAAE,IAAI,EAAE,SAAS;SAC3C,CAAC;QACF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CACF,CAAC;IAEF,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,IAAI,EAAS,CAAC;KAC/B;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,CAAC,CAAC;AA1BW,QAAA,wBAAwB,4BA0BnC;AAEK,MAAM,8BAA8B,GAAG,KAAK,EACjD,QAAgB,EAChB,SAAiB,EACjB,QAAgB,EAChB,SAAmC,EACnC,IAA4B,EACC,EAAE;IAC/B,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EACpC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,uCAAuC,SAAS,IAAI,QAAQ,SAAS,EACnG;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,IAAA,oBAAY,EAAC;YACpB,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,kBAAkB;YAClC,CAAC,kCAAsB,CAAC,EAAE,QAAQ;YAClC,CAAC,mCAAuB,CAAC,EAAE,IAAI,EAAE,SAAS;SAC3C,CAAC;QACF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;KAC5C,CACF,CAAC;IAEF,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,IAAI,EAAS,CAAC;KAC/B;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACvF,CAAC,CAAC;AA5BW,QAAA,8BAA8B,kCA4BzC","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 fetch, { Response } from 'node-fetch';\nimport {\n LeasingAdminUpload,\n LeasingAdminUploadStatus,\n NewLeasingAdminUploadRequest,\n} from '../types/leasing-administration';\n\nexport const createLeasingAdminUpload = async (\n tenantId: string,\n data: NewLeasingAdminUploadRequest,\n opts?: { serviceId: string }\n): Promise<LeasingAdminUpload> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/leasing/administration/uploads`,\n {\n method: 'POST',\n headers: cleanHeaders({\n Authorization: auth,\n 'Content-Type': 'application/json',\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n body: JSON.stringify(data),\n }\n );\n\n if (response.ok) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body, data, opts });\n};\n\nexport const updateLeasingAdminUploadStatus = async (\n tenantId: string,\n handlerId: string,\n uploadId: string,\n newStatus: LeasingAdminUploadStatus,\n opts?: { serviceId: string }\n): Promise<LeasingAdminUpload> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/leasing/administration/uploads/${handlerId}/${uploadId}/status`,\n {\n method: 'PUT',\n headers: cleanHeaders({\n Authorization: auth,\n 'Content-Type': 'application/json',\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n body: JSON.stringify({ status: newStatus }),\n }\n );\n\n if (response.ok) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body, tenantId, handlerId, uploadId, opts });\n};\n"]}
1
+ {"version":3,"file":"leasing-administration.js","sourceRoot":"/","sources":["apis/leasing-administration.ts"],"names":[],"mappings":";;;;AAAA,gEAAmG;AACnG,0DAAuD;AACvD,wDAA0E;AAC1E,oEAA6C;AAOtC,MAAM,wBAAwB,GAAG,KAAK,EAC3C,QAAgB,EAChB,IAAkC,EAClC,IAA4B,EACC,EAAE;IAC/B,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EACpC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,qCAAqC,EACnE;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,IAAA,oBAAY,EAAC;YACpB,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,kBAAkB;YAClC,CAAC,kCAAsB,CAAC,EAAE,QAAQ;YAClC,CAAC,mCAAuB,CAAC,EAAE,IAAI,EAAE,SAAS;SAC3C,CAAC;QACF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CACF,CAAC;IAEF,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;KACxB;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,CAAC,CAAC;AA1BW,QAAA,wBAAwB,4BA0BnC;AAEK,MAAM,8BAA8B,GAAG,KAAK,EACjD,QAAgB,EAChB,SAAiB,EACjB,QAAgB,EAChB,SAAmC,EACnC,IAA4B,EACC,EAAE;IAC/B,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EACpC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,uCAAuC,SAAS,IAAI,QAAQ,SAAS,EACnG;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,IAAA,oBAAY,EAAC;YACpB,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,kBAAkB;YAClC,CAAC,kCAAsB,CAAC,EAAE,QAAQ;YAClC,CAAC,mCAAuB,CAAC,EAAE,IAAI,EAAE,SAAS;SAC3C,CAAC;QACF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;KAC5C,CACF,CAAC;IAEF,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;KACxB;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACvF,CAAC,CAAC;AA5BW,QAAA,8BAA8B,kCA4BzC","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 fetch, { Response } from 'node-fetch';\nimport {\n LeasingAdminUpload,\n LeasingAdminUploadStatus,\n NewLeasingAdminUploadRequest,\n} from '../types/leasing-administration';\n\nexport const createLeasingAdminUpload = async (\n tenantId: string,\n data: NewLeasingAdminUploadRequest,\n opts?: { serviceId: string }\n): Promise<LeasingAdminUpload> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/leasing/administration/uploads`,\n {\n method: 'POST',\n headers: cleanHeaders({\n Authorization: auth,\n 'Content-Type': 'application/json',\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n body: JSON.stringify(data),\n }\n );\n\n if (response.ok) {\n return response.json();\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body, data, opts });\n};\n\nexport const updateLeasingAdminUploadStatus = async (\n tenantId: string,\n handlerId: string,\n uploadId: string,\n newStatus: LeasingAdminUploadStatus,\n opts?: { serviceId: string }\n): Promise<LeasingAdminUpload> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/leasing/administration/uploads/${handlerId}/${uploadId}/status`,\n {\n method: 'PUT',\n headers: cleanHeaders({\n Authorization: auth,\n 'Content-Type': 'application/json',\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n body: JSON.stringify({ status: newStatus }),\n }\n );\n\n if (response.ok) {\n return response.json();\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body, tenantId, handlerId, uploadId, opts });\n};\n"]}
@@ -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 fetch, { Response } from 'node-fetch';\nimport {\n AmortizationDocs,\n AmortizationTable,\n LeasingConditions,\n LeasingContract,\n NewLeasingConditions,\n NewLeasingContract,\n} from '../types/leasing';\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 response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/clients?offset=${offset}&limit=${limit}`,\n {\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\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, { 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 response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/leasing/contracts?offset=${offset}&limit=${limit}`,\n {\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\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, { 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 response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/leasing/conditions/${conditionsId}`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\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, { 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 response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/api/leasing/conditions`, {\n method: 'POST',\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, { 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 response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/number/${contractNumber}`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\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, { tenantId, contractNumber, body });\n};\n\nexport const getLeasingContract = async (\n tenantId: string,\n contractId: string\n): Promise<LeasingContract | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/${contractId}`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\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, { tenantId, contractId, 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 response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/find?clientId=${clientId}&vehicleId=${vehicleId}`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\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, { 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 response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/api/leasing/contracts`, {\n method: 'POST',\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, { tenantId, contract, body });\n};\n\nexport const computeFinanceDocLeasingAmounts = async (\n tenantId: string,\n contractId: string,\n documentId: string\n): Promise<\n | {\n totalAmountExcl: string;\n totalCapital: string;\n totalInterest: string;\n totalOthers: string;\n }\n | undefined\n> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/leasing/doc/${documentId}/amounts`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\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, { tenantId, contractId, body });\n};\n\nexport const getLeasingAmortizations = async (\n tenantId: string,\n contractId: string\n): Promise<AmortizationTable | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/${contractId}/amortization`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\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, { 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 response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/${contractId}/amortization/docs`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\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, { 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 fetch, { Response } from 'node-fetch';\nimport {\n AmortizationDocs,\n AmortizationTable,\n LeasingConditions,\n LeasingContract,\n NewLeasingConditions,\n NewLeasingContract,\n} from '../types/leasing';\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 response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/clients?offset=${offset}&limit=${limit}`,\n {\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n }\n );\n\n if (response.ok) {\n return response.status === 200 ? response.json() : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { 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 response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/leasing/contracts?offset=${offset}&limit=${limit}`,\n {\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n }\n );\n\n if (response.ok) {\n return response.status === 200 ? response.json() : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { 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 response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/leasing/conditions/${conditionsId}`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n }\n );\n\n if (response.ok) {\n return response.status === 200 ? response.json() : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { 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 response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/api/leasing/conditions`, {\n method: 'POST',\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();\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { 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 response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/number/${contractNumber}`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n }\n );\n\n if (response.ok) {\n return response.status === 200 ? response.json() : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { tenantId, contractNumber, body });\n};\n\nexport const getLeasingContract = async (\n tenantId: string,\n contractId: string\n): Promise<LeasingContract | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/${contractId}`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n }\n );\n\n if (response.ok) {\n return response.status === 200 ? response.json() : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { tenantId, contractId, 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 response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/find?clientId=${clientId}&vehicleId=${vehicleId}`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n }\n );\n\n if (response.status === 200) {\n return response.json();\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { 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 response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/api/leasing/contracts`, {\n method: 'POST',\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();\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { tenantId, contract, body });\n};\n\nexport const computeFinanceDocLeasingAmounts = async (\n tenantId: string,\n contractId: string,\n documentId: string\n): Promise<\n | {\n totalAmountExcl: string;\n totalCapital: string;\n totalInterest: string;\n totalOthers: string;\n }\n | undefined\n> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/leasing/doc/${documentId}/amounts`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n }\n );\n\n if (response.status === 200) {\n return response.json();\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { tenantId, contractId, body });\n};\n\nexport const getLeasingAmortizations = async (\n tenantId: string,\n contractId: string\n): Promise<AmortizationTable | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/${contractId}/amortization`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n }\n );\n\n if (response.status === 200) {\n return response.json();\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { 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 response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/leasing/contracts/${contractId}/amortization/docs`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n }\n );\n\n if (response.status === 200) {\n return response.json();\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { tenantId, contractId, body });\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"picklists.js","sourceRoot":"/","sources":["apis/picklists.ts"],"names":[],"mappings":";;;;AAAA,0DAAuD;AACvD,wDAA0E;AAE1E,oEAA6C;AAOtC,MAAM,yBAAyB,GAAG,KAAK,EAC5C,OAA6B,EACO,EAAE;IACtC,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EAAC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,0BAA0B,EAAE;QAC/F,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KAC9B,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,IAAI,EAAS,CAAC;KAC/B;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC,CAAC;AAnBW,QAAA,yBAAyB,6BAmBpC;AAEK,MAAM,kBAAkB,GAAG,KAAK,EAAE,GAA2B,EAAqB,EAAE;IACzF,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAElC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EAAC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,wBAAwB,EAAE;QAC7F,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,IAAA,oBAAY,EAAC;YACpB,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,kBAAkB;SACnC,CAAC;QACF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;KAC1B,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,IAAI,EAAS,CAAC;KAC/B;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;AACvD,CAAC,CAAC;AAlBW,QAAA,kBAAkB,sBAkB7B","sourcesContent":["import { XError } from '@bisondesk/commons-sdk/errors';\nimport { cleanHeaders, getAdminAuth } from '@bisondesk/commons-sdk/fetch';\nimport { Option } from '@bisondesk/commons-sdk/types';\nimport fetch, { Response } from 'node-fetch';\nimport {\n AdHocPicklistRequest,\n AdHocPicklistValueDisplay,\n PicklistOptionsRequest,\n} from '../types/picklists';\n\nexport const getMultiplePicklistValues = async (\n request: AdHocPicklistRequest\n): Promise<AdHocPicklistValueDisplay> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/api/picklists/bulk/read`, {\n method: 'POST',\n headers: {\n Authorization: auth,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(request),\n });\n\n if (response.ok) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body });\n};\n\nexport const getPicklistOptions = async (req: PicklistOptionsRequest): Promise<Option[]> => {\n const auth = await getAdminAuth();\n\n const response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/api/picklists/options`, {\n method: 'POST',\n headers: cleanHeaders({\n Authorization: auth,\n 'Content-Type': 'application/json',\n }),\n body: JSON.stringify(req),\n });\n\n if (response.ok) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body, req });\n};\n"]}
1
+ {"version":3,"file":"picklists.js","sourceRoot":"/","sources":["apis/picklists.ts"],"names":[],"mappings":";;;;AAAA,0DAAuD;AACvD,wDAA0E;AAE1E,oEAA6C;AAOtC,MAAM,yBAAyB,GAAG,KAAK,EAC5C,OAA6B,EACO,EAAE;IACtC,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EAAC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,0BAA0B,EAAE;QAC/F,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KAC9B,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;KACxB;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC,CAAC;AAnBW,QAAA,yBAAyB,6BAmBpC;AAEK,MAAM,kBAAkB,GAAG,KAAK,EAAE,GAA2B,EAAqB,EAAE;IACzF,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAElC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EAAC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,wBAAwB,EAAE;QAC7F,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,IAAA,oBAAY,EAAC;YACpB,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,kBAAkB;SACnC,CAAC;QACF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;KAC1B,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;KACxB;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;AACvD,CAAC,CAAC;AAlBW,QAAA,kBAAkB,sBAkB7B","sourcesContent":["import { XError } from '@bisondesk/commons-sdk/errors';\nimport { cleanHeaders, getAdminAuth } from '@bisondesk/commons-sdk/fetch';\nimport { Option } from '@bisondesk/commons-sdk/types';\nimport fetch, { Response } from 'node-fetch';\nimport {\n AdHocPicklistRequest,\n AdHocPicklistValueDisplay,\n PicklistOptionsRequest,\n} from '../types/picklists';\n\nexport const getMultiplePicklistValues = async (\n request: AdHocPicklistRequest\n): Promise<AdHocPicklistValueDisplay> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/api/picklists/bulk/read`, {\n method: 'POST',\n headers: {\n Authorization: auth,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(request),\n });\n\n if (response.ok) {\n return response.json();\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body });\n};\n\nexport const getPicklistOptions = async (req: PicklistOptionsRequest): Promise<Option[]> => {\n const auth = await getAdminAuth();\n\n const response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/api/picklists/options`, {\n method: 'POST',\n headers: cleanHeaders({\n Authorization: auth,\n 'Content-Type': 'application/json',\n }),\n body: JSON.stringify(req),\n });\n\n if (response.ok) {\n return response.json();\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body, req });\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tenants.js","sourceRoot":"/","sources":["apis/tenants.ts"],"names":[],"mappings":"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","sourcesContent":["import { XError } from '@bisondesk/commons-sdk/errors';\nimport { getAdminAuth } from '@bisondesk/commons-sdk/fetch';\nimport fetch, { Response } from 'node-fetch';\nimport { Tenant, TenantSyncSettings } from '../types/tenants';\n\nexport const listTenants = async (): Promise<Tenant[]> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/admin/tenants`, {\n headers: {\n Authorization: auth,\n },\n });\n\n if (response.ok) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body });\n};\n\nexport const listTenantsSyncSettings = async (): Promise<TenantSyncSettings[]> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/admin/tenants/settings/sync`,\n {\n headers: {\n Authorization: auth,\n },\n }\n );\n\n if (response.ok) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body });\n};\n\nexport const getTenant = async (tenantId: string): Promise<Tenant | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/admin/tenants/${tenantId}`,\n {\n headers: {\n Authorization: auth,\n },\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, { body });\n};\n\nexport const getTenantByHyperdmsId = async (\n hyperdmsTenantId: string\n): Promise<Tenant | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/admin/tenants/hyperdms/${hyperdmsTenantId}`,\n {\n headers: {\n Authorization: auth,\n },\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, { body });\n};\n\nexport const getTenantByHyperportalId = async (\n hyperportalTenantId: string\n): Promise<Tenant | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/admin/tenants/hyperportal/${hyperportalTenantId}`,\n {\n headers: {\n Authorization: auth,\n },\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, { body });\n};\n"]}
1
+ {"version":3,"file":"tenants.js","sourceRoot":"/","sources":["apis/tenants.ts"],"names":[],"mappings":";;;;AAAA,0DAAuD;AACvD,wDAA4D;AAC5D,oEAA6C;AAGtC,MAAM,WAAW,GAAG,KAAK,IAAuB,EAAE;IACvD,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EAAC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,gBAAgB,EAAE;QACrF,OAAO,EAAE;YACP,aAAa,EAAE,IAAI;SACpB;KACF,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;KACxB;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC,CAAC;AAdW,QAAA,WAAW,eActB;AAEK,MAAM,uBAAuB,GAAG,KAAK,IAAmC,EAAE;IAC/E,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EACpC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,8BAA8B,EAC5D;QACE,OAAO,EAAE;YACP,aAAa,EAAE,IAAI;SACpB;KACF,CACF,CAAC;IAEF,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;KACxB;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC,CAAC;AAjBW,QAAA,uBAAuB,2BAiBlC;AAEK,MAAM,SAAS,GAAG,KAAK,EAAE,QAAgB,EAA+B,EAAE;IAC/E,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EACpC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,kBAAkB,QAAQ,EAAE,EAC1D;QACE,OAAO,EAAE;YACP,aAAa,EAAE,IAAI;SACpB;KACF,CACF,CAAC;IAEF,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;KAC9D;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC,CAAC;AAjBW,QAAA,SAAS,aAiBpB;AAEK,MAAM,qBAAqB,GAAG,KAAK,EACxC,gBAAwB,EACK,EAAE;IAC/B,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EACpC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,2BAA2B,gBAAgB,EAAE,EAC3E;QACE,OAAO,EAAE;YACP,aAAa,EAAE,IAAI;SACpB;KACF,CACF,CAAC;IAEF,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;KAC9D;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC,CAAC;AAnBW,QAAA,qBAAqB,yBAmBhC;AAEK,MAAM,wBAAwB,GAAG,KAAK,EAC3C,mBAA2B,EACE,EAAE;IAC/B,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EACpC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,8BAA8B,mBAAmB,EAAE,EACjF;QACE,OAAO,EAAE;YACP,aAAa,EAAE,IAAI;SACpB;KACF,CACF,CAAC;IAEF,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;KAC9D;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC,CAAC;AAnBW,QAAA,wBAAwB,4BAmBnC","sourcesContent":["import { XError } from '@bisondesk/commons-sdk/errors';\nimport { getAdminAuth } from '@bisondesk/commons-sdk/fetch';\nimport fetch, { Response } from 'node-fetch';\nimport { Tenant, TenantSyncSettings } from '../types/tenants';\n\nexport const listTenants = async (): Promise<Tenant[]> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/admin/tenants`, {\n headers: {\n Authorization: auth,\n },\n });\n\n if (response.ok) {\n return response.json();\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body });\n};\n\nexport const listTenantsSyncSettings = async (): Promise<TenantSyncSettings[]> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/admin/tenants/settings/sync`,\n {\n headers: {\n Authorization: auth,\n },\n }\n );\n\n if (response.ok) {\n return response.json();\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body });\n};\n\nexport const getTenant = async (tenantId: string): Promise<Tenant | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/admin/tenants/${tenantId}`,\n {\n headers: {\n Authorization: auth,\n },\n }\n );\n\n if (response.ok) {\n return response.status === 200 ? response.json() : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body });\n};\n\nexport const getTenantByHyperdmsId = async (\n hyperdmsTenantId: string\n): Promise<Tenant | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/admin/tenants/hyperdms/${hyperdmsTenantId}`,\n {\n headers: {\n Authorization: auth,\n },\n }\n );\n\n if (response.ok) {\n return response.status === 200 ? response.json() : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body });\n};\n\nexport const getTenantByHyperportalId = async (\n hyperportalTenantId: string\n): Promise<Tenant | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/admin/tenants/hyperportal/${hyperportalTenantId}`,\n {\n headers: {\n Authorization: auth,\n },\n }\n );\n\n if (response.ok) {\n return response.status === 200 ? response.json() : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body });\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"users.js","sourceRoot":"/","sources":["apis/users.ts"],"names":[],"mappings":";;;;AAAA,gEAA0E;AAC1E,0DAAuD;AACvD,wDAA0E;AAC1E,oEAA6C;AAGtC,MAAM,OAAO,GAAG,KAAK,EAAE,QAAgB,EAAE,MAAc,EAA6B,EAAE;IAC3F,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EAAC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,cAAc,MAAM,EAAE,EAAE;QAC3F,OAAO,EAAE,IAAA,oBAAY,EAAC;YACpB,aAAa,EAAE,IAAI;YACnB,CAAC,kCAAsB,CAAC,EAAE,QAAQ;SACnC,CAAC;KACH,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAE,QAAQ,CAAC,IAAI,EAAU,CAAC,CAAC,CAAC,SAAS,CAAC;KACvE;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;AACpE,CAAC,CAAC;AAfW,QAAA,OAAO,WAelB","sourcesContent":["import { 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 fetch, { Response } from 'node-fetch';\nimport { User } from '../types/users';\n\nexport const getUser = async (tenantId: string, userId: string): Promise<User | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/api/users/${userId}`, {\n headers: cleanHeaders({\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, { body, tenantId, userId });\n};\n"]}
1
+ {"version":3,"file":"users.js","sourceRoot":"/","sources":["apis/users.ts"],"names":[],"mappings":";;;;AAAA,gEAA0E;AAC1E,0DAAuD;AACvD,wDAA0E;AAC1E,oEAA6C;AAGtC,MAAM,OAAO,GAAG,KAAK,EAAE,QAAgB,EAAE,MAAc,EAA6B,EAAE;IAC3F,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,IAAA,oBAAK,EAAC,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,cAAc,MAAM,EAAE,EAAE;QAC3F,OAAO,EAAE,IAAA,oBAAY,EAAC;YACpB,aAAa,EAAE,IAAI;YACnB,CAAC,kCAAsB,CAAC,EAAE,QAAQ;SACnC,CAAC;KACH,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;KAC9D;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,eAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;AACpE,CAAC,CAAC;AAfW,QAAA,OAAO,WAelB","sourcesContent":["import { 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 fetch, { Response } from 'node-fetch';\nimport { User } from '../types/users';\n\nexport const getUser = async (tenantId: string, userId: string): Promise<User | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/api/users/${userId}`, {\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n }),\n });\n\n if (response.ok) {\n return response.status === 200 ? response.json() : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body, tenantId, userId });\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"vehicles.js","sourceRoot":"/","sources":["apis/vehicles.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, fetchJson, getAdminAuth } from '@bisondesk/commons-sdk/fetch';\nimport fetch, { Response } from 'node-fetch';\nimport { DataRecord } from '../types/utils';\nimport { NewVehicle, Vehicle, VehicleMarketing, VehiclePurchase } from '../types/vehicles';\n\nexport const getVehicle = async (\n tenantId: string,\n vehicleId: string\n): Promise<DataRecord<Vehicle> | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/vehicles/${vehicleId}`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\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, { body });\n};\n\nexport const getVehicleByChassisNumber = async (\n tenantId: string,\n vin: string\n): Promise<DataRecord<Vehicle> | undefined> => {\n const auth = await getAdminAuth();\n return fetchJson(`${process.env.CORE_API_ORIGIN}/api/vehicles/vin/${vin}`, {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n });\n};\n\nexport const getVehiclePurchase = async (\n tenantId: string,\n vehicleId: string\n): Promise<DataRecord<VehiclePurchase> | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/vehicles/${vehicleId}/purchase`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\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, { body });\n};\n\nexport const getVehicleByStockNumber = async (\n tenantId: string,\n stockNumber: string\n): Promise<Vehicle | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/vehicles/stock-number/${stockNumber}`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\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, { body });\n};\n\nexport const getVehicleByPurchaseStockNumber = async (\n tenantId: string,\n stockNumber: string\n): Promise<Vehicle | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/vehicles/purchase-stock-number/${stockNumber}`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\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, { body });\n};\n\nexport const listVehiclesMarketing = async (\n tenantId: string,\n offset: number,\n limit: number,\n opts?: { serviceId: string }\n): Promise<{ id: string; data: VehicleMarketing }[]> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/vehicles/marketing/list?offset=${offset}&limit=${limit}`,\n {\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\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, { tenantId, body, offset, limit });\n};\n\nexport const getVehicleMarketing = async (\n tenantId: string,\n vehicleId: string\n): Promise<VehicleMarketing | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/vehicles/${vehicleId}/marketing`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\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, { body });\n};\n\nexport const saveMarketing = async (\n tenantId: string,\n vehicleId: string,\n marketing: VehicleMarketing\n): Promise<VehicleMarketing> => {\n const auth = await getAdminAuth();\n\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/vehicles/${vehicleId}/marketing`,\n {\n method: 'POST',\n headers: cleanHeaders({\n Authorization: auth,\n 'Content-Type': 'application/json',\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n }),\n body: JSON.stringify(marketing),\n }\n );\n\n if (response.ok) {\n return response.json() as any;\n }\n const body = await response.text();\n throw new XError(response.statusText, { body, tenantId, vehicleId, marketing });\n};\n\nexport const saveVehiclePurchase = async (\n tenantId: string,\n vehicleId: string,\n purchase: VehiclePurchase,\n opts?: { serviceId: string }\n): Promise<Vehicle> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/vehicles/${vehicleId}/purchase`,\n {\n method: 'POST',\n headers: cleanHeaders({\n Authorization: auth,\n 'Content-Type': 'application/json',\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n body: JSON.stringify(purchase),\n }\n );\n\n if (response.ok) {\n return response.json() as any;\n }\n const body = await response.text();\n throw new XError(response.statusText, { body, tenantId, vehicleId, purchase, opts });\n};\n\nexport const saveVehicle = async (\n tenantId: string,\n vehicle: NewVehicle | Vehicle,\n opts?: { serviceId: string }\n): Promise<Vehicle> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/api/vehicles`, {\n method: 'POST',\n headers: cleanHeaders({\n Authorization: auth,\n 'Content-Type': 'application/json',\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n body: JSON.stringify(vehicle),\n });\n\n if (response.ok) {\n return response.json() as any;\n }\n const body = await response.text();\n throw new XError(response.statusText, { body, tenantId, vehicle, opts });\n};\n\nexport const deleteVehicle = async (\n tenantId: string,\n vehicleId: string,\n opts?: { serviceId: string }\n): Promise<void> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/vehicles/${vehicleId}`,\n {\n method: 'DELETE',\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n }\n );\n\n if (response.ok) {\n return;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body, tenantId, vehicleId, opts });\n};\n"]}
1
+ {"version":3,"file":"vehicles.js","sourceRoot":"/","sources":["apis/vehicles.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, fetchJson, getAdminAuth } from '@bisondesk/commons-sdk/fetch';\nimport fetch, { Response } from 'node-fetch';\nimport { DataRecord } from '../types/utils';\nimport { NewVehicle, Vehicle, VehicleMarketing, VehiclePurchase } from '../types/vehicles';\n\nexport const getVehicle = async (\n tenantId: string,\n vehicleId: string\n): Promise<DataRecord<Vehicle> | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/vehicles/${vehicleId}`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n }\n );\n\n if (response.ok) {\n return response.status === 200 ? response.json() : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body });\n};\n\nexport const getVehicleByChassisNumber = async (\n tenantId: string,\n vin: string\n): Promise<DataRecord<Vehicle> | undefined> => {\n const auth = await getAdminAuth();\n return fetchJson(`${process.env.CORE_API_ORIGIN}/api/vehicles/vin/${vin}`, {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n });\n};\n\nexport const getVehiclePurchase = async (\n tenantId: string,\n vehicleId: string\n): Promise<DataRecord<VehiclePurchase> | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/vehicles/${vehicleId}/purchase`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n }\n );\n\n if (response.ok) {\n return response.status === 200 ? response.json() : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body });\n};\n\nexport const getVehicleByStockNumber = async (\n tenantId: string,\n stockNumber: string\n): Promise<Vehicle | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/vehicles/stock-number/${stockNumber}`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n }\n );\n\n if (response.ok) {\n return response.status === 200 ? response.json() : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body });\n};\n\nexport const getVehicleByPurchaseStockNumber = async (\n tenantId: string,\n stockNumber: string\n): Promise<Vehicle | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/vehicles/purchase-stock-number/${stockNumber}`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n }\n );\n\n if (response.ok) {\n return response.status === 200 ? response.json() : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body });\n};\n\nexport const listVehiclesMarketing = async (\n tenantId: string,\n offset: number,\n limit: number,\n opts?: { serviceId: string }\n): Promise<{ id: string; data: VehicleMarketing }[]> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/vehicles/marketing/list?offset=${offset}&limit=${limit}`,\n {\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n }\n );\n\n if (response.ok) {\n return response.status === 200 ? response.json() : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { tenantId, body, offset, limit });\n};\n\nexport const getVehicleMarketing = async (\n tenantId: string,\n vehicleId: string\n): Promise<VehicleMarketing | undefined> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/vehicles/${vehicleId}/marketing`,\n {\n headers: {\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n },\n }\n );\n\n if (response.ok) {\n return response.status === 200 ? response.json() : undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body });\n};\n\nexport const saveMarketing = async (\n tenantId: string,\n vehicleId: string,\n marketing: VehicleMarketing\n): Promise<VehicleMarketing> => {\n const auth = await getAdminAuth();\n\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/vehicles/${vehicleId}/marketing`,\n {\n method: 'POST',\n headers: cleanHeaders({\n Authorization: auth,\n 'Content-Type': 'application/json',\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n }),\n body: JSON.stringify(marketing),\n }\n );\n\n if (response.ok) {\n return response.json();\n }\n const body = await response.text();\n throw new XError(response.statusText, { body, tenantId, vehicleId, marketing });\n};\n\nexport const saveVehiclePurchase = async (\n tenantId: string,\n vehicleId: string,\n purchase: VehiclePurchase,\n opts?: { serviceId: string }\n): Promise<Vehicle> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/vehicles/${vehicleId}/purchase`,\n {\n method: 'POST',\n headers: cleanHeaders({\n Authorization: auth,\n 'Content-Type': 'application/json',\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n body: JSON.stringify(purchase),\n }\n );\n\n if (response.ok) {\n return response.json();\n }\n const body = await response.text();\n throw new XError(response.statusText, { body, tenantId, vehicleId, purchase, opts });\n};\n\nexport const saveVehicle = async (\n tenantId: string,\n vehicle: NewVehicle | Vehicle,\n opts?: { serviceId: string }\n): Promise<Vehicle> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/api/vehicles`, {\n method: 'POST',\n headers: cleanHeaders({\n Authorization: auth,\n 'Content-Type': 'application/json',\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n body: JSON.stringify(vehicle),\n });\n\n if (response.ok) {\n return response.json();\n }\n const body = await response.text();\n throw new XError(response.statusText, { body, tenantId, vehicle, opts });\n};\n\nexport const deleteVehicle = async (\n tenantId: string,\n vehicleId: string,\n opts?: { serviceId: string }\n): Promise<void> => {\n const auth = await getAdminAuth();\n const response: Response = await fetch(\n `${process.env.CORE_API_ORIGIN}/api/vehicles/${vehicleId}`,\n {\n method: 'DELETE',\n headers: cleanHeaders({\n Authorization: auth,\n [TENANT_ID_ADMIN_HEADER]: tenantId,\n [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,\n }),\n }\n );\n\n if (response.ok) {\n return;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { body, tenantId, vehicleId, opts });\n};\n"]}
@@ -1,3 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FinanceDocumentActions = void 0;
4
+ var FinanceDocumentActions;
5
+ (function (FinanceDocumentActions) {
6
+ FinanceDocumentActions["CREATE_FINANCE_DOCUMENT"] = "create_finance_document";
7
+ FinanceDocumentActions["EDIT_FINANCE_DOCUMENT"] = "edit_existing_invoice";
8
+ FinanceDocumentActions["DELETE_FINANCE_DOCUMENT"] = "delete_existing_invoice";
9
+ })(FinanceDocumentActions = exports.FinanceDocumentActions || (exports.FinanceDocumentActions = {}));
3
10
  //# sourceMappingURL=documents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"documents.js","sourceRoot":"/","sources":["types/documents.ts"],"names":[],"mappings":"","sourcesContent":["import { AttachmentValue, SearchPermissions } from '@bisondesk/commons-sdk/types';\nimport { Organization } from './crm';\nimport { PublicSearchDefinition } from './definitions';\n\nexport type FinanceLine = {\n associations: {\n others: { vehicleId: string; label: string }[];\n sales: { id: string; vehicleId: string; label: string }[];\n purchases: { id: string; vehicleId: string; label: string }[];\n };\n description: string;\n id: string;\n lineCode: string;\n quantity: string;\n unitPriceExclusive: string;\n vatCode: string;\n vatCoefficient: string;\n};\n\nexport type FinanceDocument = {\n id: string;\n branchId: string;\n\n type: 'Sale Finance' | 'Purchase Finance';\n subtype: 'Invoice' | 'Credit Note' | 'Proforma' | 'Purchase Order';\n reference: string;\n\n attachment: AttachmentValue;\n lines: FinanceLine[];\n notes?: string;\n\n createdAt: string;\n createdBy: string;\n issueDate: string;\n\n organizationSummary?: {\n id: string;\n code: string;\n name: string;\n country: string;\n vatNumber?: string;\n\n addressLine1?: string;\n addressLine2?: string;\n addressLine3?: string;\n postcode?: string;\n city?: string;\n\n email?: string;\n phone?: string;\n fax?: string;\n };\n};\n\nexport type FinanceDocumentEvent = {\n id: string;\n actionAt: string;\n userId: string;\n tenantId: string;\n type: 'Sale Finance' | 'Purchase Finance';\n subtype: string; // Invoice, Credit Note, etc.\n};\n\nexport type FinanceBookingEvent = {\n id: string;\n branchId: string;\n actionAt: string;\n userId: string;\n tenantId: string;\n type: 'Sale Finance' | 'Purchase Finance';\n};\n\nexport type FinanceBooking = {\n branchId: string; // same tenantId can have different companies\n bookingNumber: string; // same booking number can and will exist across different \"branches\"\n documentId: string;\n\n booked: true;\n journal?: string;\n amount?: string;\n reportingPeriod?: number;\n reportingYear?: number;\n paid: boolean;\n\n createdAt: string;\n createdBy: string;\n modifiedAt: string;\n modifiedBy: string;\n};\n\nexport type SearchDocumentVehicleRef = {\n id: string;\n stockNumber: string;\n administrativeNumber?: string;\n};\n\nexport type SearchFinanceDocument = {\n org?: Organization;\n doc: FinanceDocument;\n booking?: FinanceBooking;\n vehicle?: SearchDocumentVehicleRef[];\n};\n\nexport type InputSearchFinanceDocument = SearchFinanceDocument & {\n permissions: SearchPermissions;\n};\n\nexport type DocsSearchDefinitions = {\n searchFinanceDoc: PublicSearchDefinition;\n};\n"]}
1
+ {"version":3,"file":"documents.js","sourceRoot":"/","sources":["types/documents.ts"],"names":[],"mappings":";;;AAIA,IAAY,sBAIX;AAJD,WAAY,sBAAsB;IAChC,6EAAmD,CAAA;IACnD,yEAA+C,CAAA;IAC/C,6EAAmD,CAAA;AACrD,CAAC,EAJW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAIjC","sourcesContent":["import { AttachmentValue, SearchPermissions } from '@bisondesk/commons-sdk/types';\nimport { Organization } from './crm';\nimport { PublicSearchDefinition } from './definitions';\n\nexport enum FinanceDocumentActions {\n CREATE_FINANCE_DOCUMENT = 'create_finance_document',\n EDIT_FINANCE_DOCUMENT = 'edit_existing_invoice',\n DELETE_FINANCE_DOCUMENT = 'delete_existing_invoice',\n}\n\nexport type FinanceLine = {\n associations: {\n others: { vehicleId: string; label: string }[];\n sales: { id: string; vehicleId: string; label: string }[];\n purchases: { id: string; vehicleId: string; label: string }[];\n };\n description: string;\n id: string;\n lineCode: string;\n quantity: string;\n unitPriceExclusive: string;\n vatCode: string;\n vatCoefficient: string;\n};\n\nexport type FinanceDocument = {\n id: string;\n branchId: string;\n\n type: 'Sale Finance' | 'Purchase Finance';\n subtype: 'Invoice' | 'Credit Note' | 'Proforma' | 'Purchase Order';\n reference: string;\n\n attachment: AttachmentValue;\n lines: FinanceLine[];\n notes?: string;\n\n createdAt: string;\n createdBy: string;\n issueDate: string;\n\n organizationSummary?: {\n id: string;\n code: string;\n name: string;\n country: string;\n vatNumber?: string;\n\n addressLine1?: string;\n addressLine2?: string;\n addressLine3?: string;\n postcode?: string;\n city?: string;\n\n email?: string;\n phone?: string;\n fax?: string;\n };\n};\n\nexport type FinanceDocumentEvent = {\n id: string;\n actionAt: string;\n userId: string;\n tenantId: string;\n type: 'Sale Finance' | 'Purchase Finance';\n subtype: string; // Invoice, Credit Note, etc.\n};\n\nexport type FinanceBookingEvent = {\n id: string;\n branchId: string;\n actionAt: string;\n userId: string;\n tenantId: string;\n type: 'Sale Finance' | 'Purchase Finance';\n};\n\nexport type FinanceBooking = {\n branchId: string; // same tenantId can have different companies\n bookingNumber: string; // same booking number can and will exist across different \"branches\"\n documentId: string;\n\n booked: true;\n journal?: string;\n amount?: string;\n reportingPeriod?: number;\n reportingYear?: number;\n paid: boolean;\n\n createdAt: string;\n createdBy: string;\n modifiedAt: string;\n modifiedBy: string;\n};\n\nexport type SearchDocumentVehicleRef = {\n id: string;\n stockNumber: string;\n administrativeNumber?: string;\n};\n\nexport type SearchFinanceDocument = {\n org?: Organization;\n doc: FinanceDocument;\n booking?: FinanceBooking;\n vehicle?: SearchDocumentVehicleRef[];\n};\n\nexport type InputSearchFinanceDocument = SearchFinanceDocument & {\n permissions: SearchPermissions;\n};\n\nexport type DocsSearchDefinitions = {\n searchFinanceDoc: PublicSearchDefinition;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"leasing-administration.js","sourceRoot":"/","sources":["types/leasing-administration.ts"],"names":[],"mappings":"","sourcesContent":["import { AttachmentValue } from '@bisondesk/commons-sdk/types';\nimport { LeasingAdminUploadHandlers } from '../constants';\n\nexport type LeasingAdminUploadStatus = 'success' | 'processing' | 'error';\n\nexport type LeasingAdminUploadMetadata = { [key in string]?: unknown };\nexport type LeasingAdminUploadAttachments = { [key in string]?: AttachmentValue };\n\nexport type LeasingAdminUploadEvent<\n M extends LeasingAdminUploadMetadata = {},\n A extends LeasingAdminUploadAttachments = {}\n> = LeasingAdminUpload<M, A> & { tenantId: string };\n\nexport type LeasingAdminUpload<\n M extends LeasingAdminUploadMetadata = {},\n A extends LeasingAdminUploadAttachments = {}\n> = {\n id: string;\n updatedAt: string;\n createdAt: string;\n createdBy: string;\n\n status: LeasingAdminUploadStatus;\n attachments: A;\n metadata: M;\n handlerId: LeasingAdminUploadHandlers;\n};\n\nexport type NewLeasingAdminUploadRequest<\n M extends LeasingAdminUploadMetadata = {},\n A extends LeasingAdminUploadAttachments = {}\n> = {\n attachments: A;\n metadata: M;\n handlerId: LeasingAdminUploadHandlers;\n};\n\nexport type DhondtAttachments = {\n json: AttachmentValue;\n};\n\nexport type BelfiusAttachments = {\n xlsx: AttachmentValue;\n json?: AttachmentValue; // json version of the xlsx file\n};\n\nexport type BelfiusMetadata = {\n totalLines: number;\n totalIncludingVat: string;\n};\n\nexport type DhondtMetadata = {\n invoiceNumber: string;\n invoiceDate: string;\n};\n\nexport type DhondtInvoiceLine = {\n BrutoPremie: number;\n Chassisnummer: string;\n Datum: string;\n NettoPremie: number;\n Plaatnummer: string;\n Taksen: number;\n VoertuigVlootNummer: string | undefined;\n};\n\nexport type INGMetadata = {\n capital: string;\n emailId: string;\n interest: string;\n invoiceDate: string;\n invoiceNumber: string;\n pdfUrl: string;\n stockNumber: string;\n yearlyFee?: string;\n};\n\nexport type INGAttachments = {\n email: AttachmentValue;\n};\n\nexport type DiffableDhondtInvoiceLine = DhondtInvoiceLine;\n\nexport type BelfiusRawInvoiceLine = {\n 'Additional info': string;\n Amortization: number;\n 'Amount including tax': number;\n Avenant: number;\n Contract: number;\n Currency: string;\n Customer: string;\n Description: string;\n 'Due date': Date;\n 'Interest Amount': number;\n 'Invoice Date': Date;\n 'Invoice Number': number;\n 'Rent amount': number;\n 'VAT amount': number;\n 'VAT number': string;\n 'VAT rate': number;\n};\n\nexport type BelfiusInvoiceLine = {\n capital: string;\n contractNr: string;\n interest: string;\n invoiceNr: string;\n invoiceDate: string;\n rentExcl: string;\n rentIncl: string;\n vatAmount: string;\n vehicleId: string;\n stockNumber: string;\n};\n\nexport type DiffableBelfiusInvoiceLine = Omit<\n BelfiusInvoiceLine,\n 'invoiceNr' | 'invoiceDate' | 'capital' | 'interest'\n>;\n\nexport type LineDiff<T> = {\n [Property in keyof T]: {\n value: T[Property];\n before: T[Property];\n };\n};\n\nexport type Diff<T> = {\n added: T[];\n removed: T[];\n changed: LineDiff<T>[];\n};\n"]}
1
+ {"version":3,"file":"leasing-administration.js","sourceRoot":"/","sources":["types/leasing-administration.ts"],"names":[],"mappings":"","sourcesContent":["import { AttachmentValue } from '@bisondesk/commons-sdk/types';\nimport { LeasingAdminUploadHandlers } from '../constants';\n\nexport type LeasingAdminUploadStatus = 'success' | 'processing' | 'error';\n\nexport type LeasingAdminUploadMetadata = { [key in string]?: unknown };\nexport type LeasingAdminUploadAttachments = { [key in string]?: AttachmentValue };\n\nexport type LeasingAdminUploadEvent<\n M extends LeasingAdminUploadMetadata = {},\n A extends LeasingAdminUploadAttachments = {}\n> = LeasingAdminUpload<M, A> & { tenantId: string };\n\nexport type LeasingAdminUpload<\n M extends LeasingAdminUploadMetadata = {},\n A extends LeasingAdminUploadAttachments = {}\n> = {\n id: string;\n updatedAt: string;\n createdAt: string;\n createdBy: string;\n\n status: LeasingAdminUploadStatus;\n attachments: A;\n metadata: M;\n handlerId: LeasingAdminUploadHandlers;\n};\n\nexport type NewLeasingAdminUploadRequest<\n M extends LeasingAdminUploadMetadata = {},\n A extends LeasingAdminUploadAttachments = {}\n> = {\n attachments: A;\n metadata: M;\n handlerId: LeasingAdminUploadHandlers;\n};\n\nexport type DhondtAttachments = {\n json: AttachmentValue;\n};\n\nexport type BelfiusAttachments = {\n xlsx: AttachmentValue;\n json?: AttachmentValue; // json version of the xlsx file\n};\n\nexport type BelfiusMetadata = {\n totalLines: number;\n totalIncludingVat: string;\n};\n\nexport type DhondtMetadata = {\n invoiceNumber: string;\n invoiceDate: string;\n};\n\nexport type DhondtInvoiceLine = {\n BrutoPremie: number;\n Chassisnummer: string;\n Datum: string;\n NettoPremie: number;\n Plaatnummer: string;\n Taksen: number;\n VoertuigVlootNummer: string | undefined;\n};\n\nexport type INGMetadata = {\n capital: string;\n emailId?: string;\n interest: string;\n invoiceDate: string;\n invoiceNumber: string;\n pdfUrl: string;\n stockNumber: string;\n yearlyFee?: string;\n};\n\nexport type INGAttachments = {\n email?: AttachmentValue; // like the emailId, can be missing if the invoices are uploaded manually\n};\n\nexport type DiffableDhondtInvoiceLine = DhondtInvoiceLine;\n\nexport type BelfiusRawInvoiceLine = {\n 'Additional info': string;\n Amortization: number;\n 'Amount including tax': number;\n Avenant: number;\n Contract: number;\n Currency: string;\n Customer: string;\n Description: string;\n 'Due date': Date;\n 'Interest Amount': number;\n 'Invoice Date': Date;\n 'Invoice Number': number;\n 'Rent amount': number;\n 'VAT amount': number;\n 'VAT number': string;\n 'VAT rate': number;\n};\n\nexport type BelfiusInvoiceLine = {\n capital: string;\n contractNr: string;\n interest: string;\n invoiceNr: string;\n invoiceDate: string;\n rentExcl: string;\n rentIncl: string;\n vatAmount: string;\n vehicleId: string;\n stockNumber: string;\n};\n\nexport type DiffableBelfiusInvoiceLine = Omit<\n BelfiusInvoiceLine,\n 'invoiceNr' | 'invoiceDate' | 'capital' | 'interest'\n>;\n\nexport type LineDiff<T> = {\n [Property in keyof T]: {\n value: T[Property];\n before: T[Property];\n };\n};\n\nexport type Diff<T> = {\n added: T[];\n removed: T[];\n changed: LineDiff<T>[];\n};\n"]}
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LeasingRemindersSortableColumns = exports.LeasingContractStatus = exports.LeasingContractSource = void 0;
3
+ exports.LeasingRemindersSortableColumns = exports.LeasingContractStatus = exports.LeasingContractSource = exports.LeasingContractActions = void 0;
4
+ var LeasingContractActions;
5
+ (function (LeasingContractActions) {
6
+ LeasingContractActions["CREATE_FINANCE_DOCUMENT"] = "create_finance_document";
7
+ })(LeasingContractActions = exports.LeasingContractActions || (exports.LeasingContractActions = {}));
4
8
  var LeasingContractSource;
5
9
  (function (LeasingContractSource) {
6
10
  LeasingContractSource["HYPERPORTAL"] = "hyperportal";
@@ -1 +1 @@
1
- {"version":3,"file":"leasing.js","sourceRoot":"/","sources":["types/leasing.ts"],"names":[],"mappings":";;;AAyDA,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC/B,oDAA2B,CAAA;IAC3B,gDAAuB,CAAA;AACzB,CAAC,EAHW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAGhC;AAED,IAAY,qBAMX;AAND,WAAY,qBAAqB;IAC/B,wCAAe,CAAA;IACf,gDAAuB,CAAA;IACvB,0CAAiB,CAAA;IACjB,0CAAiB,CAAA;IACjB,wCAAe,CAAA;AACjB,CAAC,EANW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAMhC;AAkPD,IAAY,+BAKX;AALD,WAAY,+BAA+B;IACzC,kEAA+B,CAAA;IAC/B,yEAAsC,CAAA;IACtC,qEAAkC,CAAA;IAClC,oDAAiB,CAAA;AACnB,CAAC,EALW,+BAA+B,GAA/B,uCAA+B,KAA/B,uCAA+B,QAK1C","sourcesContent":["import { EmailMessage } from '@bisondesk/commons-sdk/messages';\nimport { AttachmentValue, Document, LinkValue, PaginatedList } from '@bisondesk/commons-sdk/types';\nimport { SortFilter } from './search';\nimport { ReferenceData } from './utils';\n\nexport type LeasingContractEvent = {\n id: string;\n action: 'create' | 'update' | 'delete';\n actionAt: string;\n userId: string;\n tenantId: string;\n contract: LeasingContract;\n};\n\nexport type LeasingContractImportEvent = {\n tenantId: string;\n};\n\nexport type LeasingConditionEvent = {\n id: string;\n action: 'create';\n actionAt: string;\n userId: string;\n tenantId: string;\n};\n\nexport type OverdueDossier = {\n id: string;\n organizationId: string;\n organizationName: string;\n status: 'ONGOING' | 'ERROR' | 'SUCCESS' | 'EXPIRED';\n emails: EmailMessage[];\n createdAt: string;\n modifiedAt: string;\n completedAt?: string;\n nextActionAt: string;\n riskLevel: number;\n};\n\nexport type LeasingContractClient = {\n organizationId: string;\n contactIds: string[];\n email?: string;\n since: string;\n takeoverId?: string;\n country: string;\n beEntityType?: 'Legal Person' | 'Natural Person';\n beForeignEntity?: boolean;\n\n /**\n * Used to overwrite the startDate in the context of a Becris declaration. This might be necessary\n * when due to some data-quality issue we do not report the contract at the right period and it is no\n * longer possible to resend the declaration for the corresponding month.\n */\n becrisStartDate?: string;\n};\n\nexport enum LeasingContractSource {\n HYPERPORTAL = 'hyperportal',\n BISONDESK = 'bisondesk',\n}\n\nexport enum LeasingContractStatus {\n DRAFT = 'draft',\n DISCARDED = 'discarded',\n PAUSED = 'paused',\n ACTIVE = 'active',\n ENDED = 'ended',\n}\n\nexport type LeasingContractHyperportal = {\n source: LeasingContractSource.HYPERPORTAL;\n /** oldest first **/\n conditions: ConditionsRef[];\n opportunities?: undefined;\n};\n\nexport type LeasingContractBisondesk = {\n source: LeasingContractSource.BISONDESK;\n conditions?: undefined;\n /** oldest first **/\n opportunities: OpportunityRef[];\n externalId?: string;\n};\n\ntype BaseLeasingContract<T = LeasingContractHyperportal | LeasingContractBisondesk> = {\n id: string;\n createdAt: string;\n updatedAt: string;\n contractNumber?: string;\n startDate: string;\n deliveryDate?: string;\n endDate?: string;\n slbPartner?: string;\n links?: LinkValue[];\n accountManager?: string;\n clients: LeasingContractClient[];\n hasSlbPartnerAmortisationTable?: boolean;\n slbContractNumber?: string;\n vehicle: {\n id: string;\n stockNumber: string;\n administrativeNumber?: string;\n };\n status: LeasingContractStatus;\n documents: Document[];\n} & T;\n\nexport type LeasingContract<T = LeasingContractHyperportal | LeasingContractBisondesk> =\n BaseLeasingContract<T> & {\n readonly expectedEndDate: string;\n };\n\nexport type NewLeasingContract<T = LeasingContractHyperportal | LeasingContractBisondesk> =\n BaseLeasingContract<T> & {\n readonly expectedEndDate?: undefined;\n };\n\nexport type NextLeasingRentRowRequest = {\n vehicleId: string;\n organizationId: string;\n issueDate: string;\n};\n\nexport type NextLeasingRentRowResponse = {\n capital: string;\n contract: string;\n insurance?: string;\n interest: string;\n other?: string; // insurance + taxes + others\n period: number;\n taxes?: string;\n total: string;\n};\n\ntype BaseRef = {\n id: string;\n depositAmount: string;\n durationInMonths: number;\n taxesAmount?: string;\n insuranceAmount?: string;\n saleAmount: string; // includes the extras\n interestRate: string; //TODO: In LC from BD value is percentage, in LC from HP value is decimal\n residualAmount: string;\n leasingMonthlyAmount: string; // excluding VAT\n otherMonthlyAmounts: string; // insurance + taxes + others (excluding VAT)\n totalMonthlyAmount: string; // excluding VAT\n};\n\nexport type ConditionsRef = BaseRef & {\n validSince: string;\n};\n\nexport type OpportunityRef = BaseRef & {\n createdAt: string;\n quoteId: string;\n //Since VAT is client specific and contracts can be transferred between clients, we always handle values without VAT\n};\n\nexport type ListOverdueRemindersResponse = PaginatedList<OverdueDossier, ReferenceData>;\nexport type ListOverdueRemindersRequest = {\n offset: number;\n limit: number;\n sortBy: SortFilter;\n};\n\nexport type NewLeasingConditions = {\n parameters: {\n yearlyRoadTax: string;\n civilLiability: string;\n oneTimeRoadTax: string;\n specialInsurance: string;\n allRisksPercentage: string;\n allRisksTaxPercentage: string;\n };\n\n inputs: {\n deposit: string;\n salesPrice: string;\n bankDeposit: string;\n purchasePrice: string;\n residualValue: string;\n insuranceAmount: string;\n durationInMonths: number;\n includesAllRisks: boolean;\n marginPercentage: string;\n bankResidualValue: string;\n bankDurationInMonths: number;\n startupFeePercentage: string;\n includesYearlyRoadTax: boolean;\n includesCivilLiability: boolean;\n includesOneTimeRoadTax: boolean;\n interestRatePercentage: string;\n includesSpecialInsurance: boolean;\n monthlyAdministrationFee: string;\n bankInterestRatePercentage: string;\n };\n\n outputs: {\n ROI: string;\n ROITarget: string;\n ROIPerYear: string;\n cashDeficit: string;\n totalProfit: string;\n ROIDifference: string;\n leasingAmount: string;\n leasingProfit: string;\n vehicleProfit: string;\n oneTimeTaxCost: string;\n financingAmount: string;\n bankContractValue: string;\n bankLeasingAmount: string;\n totalMonthlyPayment: string;\n leasingContractValue: string;\n monthlyTaxRetailPrice: string;\n allRisksInsuranceAmount: string;\n };\n\n cashIn: Array<{\n time: string;\n cashIn: string;\n deposit: string;\n startupFee: string;\n taxPayment: string;\n residualValue: string;\n cumulativeCash: string;\n insurancePayment: string;\n monthlyAdministrationFee: string;\n leasingAmountWithoutAdminFee: string;\n }>;\n\n cashOut: Array<{\n time: string;\n cashOut: string;\n deposit: string;\n taxPayment: string;\n leasingAmount: string;\n residualValue: string;\n cumulativeCash: string;\n insurancePayment: string;\n }>;\n};\n\nexport type LeasingConditions = NewLeasingConditions & {\n id: string;\n createdAt: string;\n createdBy: string;\n amortization: AmortizationTable;\n};\n\nexport type AmortizationRow = {\n period: number;\n /* An estimate of the date in which the period will happen\n based on the contract start date. Empty for period zero. */\n expectedPeriodDate?: string;\n buyOff: string;\n payment: string;\n capital: string;\n interest: string;\n totalInterest: string;\n balance: string;\n};\n\nexport type AmortizationTable = {\n annualInterestRate?: string;\n monthlyInterestRate?: string;\n rows: AmortizationRow[];\n};\n\nexport type AmortizationDocsEvent = {\n contractId: string;\n changedDocumentIds: string[];\n actionAt: string;\n userId: string;\n tenantId: string;\n};\n\nexport type AmortizationDocs = {\n contractId: string;\n period: number;\n documents: AmortizationDoc[];\n};\n\nexport type AmortizationDoc = {\n amount: string;\n bookingNumber: string;\n branchId: string;\n documentId: string;\n issueDate: string;\n subtype: 'Invoice' | 'Credit Note';\n clientExternalId: number;\n};\n\nexport type BecrisDeclaration = {\n createdAt: string;\n endDate: string;\n endingInstruments: number;\n existingInstruments: number;\n file: AttachmentValue;\n id: string;\n newInstruments: number;\n startDate: string;\n};\n\nexport type LeasingReportingSettings = {\n active: boolean;\n branchId: string;\n tenantId: string;\n};\n\nexport enum LeasingRemindersSortableColumns {\n NextActionAt = 'next_action_at',\n OrganizationName = 'organization_name',\n RemindersCount = 'reminders_count',\n Status = 'status',\n}\n\nexport type AmortizationTableRequest = {\n leasingAmount: string; // monthly amount\n deposit: string;\n salesPrice: string;\n duration: number; // in months\n residual: string;\n monthlyInterestRate: string; // the annual interest rate divided by 12\n startDate?: string; // should be filled in if you want an amortization table with expected period dates\n};\n\nexport type AmortizationTableTemplateData = {\n opportunity: {\n id: string;\n };\n v: {\n make: string;\n model: string;\n category: string;\n type?: string;\n vin: string;\n year?: string | number;\n stockNumber: string;\n };\n c: {\n clientNumber: number;\n company: string;\n fullName: string;\n vatNumber?: string;\n email?: string;\n phone?: string;\n address?: string;\n };\n leasing: {\n salesPrice: string;\n salesPriceVat: string;\n salesPriceExclVat: string;\n deposit: string;\n depositExclVat: string;\n depositVat: string;\n installment: string;\n installmentVat: string;\n installmentExclVat: string;\n duration: number;\n monthlyInsurance: string;\n monthlyTax: string;\n monthlyTaxesInsurance: string;\n residual: string;\n residualVat: string;\n residualExclVat: string;\n offerNumber: string;\n contractNumber: string;\n vatPercentage: string;\n };\n amortization: {\n period: number;\n periodStartDate: string;\n periodEndDate: string;\n deposit: string;\n startUpFee: string;\n monthlyAmount: string;\n insurance: string;\n expirationDate: string;\n total: string;\n }[];\n};\n"]}
1
+ {"version":3,"file":"leasing.js","sourceRoot":"/","sources":["types/leasing.ts"],"names":[],"mappings":";;;AAKA,IAAY,sBAEX;AAFD,WAAY,sBAAsB;IAChC,6EAAmD,CAAA;AACrD,CAAC,EAFW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAEjC;AAsDD,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC/B,oDAA2B,CAAA;IAC3B,gDAAuB,CAAA;AACzB,CAAC,EAHW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAGhC;AAED,IAAY,qBAMX;AAND,WAAY,qBAAqB;IAC/B,wCAAe,CAAA;IACf,gDAAuB,CAAA;IACvB,0CAAiB,CAAA;IACjB,0CAAiB,CAAA;IACjB,wCAAe,CAAA;AACjB,CAAC,EANW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAMhC;AAkPD,IAAY,+BAKX;AALD,WAAY,+BAA+B;IACzC,kEAA+B,CAAA;IAC/B,yEAAsC,CAAA;IACtC,qEAAkC,CAAA;IAClC,oDAAiB,CAAA;AACnB,CAAC,EALW,+BAA+B,GAA/B,uCAA+B,KAA/B,uCAA+B,QAK1C","sourcesContent":["import { EmailMessage } from '@bisondesk/commons-sdk/messages';\nimport { AttachmentValue, Document, LinkValue, PaginatedList } from '@bisondesk/commons-sdk/types';\nimport { SortFilter } from './search';\nimport { ReferenceData } from './utils';\n\nexport enum LeasingContractActions {\n CREATE_FINANCE_DOCUMENT = 'create_finance_document',\n}\n\nexport type LeasingContractEvent = {\n id: string;\n action: 'create' | 'update' | 'delete';\n actionAt: string;\n userId: string;\n tenantId: string;\n contract: LeasingContract;\n};\n\nexport type LeasingContractImportEvent = {\n tenantId: string;\n};\n\nexport type LeasingConditionEvent = {\n id: string;\n action: 'create';\n actionAt: string;\n userId: string;\n tenantId: string;\n};\n\nexport type OverdueDossier = {\n id: string;\n organizationId: string;\n organizationName: string;\n status: 'ONGOING' | 'ERROR' | 'SUCCESS' | 'EXPIRED';\n emails: EmailMessage[];\n createdAt: string;\n modifiedAt: string;\n completedAt?: string;\n nextActionAt: string;\n riskLevel: number;\n};\n\nexport type LeasingContractClient = {\n organizationId: string;\n contactIds: string[];\n email?: string;\n since: string;\n takeoverId?: string;\n country: string;\n beEntityType?: 'Legal Person' | 'Natural Person';\n beForeignEntity?: boolean;\n\n /**\n * Used to overwrite the startDate in the context of a Becris declaration. This might be necessary\n * when due to some data-quality issue we do not report the contract at the right period and it is no\n * longer possible to resend the declaration for the corresponding month.\n */\n becrisStartDate?: string;\n};\n\nexport enum LeasingContractSource {\n HYPERPORTAL = 'hyperportal',\n BISONDESK = 'bisondesk',\n}\n\nexport enum LeasingContractStatus {\n DRAFT = 'draft',\n DISCARDED = 'discarded',\n PAUSED = 'paused',\n ACTIVE = 'active',\n ENDED = 'ended',\n}\n\nexport type LeasingContractHyperportal = {\n source: LeasingContractSource.HYPERPORTAL;\n /** oldest first **/\n conditions: ConditionsRef[];\n opportunities?: undefined;\n};\n\nexport type LeasingContractBisondesk = {\n source: LeasingContractSource.BISONDESK;\n conditions?: undefined;\n /** oldest first **/\n opportunities: OpportunityRef[];\n externalId?: string;\n};\n\ntype BaseLeasingContract<T = LeasingContractHyperportal | LeasingContractBisondesk> = {\n id: string;\n createdAt: string;\n updatedAt: string;\n contractNumber?: string;\n startDate: string;\n deliveryDate?: string;\n endDate?: string;\n slbPartner?: string;\n links?: LinkValue[];\n accountManager?: string;\n clients: LeasingContractClient[];\n hasSlbPartnerAmortisationTable?: boolean;\n slbContractNumber?: string;\n vehicle: {\n id: string;\n stockNumber: string;\n administrativeNumber?: string;\n };\n status: LeasingContractStatus;\n documents: Document[];\n} & T;\n\nexport type LeasingContract<T = LeasingContractHyperportal | LeasingContractBisondesk> =\n BaseLeasingContract<T> & {\n readonly expectedEndDate: string;\n };\n\nexport type NewLeasingContract<T = LeasingContractHyperportal | LeasingContractBisondesk> =\n BaseLeasingContract<T> & {\n readonly expectedEndDate?: undefined;\n };\n\nexport type NextLeasingRentRowRequest = {\n vehicleId: string;\n organizationId: string;\n issueDate: string;\n};\n\nexport type NextLeasingRentRowResponse = {\n capital: string;\n contract: string;\n insurance?: string;\n interest: string;\n other?: string; // insurance + taxes + others\n period: number;\n taxes?: string;\n total: string;\n};\n\ntype BaseRef = {\n id: string;\n depositAmount: string;\n durationInMonths: number;\n taxesAmount?: string;\n insuranceAmount?: string;\n saleAmount: string; // includes the extras\n interestRate: string; //TODO: In LC from BD value is percentage, in LC from HP value is decimal\n residualAmount: string;\n leasingMonthlyAmount: string; // excluding VAT\n otherMonthlyAmounts: string; // insurance + taxes + others (excluding VAT)\n totalMonthlyAmount: string; // excluding VAT\n};\n\nexport type ConditionsRef = BaseRef & {\n validSince: string;\n};\n\nexport type OpportunityRef = BaseRef & {\n createdAt: string;\n quoteId: string;\n //Since VAT is client specific and contracts can be transferred between clients, we always handle values without VAT\n};\n\nexport type ListOverdueRemindersResponse = PaginatedList<OverdueDossier, ReferenceData>;\nexport type ListOverdueRemindersRequest = {\n offset: number;\n limit: number;\n sortBy: SortFilter;\n};\n\nexport type NewLeasingConditions = {\n parameters: {\n yearlyRoadTax: string;\n civilLiability: string;\n oneTimeRoadTax: string;\n specialInsurance: string;\n allRisksPercentage: string;\n allRisksTaxPercentage: string;\n };\n\n inputs: {\n deposit: string;\n salesPrice: string;\n bankDeposit: string;\n purchasePrice: string;\n residualValue: string;\n insuranceAmount: string;\n durationInMonths: number;\n includesAllRisks: boolean;\n marginPercentage: string;\n bankResidualValue: string;\n bankDurationInMonths: number;\n startupFeePercentage: string;\n includesYearlyRoadTax: boolean;\n includesCivilLiability: boolean;\n includesOneTimeRoadTax: boolean;\n interestRatePercentage: string;\n includesSpecialInsurance: boolean;\n monthlyAdministrationFee: string;\n bankInterestRatePercentage: string;\n };\n\n outputs: {\n ROI: string;\n ROITarget: string;\n ROIPerYear: string;\n cashDeficit: string;\n totalProfit: string;\n ROIDifference: string;\n leasingAmount: string;\n leasingProfit: string;\n vehicleProfit: string;\n oneTimeTaxCost: string;\n financingAmount: string;\n bankContractValue: string;\n bankLeasingAmount: string;\n totalMonthlyPayment: string;\n leasingContractValue: string;\n monthlyTaxRetailPrice: string;\n allRisksInsuranceAmount: string;\n };\n\n cashIn: Array<{\n time: string;\n cashIn: string;\n deposit: string;\n startupFee: string;\n taxPayment: string;\n residualValue: string;\n cumulativeCash: string;\n insurancePayment: string;\n monthlyAdministrationFee: string;\n leasingAmountWithoutAdminFee: string;\n }>;\n\n cashOut: Array<{\n time: string;\n cashOut: string;\n deposit: string;\n taxPayment: string;\n leasingAmount: string;\n residualValue: string;\n cumulativeCash: string;\n insurancePayment: string;\n }>;\n};\n\nexport type LeasingConditions = NewLeasingConditions & {\n id: string;\n createdAt: string;\n createdBy: string;\n amortization: AmortizationTable;\n};\n\nexport type AmortizationRow = {\n period: number;\n /* An estimate of the date in which the period will happen\n based on the contract start date. Empty for period zero. */\n expectedPeriodDate?: string;\n buyOff: string;\n payment: string;\n capital: string;\n interest: string;\n totalInterest: string;\n balance: string;\n};\n\nexport type AmortizationTable = {\n annualInterestRate?: string;\n monthlyInterestRate?: string;\n rows: AmortizationRow[];\n};\n\nexport type AmortizationDocsEvent = {\n contractId: string;\n changedDocumentIds: string[];\n actionAt: string;\n userId: string;\n tenantId: string;\n};\n\nexport type AmortizationDocs = {\n contractId: string;\n period: number;\n documents: AmortizationDoc[];\n};\n\nexport type AmortizationDoc = {\n amount: string;\n bookingNumber: string;\n branchId: string;\n documentId: string;\n issueDate: string;\n subtype: 'Invoice' | 'Credit Note';\n clientExternalId: number;\n};\n\nexport type BecrisDeclaration = {\n createdAt: string;\n endDate: string;\n endingInstruments: number;\n existingInstruments: number;\n file: AttachmentValue;\n id: string;\n newInstruments: number;\n startDate: string;\n};\n\nexport type LeasingReportingSettings = {\n active: boolean;\n branchId: string;\n tenantId: string;\n};\n\nexport enum LeasingRemindersSortableColumns {\n NextActionAt = 'next_action_at',\n OrganizationName = 'organization_name',\n RemindersCount = 'reminders_count',\n Status = 'status',\n}\n\nexport type AmortizationTableRequest = {\n leasingAmount: string; // monthly amount\n deposit: string;\n salesPrice: string;\n duration: number; // in months\n residual: string;\n monthlyInterestRate: string; // the annual interest rate divided by 12\n startDate?: string; // should be filled in if you want an amortization table with expected period dates\n};\n\nexport type AmortizationTableTemplateData = {\n opportunity: {\n id: string;\n };\n v: {\n make: string;\n model: string;\n category: string;\n type?: string;\n vin: string;\n year?: string | number;\n stockNumber: string;\n };\n c: {\n clientNumber: number;\n company: string;\n fullName: string;\n vatNumber?: string;\n email?: string;\n phone?: string;\n address?: string;\n };\n leasing: {\n salesPrice: string;\n salesPriceVat: string;\n salesPriceExclVat: string;\n deposit: string;\n depositExclVat: string;\n depositVat: string;\n installment: string;\n installmentVat: string;\n installmentExclVat: string;\n duration: number;\n monthlyInsurance: string;\n monthlyTax: string;\n monthlyTaxesInsurance: string;\n residual: string;\n residualVat: string;\n residualExclVat: string;\n offerNumber: string;\n contractNumber: string;\n vatPercentage: string;\n };\n amortization: {\n period: number;\n periodStartDate: string;\n periodEndDate: string;\n deposit: string;\n startUpFee: string;\n monthlyAmount: string;\n insurance: string;\n expirationDate: string;\n total: string;\n }[];\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"quotes.js","sourceRoot":"/","sources":["types/quotes.ts"],"names":[],"mappings":";;;AAcA,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,qCAAqB,CAAA;IACrB,+CAA+B,CAAA;IAC/B,iCAAiB,CAAA;AACnB,CAAC,EALW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAKvB;AAED,IAAY,WASX;AATD,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,sCAAuB,CAAA;IACvB,0CAA2B,CAAA;IAC3B,oCAAqB,CAAA;IACrB,oCAAqB,CAAA;IACrB,sCAAuB,CAAA;IACvB,mDAAoC,CAAA;IACpC,mDAAoC,CAAA;AACtC,CAAC,EATW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAStB;AAED,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,sCAAiB,CAAA;IACjB,wCAAmB,CAAA;IACnB,kCAAa,CAAA;AACf,CAAC,EAJW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAI5B;AACD,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,mCAAkB,CAAA;IAClB,oCAAmB,CAAA;IACnB,8BAAa,CAAA;AACf,CAAC,EAJW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAIxB;AAED,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,kCAAmB,CAAA;IACnB,qCAAsB,CAAA;AACxB,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB;AAED,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,wCAAkB,CAAA;IAClB,6CAAuB,CAAA;AACzB,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B","sourcesContent":["import { AttachmentValue, LocationValue } from '@bisondesk/commons-sdk/types';\nimport { OpportunityType } from '../constants';\nimport { DeliveryParams } from './delivery-settings';\nimport {\n CustomLeasingQuoteExtraInput,\n CustomSalesQuoteExtraInput,\n LeasingDeliveryPackageInput,\n LeasingQuoteExtraInput,\n LeasingQuoteParams,\n SalesQuoteExtraInput,\n} from './leasing-settings';\nimport { MatchingRuleValue } from './roi-ratings';\nimport { PricePercentageMode } from './utils';\n\nexport enum QuoteActions {\n ACCEPT = 'accept',\n VALIDATE = 'validate',\n DONWLOAD_PDFS = 'download-pdfs',\n CANCEL = 'cancel',\n}\n\nexport enum QuoteStatus {\n CREATED = 'created',\n VALIDATED = 'validated',\n INVALIDATED = 'invalidated',\n ACCEPTED = 'accepted',\n REJECTED = 'rejected',\n CANCELLED = 'cancelled',\n MANAGER_REJECTED = 'managerRejected',\n MANAGER_ACCEPTED = 'managerAccepted',\n}\n\nexport enum QuoteMetricsScore {\n DANGER = 'danger',\n NEUTRAL = 'neutral',\n GOOD = 'good',\n}\nexport enum DeliveryTypes {\n PICK_UP = 'pickUp',\n ADDRESS = 'address',\n PORT = 'port',\n}\n\nexport enum SpoilerInfo {\n MOUNT = 'mount',\n UNMOUNT = 'unmount',\n NO_ACTION = 'noAction',\n}\n\nexport enum TransportationMode {\n BY_ROAD = 'byRoad',\n ON_LOW_BED = 'onLowBed',\n}\n\ntype BaseQuoteCalculatorInput = {\n branch: string;\n branchCountry: string;\n customerCountry: string;\n vehicleCategory: string;\n bodywork?: string;\n currency: string;\n};\n\n// Sent by the Frontend to bootstrap the calculator\nexport type LeasingCalculatorDefaultInput = BaseQuoteCalculatorInput & {\n salesPrice: string;\n purchasePrice: string;\n deliveryPackage?: LeasingQuoteExtraInput;\n};\n\nexport type LeasingCalculatorInput = BaseQuoteCalculatorInput & {\n localLicensePlate: boolean;\n vanCourier: boolean;\n leasing: {\n salesPrice: string;\n deposit: string;\n depositMode: PricePercentageMode;\n depositPercentage: string;\n residual: string;\n residualMode: PricePercentageMode;\n residualPercentage: string;\n startupFee: string;\n startupFeeMode: PricePercentageMode;\n startupFeePercentage: string;\n interestRate: string;\n purchasePrice: string;\n duration: number;\n };\n bank: {\n interestRate: string;\n deposit: string;\n depositMode: PricePercentageMode;\n depositPercentage: string;\n residual: string;\n residualMode: PricePercentageMode;\n residualPercentage: string;\n duration: number;\n salesPrice: string;\n };\n taxes: {\n yearlyRoadTax: boolean;\n oneTimeRoadTax: boolean;\n margin: string; //Non Editable, copies the value insurance > margin\n };\n insurance: {\n margin: string;\n civilLiabilities: boolean;\n allRisks: boolean;\n specialTechnicalInsurance: boolean;\n roadAssistance: boolean;\n };\n deliveryPackage?: LeasingDeliveryPackageInput;\n extras: LeasingQuoteExtraInput[];\n customRequests: CustomLeasingQuoteExtraInput[];\n};\n\ntype BaseDeliveryType = {\n agreedPrice: string;\n spoiler?: SpoilerInfo;\n stackingVehicleNeeded?: boolean;\n detailsStacking?: string;\n};\n\nexport type PickUpDeliveryType = BaseDeliveryType & {\n type: DeliveryTypes.PICK_UP;\n urgent: boolean;\n transportationMode?: TransportationMode;\n detailsBorderCrossing?: string;\n technicalControlNeeded: boolean;\n insuranceNeeded: boolean;\n transitPlateBelgiumNeeded: boolean;\n transitPlateAustriaNeeded: boolean;\n licensePlateNeeded: boolean;\n dateOfPickUpByCustomer?: string;\n};\n\nexport type AddressDeliveryType = BaseDeliveryType & {\n type: DeliveryTypes.ADDRESS;\n address: LocationValue;\n distanceKm: string;\n technicalControlNeeded: boolean;\n};\n\nexport type PortDeliverytype = BaseDeliveryType & {\n type: DeliveryTypes.PORT;\n portOriginId: string;\n portDestination?: string;\n shippingCompany?: string;\n portToPortCostPrice: string;\n portToPortMargin: string;\n};\n\n// Sent by the Frontend to bootstrap the calculator\nexport type SalesCalculatorDefaultInput = BaseQuoteCalculatorInput & {\n vehicle: {\n agreedPrice: string;\n comissionCost: string;\n id: string;\n };\n extras: SalesQuoteExtraInput[];\n customRequests: CustomSalesQuoteExtraInput[];\n};\n\nexport type SalesCalculatorInput = BaseQuoteCalculatorInput & {\n vehicle: {\n vatRate: string;\n agreedPrice: string;\n minimumPrice: string;\n purchasePrice: string; //TODO don't send to Frontend but store in DB\n comissionCost: string;\n id: string;\n };\n delivery?: PickUpDeliveryType | AddressDeliveryType | PortDeliverytype;\n extras: SalesQuoteExtraInput[];\n customRequests: CustomSalesQuoteExtraInput[];\n};\n\nexport type LeasingCalculatorOutput = {\n vatApplicable: boolean;\n installment: string;\n installmentPrintable: string;\n totalMonthlyAmount: string;\n monthlyTaxesInsurance: string;\n beforeDelivery: string;\n financingAmount: string;\n settingId: string;\n totalRetailAmount: string;\n finalSalesPrice: string;\n roi: {\n value: string;\n target: string;\n perYear: string;\n difference: string;\n score?: QuoteMetricsScore;\n };\n cashflow: {\n deficit: string;\n balanced: boolean;\n score: QuoteMetricsScore;\n };\n profitability: {\n leasing: string;\n vehicle: string;\n total: string;\n score: QuoteMetricsScore;\n };\n taxes: {\n yearlyRetailPrice: string;\n monthlyRetailPrice: string;\n yearlyRoadTax: string;\n oneTimeRoadTax: string;\n };\n insurance: {\n yearlyRetailPrice: string;\n monthlyRetailPrice: string;\n civilLiabilities: string;\n allRisks: string;\n specialTechnicalInsurance: string;\n roadAssistance: string;\n };\n costs: {\n financingAmount: string;\n finalCostPrice: string;\n monhtly: string;\n trackAndTrace: string;\n };\n};\n\nexport type SalesCalculatorOutput = {\n totalRetailAmount: string;\n totalRetailAmountExclVat: string;\n retailAmounts: {\n vehicle: string;\n delivery: string;\n extras: string;\n };\n roi: { value: string; score?: QuoteMetricsScore };\n profit: {\n value: string;\n score: QuoteMetricsScore;\n };\n profitOverMin: {\n value: string;\n percentage: string;\n score: QuoteMetricsScore;\n };\n delivery: {\n retailPrice?: string;\n costPrice?: string;\n cleaningNeeded: boolean;\n cleaningNeededRetailPrice: string;\n transportationToPortRetailPrice?: string;\n };\n costs: {\n finalCostPrice: string;\n extras: string;\n delivery: string;\n };\n};\n\ntype BaseQuote = {\n opportunityId: string;\n preferredLanguage: string;\n clientNotes?: string;\n publicNotes?: string;\n} & (\n | {\n type: OpportunityType.LEASING;\n calculatorInput: LeasingCalculatorInput;\n calculatorOutput: LeasingCalculatorOutput;\n rating?: MatchingRuleValue;\n }\n | {\n type: OpportunityType.SALES;\n calculatorInput: SalesCalculatorInput;\n calculatorOutput: SalesCalculatorOutput;\n rating?: MatchingRuleValue;\n }\n);\n\nexport type NewQuote = BaseQuote & {\n id?: undefined;\n createdAt?: undefined;\n createdBy?: undefined;\n modifiedAt?: undefined;\n modifiedBy?: undefined;\n active: true;\n};\n\nexport type Quote = BaseQuote & {\n id: string;\n createdAt: string;\n createdBy: string;\n modifiedAt: string;\n modifiedBy: string;\n validationBy?: string;\n validationAt?: string;\n cancelledBy?: string;\n cancelledAt?: string;\n customerFeedbackAt?: string;\n customerFeedbackBy?: string;\n managerFeedbackAt?: string;\n managerFeedbackBy?: string;\n version: number;\n status: QuoteStatus;\n proformaPdf?: AttachmentValue;\n quotePdf?: AttachmentValue;\n salesAgreementPdf?: AttachmentValue;\n active: boolean;\n contactId: string;\n vehicleId: string;\n organizationId: string;\n};\n\nexport type QuoteUpdate = {\n status?: QuoteStatus;\n active?: boolean;\n};\n\nexport type CalculatorLeasingIO = {\n output: LeasingCalculatorOutput;\n input: LeasingCalculatorInput;\n rating?: MatchingRuleValue;\n};\nexport type CalculatorSalesIO = {\n output: SalesCalculatorOutput;\n input: SalesCalculatorInput;\n rating?: MatchingRuleValue;\n};\nexport type CalculatorQuoteIO = CalculatorLeasingIO | CalculatorSalesIO;\n\nexport type UsedVehiclesSalesParams = {\n id: string;\n modifiedAt: string;\n modifiedBy: string;\n countryCode: 'be';\n name: string;\n profitabilityDealGap: string;\n exaDocumentCosts: string;\n delivery?: DeliveryParams;\n};\n\nexport type QuoteSettings = LeasingQuoteParams | UsedVehiclesSalesParams;\n\nexport type DeliveryLocationValue = Omit<LocationValue, 'addressLine1' | 'city'> & {\n addressLine1: string;\n city: string;\n};\n\nexport type DeliveryRoutesRequest = {\n origin: DeliveryLocationValue;\n destination: DeliveryLocationValue;\n};\n\ntype BaseCommission = {\n opportunityId: string;\n\n estimatedAmount: string;\n estimatedPaidAt: string;\n paidAmount?: string;\n paidAt?: string;\n\n notes?: string;\n};\n\nexport type NewCommission = BaseCommission & {};\n\nexport type Commission = BaseCommission & {\n stockNumber: string;\n vehicleId: string;\n\n branchId: string;\n currency: string;\n\n modifiedAt: string;\n modifiedBy: string;\n};\n\nexport type NewQuoteValidator = {\n userId: string;\n countryCode: string;\n type: OpportunityType;\n canValidateOwn?: boolean;\n};\n\nexport type QuoteValidator = NewQuoteValidator & {\n createdAt: string;\n};\n\nexport type QuoteValidatorUpdate = {\n canValidateOwn: boolean;\n};\n"]}
1
+ {"version":3,"file":"quotes.js","sourceRoot":"/","sources":["types/quotes.ts"],"names":[],"mappings":";;;AAeA,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,qCAAqB,CAAA;IACrB,+CAA+B,CAAA;IAC/B,iCAAiB,CAAA;AACnB,CAAC,EALW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAKvB;AAED,IAAY,WASX;AATD,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,sCAAuB,CAAA;IACvB,0CAA2B,CAAA;IAC3B,oCAAqB,CAAA;IACrB,oCAAqB,CAAA;IACrB,sCAAuB,CAAA;IACvB,mDAAoC,CAAA;IACpC,mDAAoC,CAAA;AACtC,CAAC,EATW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAStB;AAED,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,sCAAiB,CAAA;IACjB,wCAAmB,CAAA;IACnB,kCAAa,CAAA;AACf,CAAC,EAJW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAI5B;AACD,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,mCAAkB,CAAA;IAClB,oCAAmB,CAAA;IACnB,8BAAa,CAAA;AACf,CAAC,EAJW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAIxB;AAED,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,kCAAmB,CAAA;IACnB,qCAAsB,CAAA;AACxB,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB;AAED,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,wCAAkB,CAAA;IAClB,6CAAuB,CAAA;AACzB,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B","sourcesContent":["import { AttachmentValue, LocationValue } from '@bisondesk/commons-sdk/types';\nimport { OpportunityType } from '../constants';\nimport { DeliveryParams } from './delivery-settings';\nimport {\n CustomLeasingQuoteExtraInput,\n CustomSalesQuoteExtraInput,\n LeasingDeliveryPackageInput,\n LeasingQuoteExtraInput,\n LeasingQuoteParams,\n SalesQuoteExtraInput,\n} from './leasing-settings';\nimport { MatchingRuleValue } from './roi-ratings';\nimport { PricePercentageMode } from './utils';\nimport { Vehicle } from './vehicles';\n\nexport enum QuoteActions {\n ACCEPT = 'accept',\n VALIDATE = 'validate',\n DONWLOAD_PDFS = 'download-pdfs',\n CANCEL = 'cancel',\n}\n\nexport enum QuoteStatus {\n CREATED = 'created',\n VALIDATED = 'validated',\n INVALIDATED = 'invalidated',\n ACCEPTED = 'accepted',\n REJECTED = 'rejected',\n CANCELLED = 'cancelled',\n MANAGER_REJECTED = 'managerRejected',\n MANAGER_ACCEPTED = 'managerAccepted',\n}\n\nexport enum QuoteMetricsScore {\n DANGER = 'danger',\n NEUTRAL = 'neutral',\n GOOD = 'good',\n}\nexport enum DeliveryTypes {\n PICK_UP = 'pickUp',\n ADDRESS = 'address',\n PORT = 'port',\n}\n\nexport enum SpoilerInfo {\n MOUNT = 'mount',\n UNMOUNT = 'unmount',\n NO_ACTION = 'noAction',\n}\n\nexport enum TransportationMode {\n BY_ROAD = 'byRoad',\n ON_LOW_BED = 'onLowBed',\n}\n\ntype BaseQuoteCalculatorInput = {\n branch: string;\n branchCountry: string;\n customerCountry: string;\n customerVatNumber?: string;\n vehicleCategory: string;\n bodywork?: string;\n currency: string;\n};\n\n// Sent by the Frontend to bootstrap the calculator\nexport type LeasingCalculatorDefaultInput = BaseQuoteCalculatorInput & {\n salesPrice: string;\n purchasePrice: string;\n deliveryPackage?: LeasingQuoteExtraInput;\n};\n\nexport type LeasingCalculatorInput = BaseQuoteCalculatorInput & {\n localLicensePlate: boolean;\n vanCourier: boolean;\n leasing: {\n salesPrice: string;\n deposit: string;\n depositMode: PricePercentageMode;\n depositPercentage: string;\n residual: string;\n residualMode: PricePercentageMode;\n residualPercentage: string;\n startupFee: string;\n startupFeeMode: PricePercentageMode;\n startupFeePercentage: string;\n interestRate: string;\n purchasePrice: string;\n duration: number;\n contractStartDate: string;\n };\n bank: {\n interestRate: string;\n deposit: string;\n depositMode: PricePercentageMode;\n depositPercentage: string;\n residual: string;\n residualMode: PricePercentageMode;\n residualPercentage: string;\n duration: number;\n salesPrice: string;\n };\n taxes: {\n yearlyRoadTax: boolean;\n oneTimeRoadTax: boolean;\n margin: string; //Non Editable, copies the value insurance > margin\n };\n insurance: {\n margin: string;\n civilLiabilities: boolean;\n allRisks: boolean;\n specialTechnicalInsurance: boolean;\n roadAssistance: boolean;\n };\n deliveryPackage?: LeasingDeliveryPackageInput;\n extras: LeasingQuoteExtraInput[];\n customRequests: CustomLeasingQuoteExtraInput[];\n};\n\ntype BaseDeliveryType = {\n agreedPrice: string;\n spoiler?: SpoilerInfo;\n stackingVehicleNeeded?: boolean;\n detailsStacking?: string;\n};\n\nexport type PickUpDeliveryType = BaseDeliveryType & {\n type: DeliveryTypes.PICK_UP;\n urgent: boolean;\n transportationMode?: TransportationMode;\n detailsBorderCrossing?: string;\n technicalControlNeeded: boolean;\n insuranceNeeded: boolean;\n transitPlateBelgiumNeeded: boolean;\n transitPlateAustriaNeeded: boolean;\n licensePlateNeeded: boolean;\n dateOfPickUpByCustomer?: string;\n};\n\nexport type AddressDeliveryType = BaseDeliveryType & {\n type: DeliveryTypes.ADDRESS;\n address: LocationValue;\n distanceKm: string;\n technicalControlNeeded: boolean;\n};\n\nexport type PortDeliverytype = BaseDeliveryType & {\n type: DeliveryTypes.PORT;\n portOriginId: string;\n portDestination?: string;\n shippingCompany?: string;\n portToPortCostPrice: string;\n portToPortMargin: string;\n};\n\n// Sent by the Frontend to bootstrap the calculator\nexport type SalesCalculatorDefaultInput = BaseQuoteCalculatorInput & {\n vehicle: {\n agreedPrice: string;\n comissionCost: string;\n id: string;\n };\n extras: SalesQuoteExtraInput[];\n customRequests: CustomSalesQuoteExtraInput[];\n};\n\nexport type SalesCalculatorInput = BaseQuoteCalculatorInput & {\n vehicle: {\n vatRate: string;\n agreedPrice: string;\n minimumPrice: string;\n purchasePrice: string; //TODO don't send to Frontend but store in DB\n comissionCost: string;\n id: string;\n };\n delivery?: PickUpDeliveryType | AddressDeliveryType | PortDeliverytype;\n extras: SalesQuoteExtraInput[];\n customRequests: CustomSalesQuoteExtraInput[];\n};\n\nexport type SalesQuoteRuleInput = {\n input: SalesCalculatorInput;\n output: SalesCalculatorOutput;\n vehicle: Vehicle;\n stockAge: number;\n};\n\nexport type LeasingCalculatorOutput = {\n vatApplicable: boolean;\n installment: string;\n installmentPrintable: string;\n totalMonthlyAmount: string;\n monthlyTaxesInsurance: string;\n beforeDelivery: string;\n financingAmount: string;\n settingId: string;\n totalRetailAmount: string;\n finalSalesPrice: string;\n roi: {\n value: string;\n target: string;\n perYear: string;\n difference: string;\n score?: QuoteMetricsScore;\n };\n cashflow: {\n deficit: string;\n balanced: boolean;\n score: QuoteMetricsScore;\n };\n profitability: {\n leasing: string;\n vehicle: string;\n total: string;\n score: QuoteMetricsScore;\n };\n taxes: {\n yearlyRetailPrice: string;\n monthlyRetailPrice: string;\n yearlyRoadTax: string;\n oneTimeRoadTax: string;\n };\n insurance: {\n yearlyRetailPrice: string;\n monthlyRetailPrice: string;\n civilLiabilities: string;\n allRisks: string;\n specialTechnicalInsurance: string;\n roadAssistance: string;\n };\n costs: {\n financingAmount: string;\n finalCostPrice: string;\n monhtly: string;\n trackAndTrace: string;\n };\n};\n\nexport type SalesCalculatorOutput = {\n totalRetailAmount: string;\n totalRetailAmountExclVat: string;\n retailAmounts: {\n vehicle: string;\n delivery: string;\n extras: string;\n };\n roi: { value: string; score?: QuoteMetricsScore };\n profit: {\n value: string;\n score: QuoteMetricsScore;\n };\n profitOverMin: {\n value: string;\n percentage: string;\n score: QuoteMetricsScore;\n };\n delivery: {\n retailPrice?: string;\n costPrice?: string;\n cleaningNeeded: boolean;\n cleaningNeededRetailPrice: string;\n transportationToPortRetailPrice?: string;\n };\n costs: {\n finalCostPrice: string;\n extras: string;\n delivery: string;\n };\n};\n\ntype BaseQuote = {\n opportunityId: string;\n preferredLanguage: string;\n clientNotes?: string;\n publicNotes?: string;\n} & (\n | {\n type: OpportunityType.LEASING;\n calculatorInput: LeasingCalculatorInput;\n calculatorOutput: LeasingCalculatorOutput;\n rating?: MatchingRuleValue;\n }\n | {\n type: OpportunityType.SALES;\n calculatorInput: SalesCalculatorInput;\n calculatorOutput: SalesCalculatorOutput;\n rating?: MatchingRuleValue;\n }\n);\n\nexport type NewQuote = BaseQuote & {\n id?: undefined;\n createdAt?: undefined;\n createdBy?: undefined;\n modifiedAt?: undefined;\n modifiedBy?: undefined;\n active: true;\n};\n\nexport type Quote = BaseQuote & {\n id: string;\n createdAt: string;\n createdBy: string;\n modifiedAt: string;\n modifiedBy: string;\n validationBy?: string;\n validationAt?: string;\n cancelledBy?: string;\n cancelledAt?: string;\n customerFeedbackAt?: string;\n customerFeedbackBy?: string;\n managerFeedbackAt?: string;\n managerFeedbackBy?: string;\n version: number;\n status: QuoteStatus;\n proformaPdf?: AttachmentValue;\n quotePdf?: AttachmentValue;\n salesAgreementPdf?: AttachmentValue;\n active: boolean;\n contactId: string;\n vehicleId: string;\n organizationId: string;\n};\n\nexport type QuoteUpdate = {\n status?: QuoteStatus;\n active?: boolean;\n};\n\nexport type CalculatorLeasingIO = {\n output: LeasingCalculatorOutput;\n input: LeasingCalculatorInput;\n rating?: MatchingRuleValue;\n};\nexport type CalculatorSalesIO = {\n output: SalesCalculatorOutput;\n input: SalesCalculatorInput;\n rating?: MatchingRuleValue;\n};\nexport type CalculatorQuoteIO = CalculatorLeasingIO | CalculatorSalesIO;\n\nexport type UsedVehiclesSalesParams = {\n id: string;\n modifiedAt: string;\n modifiedBy: string;\n countryCode: 'be';\n name: string;\n profitabilityDealGap: string;\n exaDocumentCosts: string;\n delivery?: DeliveryParams;\n};\n\nexport type QuoteSettings = LeasingQuoteParams | UsedVehiclesSalesParams;\n\nexport type DeliveryLocationValue = Omit<LocationValue, 'addressLine1' | 'city'> & {\n addressLine1: string;\n city: string;\n};\n\nexport type DeliveryRoutesRequest = {\n origin: DeliveryLocationValue;\n destination: DeliveryLocationValue;\n};\n\ntype BaseCommission = {\n opportunityId: string;\n\n estimatedAmount: string;\n estimatedPaidAt: string;\n paidAmount?: string;\n paidAt?: string;\n\n notes?: string;\n};\n\nexport type NewCommission = BaseCommission & {};\n\nexport type Commission = BaseCommission & {\n stockNumber: string;\n vehicleId: string;\n\n branchId: string;\n currency: string;\n\n modifiedAt: string;\n modifiedBy: string;\n};\n\nexport type NewQuoteValidator = {\n userId: string;\n countryCode: string;\n type: OpportunityType;\n canValidateOwn?: boolean;\n};\n\nexport type QuoteValidator = NewQuoteValidator & {\n createdAt: string;\n};\n\nexport type QuoteValidatorUpdate = {\n canValidateOwn: boolean;\n};\n"]}