@@ -32,49 +32,31 @@ function updateMetaField(uuid, namespace, value) {
3232 Operation : "PUT" ,
3333 } ;
3434
35- Curate . api . fetchCurate ( url , "PUT" , metadatas )
36- . then ( ( response ) => {
37- console . log ( `updateMetaField: Successfully updated metadata for UUID: ${ uuid } ` , response ) ;
38- } )
39- . catch ( ( error ) => {
40- console . error ( `updateMetaField: Failed to update metadata for UUID: ${ uuid } ` , error ) ;
41- } ) ;
35+ Curate . api . fetchCurate ( url , "PUT" , metadatas ) ;
36+ console . log ( `Attempted to update metadata '${ namespace } ' for UUID ${ uuid } ` ) ;
4237}
4338
4439function fetchCurateStats ( filePath , expectedChecksum , retryCount ) {
45-
46-
4740 Curate . api
4841 . fetchCurate ( "/a/tree/stats" , "POST" , {
4942 NodePaths : [ filePath ] ,
5043 } )
5144 . then ( ( data ) => {
52-
53-
5445 const node = data . Nodes . find ( ( node ) => node . Path === filePath ) ;
5546 if ( node ) {
56-
5747 // If node data is found, proceed to validate its checksum.
5848 validateChecksum ( node , expectedChecksum , filePath , retryCount ) ;
5949 } else {
6050 // Handle case where the specific node wasn't found in the API response.
61- console . error ( `❌ fetchCurateStats: Node not found in stats response for path: ${ filePath } ` ) ;
62-
51+ // This might happen if path construction failed or the node doesn't exist.
52+ console . error ( "Node not found in stats response:" , filePath ) ;
6353 // Consider updating meta here to indicate a lookup failure if desired.
6454 }
6555 } )
6656 . catch ( ( error ) => {
6757 // Handle errors during the API call itself (network issues, server errors).
68- console . error ( `💥 fetchCurateStats: API error for ${ filePath } :` , error ) ;
69-
70-
71- // Add retry logic for API failures
72- if ( retryCount < 3 ) {
73- console . log ( `🔄 fetchCurateStats: Retrying API call for ${ filePath } in 2 seconds...` ) ;
74- setTimeout ( ( ) => {
75- fetchCurateStats ( filePath , expectedChecksum , retryCount + 1 ) ;
76- } , 2000 ) ;
77- }
58+ console . error ( "Error fetching node stats:" , error , filePath ) ;
59+ // Consider retrying or updating meta based on the error type if desired.
7860 } ) ;
7961}
8062
@@ -85,14 +67,17 @@ function validateChecksum(node, expectedChecksum, filePath, retryCount) {
8567 // The backend might return 'temporary' if its Etag calculation isn't finished.
8668 // Retry fetching stats a few times if this occurs.
8769 if ( node . Etag === "temporary" && retryCount < maxRetries ) {
88-
70+ console . log (
71+ `Checksum temporary for ${ filePath } . Retrying (${
72+ retryCount + 1
73+ } /${ maxRetries } )...`
74+ ) ;
8975 setTimeout ( ( ) => {
9076 fetchCurateStats ( filePath , expectedChecksum , retryCount + 1 ) ;
9177 } , retryDelay ) ;
9278 } else if ( node . Etag === expectedChecksum ) {
9379 // Checksum matches the expected value.
94- console . log ( `✅ validateChecksum: Checksum validation PASSED for ${ filePath } !` ) ;
95-
80+ console . log ( `Checksum validation passed for ${ filePath } .` ) ;
9681 updateMetaField (
9782 node . Uuid ,
9883 "usermeta-file-integrity" , // Namespace for integrity status
@@ -101,12 +86,13 @@ function validateChecksum(node, expectedChecksum, filePath, retryCount) {
10186 } else {
10287 // Checksum mismatch, or max retries for 'temporary' reached.
10388 console . error (
104- `❌ validateChecksum: Checksum validation FAILED for ${ filePath } !`
89+ `Checksum validation FAILED for ${ filePath } .` ,
90+ "Expected:" ,
91+ expectedChecksum ,
92+ "Received:" ,
93+ node . Etag ,
94+ `(Attempt ${ retryCount + 1 } )`
10595 ) ;
106- console . error ( `❌ validateChecksum: Expected: ${ expectedChecksum } ` ) ;
107- console . error ( `❌ validateChecksum: Received: ${ node . Etag } ` ) ;
108- console . error ( `❌ validateChecksum: Attempt: ${ retryCount + 1 } ` ) ;
109-
11096 updateMetaField (
11197 node . Uuid ,
11298 "usermeta-file-integrity" ,
@@ -243,32 +229,27 @@ export default {
243229
244230 hooks : {
245231 onUploadComplete : async ( uploadItem ) => {
246-
232+ console . log ( 'ChecksumValidation: Processing upload completion for:' , uploadItem . _label ) ;
247233
248234 try {
249235 // Generate checksum for the uploaded file
250-
251236 const finalChecksum = await generateChecksum ( uploadItem ) ;
252-
253237
254238 // Construct the file path for validation
255239 const filePath = constructFilePath ( uploadItem ) ;
256-
240+ console . log ( "Constructed final path for stats API:" , filePath ) ;
257241
258242 // Introduce a small delay before fetching stats.
259243 // Delay scales slightly with file size but is capped.
260244 const delay = Math . min ( 5000 , Math . max ( 500 , uploadItem . _file . size * 0.01 ) ) ;
261-
262-
263245 setTimeout ( ( ) => {
264-
265246 // Initiate the checksum validation process using the final path.
266247 fetchCurateStats ( filePath , finalChecksum , 0 ) ;
267248 } , delay ) ;
268249
269250 } catch ( error ) {
270251 console . error (
271- "❌ ChecksumValidation: Failed to process upload:" ,
252+ "ChecksumValidation: Failed to process upload:" ,
272253 error ,
273254 "for file:" ,
274255 uploadItem . _label
0 commit comments