@bisondesk/core-sdk 1.0.122 → 1.0.123

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 (45) hide show
  1. package/lib/apis/crm.d.ts +25 -5
  2. package/lib/apis/crm.d.ts.map +1 -1
  3. package/lib/apis/crm.js +87 -13
  4. package/lib/apis/crm.js.map +1 -1
  5. package/lib/apis/picklists.d.ts +3 -0
  6. package/lib/apis/picklists.d.ts.map +1 -0
  7. package/lib/apis/picklists.js +27 -0
  8. package/lib/apis/picklists.js.map +1 -0
  9. package/lib/apis/tenants.d.ts +3 -1
  10. package/lib/apis/tenants.d.ts.map +1 -1
  11. package/lib/apis/tenants.js +29 -1
  12. package/lib/apis/tenants.js.map +1 -1
  13. package/lib/apis/utils.d.ts +4 -0
  14. package/lib/apis/utils.d.ts.map +1 -1
  15. package/lib/apis/utils.js +3 -1
  16. package/lib/apis/utils.js.map +1 -1
  17. package/lib/constants.d.ts +1 -0
  18. package/lib/constants.d.ts.map +1 -1
  19. package/lib/constants.js +2 -1
  20. package/lib/constants.js.map +1 -1
  21. package/lib/types/crm.d.ts +24 -9
  22. package/lib/types/crm.d.ts.map +1 -1
  23. package/lib/types/internet-vehicles.d.ts +13 -1
  24. package/lib/types/internet-vehicles.d.ts.map +1 -1
  25. package/lib/types/leads.d.ts +5 -0
  26. package/lib/types/leads.d.ts.map +1 -1
  27. package/lib/types/picklists.d.ts +8 -0
  28. package/lib/types/picklists.d.ts.map +1 -1
  29. package/lib/types/tenants.d.ts +1 -0
  30. package/lib/types/tenants.d.ts.map +1 -1
  31. package/lib/types/vehicles.d.ts +5 -5
  32. package/lib/types/vehicles.d.ts.map +1 -1
  33. package/package.json +2 -2
  34. package/src/apis/crm.ts +129 -19
  35. package/src/apis/picklists.ts +25 -0
  36. package/src/apis/tenants.ts +39 -1
  37. package/src/apis/utils.ts +4 -0
  38. package/src/constants.ts +1 -0
  39. package/src/types/crm.ts +29 -8
  40. package/src/types/internet-vehicles.ts +15 -1
  41. package/src/types/leads.ts +6 -0
  42. package/src/types/picklists.ts +7 -0
  43. package/src/types/tenants.ts +1 -0
  44. package/src/types/vehicles.ts +5 -5
  45. package/tsconfig.tsbuildinfo +1 -1
@@ -9,6 +9,7 @@ export declare type PublicTenant = {
9
9
  subdomain: string;
10
10
  };
