@@ -9,6 +9,7 @@ const helper = require('../common/helper')
99const QUERY_GET_ENTRY = 'SELECT value FROM project_info WHERE project_id = %d and project_info_type_id = %d'
1010const QUERY_CREATE = 'INSERT INTO project_info (project_id, project_info_type_id, value, create_user, create_date, modify_user, modify_date) VALUES (?, ?, ?, ?, CURRENT, ?, CURRENT)'
1111const QUERY_UPDATE = 'UPDATE project_info SET value = ?, modify_user = ?, modify_date = CURRENT WHERE project_info_type_id = ? AND project_id = ?'
12+ const QUERY_DELETE = 'DELETE FROM project_info WHERE project_id = ? and project_info_type_id = ?'
1213
1314/**
1415 * Prepare Informix statement
@@ -56,9 +57,15 @@ async function createOrUpdateMetadata (challengeLegacyId, typeId, value, created
5657 // await connection.beginTransactionAsync()
5758 const [ existing ] = await getMetadataEntry ( challengeLegacyId , typeId )
5859 if ( existing ) {
59- logger . info ( `Metadata ${ typeId } exists. Will update` )
60- const query = await prepare ( connection , QUERY_UPDATE )
61- result = await query . executeAsync ( [ value , createdBy , typeId , challengeLegacyId ] )
60+ if ( value ) {
61+ logger . info ( `Metadata ${ typeId } exists. Will update` )
62+ const query = await prepare ( connection , QUERY_UPDATE )
63+ result = await query . executeAsync ( [ value , createdBy , typeId , challengeLegacyId ] )
64+ } else {
65+ logger . info ( `Metadata ${ typeId } exists. Will delete` )
66+ const query = await prepare ( connection , QUERY_DELETE )
67+ result = await query . executeAsync ( [ challengeLegacyId , typeId ] )
68+ }
6269 } else {
6370 logger . info ( `Metadata ${ typeId } does not exist. Will create` )
6471 const query = await prepare ( connection , QUERY_CREATE )
0 commit comments