11import { Scopes , idSchema } from '@defra/forms-model'
22import Joi from 'joi'
33
4+ import { createLogger } from '~/src/helpers/logging/logger.js'
45import {
56 deleteDlqMessage ,
67 receiveDlqMessages ,
@@ -11,6 +12,7 @@ import {
1112 generateFeedbackSubmissionsFileResponseSchema ,
1213 generateFormSubmissionsFileResponseSchema ,
1314 magicLinkSchema ,
15+ messageIdSchema ,
1416 receiptHandleSchema ,
1517 resetSaveAndExitLinkResponseSchema
1618} from '~/src/models/form.js'
@@ -23,6 +25,8 @@ import {
2325
2426const OK_RESPONSE = 200
2527
28+ const logger = createLogger ( )
29+
2630export default [
2731 /**
2832 * @satisfies {ServerRoute<ResetSaveAndExit> }
@@ -170,7 +174,10 @@ export default [
170174 path : '/admin/deadletter/{dlq}/redrive' ,
171175 async handler ( request , h ) {
172176 const { params } = request
173- await redriveDlqMessages ( params . dlq )
177+ const { dlq } = params
178+ logger . info ( `Redriving DLQ ${ dlq } ` )
179+ await redriveDlqMessages ( dlq )
180+ logger . info ( `Redriving DLQ ${ dlq } triggered successfully` )
174181 return h . response ( { message : 'success' } ) . code ( OK_RESPONSE )
175182 } ,
176183 options : {
@@ -193,10 +200,14 @@ export default [
193200 */
194201 ( {
195202 method : 'DELETE' ,
196- path : '/admin/deadletter/{dlq}/{receiptHandle }' ,
203+ path : '/admin/deadletter/{dlq}/{messageId }' ,
197204 async handler ( request , h ) {
198- const { params } = request
199- await deleteDlqMessage ( params . dlq , params . receiptHandle )
205+ const { params, payload } = request
206+ const { dlq, messageId } = params
207+ const { receiptHandle } = payload
208+ logger . info ( `Deleting DLQ message ${ messageId } on ${ dlq } ` )
209+ await deleteDlqMessage ( dlq , receiptHandle )
210+ logger . info ( `Deleted DLQ message ${ messageId } on ${ dlq } ` )
200211 return h . response ( { message : 'success' } ) . code ( OK_RESPONSE )
201212 } ,
202213 options : {
@@ -208,9 +219,14 @@ export default [
208219 params : Joi . object ( )
209220 . keys ( {
210221 dlq : dqlSchema . required ( ) ,
222+ messageId : messageIdSchema . required ( )
223+ } )
224+ . label ( 'deadLetterDeleteMessageParams' ) ,
225+ payload : Joi . object ( )
226+ . keys ( {
211227 receiptHandle : receiptHandleSchema . required ( )
212228 } )
213- . label ( 'deadLetterQueueAndHandleParams ' )
229+ . label ( 'deadLetterDeleteMessagePayload ' )
214230 }
215231 }
216232 } )
0 commit comments