@@ -13,7 +13,7 @@ const Joi = require('@hapi/joi');
13
13
// * api.relativeScores (boolean)
14
14
// * api.localization (flipNumberAndStreetCountries is array of 3 character strings)
15
15
module . exports = Joi . object ( ) . keys ( {
16
- api : Joi . object ( ) . keys ( {
16
+ api : Joi . object ( ) . required ( ) . keys ( {
17
17
version : Joi . string ( ) ,
18
18
indexName : Joi . string ( ) ,
19
19
host : Joi . string ( ) ,
@@ -31,33 +31,33 @@ module.exports = Joi.object().keys({
31
31
placeholderService : Joi . any ( ) . forbidden ( ) , // got moved to services
32
32
services : Joi . object ( ) . keys ( {
33
33
pip : Joi . object ( ) . keys ( {
34
- url : Joi . string ( ) . uri ( { scheme : / h t t p s ? / } ) ,
34
+ url : Joi . string ( ) . uri ( { scheme : / h t t p s ? / } ) . required ( ) ,
35
35
timeout : Joi . number ( ) . integer ( ) . optional ( ) . default ( 250 ) . min ( 0 ) ,
36
36
retries : Joi . number ( ) . integer ( ) . optional ( ) . default ( 3 ) . min ( 0 ) ,
37
- } ) . unknown ( false ) . requiredKeys ( 'url' ) ,
37
+ } ) . unknown ( false ) ,
38
38
placeholder : Joi . object ( ) . keys ( {
39
- url : Joi . string ( ) . uri ( { scheme : / h t t p s ? / } ) ,
39
+ url : Joi . string ( ) . uri ( { scheme : / h t t p s ? / } ) . required ( ) ,
40
40
timeout : Joi . number ( ) . integer ( ) . optional ( ) . default ( 250 ) . min ( 0 ) ,
41
41
retries : Joi . number ( ) . integer ( ) . optional ( ) . default ( 3 ) . min ( 0 ) ,
42
- } ) . unknown ( false ) . requiredKeys ( 'url' ) ,
42
+ } ) . unknown ( false ) ,
43
43
interpolation : Joi . object ( ) . keys ( {
44
- url : Joi . string ( ) . uri ( { scheme : / h t t p s ? / } ) ,
44
+ url : Joi . string ( ) . uri ( { scheme : / h t t p s ? / } ) . required ( ) ,
45
45
timeout : Joi . number ( ) . integer ( ) . optional ( ) . default ( 250 ) . min ( 0 ) ,
46
46
retries : Joi . number ( ) . integer ( ) . optional ( ) . default ( 3 ) . min ( 0 ) ,
47
- } ) . unknown ( false ) . requiredKeys ( 'url' ) ,
47
+ } ) . unknown ( false ) ,
48
48
libpostal : Joi . object ( ) . keys ( {
49
- url : Joi . string ( ) . uri ( { scheme : / h t t p s ? / } ) ,
49
+ url : Joi . string ( ) . uri ( { scheme : / h t t p s ? / } ) . required ( ) ,
50
50
timeout : Joi . number ( ) . integer ( ) . optional ( ) . default ( 250 ) . min ( 0 ) ,
51
51
retries : Joi . number ( ) . integer ( ) . optional ( ) . default ( 3 ) . min ( 0 ) ,
52
- } ) . unknown ( false ) . requiredKeys ( 'url' )
52
+ } ) . unknown ( false )
53
53
} ) . unknown ( false ) . default ( { } ) , // default api.services to an empty object
54
54
defaultParameters : Joi . object ( ) . keys ( {
55
55
'focus.point.lat' : Joi . number ( ) ,
56
56
'focus.point.lon' : Joi . number ( ) ,
57
57
} ) . unknown ( true ) . default ( { } )
58
58
59
- } ) . requiredKeys ( 'version' , 'indexName' , 'host' ) . unknown ( true ) ,
60
- esclient : Joi . object ( ) . keys ( {
59
+ } ) . unknown ( true ) ,
60
+ esclient : Joi . object ( ) . required ( ) . keys ( {
61
61
requestTimeout : Joi . number ( ) . integer ( ) . min ( 0 )
62
62
} ) . unknown ( true )
63
- } ) . requiredKeys ( 'api' , 'esclient' ) . unknown ( true ) ;
63
+ } ) . unknown ( true ) ;
0 commit comments