11
11
  export declare type Tenant = PublicTenant & {
12
+ conglomerate?: string;
12
13
  emailDomain: string;
13
14
  hyperdmsIds?: string[];
14
15
  hyperportalId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"tenants.d.ts","sourceRoot":"","sources":["../../src/types/tenants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE1D,oBAAY,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CAInB,CAAC;AAEF,oBAAY,MAAM,GAAG,YAAY,GAAG;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,oBAAY,WAAW,GAAG;IACxB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,oBAAY,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC3C,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC;CAClC,CAAC"}
1
+ {"version":3,"file":"tenants.d.ts","sourceRoot":"","sources":["../../src/types/tenants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE1D,oBAAY,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CAInB,CAAC;AAEF,oBAAY,MAAM,GAAG,YAAY,GAAG;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,oBAAY,WAAW,GAAG;IACxB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,oBAAY,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC3C,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC;CAClC,CAAC"}
@@ -59,7 +59,7 @@ export declare type VehicleAxlesInfo = {
59
59
  wheelbase?: number;
60
60
  suspension?: 'Air' | 'Air/Steel' | 'Steel';
61
61
  };
62
- export declare type VehicleExtarnalInfo = {
62
+ export declare type VehicleExternalInfo = {
63
63
  body?: {
64
64
  cabin?: {
65
65
  type: 'Day' | 'Sleep / Small' | 'Sleep / Medium' | 'Sleep / Large';
@@ -109,7 +109,7 @@ export declare type VehicleExtarnalInfo = {
109
109
  };
110
110
  identification: {
111
111
  licensePlate?: string;
112
- stockNumber: string;
112
+ stockNumber?: string;
113
113
  vin?: string;
114
114
  slug: string;
115
115
  };
@@ -234,10 +234,10 @@ export declare type VehicleExtarnalInfo = {
234
234
  };
235
235
  };
236
236
  export declare type VehicleStatus = HdmsVehicleStatus;
237
- export declare type Vehicle = {
237
+ export declare type Vehicle<I = VehicleInternalInfo, E = VehicleExternalInfo> = {
238
238
  id: string;
239
- internal: VehicleInternalInfo;
240
- external: VehicleExtarnalInfo;
239
+ internal: I;
240
+ external: E;
241
241
  original?: VehicleOriginalInfo;
242
242
  };
243
243
  export declare type VehicleAxle = {
@@ -1 +1 @@
1
- {"version":3,"file":"vehicles.d.ts","sourceRoot":"","sources":["../../src/types/vehicles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,oBAAY,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,oBAAY,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC,CAAC;AAE7D,oBAAY,mBAAmB,GAAG;IAChC,OAAO,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,oBAAY,aAAa,GAAG;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,oBAAY,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,EAAE;QACd,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,OAAO,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,oBAAY,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE;QACd,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,eAAe,EAAE;QACf,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,GAAG,WAAW,GAAG,OAAO,CAAC;CAC5C,CAAC;AAGF,oBAAY,mBAAmB,GAAG;IAChC,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE;YACN,IAAI,EAAE,KAAK,GAAG,eAAe,GAAG,gBAAgB,GAAG,eAAe,CAAC;YACnE,KAAK,CAAC,EAAE,MAAM,CAAC;SAChB,CAAC;QACF,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE;YACX,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,KAAK,CAAC,EAAE,MAAM,CAAC;SAChB,CAAC;QACF,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE;YACT,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;IACF,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE;QACV,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE;YACT,EAAE,CAAC,EAAE,MAAM,CAAC;SACb,CAAC;QACF,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,WAAW,EAAE;QACX,OAAO,CAAC,EAAE,cAAc,CAAC;QACzB,MAAM,EAAE,cAAc,CAAC;KACxB,CAAC;IACF,OAAO,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,mBAAmB,CAAC,EAAE;YACpB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,0BAA0B,CAAC,EAAE,MAAM,CAAC;SACrC,CAAC;QACF,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,cAAc,EAAE;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,UAAU,CAAC,EAAE;QACX,KAAK,CAAC,EAAE,gBAAgB,CAAC;QACzB,SAAS,CAAC,EAAE;YACV,KAAK,CAAC,EAAE,MAAM,CAAC;SAChB,CAAC;QACF,MAAM,CAAC,EAAE;YACP,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,KAAK,CAAC,EAAE;gBACN,EAAE,CAAC,EAAE,MAAM,CAAC;aACb,CAAC;YACF,YAAY,CAAC,EAAE,MAAM,CAAC;SACvB,CAAC;QACF,YAAY,CAAC,EAAE;YACb,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,IAAI,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,gBAAgB,CAAC;SAClD,CAAC;KACH,CAAC;IACF,eAAe,EAAE;QACf,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,cAAc,CAAC,EAAE;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE;YACN,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,QAAQ,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC;YACvC,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC;QACF,UAAU,CAAC,EAAE;YACX,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,QAAQ,CAAC,EAAE;YACT,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,GAAG,aAAa,CAAC;SACrD,CAAC;QACF,IAAI,CAAC,EAAE;YACL,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,kBAAkB,CAAC,EAAE;YACnB,UAAU,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,iBAAiB,GAAG,QAAQ,CAAC;YAClE,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,YAAY,CAAC,EAAE;gBACb,MAAM,CAAC,EAAE,MAAM,CAAC;gBAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;aACnB,CAAC;SACH,CAAC;QACF,MAAM,CAAC,EAAE;YACP,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,SAAS,CAAC,EAAE,OAAO,CAAC;SACrB,CAAC;KACH,CAAC;IACF,OAAO,CAAC,EAAE;QACR,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,WAAW,EAAE;QACX,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;CACH,CAAC;AAEF,oBAAY,aAAa,GAAG,iBAAiB,CAAC;AAE9C,oBAAY,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CAChC,CAAC;AAEF,oBAAY,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,WAAW,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B,CAAC"}
1
+ {"version":3,"file":"vehicles.d.ts","sourceRoot":"","sources":["../../src/types/vehicles.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bisondesk/core-sdk",
3
- "version": "1.0.122",
3
+ "version": "1.0.123",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "clean": "rm -rf build dist lib *.tsbuildinfo",
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "author": "Ivo Anastácio",
13
13
  "dependencies": {
14
- "@bisondesk/commons-sdk": "1.0.122",
14
+ "@bisondesk/commons-sdk": "1.0.123",
15
15
  "joi": "17.4.0",
16
16
  "lru-cache": "6.0.0"
17
17
  },
package/src/apis/crm.ts CHANGED
@@ -1,26 +1,31 @@
1
- import { TENANT_ID_ADMIN_HEADER } from '@bisondesk/commons-sdk/lib/constants';
1
+ import {
2
+ SERVICE_ID_ADMIN_HEADER,
3
+ TENANT_ID_ADMIN_HEADER,
4
+ } from '@bisondesk/commons-sdk/lib/constants';
2
5
  import { XError } from '@bisondesk/commons/lib/errors';
3
6
  import fetch, { Response } from 'node-fetch';
4
- import { Contact, Organization } from '../types/crm';
5
- import { getAdminAuth } from './utils';
7
+ import { Contact, NewContact, NewOrganization, Organization } from '../types/crm';
8
+ import { cleanHeaders, getAdminAuth } from './utils';
6
9
 
7
10
  export const getCrmOrganization = async (
8
11
  tenantId: string,
9
- organizationId: string
12
+ organizationId: string,
13
+ opts?: { serviceId: string }
10
14
  ): Promise<Organization | undefined> => {
11
15
  const auth = await getAdminAuth();
12
16
  const response: Response = await fetch(
13
17
  `${process.env.CORE_API_ORIGIN}/api/crm/organizations/${organizationId}`,
14
18
  {
15
- headers: {
19
+ headers: cleanHeaders({
16
20
  Authorization: auth,
17
21
  [TENANT_ID_ADMIN_HEADER]: tenantId,
18
- },
22
+ [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,
23
+ }),
19
24
  }
20
25
  );
21
26
 
22
27
  if (response.ok) {
23
- return response.status === 200 ? (response.json() as any) : undefined;
28
+ return response.status === 200 ? response.json() : undefined;
24
29
  }
25
30
 
26
31
  const body = await response.text();
@@ -29,44 +34,97 @@ export const getCrmOrganization = async (
29
34
 
30
35
  export const getCrmOrganizationByExternalId = async (
31
36
  tenantId: string,
32
- externalId: string
37
+ externalId: string,
38
+ opts?: { serviceId: string }
33
39
  ): Promise<Organization | undefined> => {
34
40
  const auth = await getAdminAuth();
35
41
  const response: Response = await fetch(
36
42
  `${process.env.CORE_API_ORIGIN}/api/crm/organizations/external-id/${externalId}`,
37
43
  {
38
- headers: {
44
+ headers: cleanHeaders({
39
45
  Authorization: auth,
40
46
  [TENANT_ID_ADMIN_HEADER]: tenantId,
41
- },
47
+ [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,
48
+ }),
42
49
  }
43
50
  );
44
51
 
45
52
  if (response.ok) {
46
- return response.status === 200 ? (response.json() as any) : undefined;
53
+ return response.status === 200 ? response.json() : undefined;
47
54
  }
48
55
 
49
56
  const body = await response.text();
50
57
  throw new XError(response.statusText, { body });
51
58
  };
52
59
 
60
+ export const saveCrmOrganization = async (
61
+ tenantId: string,
62
+ org: Organization | NewOrganization,
63
+ opts?: { serviceId: string }
64
+ ): Promise<Organization> => {
65
+ const auth = await getAdminAuth();
66
+ const response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/api/crm/organizations`, {
67
+ method: 'POST',
68
+ headers: cleanHeaders({
69
+ Authorization: auth,
70
+ 'Content-Type': 'application/json',
71
+ [TENANT_ID_ADMIN_HEADER]: tenantId,
72
+ [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,
73
+ }),
74
+ body: JSON.stringify(org),
75
+ });
76
+
77
+ if (response.ok) {
78
+ return response.json();
79
+ }
80
+
81
+ const body = await response.text();
82
+ throw new XError(response.statusText, { body });
83
+ };
84
+
85
+ export const deleteCrmOrganization = async (
86
+ tenantId: string,
87
+ orgId: string,
88
+ opts?: { serviceId: string }
89
+ ): Promise<void> => {
90
+ const auth = await getAdminAuth();
91
+ const response: Response = await fetch(
92
+ `${process.env.CORE_API_ORIGIN}/api/crm/organizations/${orgId}`,
93
+ {
94
+ method: 'DELETE',
95
+ headers: cleanHeaders({
96
+ Authorization: auth,
97
+ [TENANT_ID_ADMIN_HEADER]: tenantId,
98
+ [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,
99
+ }),
100
+ }
101
+ );
102
+
103
+ if (!response.ok) {
104
+ const body = await response.text();
105
+ throw new XError(response.statusText, { body });
106
+ }
107
+ };
108
+
53
109
  export const listCrmContacts = async (
54
110
  tenantId: string,
55
- organizationId: string
111
+ organizationId: string,
112
+ opts?: { serviceId: string }
56
113
  ): Promise<Contact[]> => {
57
114
  const auth = await getAdminAuth();
58
115
  const response: Response = await fetch(
59
116
  `${process.env.CORE_API_ORIGIN}/admin/crm/organizations/${organizationId}/contacts`,
60
117
  {
61
- headers: {
118
+ headers: cleanHeaders({
62
119
  Authorization: auth,
63
120
  [TENANT_ID_ADMIN_HEADER]: tenantId,
64
- },
121
+ [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,
122
+ }),
65
123
  }
66
124
  );
67
125
 
68
126
  if (response.ok) {
69
- return response.status === 200 ? (response.json() as any) : undefined;
127
+ return response.status === 200 ? response.json() : undefined;
70
128
  }
71
129
 
72
130
  const body = await response.text();
@@ -75,23 +133,75 @@ export const listCrmContacts = async (
75
133
 
76
134
  export const getCrmContact = async (
77
135
  tenantId: string,
78
- contactId: string
136
+ contactId: string,
137
+ opts?: { serviceId: string }
79
138
  ): Promise<Contact | undefined> => {
80
139
  const auth = await getAdminAuth();
81
140
  const response: Response = await fetch(
82
141
  `${process.env.CORE_API_ORIGIN}/api/crm/contacts/${contactId}`,
83
142
  {
84
- headers: {
143
+ headers: cleanHeaders({
85
144
  Authorization: auth,
86
145
  [TENANT_ID_ADMIN_HEADER]: tenantId,
87
- },
146
+ [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,
147
+ }),
88
148
  }
89
149
  );
90
150
 
91
151
  if (response.ok) {
92
- return response.status === 200 ? (response.json() as any) : undefined;
152
+ return response.status === 200 ? response.json() : undefined;
93
153
  }
94
154
 
95
155
  const body = await response.text();
96
156
  throw new XError(response.statusText, { body });
97
157
  };
158
+
159
+ export const saveCrmContact = async (
160
+ tenantId: string,
161
+ contact: Contact | NewContact,
162
+ opts?: { serviceId: string }
163
+ ): Promise<Contact> => {
164
+ const auth = await getAdminAuth();
165
+ const response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/api/crm/contacts`, {
166
+ method: 'POST',
167
+ headers: cleanHeaders({
168
+ Authorization: auth,
169
+ 'Content-Type': 'application/json',
170
+ [TENANT_ID_ADMIN_HEADER]: tenantId,
171
+ [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,
172
+ }),
173
+ body: JSON.stringify(contact),
174
+ });
175
+
176
+ if (response.ok) {
177
+ return response.json();
178
+ }
179
+
180
+ const body = await response.text();
181
+ throw new XError(response.statusText, { body, contact, tenantId, opts });
182
+ };
183
+
184
+ export const deleteCrmContact = async (
185
+ tenantId: string,
186
+ contactId: string,
187
+ orgId: string = '',
188
+ opts?: { serviceId: string }
189
+ ): Promise<void> => {
190
+ const auth = await getAdminAuth();
191
+ const response: Response = await fetch(
192
+ `${process.env.CORE_API_ORIGIN}/api/crm/contacts/${contactId}?orgId=${orgId}`,
193
+ {
194
+ method: 'DELETE',
195
+ headers: cleanHeaders({
196
+ Authorization: auth,
197
+ [TENANT_ID_ADMIN_HEADER]: tenantId,
198
+ [SERVICE_ID_ADMIN_HEADER]: opts?.serviceId,
199
+ }),
200
+ }
201
+ );
202
+
203
+ if (!response.ok) {
204
+ const body = await response.text();
205
+ throw new XError(response.statusText, { body });
206
+ }
207
+ };
@@ -0,0 +1,25 @@
1
+ import { XError } from '@bisondesk/commons/lib/errors';
2
+ import fetch, { Response } from 'node-fetch';
3
+ import { AdHocPicklistRequest, AdHocPicklistValueDisplay } from '../types/picklists';
4
+ import { getAdminAuth } from './utils';
5
+
6
+ export const getMultiplePicklistValues = async (
7
+ request: AdHocPicklistRequest
8
+ ): Promise<AdHocPicklistValueDisplay> => {
9
+ const auth = await getAdminAuth();
10
+ const response: Response = await fetch(`${process.env.CORE_API_ORIGIN}/api/picklists/bulk/read`, {
11
+ method: 'POST',
12
+ headers: {
13
+ Authorization: auth,
14
+ 'Content-Type': 'application/json',
15
+ },
16
+ body: JSON.stringify(request),
17
+ });
18
+
19
+ if (response.ok) {
20
+ return response.json();
21
+ }
22
+
23
+ const body = await response.text();
24
+ throw new XError(response.statusText, { body });
25
+ };
@@ -1,8 +1,46 @@
1
1
  import { XError } from '@bisondesk/commons/lib/errors';
2
2
  import fetch, { Response } from 'node-fetch';
3
- import { Tenant } from '../types/tenants';
3
+ import { Tenant, TenantSyncSettings } from '../types/tenants';
4
4
  import { getAdminAuth } from './utils';
5
5
 
6
+ export const listTenants = async (): Promise<Tenant[]> => {
7
+ const auth = await getAdminAuth();
8
+ const response: Response = await fetch(
9
+ `${process.env.CORE_API_ORIGIN}/admin/tenants`,
10
+ {
11
+ headers: {
12
+ Authorization: auth,
13
+ },
14
+ }
15
+ );
16
+
17
+ if (response.ok) {
18
+ return response.json();
19
+ }
20
+
21
+ const body = await response.text();
22
+ throw new XError(response.statusText, { body });
23
+ };
24
+
25
+ export const listTenantsSyncSettings = async (): Promise<TenantSyncSettings[]> => {
26
+ const auth = await getAdminAuth();
27
+ const response: Response = await fetch(
28
+ `${process.env.CORE_API_ORIGIN}/admin/tenants/settings/sync`,
29
+ {
30
+ headers: {
31
+ Authorization: auth,
32
+ },
33
+ }
34
+ );
35
+
36
+ if (response.ok) {
37
+ return response.json();
38
+ }
39
+
40
+ const body = await response.text();
41
+ throw new XError(response.statusText, { body });
42
+ };
43
+
6
44
  export const getTenant = async (tenantId: string): Promise<Tenant | undefined> => {
7
45
  const auth = await getAdminAuth();
8
46
  const response: Response = await fetch(
package/src/apis/utils.ts CHANGED
@@ -2,6 +2,7 @@ import { TENANT_ID_ADMIN_HEADER } from '@bisondesk/commons-sdk/lib/constants';
2
2
  import { InvalidArgumentsError } from '@bisondesk/commons/lib/errors';
3
3
  import { getStringSecret } from '@bisondesk/commons/lib/secrets';
4
4
  import LRU from 'lru-cache';
5
+ import type { HeadersInit } from 'node-fetch';
5
6
 
6
7
  const authCache = new LRU<string, string>({
7
8
  maxAge: 1000 * 60 * 5,
@@ -29,3 +30,6 @@ export const getTenantIdHeader = (headers: { [name: string]: unknown }): string
29
30
 
30
31
  return tenantId;
31
32
  };
33
+
34
+ export const cleanHeaders = (headers: { [key: string]: string | undefined }): HeadersInit =>
35
+ Object.entries(headers).filter((h): h is [string, string] => h[1] != null);
package/src/constants.ts CHANGED
@@ -5,6 +5,7 @@ export const APP_LANGUAGES_PICKLIST_ID = 'appLanguages';
5
5
  export const CLIENT_LANGUAGES_PICKLIST_ID = 'clientLanguages';
6
6
  export const TIMEZONES_PICKLIST_ID = 'timezones';
7
7
  export const COUNTRIES_PICKLIST_ID = 'countries';
8
+ export const VEHICLE_MAIN_FEATURES_PICKLIST_ID = 'vehicleMainFeatures';
8
9
 
9
10
  //
10
11
  // STATIC PICKLIST IDS FROM HyperDMS
package/src/types/crm.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import {
2
2
  LocationValue,
3
+ PhoneNumberRawValue,
3
4
  PhoneNumberValue,
4
5
  SearchPermissions,
5
6
  } from '@bisondesk/commons-sdk/lib/types';
@@ -9,8 +10,8 @@ import { LeasingContract } from './leasing';
9
10
  export type CrmEvent = CrmOrganizationEvent | CrmContactEvent;
10
11
 
11
12
  export type CrmContactEvent = {
12
- id: string;
13
- organizationId: string;
13
+ contactId: string;
14
+ organizationId?: string;
14
15
  action: 'upsert' | 'delete';
15
16
  actionAt: string;
16
17
  userId: string;
@@ -18,20 +19,29 @@ export type CrmContactEvent = {
18
19
  };
19
20
 
20
21
  export type CrmOrganizationEvent = {
21
- id: string;
22
+ organizationId: string;
22
23
  action: 'upsert' | 'delete';
23
24
  actionAt: string;
24
25
  userId: string;
25
26
  tenantId: string;
26
27
  };
27
28
 
29
+ export type NewOrganization = Omit<
30
+ Organization,
31
+ 'id' | 'createdAt' | 'createdBy' | 'debt' | 'externalId'
32
+ > & {
33
+ id?: undefined;
34
+ createdAt?: undefined;
35
+ createdBy?: undefined;
36
+ };
37
+
28
38
  export type Organization = {
29
39
  inUse: boolean;
30
40
  countryCode: string;
31
41
  createdAt: string;
32
42
  createdBy: string;
33
43
  syncedAt: string;
34
- externalId: number;
44
+ externalId?: number;
35
45
  id: string;
36
46
  name: string;
37
47
  segment?: string;
@@ -65,7 +75,7 @@ export type InputSearchOrganization = SearchOrganization & {
65
75
 
66
76
  export type SearchContact = {
67
77
  contact: Contact;
68
- org: Organization;
78
+ org?: Organization;
69
79
  };
70
80
 
71
81
  export type InputSearchContact = SearchContact & {
@@ -77,16 +87,27 @@ export type CrmPublicSearchDefinitions = {
77
87
  searchContact: PublicSearchDefinition;
78
88
  };
79
89
 
90
+ export type NewContact = Omit<Contact, 'id' | 'phones' | 'createdAt' | 'createdBy'> & {
91
+ id: undefined;
92
+ createdAt: undefined;
93
+ createdBy: undefined;
94
+ phones: Array<PhoneNumberValue | PhoneNumberRawValue>;
95
+ };
96
+
80
97
  export type Contact = {
81
98
  id: string;
82
- organizationId: string;
83
99
  accountManager?: string;
100
+ countryCode: string;
84
101
  language?: string;
85
- firstName?: string;
86
- lastName: string;
87
102
  createdAt: string;
88
103
  createdBy: string;
89
104
  phones: PhoneNumberValue[];
90
105
  emails: string[];
91
106
  job?: string;
107
+ /** either firstName or lastName should be filled in */
108
+ firstName?: string;
109
+ lastName?: string;
110
+ organizationId?: string;
111
+ /** will not be filled if organizationId is present */
112
+ orgName?: string;
92
113
  };
@@ -2,6 +2,15 @@ import { LocationValue, PhoneNumberValue } from '@bisondesk/commons-sdk/lib/type
2
2
  import { PublicSearchDefinition } from './definitions';
3
3
  import { Vehicle } from './vehicles';
4
4
 
5
+ export type InternetVehicleInternalInfo = {
6
+ createdAt: string;
7
+ updatedAt: string;
8
+ description: {
9
+ title: string;
10
+ remarks?: string;
11
+ };
12
+ };
13
+
5
14
  export type InternetVehiclePublicSearchDefinitions = {
6
15
  searchInternetVehicle: PublicSearchDefinition;
7
16
  };
@@ -32,10 +41,15 @@ export type InternetVehicleSeller = {
32
41
  phones: PhoneNumberValue[];
33
42
  };
34
43
 
44
+ export type InternetVehicle = Vehicle<InternetVehicleInternalInfo>;
45
+
35
46
  export type SearchInternetVehicle = {
36
- vehicle: Vehicle;
47
+ vehicle: InternetVehicle;
37
48
  seller: InternetVehicleSeller;
38
49
  alternativeIds: string[];
39
50
  priceEvolution: PriceChange[];
40
51
  portal: InternetVehiclePortal;
52
+ custom: {
53
+ features: string[];
54
+ };
41
55
  };
@@ -4,6 +4,7 @@ import {
4
4
  SearchPermissions,
5
5
  } from '@bisondesk/commons-sdk/lib/types';
6
6
  import { PublicSearchDefinition } from './definitions';
7
+ import { ReferenceData } from './utils';
7
8
  import { SearchVehicle } from './vehicles';
8
9
 
9
10
  export type SearchLead = Lead;
@@ -123,6 +124,11 @@ export type Interest = {
123
124
  remarks?: string;
124
125
  };
125
126
 
127
+ export type InterestResponse = {
128
+ interest: Interest;
129
+ meta: ReferenceData;
130
+ };
131
+
126
132
  export type InterestSearchRequest = { interest: Interest; offset: number; limit: number };
127
133
 
128
134
  export type VehicleLeadsSearchRequest = { vehicleId: string };
@@ -31,6 +31,11 @@ export type AdHocPicklistValues = {
31
31
  [valueId: string]: PicklistValue;
32
32
  };
33
33
  };
34
+ export type AdHocPicklistRequest = {
35
+ requests: PicklistValueRequest[];
36
+ preferredLang: string;
37
+ tenantLang: string;
38
+ };
34
39
  export type AdHocPicklistValueDisplay = {
35
40
  [picklistId: string]: {
36
41
  [valueId: string]: {
@@ -67,3 +72,5 @@ export type PicklistValueDependency = {
67
72
  picklistId: string;
68
73
  values: string[];
69
74
  };
75
+
76
+ export type PicklistCollection = (BasePicklist & { data: PicklistValue[] })[];
@@ -14,6 +14,7 @@ export type PublicTenant = {
14
14
  };
15
15
 
16
16
  export type Tenant = PublicTenant & {
17
+ conglomerate?: string;
17
18
  emailDomain: string;
18
19
  hyperdmsIds?: string[];
19
20
  hyperportalId?: string;
@@ -68,7 +68,7 @@ export type VehicleAxlesInfo = {
68
68
  };
69
69
 
70
70
  // mostly inspired by the Hexon data model
71
- export type VehicleExtarnalInfo = {
71
+ export type VehicleExternalInfo = {
72
72
  body?: {
73
73
  cabin?: {
74
74
  type: 'Day' | 'Sleep / Small' | 'Sleep / Medium' | 'Sleep / Large';
@@ -118,7 +118,7 @@ export type VehicleExtarnalInfo = {
118
118
  };
119
119
  identification: {
120
120
  licensePlate?: string;
121
- stockNumber: string;
121
+ stockNumber?: string;
122
122
  vin?: string;
123
123
  slug: string;
124
124
  };
@@ -245,10 +245,10 @@ export type VehicleExtarnalInfo = {
245
245
 
246
246
  export type VehicleStatus = HdmsVehicleStatus;
247
247
 
248
- export type Vehicle = {
248
+ export type Vehicle<I = VehicleInternalInfo, E = VehicleExternalInfo> = {
249
249
  id: string;
250
- internal: VehicleInternalInfo;
251
- external: VehicleExtarnalInfo;
250
+ internal: I;
251
+ external: E;
252
252
  original?: VehicleOriginalInfo;
253
253
  };
254
254