@bisondesk/website-commons-sdk 1.0.1
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/constants.d.ts +3 -0
- package/lib/constants.d.ts.map +1 -0
- package/lib/constants.js +3 -0
- package/lib/constants.js.map +1 -0
- package/lib/definitions.d.ts +2 -0
- package/lib/definitions.d.ts.map +1 -0
- package/lib/definitions.js +2 -0
- package/lib/definitions.js.map +1 -0
- package/lib/types/definitions.d.ts +39 -0
- package/lib/types/definitions.d.ts.map +1 -0
- package/lib/types/definitions.js +2 -0
- package/lib/types/definitions.js.map +1 -0
- package/lib/types/fields.d.ts +22 -0
- package/lib/types/fields.d.ts.map +1 -0
- package/lib/types/fields.js +8 -0
- package/lib/types/fields.js.map +1 -0
- package/lib/types/messages.d.ts +39 -0
- package/lib/types/messages.d.ts.map +1 -0
- package/lib/types/messages.js +2 -0
- package/lib/types/messages.js.map +1 -0
- package/lib/types/search.d.ts +136 -0
- package/lib/types/search.d.ts.map +1 -0
- package/lib/types/search.js +32 -0
- package/lib/types/search.js.map +1 -0
- package/lib/types/vehicle.d.ts +288 -0
- package/lib/types/vehicle.d.ts.map +1 -0
- package/lib/types/vehicle.js +30 -0
- package/lib/types/vehicle.js.map +1 -0
- package/package.json +36 -0
- package/src/constants.ts +6 -0
- package/src/definitions.ts +0 -0
- package/src/types/definitions.ts +38 -0
- package/src/types/fields.ts +73 -0
- package/src/types/messages.ts +44 -0
- package/src/types/search.ts +182 -0
- package/src/types/vehicle.ts +289 -0
- package/tsconfig.json +15 -0
- package/tsconfig.tsbuildinfo +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vehicle.d.ts","sourceRoot":"/","sources":["types/vehicle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export var VehicleTachoTypes;
|
|
2
|
+
(function (VehicleTachoTypes) {
|
|
3
|
+
VehicleTachoTypes["Analog"] = "ANALOG";
|
|
4
|
+
VehicleTachoTypes["Digital"] = "DIGITAL";
|
|
5
|
+
VehicleTachoTypes["SmartTacho1"] = "SMART_TACHO_1";
|
|
6
|
+
VehicleTachoTypes["SmartTacho2"] = "SMART_TACHO_2";
|
|
7
|
+
})(VehicleTachoTypes || (VehicleTachoTypes = {}));
|
|
8
|
+
export var VehicleFuelType;
|
|
9
|
+
(function (VehicleFuelType) {
|
|
10
|
+
VehicleFuelType["Petrol"] = "PETROL";
|
|
11
|
+
VehicleFuelType["Diesel"] = "DIESEL";
|
|
12
|
+
VehicleFuelType["LPG"] = "LPG";
|
|
13
|
+
VehicleFuelType["LPG_G3"] = "LPG_G3";
|
|
14
|
+
VehicleFuelType["Electric"] = "ELECTRIC";
|
|
15
|
+
VehicleFuelType["CNG"] = "CNG";
|
|
16
|
+
VehicleFuelType["Hydrogen"] = "HYDROGEN";
|
|
17
|
+
VehicleFuelType["BioEthanol"] = "BIO_ETHANOL";
|
|
18
|
+
VehicleFuelType["BioDiesel"] = "BIO_DIESEL";
|
|
19
|
+
VehicleFuelType["E85"] = "E85";
|
|
20
|
+
VehicleFuelType["HCNG"] = "HCNG";
|
|
21
|
+
VehicleFuelType["LPG_Petrol"] = "LPG_PETROL";
|
|
22
|
+
VehicleFuelType["LPG_Diesel"] = "LPG_DIESEL";
|
|
23
|
+
VehicleFuelType["LPG_G3_Petrol"] = "LPG_G3_PETROL";
|
|
24
|
+
VehicleFuelType["LPG_G3_Diesel"] = "LPG_G3_DIESEL";
|
|
25
|
+
VehicleFuelType["Electric_Diesel"] = "ELECTRIC_DIESEL";
|
|
26
|
+
VehicleFuelType["Electric_Petrol"] = "ELECTRIC_PETROL";
|
|
27
|
+
VehicleFuelType["Hybrid"] = "HYBRID";
|
|
28
|
+
VehicleFuelType["Other"] = "OTHER";
|
|
29
|
+
})(VehicleFuelType || (VehicleFuelType = {}));
|
|
30
|
+
//# sourceMappingURL=vehicle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vehicle.js","sourceRoot":"/","sources":["types/vehicle.ts"],"names":[],"mappings":"AA+OA,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,sCAAiB,CAAA;IACjB,wCAAmB,CAAA;IACnB,kDAA6B,CAAA;IAC7B,kDAA6B,CAAA;AAC/B,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B;AAED,MAAM,CAAN,IAAY,eAoBX;AApBD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;IACjB,8BAAW,CAAA;IACX,oCAAiB,CAAA;IACjB,wCAAqB,CAAA;IACrB,8BAAW,CAAA;IACX,wCAAqB,CAAA;IACrB,6CAA0B,CAAA;IAC1B,2CAAwB,CAAA;IACxB,8BAAW,CAAA;IACX,gCAAa,CAAA;IACb,4CAAyB,CAAA;IACzB,4CAAyB,CAAA;IACzB,kDAA+B,CAAA;IAC/B,kDAA+B,CAAA;IAC/B,sDAAmC,CAAA;IACnC,sDAAmC,CAAA;IACnC,oCAAiB,CAAA;IACjB,kCAAe,CAAA;AACjB,CAAC,EApBW,eAAe,KAAf,eAAe,QAoB1B","sourcesContent":["export type WebsiteVehicle = {\n id: string;\n external: VehicleExternalInfo;\n};\n\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 tacho?: VehicleTachoTypes;\n };\n history?: {\n advertisingYear?: number;\n constructionYear?: number;\n currentRegistration?: {\n country?: string;\n technicalInspectionEndDate?: string;\n carpassUrl?: string;\n carpassAvailable?: boolean;\n };\n firstRegistration?: string;\n cocPvg?: string;\n };\n identification: {\n licensePlate?: string;\n stockNumber?: string;\n vin?: string;\n buildStockNumber?: string;\n engineNumber?: string;\n };\n powertrain?: {\n axles?: VehicleAxlesInfo;\n emissions?: {\n class?: string;\n };\n engine?: {\n cylinderCount?: number;\n energy?: { type?: VehicleFuelType };\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 price?: string | undefined;\n currency?: string | undefined;\n marginScheme?: boolean;\n manufacturerWarranty?: {\n remarks?: string;\n available?: boolean;\n };\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 publicLink?: string;\n};\n\nexport type AttachmentValue = {\n contentType: string;\n fileName: string;\n id: string;\n previewSrc?: string;\n size: number;\n uploadedAt: string;\n uploadedBy: string;\n url: string;\n descriptions?: string | MultiLangValue;\n};\n\nexport type MultiLangValue = { key?: string } & { [languageCode: string]: string };\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 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 tyreSize?: string;\n tyreConditionType?: 'mm' | '%';\n tyreConditionMmLeftInside?: number;\n tyreConditionMmLeftOutside?: number;\n tyreConditionMmRightInside?: number;\n tyreConditionMmRightOutside?: number;\n tyreConditionPercLeftInside?: number;\n tyreConditionPercLeftOutside?: number;\n tyreConditionPercRightInside?: number;\n tyreConditionPercRightOutside?: number;\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};\n\nexport enum VehicleTachoTypes {\n Analog = 'ANALOG',\n Digital = 'DIGITAL',\n SmartTacho1 = 'SMART_TACHO_1',\n SmartTacho2 = 'SMART_TACHO_2',\n}\n\nexport enum VehicleFuelType {\n Petrol = 'PETROL',\n Diesel = 'DIESEL',\n LPG = 'LPG',\n LPG_G3 = 'LPG_G3',\n Electric = 'ELECTRIC',\n CNG = 'CNG',\n Hydrogen = 'HYDROGEN',\n BioEthanol = 'BIO_ETHANOL',\n BioDiesel = 'BIO_DIESEL',\n E85 = 'E85',\n HCNG = 'HCNG',\n LPG_Petrol = 'LPG_PETROL',\n LPG_Diesel = 'LPG_DIESEL',\n LPG_G3_Petrol = 'LPG_G3_PETROL',\n LPG_G3_Diesel = 'LPG_G3_DIESEL',\n Electric_Diesel = 'ELECTRIC_DIESEL',\n Electric_Petrol = 'ELECTRIC_PETROL',\n Hybrid = 'HYBRID',\n Other = 'OTHER',\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"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@bisondesk/website-commons-sdk",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"build": "npx tsc --build",
|
|
7
|
+
"clean": "rm -rf node_modules lib *.tsbuildinfo",
|
|
8
|
+
"preinstall": "node -e 'if(!/yarn\\.js$/.test(process.env.npm_execpath))throw new Error(\"Use yarn\")'",
|
|
9
|
+
"test": "node --test src/**"
|
|
10
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"@aws-sdk/client-ses": "3.738.0",
|
|
13
|
+
"joi": "17.13.3",
|
|
14
|
+
"lodash-es": "4.17.21",
|
|
15
|
+
"node-fetch": "3.3.2",
|
|
16
|
+
"pino": "9.1.0",
|
|
17
|
+
"pino-pretty": "10.3.1",
|
|
18
|
+
"slugify": "1.6.6"
|
|
19
|
+
},
|
|
20
|
+
"devDependencies": {
|
|
21
|
+
"@types/lodash-es": "4.17.12",
|
|
22
|
+
"typescript": "5.7.3"
|
|
23
|
+
},
|
|
24
|
+
"typesVersions": {
|
|
25
|
+
"*": {
|
|
26
|
+
"*": [
|
|
27
|
+
"lib/*.d.ts"
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"exports": {
|
|
32
|
+
"./*": [
|
|
33
|
+
"./lib/*.js"
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
}
|
package/src/constants.ts
ADDED
|
File without changes
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { SUPPORTED_LANGUAGES } from '../constants.js';
|
|
2
|
+
import { FieldTypes } from './fields.js';
|
|
3
|
+
import { Aggregation } from './search.js';
|
|
4
|
+
|
|
5
|
+
export type EsDefinitionField = {
|
|
6
|
+
esMapping: unknown;
|
|
7
|
+
sortKey?: string;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export type EsDefinition = {
|
|
11
|
+
name: string;
|
|
12
|
+
nestedEsPaths: string[];
|
|
13
|
+
fields: {
|
|
14
|
+
[fieldId: string]: EsDefinitionField;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export type EsFullTextSearchDefinition = ((lang: string) => string)[];
|
|
19
|
+
|
|
20
|
+
export type EsAggregationsDefinition = Aggregation[];
|
|
21
|
+
|
|
22
|
+
export type PublicSearchDefinition = {
|
|
23
|
+
aggs: Aggregation[];
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export type SearchField = {
|
|
27
|
+
id: string;
|
|
28
|
+
titles: { [lang: string]: string } & (
|
|
29
|
+
| { [local in (typeof SUPPORTED_LANGUAGES)[number]]: string }
|
|
30
|
+
| { key: string }
|
|
31
|
+
);
|
|
32
|
+
} & FieldTypeInfo;
|
|
33
|
+
|
|
34
|
+
export type FieldTypeInfo =
|
|
35
|
+
| { type: FieldTypes.checkbox }
|
|
36
|
+
| { type: FieldTypes.boolean }
|
|
37
|
+
| { type: FieldTypes.chip }
|
|
38
|
+
| { type: FieldTypes.singleselect };
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export enum FieldTypes {
|
|
2
|
+
singleselect = 'singleselect',
|
|
3
|
+
checkbox = 'checkbox',
|
|
4
|
+
chip = 'chip',
|
|
5
|
+
boolean = 'boolean',
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
//
|
|
9
|
+
// Field metas
|
|
10
|
+
//
|
|
11
|
+
type BaseMeta = {};
|
|
12
|
+
|
|
13
|
+
type NumberUnit =
|
|
14
|
+
| 'acre'
|
|
15
|
+
| 'bit'
|
|
16
|
+
| 'byte'
|
|
17
|
+
| 'celsius'
|
|
18
|
+
| 'centimeter'
|
|
19
|
+
| 'day'
|
|
20
|
+
| 'degree'
|
|
21
|
+
| 'fahrenheit'
|
|
22
|
+
| 'fluid-ounce'
|
|
23
|
+
| 'foot'
|
|
24
|
+
| 'gallon'
|
|
25
|
+
| 'gigabit'
|
|
26
|
+
| 'gigabyte'
|
|
27
|
+
| 'gram'
|
|
28
|
+
| 'hectare'
|
|
29
|
+
| 'hour'
|
|
30
|
+
| 'inch'
|
|
31
|
+
| 'kilobit'
|
|
32
|
+
| 'kilobyte'
|
|
33
|
+
| 'kilogram'
|
|
34
|
+
| 'kilometer'
|
|
35
|
+
| 'liter'
|
|
36
|
+
| 'megabit'
|
|
37
|
+
| 'megabyte'
|
|
38
|
+
| 'meter'
|
|
39
|
+
| 'mile'
|
|
40
|
+
| 'mile-scandinavian'
|
|
41
|
+
| 'milliliter'
|
|
42
|
+
| 'millimeter'
|
|
43
|
+
| 'millisecond'
|
|
44
|
+
| 'minute'
|
|
45
|
+
| 'month'
|
|
46
|
+
| 'ounce'
|
|
47
|
+
| 'percent'
|
|
48
|
+
| 'petabyte'
|
|
49
|
+
| 'pound'
|
|
50
|
+
| 'second'
|
|
51
|
+
| 'stone'
|
|
52
|
+
| 'terabit'
|
|
53
|
+
| 'terabyte'
|
|
54
|
+
| 'week'
|
|
55
|
+
| 'yard'
|
|
56
|
+
| 'year';
|
|
57
|
+
|
|
58
|
+
type BaseNumberMeta = {
|
|
59
|
+
minimumFractionDigits?: number;
|
|
60
|
+
maximumFractionDigits?: number;
|
|
61
|
+
useGrouping?: boolean;
|
|
62
|
+
} & (
|
|
63
|
+
| {
|
|
64
|
+
style: 'unit';
|
|
65
|
+
unit: NumberUnit;
|
|
66
|
+
}
|
|
67
|
+
| {
|
|
68
|
+
style?: 'currency' | 'decimal' | 'percent';
|
|
69
|
+
unit?: NumberUnit;
|
|
70
|
+
}
|
|
71
|
+
);
|
|
72
|
+
|
|
73
|
+
export type NumberMeta = BaseMeta & BaseNumberMeta;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export type EmailRequest = {
|
|
2
|
+
subject: string;
|
|
3
|
+
references?: string[] | string;
|
|
4
|
+
destinations: EmailDestination[];
|
|
5
|
+
source: EmailAddress;
|
|
6
|
+
replyTo?: EmailAddress;
|
|
7
|
+
inReplyTo?: string;
|
|
8
|
+
body:
|
|
9
|
+
| {
|
|
10
|
+
text?: string;
|
|
11
|
+
html: string;
|
|
12
|
+
}
|
|
13
|
+
| {
|
|
14
|
+
html?: string;
|
|
15
|
+
text: string;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export type EmailDestination = EmailAddress & {
|
|
20
|
+
addressType: 'TO' | 'CC' | 'BCC';
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export type EmailAddress = {
|
|
24
|
+
name?: string;
|
|
25
|
+
email: string;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export type EmailMessage = {
|
|
29
|
+
id: string;
|
|
30
|
+
sentAt: string;
|
|
31
|
+
subject: string;
|
|
32
|
+
source: EmailAddress;
|
|
33
|
+
replyTo?: EmailAddress;
|
|
34
|
+
destinations: EmailDestination[];
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export type ContactForm = {
|
|
38
|
+
content: string;
|
|
39
|
+
email: string;
|
|
40
|
+
name?: string;
|
|
41
|
+
phone: string;
|
|
42
|
+
reference: string;
|
|
43
|
+
type: string;
|
|
44
|
+
};
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
///////////////////////////////////////////////////////
|
|
2
|
+
// Generic stuff
|
|
3
|
+
///////////////////////////////////////////////////////
|
|
4
|
+
|
|
5
|
+
import { FieldTypes, NumberMeta } from './fields.js';
|
|
6
|
+
|
|
7
|
+
export enum ConditionType {
|
|
8
|
+
and = 'AND',
|
|
9
|
+
or = 'OR',
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export enum ElasticsearchOperator {
|
|
13
|
+
// all properties
|
|
14
|
+
empty = 'EMPTY',
|
|
15
|
+
notEmpty = 'NOT_EMPTY',
|
|
16
|
+
is = 'IS',
|
|
17
|
+
isNot = 'IS_NOT',
|
|
18
|
+
// number, date properties
|
|
19
|
+
greaterThanOrEqual = 'GTE',
|
|
20
|
+
greaterThan = 'GT',
|
|
21
|
+
lessThanEqual = 'LTE',
|
|
22
|
+
lessThan = 'LT',
|
|
23
|
+
between = 'BETWEEN',
|
|
24
|
+
// string properties
|
|
25
|
+
contains = 'CONTAINS',
|
|
26
|
+
notContains = 'NOT_CONTAINS',
|
|
27
|
+
startsWith = 'STARTS_WITH',
|
|
28
|
+
endsWith = 'ENDS_WITH',
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export type Filter<OP = ElasticsearchOperator> = {
|
|
32
|
+
data: string;
|
|
33
|
+
fieldId: string;
|
|
34
|
+
operator: OP;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export type ComplexFilter<OP = ElasticsearchOperator> = {
|
|
38
|
+
condition: ConditionType;
|
|
39
|
+
filters: Array<Filter<OP> | ComplexFilter<OP>>;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export type SearchResponse<T = any> = {
|
|
43
|
+
took: number;
|
|
44
|
+
timed_out: boolean;
|
|
45
|
+
_scroll_id?: string;
|
|
46
|
+
_shards: unknown;
|
|
47
|
+
hits: {
|
|
48
|
+
total: {
|
|
49
|
+
value: number;
|
|
50
|
+
relation: 'eq' | 'gte';
|
|
51
|
+
};
|
|
52
|
+
max_score: number;
|
|
53
|
+
hits: Array<{
|
|
54
|
+
_index: string;
|
|
55
|
+
_type: string;
|
|
56
|
+
_id: string;
|
|
57
|
+
_score: number;
|
|
58
|
+
_source?: T;
|
|
59
|
+
_version?: number;
|
|
60
|
+
_explanation?: unknown;
|
|
61
|
+
fields?: any;
|
|
62
|
+
highlight?: any;
|
|
63
|
+
inner_hits?: any;
|
|
64
|
+
matched_queries?: string[];
|
|
65
|
+
sort?: Array<string | number>;
|
|
66
|
+
}>;
|
|
67
|
+
};
|
|
68
|
+
aggregations?: { [aggName: string]: object };
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
///////////////////////////////////////////////////////
|
|
72
|
+
// Search
|
|
73
|
+
///////////////////////////////////////////////////////
|
|
74
|
+
|
|
75
|
+
export type PaginatedList<T> = {
|
|
76
|
+
results: T[];
|
|
77
|
+
totalCount: number;
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
export enum SortOrder {
|
|
81
|
+
asc = 'asc',
|
|
82
|
+
desc = 'desc',
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export type SortFilter = {
|
|
86
|
+
fieldId: string;
|
|
87
|
+
order: SortOrder;
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
export type SearchRequest = {
|
|
91
|
+
fullText?: string;
|
|
92
|
+
limit: number;
|
|
93
|
+
offset?: number;
|
|
94
|
+
query?: ComplexFilter<ElasticsearchOperator>;
|
|
95
|
+
sortBy?: SortFilter[];
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
///////////////////////////////////////////////////////
|
|
99
|
+
// Simulations
|
|
100
|
+
///////////////////////////////////////////////////////
|
|
101
|
+
|
|
102
|
+
export type LeasingSimulationRequest = {
|
|
103
|
+
deposit: number;
|
|
104
|
+
residual: number;
|
|
105
|
+
durationInMonths: number;
|
|
106
|
+
vehicleId: string;
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
export type LeasingSimulationResponse = {
|
|
110
|
+
monthly: string;
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
///////////////////////////////////////////////////////
|
|
114
|
+
// Aggregations
|
|
115
|
+
///////////////////////////////////////////////////////
|
|
116
|
+
|
|
117
|
+
export type AggFilterOperator =
|
|
118
|
+
| ElasticsearchOperator.is
|
|
119
|
+
| ElasticsearchOperator.greaterThan
|
|
120
|
+
| ElasticsearchOperator.lessThan
|
|
121
|
+
| ElasticsearchOperator.greaterThanOrEqual
|
|
122
|
+
| ElasticsearchOperator.lessThanEqual;
|
|
123
|
+
|
|
124
|
+
export enum AggregationType {
|
|
125
|
+
term = 'TERM',
|
|
126
|
+
range = 'RANGE',
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export type TermAggregation = {
|
|
130
|
+
field: string;
|
|
131
|
+
type: AggregationType.term;
|
|
132
|
+
fieldType: FieldTypes;
|
|
133
|
+
orderBy?: 'count' | 'field';
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
export type Range =
|
|
137
|
+
| {
|
|
138
|
+
start: number;
|
|
139
|
+
end?: number;
|
|
140
|
+
}
|
|
141
|
+
| {
|
|
142
|
+
start?: number;
|
|
143
|
+
end: number;
|
|
144
|
+
}
|
|
145
|
+
| {
|
|
146
|
+
start: number;
|
|
147
|
+
end: number;
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
export type RangeAggregation = {
|
|
151
|
+
field: string;
|
|
152
|
+
type: AggregationType.range;
|
|
153
|
+
ranges: Range[];
|
|
154
|
+
format?: NumberMeta;
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
export type Aggregation = TermAggregation | RangeAggregation;
|
|
158
|
+
|
|
159
|
+
export type AggregationSpecs = {
|
|
160
|
+
aggregations: Aggregation[];
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
export type AggregationRequest = {
|
|
164
|
+
fullText?: string;
|
|
165
|
+
filters: Filter<AggFilterOperator>[];
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
export type AggregationResult = {
|
|
169
|
+
value: string;
|
|
170
|
+
count: number;
|
|
171
|
+
from?: number;
|
|
172
|
+
to?: number;
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
export type AggregationResultSet = {
|
|
176
|
+
[field: string]: AggregationResult[];
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
export type EsDefinitionField = {
|
|
180
|
+
esMapping: unknown;
|
|
181
|
+
sortKey?: string;
|
|
182
|
+
};
|