@@ -45,7 +45,7 @@ const createTag = {
4545
4646const currentTimeImage = new Date ( ) . getTime ( ) ;
4747const createImage = {
48- wordpress_id : currentTimeImage ,
48+ wordpress_id : `wordpress-media-placeholder` ,
4949 date : new Date ( ) . toISOString ( ) ,
5050 guid :
5151 "https://wordpress.theasdfghjkl.com/wp-content/uploads/2020/05/wordpress-balsa.png" ,
@@ -113,19 +113,19 @@ const createImage = {
113113 replies : [
114114 {
115115 embeddable : true ,
116- href :
117- `https://wordpress.theasdfghjkl.com/wp-json/wp/v2/comments?post=${ currentTimeImage } ` ,
116+ href : `https://wordpress.theasdfghjkl.com/wp-json/wp/v2/comments?post=${ currentTimeImage } ` ,
118117 } ,
119118 ] ,
120119 } ,
121- id : currentTimeImage . toString ( ) ,
122- author___NODE : currentTimeImage . toString ( ) ,
120+ id : `wordpress-media-placeholder` ,
121+ author___NODE : `wordpress-media-placeholder` ,
123122 path : "/wordpress-balsa/" ,
124123} ;
125124
126125module . exports = async function sourceNodes ( {
127126 actions,
128127 getNodesByType,
128+ getNodes,
129129 store,
130130 cache,
131131 createNodeId,
@@ -135,9 +135,15 @@ module.exports = async function sourceNodes({
135135} ) {
136136 const { createNode } = actions ;
137137
138- const wordPressTagExists = getNodesByType ( "wordpress__TAG" ) ;
138+ const wordPressTag = getNodesByType ( "wordpress__TAG" ) ;
139+
140+ const wordPressTagExists =
141+ wordPressTag &&
142+ wordPressTag . length > 0 &&
143+ wordPressTag [ 0 ] . internal &&
144+ wordPressTag [ 0 ] . internal . owner === "gatsby-source-wordpress" ;
139145
140- if ( ! wordPressTagExists || wordPressTagExists . length === 0 ) {
146+ if ( ! wordPressTagExists ) {
141147 let node = {
142148 ...createTag ,
143149 children : [ ] ,
@@ -150,33 +156,43 @@ module.exports = async function sourceNodes({
150156 createNode ( node ) ;
151157 }
152158
153- const mediaExists = getNodesByType ( "wordpress__wp_media" ) ;
159+ const wordpressMedia = getNodesByType ( "wordpress__wp_media" ) ;
154160
155- if ( ! mediaExists || mediaExists . length === 0 ) {
156-
161+ const mediaExists =
162+ wordpressMedia &&
163+ wordpressMedia . length > 0 &&
164+ wordpressMedia [ 0 ] . internal &&
165+ wordpressMedia [ 0 ] . internal . owner === "gatsby-source-wordpress" ;
166+
167+ if ( ! mediaExists ) {
157168 const encodedSourceUrl = encodeURI ( createImage . source_url ) ;
158- const mediaDataCacheKey = `wordpress-media-${ createImage . wordpress_id } ` ;
169+ const mediaDataCacheKey = `wordpress-media-placeholder ` ;
159170
160171 try {
161- const fileNode = await createRemoteFileNode ( {
162- url : encodedSourceUrl ,
163- store,
164- cache,
165- createNode,
166- createNodeId,
167- getCache,
168- parentNodeId : createImage . id ,
169- reporter,
170- } ) ;
172+ const cachedFileNode = await cache . get ( mediaDataCacheKey ) ;
171173
172- if ( fileNode ) {
173- fileNodeID = fileNode . id ;
174- await cache . set ( mediaDataCacheKey , {
175- fileNodeID,
176- modified : createImage . modified ,
174+ if ( cachedFileNode ) {
175+ createImage . localFile___NODE = cachedFileNode . fileNodeID ;
176+ } else {
177+ const fileNode = await createRemoteFileNode ( {
178+ url : encodedSourceUrl ,
179+ store,
180+ cache,
181+ createNode,
182+ createNodeId,
183+ getCache,
184+ parentNodeId : createImage . id ,
185+ reporter,
177186 } ) ;
178187
179- createImage . localFile___NODE = fileNodeID ;
188+ if ( fileNode ) {
189+ fileNodeID = fileNode . id ;
190+ await cache . set ( mediaDataCacheKey , {
191+ fileNodeID,
192+ modified : createImage . modified ,
193+ } ) ;
194+ createImage . localFile___NODE = fileNodeID ;
195+ }
180196 }
181197
182198 let node = {
@@ -191,8 +207,8 @@ module.exports = async function sourceNodes({
191207
192208 createNode ( node ) ;
193209 } catch ( e ) {
194- console . log ( e , "error creating remote nodeF " ) ;
210+ console . log ( e , "error creating remote node " ) ;
195211 // Ignore
196212 }
197213 }
198- } ;
214+ } ;
0 commit comments