Add channel test providers for Email, Slack, Teams, and Webhook
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				Docs CI / lint-and-preview (push) Has been cancelled
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	Docs CI / lint-and-preview (push) Has been cancelled
				
			- Implemented EmailChannelTestProvider to generate email preview payloads. - Implemented SlackChannelTestProvider to create Slack message previews. - Implemented TeamsChannelTestProvider for generating Teams Adaptive Card previews. - Implemented WebhookChannelTestProvider to create webhook payloads. - Added INotifyChannelTestProvider interface for channel-specific preview generation. - Created ChannelTestPreviewContracts for request and response models. - Developed NotifyChannelTestService to handle test send requests and generate previews. - Added rate limit policies for test sends and delivery history. - Implemented unit tests for service registration and binding. - Updated project files to include necessary dependencies and configurations.
This commit is contained in:
		| @@ -358,6 +358,48 @@ internal static class CommandFactory | ||||
|             return CommandHandlers.HandleExcititorExportAsync(services, format, delta, scope, since, provider, output, verbose, cancellationToken); | ||||
|         }); | ||||
|  | ||||
|         var backfill = new Command("backfill-statements", "Replay historical raw documents into Excititor statements."); | ||||
|         var backfillRetrievedSinceOption = new Option<DateTimeOffset?>("--retrieved-since") | ||||
|         { | ||||
|             Description = "Only process raw documents retrieved on or after the provided ISO-8601 timestamp." | ||||
|         }; | ||||
|         var backfillForceOption = new Option<bool>("--force") | ||||
|         { | ||||
|             Description = "Reprocess documents even if statements already exist." | ||||
|         }; | ||||
|         var backfillBatchSizeOption = new Option<int>("--batch-size") | ||||
|         { | ||||
|             Description = "Number of raw documents to fetch per batch (default 100)." | ||||
|         }; | ||||
|         var backfillMaxDocumentsOption = new Option<int?>("--max-documents") | ||||
|         { | ||||
|             Description = "Optional maximum number of raw documents to process." | ||||
|         }; | ||||
|         backfill.Add(backfillRetrievedSinceOption); | ||||
|         backfill.Add(backfillForceOption); | ||||
|         backfill.Add(backfillBatchSizeOption); | ||||
|         backfill.Add(backfillMaxDocumentsOption); | ||||
|         backfill.SetAction((parseResult, _) => | ||||
|         { | ||||
|             var retrievedSince = parseResult.GetValue(backfillRetrievedSinceOption); | ||||
|             var force = parseResult.GetValue(backfillForceOption); | ||||
|             var batchSize = parseResult.GetValue(backfillBatchSizeOption); | ||||
|             if (batchSize <= 0) | ||||
|             { | ||||
|                 batchSize = 100; | ||||
|             } | ||||
|             var maxDocuments = parseResult.GetValue(backfillMaxDocumentsOption); | ||||
|             var verbose = parseResult.GetValue(verboseOption); | ||||
|             return CommandHandlers.HandleExcititorBackfillStatementsAsync( | ||||
|                 services, | ||||
|                 retrievedSince, | ||||
|                 force, | ||||
|                 batchSize, | ||||
|                 maxDocuments, | ||||
|                 verbose, | ||||
|                 cancellationToken); | ||||
|         }); | ||||
|  | ||||
|         var verify = new Command("verify", "Verify Excititor exports or attestations."); | ||||
|         var exportIdOption = new Option<string?>("--export-id") | ||||
|         { | ||||
| @@ -408,6 +450,7 @@ internal static class CommandFactory | ||||
|         excititor.Add(resume); | ||||
|         excititor.Add(list); | ||||
|         excititor.Add(export); | ||||
|         excititor.Add(backfill); | ||||
|         excititor.Add(verify); | ||||
|         excititor.Add(reconcile); | ||||
|         return excititor; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user