@bisondesk/core-sdk 1.0.277 → 1.0.279

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 (87) hide show
  1. package/lib/cjs/apis/crm.js +23 -23
  2. package/lib/cjs/apis/crm.js.map +1 -1
  3. package/lib/cjs/apis/documents.js +3 -3
  4. package/lib/cjs/apis/documents.js.map +1 -1
  5. package/lib/cjs/apis/internet-vehicles.js +2 -2
  6. package/lib/cjs/apis/internet-vehicles.js.map +1 -1
  7. package/lib/cjs/apis/leasing-administration.js +5 -5
  8. package/lib/cjs/apis/leasing-administration.js.map +1 -1
  9. package/lib/cjs/apis/leasing.js +14 -14
  10. package/lib/cjs/apis/leasing.js.map +1 -1
  11. package/lib/cjs/apis/opportunities.js +11 -11
  12. package/lib/cjs/apis/opportunities.js.map +1 -1
  13. package/lib/cjs/apis/picklists.js +4 -4
  14. package/lib/cjs/apis/picklists.js.map +1 -1
  15. package/lib/cjs/apis/tenants.js +6 -6
  16. package/lib/cjs/apis/tenants.js.map +1 -1
  17. package/lib/cjs/apis/users.js +3 -3
  18. package/lib/cjs/apis/users.js.map +1 -1
  19. package/lib/cjs/apis/vehicles.js +16 -17
  20. package/lib/cjs/apis/vehicles.js.map +1 -1
  21. package/lib/cjs/types/insights.js +3 -0
  22. package/lib/cjs/types/insights.js.map +1 -0
  23. package/lib/cjs/types/leasing-administration.js.map +1 -1
  24. package/lib/cjs/types/vehicles.js.map +1 -1
  25. package/lib/esm/apis/crm.js +1 -1
  26. package/lib/esm/apis/crm.js.map +1 -1
  27. package/lib/esm/apis/documents.js +1 -1
  28. package/lib/esm/apis/documents.js.map +1 -1
  29. package/lib/esm/apis/internet-vehicles.js +1 -1
  30. package/lib/esm/apis/internet-vehicles.js.map +1 -1
  31. package/lib/esm/apis/leasing-administration.js +1 -1
  32. package/lib/esm/apis/leasing-administration.js.map +1 -1
  33. package/lib/esm/apis/leasing.js +1 -1
  34. package/lib/esm/apis/leasing.js.map +1 -1
  35. package/lib/esm/apis/opportunities.js +1 -1
  36. package/lib/esm/apis/opportunities.js.map +1 -1
  37. package/lib/esm/apis/picklists.js +1 -1
  38. package/lib/esm/apis/picklists.js.map +1 -1
  39. package/lib/esm/apis/tenants.js +1 -1
  40. package/lib/esm/apis/tenants.js.map +1 -1
  41. package/lib/esm/apis/users.js +1 -1
  42. package/lib/esm/apis/users.js.map +1 -1
  43. package/lib/esm/apis/vehicles.js +1 -2
  44. package/lib/esm/apis/vehicles.js.map +1 -1
  45. package/lib/esm/types/insights.js +2 -0
  46. package/lib/esm/types/insights.js.map +1 -0
  47. package/lib/esm/types/leasing-administration.js.map +1 -1
  48. package/lib/esm/types/vehicles.js.map +1 -1
  49. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  50. package/lib/tsconfig.esm.tsbuildinfo +1 -1
  51. package/lib/types/apis/crm.d.ts.map +1 -1
  52. package/lib/types/apis/documents.d.ts.map +1 -1
  53. package/lib/types/apis/internet-vehicles.d.ts.map +1 -1
  54. package/lib/types/apis/leasing-administration.d.ts.map +1 -1
  55. package/lib/types/apis/leasing.d.ts.map +1 -1
  56. package/lib/types/apis/opportunities.d.ts.map +1 -1
  57. package/lib/types/apis/picklists.d.ts.map +1 -1
  58. package/lib/types/apis/tenants.d.ts.map +1 -1
  59. package/lib/types/apis/users.d.ts.map +1 -1
  60. package/lib/types/apis/vehicles.d.ts.map +1 -1
  61. package/lib/types/types/insights.d.ts +75 -0
  62. package/lib/types/types/insights.d.ts.map +1 -0
  63. package/lib/types/types/leasing-administration.d.ts +1 -0
  64. package/lib/types/types/leasing-administration.d.ts.map +1 -1
  65. package/lib/types/types/vehicles.d.ts +0 -41
  66. package/lib/types/types/vehicles.d.ts.map +1 -1
  67. package/package.json +1 -1
  68. package/src/apis/crm.ts +1 -1
  69. package/src/apis/documents.ts +1 -1
  70. package/src/apis/internet-vehicles.ts +1 -1
  71. package/src/apis/leasing-administration.ts +1 -1
  72. package/src/apis/leasing.ts +1 -1
  73. package/src/apis/opportunities.ts +1 -1
  74. package/src/apis/picklists.ts +1 -1
  75. package/src/apis/tenants.ts +1 -1
  76. package/src/apis/users.ts +1 -1
  77. package/src/apis/vehicles.ts +1 -2
  78. package/src/types/insights.ts +82 -0
  79. package/src/types/leasing-administration.ts +1 -0
  80. package/src/types/vehicles.ts +0 -42
  81. package/lib/cjs/apis/utils.js +0 -23
  82. package/lib/cjs/apis/utils.js.map +0 -1
  83. package/lib/esm/apis/utils.js +0 -17
  84. package/lib/esm/apis/utils.js.map +0 -1
  85. package/lib/types/apis/utils.d.ts +0 -9
  86. package/lib/types/apis/utils.d.ts.map +0 -1
  87. package/src/apis/utils.ts +0 -23
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getPicklistOptions = exports.getMultiplePicklistValues = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const errors_1 = require("@bisondesk/commons-sdk/errors");
6
+ const fetch_1 = require("@bisondesk/commons-sdk/fetch");
6
7
  const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
