@@ -259,31 +259,38 @@ func addHook(ctx *context.APIContext, form *api.CreateHookOption, ownerID, repoI
259259		Type :     form .Type ,
260260	}
261261
262- 	// Set payload optimization config 
263- 	if  form .PayloadOptimization  !=  nil  {
264- 		payloadOptConfig  :=  & webhook.PayloadOptimizationConfig {}
265- 
266- 		// Parse files config 
267- 		if  filesConfig , ok  :=  form .PayloadOptimization ["files" ].(map [string ]any ); ok  {
268- 			payloadOptConfig .Files  =  & webhook.PayloadOptimizationItem {
269- 				Enable : getBoolFromMap (filesConfig , false ),
270- 				Limit :  getIntFromMap (filesConfig , 0 ),
262+ 	// Set webhook meta settings 
263+ 	if  form .MetaSettings  !=  nil  {
264+ 		metaSettings  :=  & webhook.MetaSettings {}
265+ 
266+ 		// Parse payload optimization config 
267+ 		if  payloadOptMap , ok  :=  form .MetaSettings ["payload_optimization" ].(map [string ]any ); ok  {
268+ 			payloadOptConfig  :=  & webhook.PayloadOptimizationConfig {}
269+ 
270+ 			// Parse files config 
271+ 			if  filesConfig , ok  :=  payloadOptMap ["files" ].(map [string ]any ); ok  {
272+ 				payloadOptConfig .Files  =  & webhook.PayloadOptimizationItem {
273+ 					Enable : getBoolFromMap (filesConfig , false ),
274+ 					Limit :  getIntFromMap (filesConfig , 0 ),
275+ 				}
276+ 			} else  {
277+ 				payloadOptConfig .Files  =  & webhook.PayloadOptimizationItem {Enable : false , Limit : 0 }
271278			}
272- 		} else  {
273- 			payloadOptConfig .Files  =  & webhook.PayloadOptimizationItem {Enable : false , Limit : 0 }
274- 		}
275279
276- 		// Parse commits config 
277- 		if  commitsConfig , ok  :=  form .PayloadOptimization ["commits" ].(map [string ]any ); ok  {
278- 			payloadOptConfig .Commits  =  & webhook.PayloadOptimizationItem {
279- 				Enable : getBoolFromMap (commitsConfig , false ),
280- 				Limit :  getIntFromMap (commitsConfig , 0 ),
280+ 			// Parse commits config 
281+ 			if  commitsConfig , ok  :=  payloadOptMap ["commits" ].(map [string ]any ); ok  {
282+ 				payloadOptConfig .Commits  =  & webhook.PayloadOptimizationItem {
283+ 					Enable : getBoolFromMap (commitsConfig , false ),
284+ 					Limit :  getIntFromMap (commitsConfig , 0 ),
285+ 				}
286+ 			} else  {
287+ 				payloadOptConfig .Commits  =  & webhook.PayloadOptimizationItem {Enable : false , Limit : 0 }
281288			}
282- 		}  else  { 
283- 			payloadOptConfig . Commits  =  & webhook. PayloadOptimizationItem { Enable :  false ,  Limit :  0 } 
289+ 
290+ 			metaSettings . PayloadOptimization  =  payloadOptConfig 
284291		}
285292
286- 		if  err  :=  w .SetPayloadOptimizationConfig ( payloadOptConfig ); err  !=  nil  {
293+ 		if  err  :=  w .SetMetaSettings ( metaSettings ); err  !=  nil  {
287294			ctx .APIErrorInternal (err )
288295			return  nil , false 
289296		}
@@ -453,31 +460,38 @@ func editHook(ctx *context.APIContext, form *api.EditHookOption, w *webhook.Webh
453460		w .IsActive  =  * form .Active 
454461	}
455462
456- 	// Update payload optimization config 
457- 	if  form .PayloadOptimization  !=  nil  {
458- 		payloadOptConfig  :=  & webhook.PayloadOptimizationConfig {}
463+ 	// Update webhook meta settings 
464+ 	if  form .MetaSettings  !=  nil  {
465+ 		metaSettings  :=  & webhook.MetaSettings {}
466+ 
467+ 		// Parse payload optimization config 
468+ 		if  payloadOptMap , ok  :=  (* form .MetaSettings )["payload_optimization" ].(map [string ]any ); ok  {
469+ 			payloadOptConfig  :=  & webhook.PayloadOptimizationConfig {}
459470
460- 		// Parse files config 
461- 		if  filesConfig , ok  :=  (* form .PayloadOptimization )["files" ].(map [string ]any ); ok  {
462- 			payloadOptConfig .Files  =  & webhook.PayloadOptimizationItem {
463- 				Enable : getBoolFromMap (filesConfig , false ),
464- 				Limit :  getIntFromMap (filesConfig , 0 ),
471+ 			// Parse files config 
472+ 			if  filesConfig , ok  :=  payloadOptMap ["files" ].(map [string ]any ); ok  {
473+ 				payloadOptConfig .Files  =  & webhook.PayloadOptimizationItem {
474+ 					Enable : getBoolFromMap (filesConfig , false ),
475+ 					Limit :  getIntFromMap (filesConfig , 0 ),
476+ 				}
477+ 			} else  {
478+ 				payloadOptConfig .Files  =  & webhook.PayloadOptimizationItem {Enable : false , Limit : 0 }
465479			}
466- 		} else  {
467- 			payloadOptConfig .Files  =  & webhook.PayloadOptimizationItem {Enable : false , Limit : 0 }
468- 		}
469480
470- 		// Parse commits config 
471- 		if  commitsConfig , ok  :=  (* form .PayloadOptimization )["commits" ].(map [string ]any ); ok  {
472- 			payloadOptConfig .Commits  =  & webhook.PayloadOptimizationItem {
473- 				Enable : getBoolFromMap (commitsConfig , false ),
474- 				Limit :  getIntFromMap (commitsConfig , 0 ),
481+ 			// Parse commits config 
482+ 			if  commitsConfig , ok  :=  payloadOptMap ["commits" ].(map [string ]any ); ok  {
483+ 				payloadOptConfig .Commits  =  & webhook.PayloadOptimizationItem {
484+ 					Enable : getBoolFromMap (commitsConfig , false ),
485+ 					Limit :  getIntFromMap (commitsConfig , 0 ),
486+ 				}
487+ 			} else  {
488+ 				payloadOptConfig .Commits  =  & webhook.PayloadOptimizationItem {Enable : false , Limit : 0 }
475489			}
476- 		}  else  { 
477- 			payloadOptConfig . Commits  =  & webhook. PayloadOptimizationItem { Enable :  false ,  Limit :  0 } 
490+ 
491+ 			metaSettings . PayloadOptimization  =  payloadOptConfig 
478492		}
479493
480- 		if  err  :=  w .SetPayloadOptimizationConfig ( payloadOptConfig ); err  !=  nil  {
494+ 		if  err  :=  w .SetMetaSettings ( metaSettings ); err  !=  nil  {
481495			ctx .APIErrorInternal (err )
482496			return  false 
483497		}
0 commit comments