Add Surat Keluar
This commit is contained in:
+51
-1
@@ -197,6 +197,14 @@ type processors struct {
|
||||
recipientProcessor *processor.RecipientProcessorImpl
|
||||
letterDispositionProcessor *processor.LetterDispositionProcessorImpl
|
||||
letterDispositionDeptProcessor *processor.LetterDispositionDepartmentProcessorImpl
|
||||
// Modular processors for letter outgoing
|
||||
letterValidationProcessor processor.LetterValidationProcessor
|
||||
letterCreationProcessor processor.LetterCreationProcessor
|
||||
letterApprovalProcessor processor.LetterApprovalProcessor
|
||||
letterAttachmentProcessor processor.LetterAttachmentProcessor
|
||||
letterOutgoingRecipientProcessor processor.LetterOutgoingRecipientProcessor
|
||||
letterActivityProcessor processor.LetterActivityProcessor
|
||||
txManager *repository.TxManager
|
||||
}
|
||||
|
||||
func (a *App) initProcessors(cfg *config.Config, repos *repositories) *processors {
|
||||
@@ -218,6 +226,31 @@ func (a *App) initProcessors(cfg *config.Config, repos *repositories) *processor
|
||||
letterNumberGen, repos.dispositionRouteRepo,
|
||||
)
|
||||
|
||||
// Create modular processors for letter outgoing
|
||||
letterValidationProc := processor.NewLetterValidationProcessor()
|
||||
letterCreationProc := processor.NewLetterCreationProcessor(
|
||||
repos.letterOutgoingRepo,
|
||||
repos.approvalFlowRepo,
|
||||
letterNumberGen,
|
||||
)
|
||||
letterApprovalProc := processor.NewLetterApprovalProcessor(
|
||||
repos.letterOutgoingApprovalRepo,
|
||||
repos.approvalFlowRepo,
|
||||
repos.letterOutgoingRepo,
|
||||
)
|
||||
letterAttachmentProc := processor.NewLetterAttachmentProcessor(
|
||||
repos.letterOutgoingAttachmentRepo,
|
||||
)
|
||||
letterOutgoingRecipientProc := processor.NewLetterOutgoingRecipientProcessor(
|
||||
repos.letterOutgoingRecipientRepo,
|
||||
repos.approvalFlowRepo,
|
||||
repos.userDeptRepo,
|
||||
)
|
||||
letterActivityProc := processor.NewLetterActivityProcessor(
|
||||
repos.letterOutgoingActivityLogRepo,
|
||||
)
|
||||
|
||||
// Create the main letter outgoing processor for backward compatibility
|
||||
letterOutgoingProc := processor.NewLetterOutgoingProcessor(
|
||||
a.db,
|
||||
repos.letterOutgoingRepo,
|
||||
@@ -307,6 +340,14 @@ func (a *App) initProcessors(cfg *config.Config, repos *repositories) *processor
|
||||
recipientProcessor: recipientProc,
|
||||
letterDispositionProcessor: letterDispositionProc,
|
||||
letterDispositionDeptProcessor: letterDispositionDeptProc,
|
||||
// Modular processors
|
||||
letterValidationProcessor: letterValidationProc,
|
||||
letterCreationProcessor: letterCreationProc,
|
||||
letterApprovalProcessor: letterApprovalProc,
|
||||
letterAttachmentProcessor: letterAttachmentProc,
|
||||
letterOutgoingRecipientProcessor: letterOutgoingRecipientProc,
|
||||
letterActivityProcessor: letterActivityProc,
|
||||
txManager: txMgr,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -352,7 +393,16 @@ func (a *App) initServices(processors *processors, repos *repositories, cfg *con
|
||||
processors.activityLogger,
|
||||
)
|
||||
dispRouteSvc := service.NewDispositionRouteService(repos.dispositionRouteRepo)
|
||||
letterOutgoingSvc := service.NewLetterOutgoingService(processors.letterOutgoingProcessor)
|
||||
letterOutgoingSvc := service.NewLetterOutgoingService(
|
||||
processors.letterOutgoingProcessor,
|
||||
processors.txManager,
|
||||
processors.letterValidationProcessor,
|
||||
processors.letterCreationProcessor,
|
||||
processors.letterApprovalProcessor,
|
||||
processors.letterAttachmentProcessor,
|
||||
processors.letterOutgoingRecipientProcessor,
|
||||
processors.letterActivityProcessor,
|
||||
)
|
||||
|
||||
approvalFlowStepRepo := repository.NewApprovalFlowStepRepository(a.db)
|
||||
approvalFlowSvc := service.NewApprovalFlowService(
|
||||
|
||||
Reference in New Issue
Block a user