@bisondesk/core-sdk 1.0.21 → 1.0.23-B
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.
- package/lib/apis/crm.d.ts +39 -0
- package/lib/apis/crm.d.ts.map +1 -0
- package/lib/apis/crm.js +201 -0
- package/lib/apis/crm.js.map +1 -0
- package/lib/apis/documents.d.ts +4 -0
- package/lib/apis/documents.d.ts.map +1 -0
- package/lib/apis/documents.js +47 -0
- package/lib/apis/documents.js.map +1 -0
- package/lib/apis/internet-vehicles.d.ts +3 -0
- package/lib/apis/internet-vehicles.d.ts.map +1 -0
- package/lib/apis/internet-vehicles.js +27 -0
- package/lib/apis/internet-vehicles.js.map +1 -0
- package/lib/apis/leasing-administration.d.ts +8 -0
- package/lib/apis/leasing-administration.d.ts.map +1 -0
- package/lib/apis/leasing-administration.js +49 -0
- package/lib/apis/leasing-administration.js.map +1 -0
- package/lib/apis/leasing.d.ts +19 -0
- package/lib/apis/leasing.d.ts.map +1 -0
- package/lib/apis/leasing.js +168 -0
- package/lib/apis/leasing.js.map +1 -0
- package/lib/apis/opportunities.d.ts +9 -0
- package/lib/apis/opportunities.d.ts.map +1 -0
- package/lib/apis/opportunities.js +94 -0
- package/lib/apis/opportunities.js.map +1 -0
- package/lib/apis/picklists.d.ts +5 -0
- package/lib/apis/picklists.d.ts.map +1 -0
- package/lib/apis/picklists.js +44 -0
- package/lib/apis/picklists.js.map +1 -0
- package/lib/apis/tenants.d.ts +7 -0
- package/lib/apis/tenants.d.ts.map +1 -0
- package/lib/apis/tenants.js +80 -0
- package/lib/apis/tenants.js.map +1 -0
- package/lib/apis/users.d.ts +3 -0
- package/lib/apis/users.d.ts.map +1 -0
- package/lib/apis/users.js +26 -0
- package/lib/apis/users.js.map +1 -0
- package/lib/apis/utils.d.ts +9 -0
- package/lib/apis/utils.d.ts.map +1 -0
- package/lib/apis/utils.js +23 -0
- package/lib/apis/utils.js.map +1 -0
- package/lib/apis/vehicles.d.ts +18 -0
- package/lib/apis/vehicles.d.ts.map +1 -0
- package/lib/apis/vehicles.js +159 -0
- package/lib/apis/vehicles.js.map +1 -0
- package/lib/constants.d.ts +77 -0
- package/lib/constants.d.ts.map +1 -1
- package/lib/constants.js +924 -1
- package/lib/constants.js.map +1 -1
- package/lib/ddb-entities.d.ts +2 -0
- package/lib/ddb-entities.d.ts.map +1 -0
- package/lib/ddb-entities.js +5 -0
- package/lib/ddb-entities.js.map +1 -0
- package/lib/types/activities.d.ts +38 -0
- package/lib/types/activities.d.ts.map +1 -0
- package/lib/types/activities.js +16 -0
- package/lib/types/activities.js.map +1 -0
- package/lib/types/crm.d.ts +103 -30
- package/lib/types/crm.d.ts.map +1 -1
- package/lib/types/crm.js +16 -0
- package/lib/types/crm.js.map +1 -1
- package/lib/types/definitions.d.ts +15 -13
- package/lib/types/definitions.d.ts.map +1 -1
- package/lib/types/documents.d.ts +105 -0
- package/lib/types/documents.d.ts.map +1 -0
- package/lib/types/{interests.js → documents.js} +1 -1
- package/lib/types/documents.js.map +1 -0
- package/lib/types/fields.d.ts +26 -25
- package/lib/types/fields.d.ts.map +1 -1
- package/lib/types/fields.js +4 -0
- package/lib/types/fields.js.map +1 -1
- package/lib/types/internet-vehicles.d.ts +64 -0
- package/lib/types/internet-vehicles.d.ts.map +1 -0
- package/lib/types/internet-vehicles.js +3 -0
- package/lib/types/internet-vehicles.js.map +1 -0
- package/lib/types/leads.d.ts +134 -0
- package/lib/types/leads.d.ts.map +1 -0
- package/lib/types/leads.js +3 -0
- package/lib/types/leads.js.map +1 -0
- package/lib/types/leasing-administration.d.ts +107 -0
- package/lib/types/leasing-administration.d.ts.map +1 -0
- package/lib/types/leasing-administration.js +3 -0
- package/lib/types/leasing-administration.js.map +1 -0
- package/lib/types/leasing-search.d.ts +22 -0
- package/lib/types/leasing-search.d.ts.map +1 -0
- package/lib/types/leasing-search.js +3 -0
- package/lib/types/leasing-search.js.map +1 -0
- package/lib/types/leasing-settings.d.ts +113 -0
- package/lib/types/leasing-settings.d.ts.map +1 -0
- package/lib/types/leasing-settings.js +10 -0
- package/lib/types/leasing-settings.js.map +1 -0
- package/lib/types/leasing.d.ts +322 -0
- package/lib/types/leasing.d.ts.map +1 -0
- package/lib/types/leasing.js +24 -0
- package/lib/types/leasing.js.map +1 -0
- package/lib/types/machines.d.ts +38 -0
- package/lib/types/machines.d.ts.map +1 -0
- package/lib/types/machines.js +3 -0
- package/lib/types/machines.js.map +1 -0
- package/lib/types/opportunities.d.ts +448 -0
- package/lib/types/opportunities.d.ts.map +1 -0
- package/lib/types/opportunities.js +68 -0
- package/lib/types/opportunities.js.map +1 -0
- package/lib/types/payments.d.ts +38 -0
- package/lib/types/payments.d.ts.map +1 -0
- package/lib/types/payments.js +9 -0
- package/lib/types/payments.js.map +1 -0
- package/lib/types/picklists.d.ts +15 -4
- package/lib/types/picklists.d.ts.map +1 -1
- package/lib/types/quotes.d.ts +173 -0
- package/lib/types/quotes.d.ts.map +1 -0
- package/lib/types/quotes.js +26 -0
- package/lib/types/quotes.js.map +1 -0
- package/lib/types/recently-viewed.d.ts +33 -0
- package/lib/types/recently-viewed.d.ts.map +1 -0
- package/lib/types/recently-viewed.js +3 -0
- package/lib/types/recently-viewed.js.map +1 -0
- package/lib/types/saved-filters.d.ts +20 -0
- package/lib/types/saved-filters.d.ts.map +1 -0
- package/lib/types/saved-filters.js +3 -0
- package/lib/types/saved-filters.js.map +1 -0
- package/lib/types/search.d.ts +26 -4
- package/lib/types/search.d.ts.map +1 -1
- package/lib/types/search.js.map +1 -1
- package/lib/types/settings.d.ts +50 -0
- package/lib/types/settings.d.ts.map +1 -0
- package/lib/types/settings.js +3 -0
- package/lib/types/settings.js.map +1 -0
- package/lib/types/storage.d.ts +1 -11
- package/lib/types/storage.d.ts.map +1 -1
- package/lib/types/storage.js +15 -0
- package/lib/types/storage.js.map +1 -1
- package/lib/types/templates.d.ts +35 -0
- package/lib/types/templates.d.ts.map +1 -0
- package/lib/types/templates.js +9 -0
- package/lib/types/templates.js.map +1 -0
- package/lib/types/tenants.d.ts +32 -9
- package/lib/types/tenants.d.ts.map +1 -1
- package/lib/types/tenants.js +11 -0
- package/lib/types/tenants.js.map +1 -1
- package/lib/types/users.d.ts +11 -3
- package/lib/types/users.d.ts.map +1 -1
- package/lib/types/utils.d.ts +20 -0
- package/lib/types/utils.d.ts.map +1 -1
- package/lib/types/utils.js +6 -0
- package/lib/types/utils.js.map +1 -1
- package/lib/types/vehicles.d.ts +406 -92
- package/lib/types/vehicles.d.ts.map +1 -1
- package/lib/types/vehicles.js +54 -1
- package/lib/types/vehicles.js.map +1 -1
- package/lib/types/website.d.ts +24 -0
- package/lib/types/website.d.ts.map +1 -0
- package/lib/types/website.js +3 -0
- package/lib/types/website.js.map +1 -0
- package/lib/utils/forms.d.ts +6 -0
- package/lib/utils/forms.d.ts.map +1 -0
- package/lib/utils/forms.js +33 -0
- package/lib/utils/forms.js.map +1 -0
- package/lib/utils/leasing.d.ts +3 -0
- package/lib/utils/leasing.d.ts.map +1 -0
- package/lib/utils/leasing.js +10 -0
- package/lib/utils/leasing.js.map +1 -0
- package/lib/utils/slug.d.ts +3 -0
- package/lib/utils/slug.d.ts.map +1 -0
- package/lib/utils/slug.js +23 -0
- package/lib/utils/slug.js.map +1 -0
- package/lib/utils/tenants.d.ts +4 -0
- package/lib/utils/tenants.d.ts.map +1 -0
- package/lib/utils/tenants.js +16 -0
- package/lib/utils/tenants.js.map +1 -0
- package/lib/utils/vehicles.d.ts +12 -0
- package/lib/utils/vehicles.d.ts.map +1 -0
- package/lib/utils/vehicles.js +73 -0
- package/lib/utils/vehicles.js.map +1 -0
- package/package.json +8 -6
- package/src/apis/crm.ts +302 -0
- package/src/apis/documents.ts +54 -0
- package/src/apis/internet-vehicles.ts +23 -0
- package/src/apis/leasing-administration.ts +70 -0
- package/src/apis/leasing.ts +257 -0
- package/src/apis/opportunities.ts +133 -0
- package/src/apis/picklists.ts +50 -0
- package/src/apis/tenants.ts +100 -0
- package/src/apis/users.ts +22 -0
- package/src/apis/utils.ts +23 -0
- package/src/apis/vehicles.ts +229 -0
- package/src/constants.ts +930 -1
- package/src/ddb-entities.ts +1 -0
- package/src/environment.d.ts +6 -0
- package/src/types/activities.ts +41 -0
- package/src/types/crm.ts +118 -30
- package/src/types/definitions.ts +19 -12
- package/src/types/documents.ts +110 -0
- package/src/types/fields.ts +72 -31
- package/src/types/internet-vehicles.ts +67 -0
- package/src/types/leads.ts +144 -0
- package/src/types/leasing-administration.ts +131 -0
- package/src/types/leasing-search.ts +24 -0
- package/src/types/leasing-settings.ts +111 -0
- package/src/types/leasing.ts +360 -0
- package/src/types/machines.ts +40 -0
- package/src/types/opportunities.ts +496 -0
- package/src/types/payments.ts +40 -0
- package/src/types/picklists.ts +26 -7
- package/src/types/quotes.ts +186 -0
- package/src/types/recently-viewed.ts +45 -0
- package/src/types/saved-filters.ts +21 -0
- package/src/types/search.ts +34 -4
- package/src/types/settings.ts +51 -0
- package/src/types/storage.ts +1 -12
- package/src/types/templates.ts +40 -0
- package/src/types/tenants.ts +37 -11
- package/src/types/users.ts +17 -3
- package/src/types/utils.ts +25 -0
- package/src/types/vehicles.ts +461 -93
- package/src/types/website.ts +28 -0
- package/src/utils/forms.ts +32 -0
- package/src/utils/leasing.ts +14 -0
- package/src/utils/slug.ts +19 -0
- package/src/utils/tenants.ts +14 -0
- package/src/utils/vehicles.ts +92 -0
- package/tsconfig.tsbuildinfo +1 -2995
- package/lib/types/interests.d.ts +0 -23
- package/lib/types/interests.d.ts.map +0 -1
- package/lib/types/interests.js.map +0 -1
- package/src/types/interests.ts +0 -20
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import slugify from 'slugify';
|
|
2
|
+
import { Vehicle } from '../types/vehicles';
|
|
3
|
+
|
|
4
|
+
export const getVehicleSlug = (vehicle: Vehicle): string => {
|
|
5
|
+
return slugify(
|
|
6
|
+
[
|
|
7
|
+
vehicle.external.identification.stockNumber ?? vehicle.internal.identification.stockNumber,
|
|
8
|
+
vehicle.external.general.make,
|
|
9
|
+
vehicle.external.general.modelName,
|
|
10
|
+
vehicle.external.general.typeName,
|
|
11
|
+
`${vehicle.external.history?.advertisingYear}`,
|
|
12
|
+
vehicle.external.general.category,
|
|
13
|
+
vehicle.external.general.bodystyle,
|
|
14
|
+
vehicle.external.powertrain?.axles?.configuration,
|
|
15
|
+
]
|
|
16
|
+
.filter((f) => !!f)
|
|
17
|
+
.join(' ')
|
|
18
|
+
);
|
|
19
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { XError } from '@bisondesk/commons-sdk/lib/errors';
|
|
2
|
+
import { first } from 'lodash';
|
|
3
|
+
import { Branch, Tenant } from '../types/tenants';
|
|
4
|
+
|
|
5
|
+
export const getBranch = (tenant: Tenant, branchId: string): Branch => {
|
|
6
|
+
const branch = tenant.branches.find((branch: Branch) => branch.id === branchId);
|
|
7
|
+
if (branch == null) {
|
|
8
|
+
throw new XError('tenants.branch-not-found', { tenantId: tenant.id, branchId });
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
return branch;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export const getDefaultBranch = (tenant: Tenant): Branch => first(tenant.branches)!;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { Categories } from '../constants';
|
|
2
|
+
import { CustomSearchState, Vehicle, VehicleExternalInfo } from '../types/vehicles';
|
|
3
|
+
|
|
4
|
+
export const extractCustomState = (vehicle: Vehicle): CustomSearchState[] => {
|
|
5
|
+
const state: CustomSearchState[] = [];
|
|
6
|
+
|
|
7
|
+
if (vehicle.internal.status.option != null) {
|
|
8
|
+
state.push(CustomSearchState.Reserved);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
if (vehicle.internal.role === 'SALE' && vehicle.internal.status.sale.dealStatus === 'NOT_SOLD') {
|
|
12
|
+
state.push(CustomSearchState.Available);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
return state;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const extractCustomFeatures = (vehicle: VehicleExternalInfo): string[] => {
|
|
19
|
+
const features: {
|
|
20
|
+
getValue: (vehicle: VehicleExternalInfo) => any;
|
|
21
|
+
picklistValueId: string;
|
|
22
|
+
}[] = [
|
|
23
|
+
{
|
|
24
|
+
getValue: (vehicle) => vehicle.superstructure?.crane?.present,
|
|
25
|
+
picklistValueId: 'crane',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
getValue: (vehicle) => vehicle.superstructure?.tailgate?.present,
|
|
29
|
+
picklistValueId: 'tailgate',
|
|
30
|
+
},
|
|
31
|
+
{ getValue: (vehicle) => vehicle.accessories.adr, picklistValueId: 'adr' },
|
|
32
|
+
{
|
|
33
|
+
getValue: (vehicle) => vehicle.accessories.retarderIntarder,
|
|
34
|
+
picklistValueId: 'retarderIntarder',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
getValue: (vehicle) => vehicle.accessories.hydraulicTipperKit,
|
|
38
|
+
picklistValueId: 'hydraulicTipperKit',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
getValue: (vehicle) => vehicle.accessories.lowDeck,
|
|
42
|
+
picklistValueId: 'lowDeck',
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
return features
|
|
47
|
+
.filter((feature) => !!feature.getValue(vehicle))
|
|
48
|
+
.map((feature) => feature.picklistValueId);
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export const getInternalTitle = ({
|
|
52
|
+
make,
|
|
53
|
+
category,
|
|
54
|
+
modelName,
|
|
55
|
+
bodywork,
|
|
56
|
+
modelTypeName,
|
|
57
|
+
}: {
|
|
58
|
+
make: string;
|
|
59
|
+
category: string;
|
|
60
|
+
modelName?: string;
|
|
61
|
+
modelTypeName?: string;
|
|
62
|
+
bodywork?: string;
|
|
63
|
+
}): string => {
|
|
64
|
+
if (category === Categories.Trailer || category === Categories.SemiTrailer) {
|
|
65
|
+
return [make, modelName, bodywork]
|
|
66
|
+
.filter((v): v is string => !!v)
|
|
67
|
+
.map((v) => v.trim())
|
|
68
|
+
.join(' ')
|
|
69
|
+
.trim();
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return [make, modelName, modelTypeName]
|
|
73
|
+
.filter((v): v is string => !!v)
|
|
74
|
+
.map((v) => v.trim())
|
|
75
|
+
.join(' ')
|
|
76
|
+
.trim();
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
// example: 1 -> A, 2 -> B, 26 -> Z, 27 -> AA, 28 -> AB, 52 -> AZ, 53 -> BA, 54 -> BB, 702 -> ZZ, 703 -> AAA
|
|
80
|
+
export const convertNumberToLetters = (num: number): string => {
|
|
81
|
+
const letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
|
82
|
+
const lettersLength = letters.length;
|
|
83
|
+
|
|
84
|
+
if (num < 1) {
|
|
85
|
+
return '';
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const remainder = num % lettersLength;
|
|
89
|
+
const quotient = Math.floor(num / lettersLength);
|
|
90
|
+
|
|
91
|
+
return convertNumberToLetters(quotient) + letters.charAt(remainder - 1);
|
|
92
|
+
};
|