7
- const utils_1 = require("./utils");
8
8
  const getMultiplePicklistValues = async (request) => {
9
- const auth = await (0, utils_1.getAdminAuth)();
9
+ const auth = await (0, fetch_1.getAdminAuth)();
10
10
  const response = await (0, node_fetch_1.default)(`${process.env.CORE_API_ORIGIN}/api/picklists/bulk/read`, {
11
11
  method: 'POST',
12
12
  headers: {
@@ -23,10 +23,10 @@ const getMultiplePicklistValues = async (request) => {
23
23
  };
24
24
  exports.getMultiplePicklistValues = getMultiplePicklistValues;
25
25
  const getPicklistOptions = async (req) => {
26
- const auth = await (0, utils_1.getAdminAuth)();
26
+ const auth = await (0, fetch_1.getAdminAuth)();
27
27
  const response = await (0, node_fetch_1.default)(`${process.env.CORE_API_ORIGIN}/api/picklists/options`, {
28
28
  method: 'POST',
29
- headers: (0, utils_1.cleanHeaders)({
29
+ headers: (0, fetch_1.cleanHeaders)({
30
30
  Authorization: auth,
31
31
  'Content-Type': 'application/json',
32
32
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"picklists.js","sourceRoot":"/","sources":["apis/picklists.ts"],"names":[],"mappings":";;;;AAAA,0DAAuD;AAEvD,oEAA6C;AAM7C,mCAAqD;AAE9C,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 { Option } from '@bisondesk/commons-sdk/types';\nimport fetch, { Response } from 'node-fetch';\nimport {\n AdHocPicklistRequest,\n AdHocPicklistValueDisplay,\n PicklistOptionsRequest,\n} from '../types/picklists';\nimport { cleanHeaders, getAdminAuth } from './utils';\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,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"]}
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getTenantByHyperportalId = exports.getTenantByHyperdmsId = exports.getTenant = exports.listTenantsSyncSettings = exports.listTenants = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const errors_1 = require("@bisondesk/commons-sdk/errors");
6
+ const fetch_1 = require("@bisondesk/commons-sdk/fetch");
6
7
  const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
7
- const utils_1 = require("./utils");
8
8
  const listTenants = async () => {
9
- const auth = await (0, utils_1.getAdminAuth)();
9
+ const auth = await (0, fetch_1.getAdminAuth)();
10
10
  const response = await (0, node_fetch_1.default)(`${process.env.CORE_API_ORIGIN}/admin/tenants`, {
11
11
  headers: {
12
12
  Authorization: auth,
@@ -20,7 +20,7 @@ const listTenants = async () => {
20
20
  };
21
21
  exports.listTenants = listTenants;
22
22
  const listTenantsSyncSettings = async () => {
23
- const auth = await (0, utils_1.getAdminAuth)();
23
+ const auth = await (0, fetch_1.getAdminAuth)();
24
24
  const response = await (0, node_fetch_1.default)(`${process.env.CORE_API_ORIGIN}/admin/tenants/settings/sync`, {
25
25
  headers: {
26
26
  Authorization: auth,
@@ -34,7 +34,7 @@ const listTenantsSyncSettings = async () => {
34
34
  };
35
35
  exports.listTenantsSyncSettings = listTenantsSyncSettings;
36
36
  const getTenant = async (tenantId) => {
37
- const auth = await (0, utils_1.getAdminAuth)();
37
+ const auth = await (0, fetch_1.getAdminAuth)();
38
38
  const response = await (0, node_fetch_1.default)(`${process.env.CORE_API_ORIGIN}/admin/tenants/${tenantId}`, {
39
39
  headers: {
40
40
  Authorization: auth,
@@ -48,7 +48,7 @@ const getTenant = async (tenantId) => {
48
48
  };
49
49
  exports.getTenant = getTenant;
50
50
  const getTenantByHyperdmsId = async (hyperdmsTenantId) => {
51
- const auth = await (0, utils_1.getAdminAuth)();
51
+ const auth = await (0, fetch_1.getAdminAuth)();
52
52
  const response = await (0, node_fetch_1.default)(`${process.env.CORE_API_ORIGIN}/admin/tenants/hyperdms/${hyperdmsTenantId}`, {
53
53
  headers: {
54
54
  Authorization: auth,
@@ -62,7 +62,7 @@ const getTenantByHyperdmsId = async (hyperdmsTenantId) => {
62
62
  };
63
63
  exports.getTenantByHyperdmsId = getTenantByHyperdmsId;
64
64
  const getTenantByHyperportalId = async (hyperportalTenantId) => {
65
- const auth = await (0, utils_1.getAdminAuth)();
65
+ const auth = await (0, fetch_1.getAdminAuth)();
66
66
  const response = await (0, node_fetch_1.default)(`${process.env.CORE_API_ORIGIN}/admin/tenants/hyperportal/${hyperportalTenantId}`, {
67
67
  headers: {
68
68
  Authorization: auth,
@@ -1 +1 @@
1
- {"version":3,"file":"tenants.js","sourceRoot":"/","sources":["apis/tenants.ts"],"names":[],"mappings":";;;;AAAA,0DAAuD;AACvD,oEAA6C;AAE7C,mCAAuC;AAEhC,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,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;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,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;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,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,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,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,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,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,CAAC,CAAC;AAClD,CAAC,CAAC;AAnBW,QAAA,wBAAwB,4BAmBnC","sourcesContent":["import { XError } from '@bisondesk/commons-sdk/errors';\nimport fetch, { Response } from 'node-fetch';\nimport { Tenant, TenantSyncSettings } from '../types/tenants';\nimport { getAdminAuth } from './utils';\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,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;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,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;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,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,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,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,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,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,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() 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"]}
@@ -4,12 +4,12 @@ exports.getUser = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const constants_1 = require("@bisondesk/commons-sdk/constants");
6
6
  const errors_1 = require("@bisondesk/commons-sdk/errors");
7
+ const fetch_1 = require("@bisondesk/commons-sdk/fetch");
7
8
  const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
8
- const utils_1 = require("./utils");
9
9
  const getUser = async (tenantId, userId) => {
10
- const auth = await (0, utils_1.getAdminAuth)();
10
+ const auth = await (0, fetch_1.getAdminAuth)();
11
11
  const response = await (0, node_fetch_1.default)(`${process.env.CORE_API_ORIGIN}/api/users/${userId}`, {
12
- headers: (0, utils_1.cleanHeaders)({
12
+ headers: (0, fetch_1.cleanHeaders)({
13
13
  Authorization: auth,
14
14
  [constants_1.TENANT_ID_ADMIN_HEADER]: tenantId,
15
15
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"users.js","sourceRoot":"/","sources":["apis/users.ts"],"names":[],"mappings":";;;;AAAA,gEAA0E;AAC1E,0DAAuD;AACvD,oEAA6C;AAE7C,mCAAqD;AAE9C,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 fetch, { Response } from 'node-fetch';\nimport { User } from '../types/users';\nimport { cleanHeaders, getAdminAuth } from './utils';\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,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"]}
@@ -6,9 +6,8 @@ const constants_1 = require("@bisondesk/commons-sdk/constants");
6
6
  const errors_1 = require("@bisondesk/commons-sdk/errors");
7
7
  const fetch_1 = require("@bisondesk/commons-sdk/fetch");
8
8
  const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
9
- const utils_1 = require("./utils");
10
9
  const getVehicle = async (tenantId, vehicleId) => {
11
- const auth = await (0, utils_1.getAdminAuth)();
10
+ const auth = await (0, fetch_1.getAdminAuth)();
12
11
  const response = await (0, node_fetch_1.default)(`${process.env.CORE_API_ORIGIN}/api/vehicles/${vehicleId}`, {
13
12
  headers: {
14
13
  Authorization: auth,
@@ -23,7 +22,7 @@ const getVehicle = async (tenantId, vehicleId) => {
23
22
  };
24
23
  exports.getVehicle = getVehicle;
25
24
  const getVehicleByChassisNumber = async (tenantId, vin) => {
26
- const auth = await (0, utils_1.getAdminAuth)();
25
+ const auth = await (0, fetch_1.getAdminAuth)();
27
26
  return (0, fetch_1.fetchJson)(`${process.env.CORE_API_ORIGIN}/api/vehicles/vin/${vin}`, {
28
27
  headers: {
29
28
  Authorization: auth,
@@ -33,7 +32,7 @@ const getVehicleByChassisNumber = async (tenantId, vin) => {
33
32
  };
34
33
  exports.getVehicleByChassisNumber = getVehicleByChassisNumber;
35
34
  const getVehiclePurchase = async (tenantId, vehicleId) => {
36
- const auth = await (0, utils_1.getAdminAuth)();
35
+ const auth = await (0, fetch_1.getAdminAuth)();
37
36
  const response = await (0, node_fetch_1.default)(`${process.env.CORE_API_ORIGIN}/api/vehicles/${vehicleId}/purchase`, {
38
37
  headers: {
39
38
  Authorization: auth,
@@ -48,7 +47,7 @@ const getVehiclePurchase = async (tenantId, vehicleId) => {
48
47
  };
49
48
  exports.getVehiclePurchase = getVehiclePurchase;
50
49
  const getVehicleByStockNumber = async (tenantId, stockNumber) => {
51
- const auth = await (0, utils_1.getAdminAuth)();
50
+ const auth = await (0, fetch_1.getAdminAuth)();
52
51
  const response = await (0, node_fetch_1.default)(`${process.env.CORE_API_ORIGIN}/api/vehicles/stock-number/${stockNumber}`, {
53
52
  headers: {
54
53
  Authorization: auth,
@@ -63,7 +62,7 @@ const getVehicleByStockNumber = async (tenantId, stockNumber) => {
63
62
  };
64
63
  exports.getVehicleByStockNumber = getVehicleByStockNumber;
65
64
  const getVehicleByPurchaseStockNumber = async (tenantId, stockNumber) => {
66
- const auth = await (0, utils_1.getAdminAuth)();
65
+ const auth = await (0, fetch_1.getAdminAuth)();
67
66
  const response = await (0, node_fetch_1.default)(`${process.env.CORE_API_ORIGIN}/api/vehicles/purchase-stock-number/${stockNumber}`, {
68
67
  headers: {
69
68
  Authorization: auth,
@@ -78,9 +77,9 @@ const getVehicleByPurchaseStockNumber = async (tenantId, stockNumber) => {
78
77
  };
79
78
  exports.getVehicleByPurchaseStockNumber = getVehicleByPurchaseStockNumber;
80
79
  const listVehiclesMarketing = async (tenantId, offset, limit, opts) => {
81
- const auth = await (0, utils_1.getAdminAuth)();
80
+ const auth = await (0, fetch_1.getAdminAuth)();
82
81
  const response = await (0, node_fetch_1.default)(`${process.env.CORE_API_ORIGIN}/api/vehicles/marketing/list?offset=${offset}&limit=${limit}`, {
83
- headers: (0, utils_1.cleanHeaders)({
82
+ headers: (0, fetch_1.cleanHeaders)({
84
83
  Authorization: auth,
85
84
  [constants_1.TENANT_ID_ADMIN_HEADER]: tenantId,
86
85
  [constants_1.SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,
@@ -94,7 +93,7 @@ const listVehiclesMarketing = async (tenantId, offset, limit, opts) => {
94
93
  };
95
94
  exports.listVehiclesMarketing = listVehiclesMarketing;
96
95
  const getVehicleMarketing = async (tenantId, vehicleId) => {
97
- const auth = await (0, utils_1.getAdminAuth)();
96
+ const auth = await (0, fetch_1.getAdminAuth)();
98
97
  const response = await (0, node_fetch_1.default)(`${process.env.CORE_API_ORIGIN}/api/vehicles/${vehicleId}/marketing`, {
99
98
  headers: {
100
99
  Authorization: auth,
@@ -109,10 +108,10 @@ const getVehicleMarketing = async (tenantId, vehicleId) => {
109
108
  };
110
109
  exports.getVehicleMarketing = getVehicleMarketing;
111
110
  const saveMarketing = async (tenantId, vehicleId, marketing) => {
112
- const auth = await (0, utils_1.getAdminAuth)();
111
+ const auth = await (0, fetch_1.getAdminAuth)();
113
112
  const response = await (0, node_fetch_1.default)(`${process.env.CORE_API_ORIGIN}/api/vehicles/${vehicleId}/marketing`, {
114
113
  method: 'POST',
115
- headers: (0, utils_1.cleanHeaders)({
114
+ headers: (0, fetch_1.cleanHeaders)({
116
115
  Authorization: auth,
117
116
  'Content-Type': 'application/json',
118
117
  [constants_1.TENANT_ID_ADMIN_HEADER]: tenantId,
@@ -127,10 +126,10 @@ const saveMarketing = async (tenantId, vehicleId, marketing) => {
127
126
  };
128
127
  exports.saveMarketing = saveMarketing;
129
128
  const saveVehiclePurchase = async (tenantId, vehicleId, purchase, opts) => {
130
- const auth = await (0, utils_1.getAdminAuth)();
129
+ const auth = await (0, fetch_1.getAdminAuth)();
131
130
  const response = await (0, node_fetch_1.default)(`${process.env.CORE_API_ORIGIN}/api/vehicles/${vehicleId}/purchase`, {
132
131
  method: 'POST',
133
- headers: (0, utils_1.cleanHeaders)({
132
+ headers: (0, fetch_1.cleanHeaders)({
134
133
  Authorization: auth,
135
134
  'Content-Type': 'application/json',
136
135
  [constants_1.TENANT_ID_ADMIN_HEADER]: tenantId,
@@ -146,10 +145,10 @@ const saveVehiclePurchase = async (tenantId, vehicleId, purchase, opts) => {
146
145
  };
147
146
  exports.saveVehiclePurchase = saveVehiclePurchase;
148
147
  const saveVehicle = async (tenantId, vehicle, opts) => {
149
- const auth = await (0, utils_1.getAdminAuth)();
148
+ const auth = await (0, fetch_1.getAdminAuth)();
150
149
  const response = await (0, node_fetch_1.default)(`${process.env.CORE_API_ORIGIN}/api/vehicles`, {
151
150
  method: 'POST',
152
- headers: (0, utils_1.cleanHeaders)({
151
+ headers: (0, fetch_1.cleanHeaders)({
153
152
  Authorization: auth,
154
153
  'Content-Type': 'application/json',
155
154
  [constants_1.TENANT_ID_ADMIN_HEADER]: tenantId,
@@ -165,10 +164,10 @@ const saveVehicle = async (tenantId, vehicle, opts) => {
165
164
  };
166
165
  exports.saveVehicle = saveVehicle;
167
166
  const deleteVehicle = async (tenantId, vehicleId, opts) => {
168
- const auth = await (0, utils_1.getAdminAuth)();
167
+ const auth = await (0, fetch_1.getAdminAuth)();
169
168
  const response = await (0, node_fetch_1.default)(`${process.env.CORE_API_ORIGIN}/api/vehicles/${vehicleId}`, {
170
169
  method: 'DELETE',
171
- headers: (0, utils_1.cleanHeaders)({
170
+ headers: (0, fetch_1.cleanHeaders)({
172
171
  Authorization: auth,
173
172
  [constants_1.TENANT_ID_ADMIN_HEADER]: tenantId,
174
173
  [constants_1.SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,
@@ -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 { fetchJson } from '@bisondesk/commons-sdk/fetch';\nimport fetch, { Response } from 'node-fetch';\nimport { DataRecord } from '../types/utils';\nimport { NewVehicle, Vehicle, VehicleMarketing, VehiclePurchase } from '../types/vehicles';\nimport { cleanHeaders, getAdminAuth } from './utils';\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() 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"]}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=insights.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insights.js","sourceRoot":"/","sources":["types/insights.ts"],"names":[],"mappings":"","sourcesContent":["export type ComparableVehiclesRequest = {\n offset: number;\n limit: number;\n};\n\nexport type InsightsResponse = {\n insights: Insights;\n comparables: InsightsComparableSpecs;\n};\n\nexport type InsightsSearchRequest = {\n specs: InsightsComparableSpecs;\n offset: number;\n limit: number;\n};\n\nexport type InsightsComparableSpecs = {\n adr?: boolean;\n axleConfigurations?: string[];\n bodystyle?: string;\n category: string;\n crane?: boolean;\n damaged?: boolean;\n euronorms?: string[];\n horsepowerMax?: number;\n horsepowerMin?: number;\n kilometersMax?: number;\n kilometersMin?: number;\n make?: string;\n model?: string;\n priceMax?: number;\n priceMin?: number;\n retarderIntarder?: boolean;\n tailgate?: boolean;\n transmissions?: string[];\n used?: boolean;\n yearMax?: number;\n yearMin?: number;\n};\n\nexport type InsightsOptions = {\n months?: number;\n};\n\nexport type InsightsOnlineTrends = {\n date: string;\n count: number;\n avgDays: number | null;\n avgPrice: number | null;\n};\n\nexport type Percentiles = {\n [key: string]: number | null;\n};\n\nexport type InsightsPriceHistogram = {\n from: number | undefined;\n to: number | undefined;\n count: number;\n}[];\n\nexport type Insights = {\n trends: InsightsOnlineTrends[];\n online: {\n count: number;\n histogramPrices: InsightsPriceHistogram;\n avgPrice: number | null;\n percentilesDays: Percentiles;\n avgDays: number | null;\n percentilesPrices: Percentiles;\n minPrice: number;\n };\n sold: {\n count: number;\n avgPrice: number | null;\n percentilesPrices: Percentiles;\n percentilesDays: Percentiles;\n avgDays: number | null;\n histogramPrices: InsightsPriceHistogram;\n minPrice: number;\n };\n};\n"]}
@@ -1 +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};\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;\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 +1 @@
1
- {"version":3,"file":"vehicles.js","sourceRoot":"/","sources":["types/vehicles.ts"],"names":[],"mappings":";;;AA2JA,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,4CAAuB,CAAA;IACvB,0CAAqB,CAAA;IACrB,0CAAqB,CAAA;AACvB,CAAC,EAJW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAI5B;AA6RD,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,mDAA0B,CAAA;IAC1B,wEAA+C,CAAA;IAC/C,sEAA6C,CAAA;IAC7C,6CAAoB,CAAA;AACtB,CAAC,EALW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAKhC;AAED,IAAY,yBAOX;AAPD,WAAY,yBAAyB;IACnC,uEAA0C,CAAA;IAC1C,+DAAkC,CAAA;IAClC,0EAA6C,CAAA;IAC7C,oEAAuC,CAAA;IACvC,wEAA2C,CAAA;IAC3C,kEAAqC,CAAA;AACvC,CAAC,EAPW,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAOpC;AAED,IAAY,0BAGX;AAHD,WAAY,0BAA0B;IACpC,oDAAsB,CAAA;IACtB,qDAAuB,CAAA;AACzB,CAAC,EAHW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAGrC;AAED,IAAY,8BAIX;AAJD,WAAY,8BAA8B;IACxC,wDAAsB,CAAA;IACtB,qDAAmB,CAAA;IACnB,0DAAwB,CAAA;AAC1B,CAAC,EAJW,8BAA8B,GAA9B,sCAA8B,KAA9B,sCAA8B,QAIzC;AAED,IAAY,2BAGX;AAHD,WAAY,2BAA2B;IACrC,iDAAkB,CAAA;IAClB,mDAAoB,CAAA;AACtB,CAAC,EAHW,2BAA2B,GAA3B,mCAA2B,KAA3B,mCAA2B,QAGtC;AA6GD,IAAY,cAcX;AAdD,WAAY,cAAc;IACxB,mDAAiC,CAAA;IACjC,+DAA6C,CAAA;IAC7C,kDAAgC,CAAA;IAChC,0CAAwB,CAAA;IACxB,gDAA8B,CAAA;IAC9B,4CAA0B,CAAA;IAC1B,yDAAuC,CAAA;IACvC,mEAAiD,CAAA;IACjD,0CAAwB,CAAA;IACxB,4CAA0B,CAAA;IAC1B,0CAAwB,CAAA;IACxB,2DAAyC,CAAA;IACzC,gDAA8B,CAAA;AAChC,CAAC,EAdW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAczB;AAED,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,yCAAsB,CAAA;IACtB,0EAAuD,CAAA;IACvD,+CAA4B,CAAA;IAC5B,0DAAuC,CAAA;IACvC,4DAAyC,CAAA;IACzC,8DAA2C,CAAA;IAC3C,kEAA+C,CAAA;AACjD,CAAC,EARW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAQ1B","sourcesContent":["import { EmailDestination } from '@bisondesk/commons-sdk/messages';\nimport {\n AttachmentValue,\n Document,\n LocationValue,\n MultiLangValue,\n SearchPermissions,\n} from '@bisondesk/commons-sdk/types';\n\ntype BaseVehicleEvent = {\n id: string;\n actionAt: string;\n userId: string;\n tenantId: string;\n};\n\ntype VehicleSuperstructure = {\n carCapacity?: number;\n compartmentCount?: number;\n counter?: boolean;\n crane?: {\n make?: string;\n model?: string;\n position?: 'Behind the cabin' | 'Rear';\n present?: boolean;\n year?: number;\n };\n dimensions?: {\n height?: number;\n length?: number;\n width?: number;\n extended?: string; // L1, L2, ...\n heightened?: string; // H1, H2, ...\n };\n baseVehicle?: SuperstructureBaseVehicle;\n extendable?: boolean;\n highPressurePump?: boolean;\n loadingPlatformHeight?: number;\n pump?: boolean;\n slidingRoof?: boolean;\n tailgate?: {\n capacity?: number;\n make?: string;\n model?: string;\n present?: boolean;\n type?: 'slider_lift' | 'cantilever' | 'column_lift';\n };\n tank?: {\n capacity: number;\n };\n temperatureControl?: {\n engineType?: 'diesel' | 'electric' | 'diesel+electric' | 'engine';\n make?: string;\n runningHours?: {\n diesel?: number;\n electric?: number;\n };\n };\n tipper?: {\n tipsBack?: boolean;\n tipsLeft?: boolean;\n tipsRight?: boolean;\n };\n};\nexport type NewVehicleRequest = {\n branch: string;\n count: number;\n specs: VehicleExternalInfo;\n description: {\n remarks?: string;\n technicalRemarks?: string;\n };\n logistics: {\n vehicleRole: VehicleInternalInfo['role'];\n parking: string;\n deliveryType: VehiclePurchaseDeliveryType;\n availableDate: string;\n pickupAddress?: LocationValue;\n };\n prices: {\n minimum?: string;\n premium?: string;\n internet?: string;\n };\n media: {\n internalPictures: AttachmentValue[];\n pictures: AttachmentValue[];\n videos: AttachmentValue[];\n docs: Document[];\n engineeringDocs: Document[];\n };\n vinList?: string;\n deal: {\n stockNumber?: string;\n contactId: string;\n orgId: string;\n purchasedBy: string;\n dealStatus:\n | VehiclePurchaseDealStatus.PurchaseEvaluation\n | VehiclePurchaseDealStatus.PurchaseAgreed;\n costs: {\n purchase: string;\n purchaseVatPercentage: string;\n commission?: string;\n externalTransport?: string;\n internalTransport?: string;\n externalGarage?: string;\n internalGarage?: string;\n other?: string;\n };\n };\n};\n\nexport type VehicleCreateEvent = BaseVehicleEvent & {\n action: 'create';\n vehicle: Vehicle;\n previousVehicle?: undefined;\n};\n\nexport type VehicleUpdateEvent = BaseVehicleEvent & {\n action: 'update';\n vehicle: Vehicle;\n previousVehicle: Vehicle;\n};\n\nexport type VehicleDeleteEvent = BaseVehicleEvent & {\n action: 'delete';\n vehicle?: undefined;\n previousVehicle: Vehicle;\n};\n\nexport type VehicleEvent = VehicleCreateEvent | VehicleUpdateEvent | VehicleDeleteEvent;\n\nexport type VehicleMarketingEvent = {\n actionAt: string;\n data: VehicleMarketing;\n tenantId: string;\n userId: string;\n vehicleId: string;\n};\n\nexport type UpdateVehiclesPricesEvent = {\n id: string;\n actionAt: string;\n userId: string;\n tenantId: string;\n priceList: AttachmentValue;\n};\n\nexport type PublicVehicle = Pick<Vehicle, 'external' | 'id'>;\n\nexport type PublicSearchVehicle = {\n vehicle: PublicVehicle;\n};\n\nexport enum CustomSearchState {\n Available = 'available',\n Expected = 'expected',\n Reserved = 'reserved',\n}\n\nexport type SearchVehicle = {\n custom: {\n features: string[];\n state: CustomSearchState[];\n };\n purchase?: {\n supplierStockNumber?: string;\n };\n vehicle: Vehicle;\n};\n\nexport type InputSearchVehicle = SearchVehicle & {\n permissions: SearchPermissions;\n};\n\nexport type VehicleInternalInfo = {\n createdAt: string;\n description: {\n title: string;\n remarks?: string;\n technicalRemarks?: string;\n };\n parkingName?: string;\n identification: {\n administrativeNumber?: string;\n stockNumber: string;\n branch: string;\n\n /**\n * This ID is used to link different vehicle objects that represent the same real world asset.\n * Ideally the chassis number could be used, but in some cases it is not available yet.\n */\n metaId: string;\n };\n documents: Document[];\n pictures: AttachmentValue[];\n engineeringDocs: Document[];\n pricing: {\n premium?: string;\n minimum?: string;\n currency?: string;\n };\n role: 'SALE' | 'OWN_USE' | 'RENTAL' | 'BUILD' | 'UNKNOWN';\n status: VehicleStatus;\n updatedAt: string;\n /* use this property to store additional terms that you want the vehicle to be found with when doing a full text search */\n keywords?: string[];\n};\n\nexport type VehicleOriginalInfo = {\n tenantId: string;\n identification: {\n id: string;\n stockNumber: string;\n hyperdmsTenantId?: string;\n metaId?: string;\n };\n salesConditions: {\n leasing?: boolean;\n expected?: boolean;\n reserved?: boolean;\n price?: string;\n currency?: string;\n };\n};\n\nexport type VehicleAxlesInfo = {\n details: VehicleAxle[];\n configuration?: string;\n count?: number;\n poweredAxlesCount?: number;\n wheelbase?: number;\n suspension?: 'Air' | 'Air/Steel' | 'Steel';\n};\n\nexport type SuperstructureBaseVehicle = {\n category: string;\n make: string;\n model?: string;\n type?: string;\n axlesConfiguration?: string;\n emissionsClass?: string;\n transmissionType?: 'Automatic' | 'Manual' | 'Semi-Automatic';\n vin?: string;\n currentRegistration?: {\n country?: string;\n };\n suspension?: 'Air' | 'Air/Steel' | 'Steel';\n constructionYear?: number;\n firstRegistration?: string;\n odometerKm?: number;\n powerHp?: number;\n bodystyle?: string;\n accessories: VehicleExternalInfo['accessories'];\n superstructure?: Pick<VehicleSuperstructure, 'crane' | 'tailgate'>;\n};\n\n// mostly inspired by the Hexon data model\nexport type VehicleExternalInfo = {\n body?: {\n cabin?: {\n type: 'Day' | 'Sleep / Small' | 'Sleep / Medium' | 'Sleep / Large';\n model?: string;\n };\n colour?: string;\n dimensions?: {\n height?: number;\n length?: number;\n width?: number;\n };\n doorCount?: number;\n interior?: {\n bedCount?: number;\n seatCount?: number;\n };\n };\n mainPicture?: AttachmentValue;\n pictures?: AttachmentValue[];\n videos?: AttachmentValue[];\n condition?: {\n damaged?: boolean;\n odometer?: {\n km?: number;\n };\n used?: boolean;\n };\n general: {\n bodystyle?: string;\n category: string;\n make?: string;\n model?: string;\n modelName?: string;\n type?: string;\n typeName?: string;\n };\n history?: {\n advertisingYear?: number;\n constructionYear?: number;\n currentRegistration?: {\n country?: string;\n technicalInspectionEndDate?: string;\n };\n firstRegistration?: string;\n cocPvg?: string;\n };\n identification: {\n licensePlate?: string;\n stockNumber?: string;\n vin?: string;\n buildStockNumber?: string;\n };\n powertrain?: {\n axles?: VehicleAxlesInfo;\n emissions?: {\n class?: string;\n };\n engine?: {\n cylinderCount?: number;\n energy?: string;\n power?: {\n hp?: number;\n };\n displacement?: number;\n };\n transmission?: {\n gearCount?: number;\n make?: string;\n model?: string;\n type?: 'Automatic' | 'Manual' | 'Semi-Automatic';\n };\n };\n salesConditions: {\n leasing?: boolean;\n expected?: boolean;\n reserved?: boolean;\n price?: string | undefined;\n currency?: string | undefined;\n };\n superstructure?: VehicleSuperstructure;\n weights?: {\n gvw?: number;\n massEmpty?: number;\n };\n accessories: {\n abs?: boolean;\n adr?: boolean;\n airco?: boolean;\n alloyWheels?: boolean;\n aluminiumFuelTank?: boolean;\n cdPlayer?: boolean;\n centralLocking?: boolean;\n centralLubrication?: boolean;\n cruiseControl?: boolean;\n electricDoorMirrors?: boolean;\n electricWindows?: boolean;\n engineBrake?: boolean;\n forklift?: boolean;\n navigationSystem?: boolean;\n hydraulicTipperKit?: boolean;\n lowDeck?: boolean;\n lowNoise?: boolean;\n parkingHeater?: boolean;\n particleFilter?: boolean;\n powerTakeOff?: boolean;\n refrigerator?: boolean;\n retarderIntarder?: boolean;\n reversingCamera?: boolean;\n roofSpoiler?: boolean;\n sideSkirts?: boolean;\n spareKey?: boolean;\n spareWheel?: boolean;\n speedLimiter?: boolean;\n spoilers?: boolean;\n spotlights?: boolean;\n stabilityControl?: boolean;\n standardAirco?: boolean;\n television?: boolean;\n toolbox?: boolean;\n trailerCoupling?: boolean;\n twinFuelTank?: boolean;\n visor?: boolean;\n xenonLights?: boolean;\n };\n};\n\ntype BaseVehicle<I = VehicleInternalInfo, E = VehicleExternalInfo> = {\n internal: I;\n external: E;\n original?: VehicleOriginalInfo;\n};\n\nexport type NewVehicle<I = VehicleInternalInfo, E = VehicleExternalInfo> = BaseVehicle<I, E> & {\n id?: undefined;\n};\n\nexport type Vehicle<I = VehicleInternalInfo, E = VehicleExternalInfo> = BaseVehicle<I, E> & {\n id: string;\n};\n\nexport type VehiclesByChassisNumberRequest = {\n tenantIds: string[];\n chassisNumber: string;\n};\n\nexport type VehiclesByMetaIdRequest = {\n tenantIds: string[];\n metaId: string;\n};\n\nexport type VehicleAxle = {\n make?: string;\n alloyWheels?: boolean;\n brakes?: 'Disc' | 'Drum';\n differentialLock?: boolean;\n liftAxle?: boolean;\n maxLoad?: number;\n nr: number;\n position?: string;\n powered?: boolean;\n reduction?: string;\n steering?: boolean;\n suspension?: 'Steel' | 'Air' | 'Hydraulic';\n twinWheels?: boolean;\n tyreConditionPercLeftInside?: number;\n tyreConditionPercLeftOutside?: number;\n tyreConditionPercRightInside?: number;\n tyreConditionPercRightOutside?: number;\n tyreSize?: string;\n};\n\nexport type VehicleMarketing = {\n titles: MultiLangValue;\n remarks?: MultiLangValue;\n marketingPlatforms: string[];\n videos: AttachmentValue[];\n overrides?: {\n marketingPlatforms?: boolean;\n remarks?: boolean;\n titles?: boolean;\n videos?: boolean;\n };\n};\n\nexport enum VehicleSaleDealStatus {\n SaleAgreed = 'SALE_AGREED',\n FirstPaymentReceived = 'FIRST_PAYMENT_RECEIVED',\n FullPaymentReceived = 'FULL_PAYMENT_RECEIVED',\n NotSold = 'NOT_SOLD',\n}\n\nexport enum VehiclePurchaseDealStatus {\n PurchaseEvaluation = 'PURCHASE_EVALUATION', // used for vehicle consignation\n PurchaseAgreed = 'PURCHASE_AGREED',\n FirstPaymentAllowed = 'FIRST_PAYMENT_ALLOWED',\n FirstPaymentSent = 'FIRST_PAYMENT_SENT',\n FullPaymentAllowed = 'FULL_PAYMENT_ALLOWED',\n FullPaymentSent = 'FULL_PAYMENT_SENT',\n}\n\nexport enum VehicleSaleLogisticsStatus {\n AtOrigin = 'AT_ORIGIN',\n Delivered = 'DELIVERED',\n}\n\nexport enum VehiclePurchaseLogisticsStatus {\n AtOrigin = 'AT_ORIGIN',\n Arrived = 'ARRIVED',\n CheckedIn = 'CHECKED_IN',\n}\n\nexport enum VehiclePurchaseDeliveryType {\n PickUp = 'PICK_UP',\n DropOff = 'DROP_OFF',\n}\n\nexport type VehicleStatus = {\n deleted?: boolean;\n option?: {\n id: string;\n expirationDate: number;\n };\n sale: {\n id?: string;\n dealStatus: VehicleSaleDealStatus;\n logisticsStatus?: VehicleSaleLogisticsStatus;\n };\n purchase: {\n purchasedBy?: string;\n dealStatus: VehiclePurchaseDealStatus;\n logisticsStatus: VehiclePurchaseLogisticsStatus;\n };\n};\n\nexport type VehiclePriceList = {\n uploadedAt: string;\n uploadedBy: string;\n priceList: AttachmentValue;\n id: string;\n};\n\nexport type UpdateVehiclesPricesRequest = {\n priceList: AttachmentValue;\n};\n\nexport type VehiclePriceListLine = {\n reference: string;\n internet?: string;\n premium?: string;\n minimum?: string;\n};\n\nexport type VehiclePriceUpdateError = {\n data: VehiclePriceListLine;\n line: number;\n error: {\n fieldId: keyof VehiclePriceListLine;\n msg: string;\n };\n};\n\nexport type VehiclePriceUpdateResponse =\n | {\n success: true;\n }\n | {\n success: false;\n errors: VehiclePriceUpdateError[];\n };\n\nexport type VehiclePurchase = {\n organizationId: string;\n contactId: string;\n supplierStockNumber?: string;\n purchasedBy: string;\n\n log: {\n evaluationStartedAt?: string;\n evaluationStartedBy?: string;\n\n purchaseAgreedAt?: string;\n purchaseAgreedBy?: string;\n\n firstPaymentAllowedAt?: string;\n firstPaymentAllowedBy?: string;\n firstPaymentSentAt?: string;\n firstPaymentSentBy?: string;\n\n fullPaymentAllowedAt?: string;\n fullPaymentAllowedBy?: string;\n fullPaymentSentAt?: string;\n fullPaymentSentBy?: string;\n\n arrivedAt?: string;\n arrivedBy?: string;\n checkedInAt?: string;\n checkedInBy?: string;\n };\n\n deal: {\n status: VehiclePurchaseDealStatus;\n\n askingPrice?: string;\n purchaseVatRate?: string;\n purchase?: string; // exclusive VAT\n\n commission?: string;\n externalTransport?: string;\n internalTransport?: string;\n externalGarage?: string;\n internalGarage?: string;\n other?: string;\n };\n\n logistics: {\n parkingName?: string;\n status: VehiclePurchaseLogisticsStatus;\n deliveryType?: VehiclePurchaseDeliveryType;\n pickupAddress?: LocationValue;\n availableWeek?: string; // ISOWEEK, e.g. 2016-W02\n };\n};\n\nexport enum VehicleActions {\n EditAdminDocs = 'edit_admin_docs',\n EditEngineeringDocs = 'edit_engineering_docs',\n EditMarketing = 'edit_marketing',\n EditMedia = 'edit_media',\n EditPictures = 'edit_pictures',\n EditPrices = 'edit_prices',\n EditPurchaseDeal = 'edit_purchase_deal',\n EditPurchaseLogistics = 'edit_purchase_logistics',\n EditSpecs = 'edit_specs',\n EditVideos = 'edit_videos',\n ViewLeads = 'view_leads',\n ViewSimilarOnline = 'view_similar_online',\n ViewPurchase = 'view_purchase',\n}\n\nexport enum PurchaseActions {\n ViewDeal = 'view_deal',\n ViewSupplierOrganization = 'view_supplier_organization',\n ViewContact = 'view_contact',\n ViewLegalAddress = 'view_legal_address',\n ViewPickupAddress = 'view_pickup_address',\n ViewEstimatedCosts = 'view_estimated_costs',\n ViewFinanceDocuments = 'view_finance_documents',\n}\n\nexport type VehicleShareEmailRequest = {\n country: string; // Lowercase ISO 3166-1 alpha-2 code, e.g. 'be'\n to: EmailDestination[];\n message: string;\n subject: string;\n pictures: AttachmentValue[];\n attachments?: AttachmentValue[];\n};\n\nexport type InsightsOptions = {\n months?: number;\n};\n\nexport type InsightsOnlineTrends = {\n count: number;\n avgDays: number | null;\n avgPrice: number | null;\n};\n\nexport type Percentiles = {\n [key: string]: number | null;\n};\n\nexport type InsightsPriceHistogram = {\n from: number | undefined;\n to: number | undefined;\n count: number;\n}[];\n\nexport type Insights = {\n trends: InsightsOnlineTrends[];\n online: {\n count: number;\n histogramPrices: InsightsPriceHistogram;\n avgPrice: number | null;\n percentilesDays: Percentiles;\n avgDays: number | null;\n percentilesPrices: Percentiles;\n minPrices: number;\n };\n sold: {\n count: number;\n avgPrice: number | null;\n percentilesPrices: Percentiles;\n histogramVehicles: { soldAt: string; avgPrice: number | null; count: number }[];\n percentilesDays: Percentiles;\n avgDays: number | null;\n histogramPrices: InsightsPriceHistogram;\n };\n};\n"]}
1
+ {"version":3,"file":"vehicles.js","sourceRoot":"/","sources":["types/vehicles.ts"],"names":[],"mappings":";;;AA2JA,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,4CAAuB,CAAA;IACvB,0CAAqB,CAAA;IACrB,0CAAqB,CAAA;AACvB,CAAC,EAJW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAI5B;AA6RD,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,mDAA0B,CAAA;IAC1B,wEAA+C,CAAA;IAC/C,sEAA6C,CAAA;IAC7C,6CAAoB,CAAA;AACtB,CAAC,EALW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAKhC;AAED,IAAY,yBAOX;AAPD,WAAY,yBAAyB;IACnC,uEAA0C,CAAA;IAC1C,+DAAkC,CAAA;IAClC,0EAA6C,CAAA;IAC7C,oEAAuC,CAAA;IACvC,wEAA2C,CAAA;IAC3C,kEAAqC,CAAA;AACvC,CAAC,EAPW,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAOpC;AAED,IAAY,0BAGX;AAHD,WAAY,0BAA0B;IACpC,oDAAsB,CAAA;IACtB,qDAAuB,CAAA;AACzB,CAAC,EAHW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAGrC;AAED,IAAY,8BAIX;AAJD,WAAY,8BAA8B;IACxC,wDAAsB,CAAA;IACtB,qDAAmB,CAAA;IACnB,0DAAwB,CAAA;AAC1B,CAAC,EAJW,8BAA8B,GAA9B,sCAA8B,KAA9B,sCAA8B,QAIzC;AAED,IAAY,2BAGX;AAHD,WAAY,2BAA2B;IACrC,iDAAkB,CAAA;IAClB,mDAAoB,CAAA;AACtB,CAAC,EAHW,2BAA2B,GAA3B,mCAA2B,KAA3B,mCAA2B,QAGtC;AA6GD,IAAY,cAcX;AAdD,WAAY,cAAc;IACxB,mDAAiC,CAAA;IACjC,+DAA6C,CAAA;IAC7C,kDAAgC,CAAA;IAChC,0CAAwB,CAAA;IACxB,gDAA8B,CAAA;IAC9B,4CAA0B,CAAA;IAC1B,yDAAuC,CAAA;IACvC,mEAAiD,CAAA;IACjD,0CAAwB,CAAA;IACxB,4CAA0B,CAAA;IAC1B,0CAAwB,CAAA;IACxB,2DAAyC,CAAA;IACzC,gDAA8B,CAAA;AAChC,CAAC,EAdW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAczB;AAED,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,yCAAsB,CAAA;IACtB,0EAAuD,CAAA;IACvD,+CAA4B,CAAA;IAC5B,0DAAuC,CAAA;IACvC,4DAAyC,CAAA;IACzC,8DAA2C,CAAA;IAC3C,kEAA+C,CAAA;AACjD,CAAC,EARW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAQ1B","sourcesContent":["import { EmailDestination } from '@bisondesk/commons-sdk/messages';\nimport {\n AttachmentValue,\n Document,\n LocationValue,\n MultiLangValue,\n SearchPermissions,\n} from '@bisondesk/commons-sdk/types';\n\ntype BaseVehicleEvent = {\n id: string;\n actionAt: string;\n userId: string;\n tenantId: string;\n};\n\ntype VehicleSuperstructure = {\n carCapacity?: number;\n compartmentCount?: number;\n counter?: boolean;\n crane?: {\n make?: string;\n model?: string;\n position?: 'Behind the cabin' | 'Rear';\n present?: boolean;\n year?: number;\n };\n dimensions?: {\n height?: number;\n length?: number;\n width?: number;\n extended?: string; // L1, L2, ...\n heightened?: string; // H1, H2, ...\n };\n baseVehicle?: SuperstructureBaseVehicle;\n extendable?: boolean;\n highPressurePump?: boolean;\n loadingPlatformHeight?: number;\n pump?: boolean;\n slidingRoof?: boolean;\n tailgate?: {\n capacity?: number;\n make?: string;\n model?: string;\n present?: boolean;\n type?: 'slider_lift' | 'cantilever' | 'column_lift';\n };\n tank?: {\n capacity: number;\n };\n temperatureControl?: {\n engineType?: 'diesel' | 'electric' | 'diesel+electric' | 'engine';\n make?: string;\n runningHours?: {\n diesel?: number;\n electric?: number;\n };\n };\n tipper?: {\n tipsBack?: boolean;\n tipsLeft?: boolean;\n tipsRight?: boolean;\n };\n};\nexport type NewVehicleRequest = {\n branch: string;\n count: number;\n specs: VehicleExternalInfo;\n description: {\n remarks?: string;\n technicalRemarks?: string;\n };\n logistics: {\n vehicleRole: VehicleInternalInfo['role'];\n parking: string;\n deliveryType: VehiclePurchaseDeliveryType;\n availableDate: string;\n pickupAddress?: LocationValue;\n };\n prices: {\n minimum?: string;\n premium?: string;\n internet?: string;\n };\n media: {\n internalPictures: AttachmentValue[];\n pictures: AttachmentValue[];\n videos: AttachmentValue[];\n docs: Document[];\n engineeringDocs: Document[];\n };\n vinList?: string;\n deal: {\n stockNumber?: string;\n contactId: string;\n orgId: string;\n purchasedBy: string;\n dealStatus:\n | VehiclePurchaseDealStatus.PurchaseEvaluation\n | VehiclePurchaseDealStatus.PurchaseAgreed;\n costs: {\n purchase: string;\n purchaseVatPercentage: string;\n commission?: string;\n externalTransport?: string;\n internalTransport?: string;\n externalGarage?: string;\n internalGarage?: string;\n other?: string;\n };\n };\n};\n\nexport type VehicleCreateEvent = BaseVehicleEvent & {\n action: 'create';\n vehicle: Vehicle;\n previousVehicle?: undefined;\n};\n\nexport type VehicleUpdateEvent = BaseVehicleEvent & {\n action: 'update';\n vehicle: Vehicle;\n previousVehicle: Vehicle;\n};\n\nexport type VehicleDeleteEvent = BaseVehicleEvent & {\n action: 'delete';\n vehicle?: undefined;\n previousVehicle: Vehicle;\n};\n\nexport type VehicleEvent = VehicleCreateEvent | VehicleUpdateEvent | VehicleDeleteEvent;\n\nexport type VehicleMarketingEvent = {\n actionAt: string;\n data: VehicleMarketing;\n tenantId: string;\n userId: string;\n vehicleId: string;\n};\n\nexport type UpdateVehiclesPricesEvent = {\n id: string;\n actionAt: string;\n userId: string;\n tenantId: string;\n priceList: AttachmentValue;\n};\n\nexport type PublicVehicle = Pick<Vehicle, 'external' | 'id'>;\n\nexport type PublicSearchVehicle = {\n vehicle: PublicVehicle;\n};\n\nexport enum CustomSearchState {\n Available = 'available',\n Expected = 'expected',\n Reserved = 'reserved',\n}\n\nexport type SearchVehicle = {\n custom: {\n features: string[];\n state: CustomSearchState[];\n };\n purchase?: {\n supplierStockNumber?: string;\n };\n vehicle: Vehicle;\n};\n\nexport type InputSearchVehicle = SearchVehicle & {\n permissions: SearchPermissions;\n};\n\nexport type VehicleInternalInfo = {\n createdAt: string;\n description: {\n title: string;\n remarks?: string;\n technicalRemarks?: string;\n };\n parkingName?: string;\n identification: {\n administrativeNumber?: string;\n stockNumber: string;\n branch: string;\n\n /**\n * This ID is used to link different vehicle objects that represent the same real world asset.\n * Ideally the chassis number could be used, but in some cases it is not available yet.\n */\n metaId: string;\n };\n documents: Document[];\n pictures: AttachmentValue[];\n engineeringDocs: Document[];\n pricing: {\n premium?: string;\n minimum?: string;\n currency?: string;\n };\n role: 'SALE' | 'OWN_USE' | 'RENTAL' | 'BUILD' | 'UNKNOWN';\n status: VehicleStatus;\n updatedAt: string;\n /* use this property to store additional terms that you want the vehicle to be found with when doing a full text search */\n keywords?: string[];\n};\n\nexport type VehicleOriginalInfo = {\n tenantId: string;\n identification: {\n id: string;\n stockNumber: string;\n hyperdmsTenantId?: string;\n metaId?: string;\n };\n salesConditions: {\n leasing?: boolean;\n expected?: boolean;\n reserved?: boolean;\n price?: string;\n currency?: string;\n };\n};\n\nexport type VehicleAxlesInfo = {\n details: VehicleAxle[];\n configuration?: string;\n count?: number;\n poweredAxlesCount?: number;\n wheelbase?: number;\n suspension?: 'Air' | 'Air/Steel' | 'Steel';\n};\n\nexport type SuperstructureBaseVehicle = {\n category: string;\n make: string;\n model?: string;\n type?: string;\n axlesConfiguration?: string;\n emissionsClass?: string;\n transmissionType?: 'Automatic' | 'Manual' | 'Semi-Automatic';\n vin?: string;\n currentRegistration?: {\n country?: string;\n };\n suspension?: 'Air' | 'Air/Steel' | 'Steel';\n constructionYear?: number;\n firstRegistration?: string;\n odometerKm?: number;\n powerHp?: number;\n bodystyle?: string;\n accessories: VehicleExternalInfo['accessories'];\n superstructure?: Pick<VehicleSuperstructure, 'crane' | 'tailgate'>;\n};\n\n// mostly inspired by the Hexon data model\nexport type VehicleExternalInfo = {\n body?: {\n cabin?: {\n type: 'Day' | 'Sleep / Small' | 'Sleep / Medium' | 'Sleep / Large';\n model?: string;\n };\n colour?: string;\n dimensions?: {\n height?: number;\n length?: number;\n width?: number;\n };\n doorCount?: number;\n interior?: {\n bedCount?: number;\n seatCount?: number;\n };\n };\n mainPicture?: AttachmentValue;\n pictures?: AttachmentValue[];\n videos?: AttachmentValue[];\n condition?: {\n damaged?: boolean;\n odometer?: {\n km?: number;\n };\n used?: boolean;\n };\n general: {\n bodystyle?: string;\n category: string;\n make?: string;\n model?: string;\n modelName?: string;\n type?: string;\n typeName?: string;\n };\n history?: {\n advertisingYear?: number;\n constructionYear?: number;\n currentRegistration?: {\n country?: string;\n technicalInspectionEndDate?: string;\n };\n firstRegistration?: string;\n cocPvg?: string;\n };\n identification: {\n licensePlate?: string;\n stockNumber?: string;\n vin?: string;\n buildStockNumber?: string;\n };\n powertrain?: {\n axles?: VehicleAxlesInfo;\n emissions?: {\n class?: string;\n };\n engine?: {\n cylinderCount?: number;\n energy?: string;\n power?: {\n hp?: number;\n };\n displacement?: number;\n };\n transmission?: {\n gearCount?: number;\n make?: string;\n model?: string;\n type?: 'Automatic' | 'Manual' | 'Semi-Automatic';\n };\n };\n salesConditions: {\n leasing?: boolean;\n expected?: boolean;\n reserved?: boolean;\n price?: string | undefined;\n currency?: string | undefined;\n };\n superstructure?: VehicleSuperstructure;\n weights?: {\n gvw?: number;\n massEmpty?: number;\n };\n accessories: {\n abs?: boolean;\n adr?: boolean;\n airco?: boolean;\n alloyWheels?: boolean;\n aluminiumFuelTank?: boolean;\n cdPlayer?: boolean;\n centralLocking?: boolean;\n centralLubrication?: boolean;\n cruiseControl?: boolean;\n electricDoorMirrors?: boolean;\n electricWindows?: boolean;\n engineBrake?: boolean;\n forklift?: boolean;\n navigationSystem?: boolean;\n hydraulicTipperKit?: boolean;\n lowDeck?: boolean;\n lowNoise?: boolean;\n parkingHeater?: boolean;\n particleFilter?: boolean;\n powerTakeOff?: boolean;\n refrigerator?: boolean;\n retarderIntarder?: boolean;\n reversingCamera?: boolean;\n roofSpoiler?: boolean;\n sideSkirts?: boolean;\n spareKey?: boolean;\n spareWheel?: boolean;\n speedLimiter?: boolean;\n spoilers?: boolean;\n spotlights?: boolean;\n stabilityControl?: boolean;\n standardAirco?: boolean;\n television?: boolean;\n toolbox?: boolean;\n trailerCoupling?: boolean;\n twinFuelTank?: boolean;\n visor?: boolean;\n xenonLights?: boolean;\n };\n};\n\ntype BaseVehicle<I = VehicleInternalInfo, E = VehicleExternalInfo> = {\n internal: I;\n external: E;\n original?: VehicleOriginalInfo;\n};\n\nexport type NewVehicle<I = VehicleInternalInfo, E = VehicleExternalInfo> = BaseVehicle<I, E> & {\n id?: undefined;\n};\n\nexport type Vehicle<I = VehicleInternalInfo, E = VehicleExternalInfo> = BaseVehicle<I, E> & {\n id: string;\n};\n\nexport type VehiclesByChassisNumberRequest = {\n tenantIds: string[];\n chassisNumber: string;\n};\n\nexport type VehiclesByMetaIdRequest = {\n tenantIds: string[];\n metaId: string;\n};\n\nexport type VehicleAxle = {\n make?: string;\n alloyWheels?: boolean;\n brakes?: 'Disc' | 'Drum';\n differentialLock?: boolean;\n liftAxle?: boolean;\n maxLoad?: number;\n nr: number;\n position?: string;\n powered?: boolean;\n reduction?: string;\n steering?: boolean;\n suspension?: 'Steel' | 'Air' | 'Hydraulic';\n twinWheels?: boolean;\n tyreConditionPercLeftInside?: number;\n tyreConditionPercLeftOutside?: number;\n tyreConditionPercRightInside?: number;\n tyreConditionPercRightOutside?: number;\n tyreSize?: string;\n};\n\nexport type VehicleMarketing = {\n titles: MultiLangValue;\n remarks?: MultiLangValue;\n marketingPlatforms: string[];\n videos: AttachmentValue[];\n overrides?: {\n marketingPlatforms?: boolean;\n remarks?: boolean;\n titles?: boolean;\n videos?: boolean;\n };\n};\n\nexport enum VehicleSaleDealStatus {\n SaleAgreed = 'SALE_AGREED',\n FirstPaymentReceived = 'FIRST_PAYMENT_RECEIVED',\n FullPaymentReceived = 'FULL_PAYMENT_RECEIVED',\n NotSold = 'NOT_SOLD',\n}\n\nexport enum VehiclePurchaseDealStatus {\n PurchaseEvaluation = 'PURCHASE_EVALUATION', // used for vehicle consignation\n PurchaseAgreed = 'PURCHASE_AGREED',\n FirstPaymentAllowed = 'FIRST_PAYMENT_ALLOWED',\n FirstPaymentSent = 'FIRST_PAYMENT_SENT',\n FullPaymentAllowed = 'FULL_PAYMENT_ALLOWED',\n FullPaymentSent = 'FULL_PAYMENT_SENT',\n}\n\nexport enum VehicleSaleLogisticsStatus {\n AtOrigin = 'AT_ORIGIN',\n Delivered = 'DELIVERED',\n}\n\nexport enum VehiclePurchaseLogisticsStatus {\n AtOrigin = 'AT_ORIGIN',\n Arrived = 'ARRIVED',\n CheckedIn = 'CHECKED_IN',\n}\n\nexport enum VehiclePurchaseDeliveryType {\n PickUp = 'PICK_UP',\n DropOff = 'DROP_OFF',\n}\n\nexport type VehicleStatus = {\n deleted?: boolean;\n option?: {\n id: string;\n expirationDate: number;\n };\n sale: {\n id?: string;\n dealStatus: VehicleSaleDealStatus;\n logisticsStatus?: VehicleSaleLogisticsStatus;\n };\n purchase: {\n purchasedBy?: string;\n dealStatus: VehiclePurchaseDealStatus;\n logisticsStatus: VehiclePurchaseLogisticsStatus;\n };\n};\n\nexport type VehiclePriceList = {\n uploadedAt: string;\n uploadedBy: string;\n priceList: AttachmentValue;\n id: string;\n};\n\nexport type UpdateVehiclesPricesRequest = {\n priceList: AttachmentValue;\n};\n\nexport type VehiclePriceListLine = {\n reference: string;\n internet?: string;\n premium?: string;\n minimum?: string;\n};\n\nexport type VehiclePriceUpdateError = {\n data: VehiclePriceListLine;\n line: number;\n error: {\n fieldId: keyof VehiclePriceListLine;\n msg: string;\n };\n};\n\nexport type VehiclePriceUpdateResponse =\n | {\n success: true;\n }\n | {\n success: false;\n errors: VehiclePriceUpdateError[];\n };\n\nexport type VehiclePurchase = {\n organizationId: string;\n contactId: string;\n supplierStockNumber?: string;\n purchasedBy: string;\n\n log: {\n evaluationStartedAt?: string;\n evaluationStartedBy?: string;\n\n purchaseAgreedAt?: string;\n purchaseAgreedBy?: string;\n\n firstPaymentAllowedAt?: string;\n firstPaymentAllowedBy?: string;\n firstPaymentSentAt?: string;\n firstPaymentSentBy?: string;\n\n fullPaymentAllowedAt?: string;\n fullPaymentAllowedBy?: string;\n fullPaymentSentAt?: string;\n fullPaymentSentBy?: string;\n\n arrivedAt?: string;\n arrivedBy?: string;\n checkedInAt?: string;\n checkedInBy?: string;\n };\n\n deal: {\n status: VehiclePurchaseDealStatus;\n\n askingPrice?: string;\n purchaseVatRate?: string;\n purchase?: string; // exclusive VAT\n\n commission?: string;\n externalTransport?: string;\n internalTransport?: string;\n externalGarage?: string;\n internalGarage?: string;\n other?: string;\n };\n\n logistics: {\n parkingName?: string;\n status: VehiclePurchaseLogisticsStatus;\n deliveryType?: VehiclePurchaseDeliveryType;\n pickupAddress?: LocationValue;\n availableWeek?: string; // ISOWEEK, e.g. 2016-W02\n };\n};\n\nexport enum VehicleActions {\n EditAdminDocs = 'edit_admin_docs',\n EditEngineeringDocs = 'edit_engineering_docs',\n EditMarketing = 'edit_marketing',\n EditMedia = 'edit_media',\n EditPictures = 'edit_pictures',\n EditPrices = 'edit_prices',\n EditPurchaseDeal = 'edit_purchase_deal',\n EditPurchaseLogistics = 'edit_purchase_logistics',\n EditSpecs = 'edit_specs',\n EditVideos = 'edit_videos',\n ViewLeads = 'view_leads',\n ViewSimilarOnline = 'view_similar_online',\n ViewPurchase = 'view_purchase',\n}\n\nexport enum PurchaseActions {\n ViewDeal = 'view_deal',\n ViewSupplierOrganization = 'view_supplier_organization',\n ViewContact = 'view_contact',\n ViewLegalAddress = 'view_legal_address',\n ViewPickupAddress = 'view_pickup_address',\n ViewEstimatedCosts = 'view_estimated_costs',\n ViewFinanceDocuments = 'view_finance_documents',\n}\n\nexport type VehicleShareEmailRequest = {\n country: string; // Lowercase ISO 3166-1 alpha-2 code, e.g. 'be'\n to: EmailDestination[];\n message: string;\n subject: string;\n pictures: AttachmentValue[];\n attachments?: AttachmentValue[];\n};\n"]}
@@ -1,7 +1,7 @@
1
1
  import { SERVICE_ID_ADMIN_HEADER, TENANT_ID_ADMIN_HEADER } from '@bisondesk/commons-sdk/constants';
2
2
  import { XError } from '@bisondesk/commons-sdk/errors';
3
+ import { cleanHeaders, getAdminAuth } from '@bisondesk/commons-sdk/fetch';
3
4
  import fetch from 'node-fetch';
4
- import { cleanHeaders, getAdminAuth } from './utils';
5
5
  export const getCrmOrganization = async (tenantId, organizationId, opts) => {
6
6
  const auth = await getAdminAuth();
7
7
  const response = await fetch(`${process.env.CORE_API_ORIGIN}/api/crm/organizations/${organizationId}`, {
@@ -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 { 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';\nimport { cleanHeaders, getAdminAuth } from './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":"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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,7 +1,7 @@
1
1
  import { TENANT_ID_ADMIN_HEADER } from '@bisondesk/commons-sdk/constants';
2
2
  import { XError } from '@bisondesk/commons-sdk/errors';
3
+ import { getAdminAuth } from '@bisondesk/commons-sdk/fetch';
3
4
  import fetch from 'node-fetch';
4
- import { getAdminAuth } from './utils';
5
5
  export const upsertFinanceDoc = async (tenantId, doc) => {
6
6
  const auth = await getAdminAuth();
7
7
  const response = await fetch(`${process.env.CORE_API_ORIGIN}/api/documents/finance`, {
@@ -1 +1 @@
1
- {"version":3,"file":"documents.js","sourceRoot":"/","sources":["apis/documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,KAAmB,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,QAAgB,EAChB,GAAoB,EACM,EAAE;IAC5B,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,KAAK,CAAC,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,sBAAsB,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,MAAM,CAAC,4CAA4C,EAAE;QAC7D,QAAQ;QACR,GAAG;QACH,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,QAAgB,EAChB,OAAuB,EACE,EAAE;IAC3B,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,KAAK,CACpC,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,sBAAsB,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,MAAM,CAAC,gDAAgD,EAAE;QACjE,QAAQ;QACR,OAAO;QACP,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["import { TENANT_ID_ADMIN_HEADER } from '@bisondesk/commons-sdk/constants';\nimport { XError } from '@bisondesk/commons-sdk/errors';\nimport fetch, { Response } from 'node-fetch';\nimport { FinanceBooking, FinanceDocument } from '../types/documents';\nimport { getAdminAuth } from './utils';\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,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,KAAmB,MAAM,YAAY,CAAC;AAG7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,QAAgB,EAChB,GAAoB,EACM,EAAE;IAC5B,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,KAAK,CAAC,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,sBAAsB,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,MAAM,CAAC,4CAA4C,EAAE;QAC7D,QAAQ;QACR,GAAG;QACH,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,QAAgB,EAChB,OAAuB,EACE,EAAE;IAC3B,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAa,MAAM,KAAK,CACpC,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,sBAAsB,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,MAAM,CAAC,gDAAgD,EAAE;QACjE,QAAQ;QACR,OAAO;QACP,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAC;AACL,CAAC,CAAC","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,6 +1,6 @@
1
1
  import { XError } from '@bisondesk/commons-sdk/errors';
2
+ import { getAdminAuth } from '@bisondesk/commons-sdk/fetch';
2
3
  import fetch from 'node-fetch';
3
- import { getAdminAuth } from './utils';
4
4
  export const upsertInternetVehicles = async (vehicles) => {
5
5
  const auth = await getAdminAuth();
6
6
  const response = await fetch(`${process.env.CORE_API_ORIGIN}/api/internet-vehicles`, {