@@ -24,7 +24,7 @@ import { SavedObjectsClient } from 'kibana/public';
2424/**
2525 * Initialize saved object
2626 */
27- export function intializeSavedObject (
27+ export async function intializeSavedObject (
2828 savedObject : SavedObject ,
2929 savedObjectsClient : SavedObjectsClient ,
3030 config : SavedObjectConfig
@@ -35,33 +35,27 @@ export function intializeSavedObject(
3535 const customInit = config . init || _ . noop ;
3636 const afterESResp = config . afterESResp || _ . noop ;
3737
38- return Promise . resolve ( )
39- . then ( ( ) => {
40- // If there is not id, then there is no document to fetch from elasticsearch
41- if ( ! savedObject . id ) {
42- // just assign the defaults and be done
43- _ . assign ( savedObject , savedObject . defaults ) ;
44- return savedObject . hydrateIndexPattern ! ( ) . then ( ( ) => {
45- return afterESResp . call ( savedObject ) ;
46- } ) ;
47- }
38+ if ( ! savedObject . id ) {
39+ // just assign the defaults and be done
40+ _ . assign ( savedObject , savedObject . defaults ) ;
41+ await savedObject . hydrateIndexPattern ! ( ) ;
42+ afterESResp . call ( savedObject ) ;
43+ return savedObject ;
44+ }
4845
49- // fetch the object from ES
50- return savedObjectsClient
51- . get ( esType , savedObject . id )
52- . then ( resp => {
53- // temporary compatability for savedObjectsClient
54- return {
55- _id : resp . id ,
56- _type : resp . type ,
57- _source : _ . cloneDeep ( resp . attributes ) ,
58- references : resp . references ,
59- found : ! ! resp . _version ,
60- } ;
61- } )
62- . then ( savedObject . applyESResp )
63- . catch ( savedObject . applyEsResp ) ;
64- } )
65- . then ( ( ) => customInit . call ( savedObject ) )
66- . then ( ( ) => savedObject ) ;
46+ try {
47+ const resp = await savedObjectsClient . get ( esType , savedObject . id ) ;
48+ const respMapped = {
49+ _id : resp . id ,
50+ _type : resp . type ,
51+ _source : _ . cloneDeep ( resp . attributes ) ,
52+ references : resp . references ,
53+ found : ! ! resp . _version ,
54+ } ;
55+ await savedObject . applyESResp ( respMapped ) ;
56+ } catch ( e ) {
57+ await savedObject . applyEsResp ( ) ;
58+ }
59+ await customInit . call ( savedObject ) ;
60+ return savedObject ;
6761}
0 commit comments