@@ -9,6 +9,7 @@ const helper = require('../common/helper')
9
9
const QUERY_GET_ENTRY = 'SELECT value FROM project_info WHERE project_id = %d and project_info_type_id = %d'
10
10
const QUERY_CREATE = 'INSERT INTO project_info (project_id, project_info_type_id, value, create_user, create_date, modify_user, modify_date) VALUES (?, ?, ?, ?, CURRENT, ?, CURRENT)'
11
11
const 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 = ?'
12
13
13
14
/**
14
15
* Prepare Informix statement
@@ -56,9 +57,15 @@ async function createOrUpdateMetadata (challengeLegacyId, typeId, value, created
56
57
// await connection.beginTransactionAsync()
57
58
const [ existing ] = await getMetadataEntry ( challengeLegacyId , typeId )
58
59
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
+ }
62
69
} else {
63
70
logger . info ( `Metadata ${ typeId } does not exist. Will create` )
64
71
const query = await prepare ( connection , QUERY_CREATE )
0 commit comments