77use App \Http \Controllers \OutputController ;
88use App \Models \Collection ;
99use App \Models \Output ;
10+ use Facades \App \Domains \Outputs \EmailReplyOutput ;
1011
1112class EmailReplyOutputController extends OutputController
1213{
@@ -24,15 +25,10 @@ class EmailReplyOutputController extends OutputController
2425
2526 protected function getValidationRules (): array
2627 {
27- return [
28- 'title ' => 'required|string ' ,
29- 'summary ' => 'required|string ' ,
30- 'active ' => 'boolean|nullable ' ,
31- 'public ' => 'boolean|nullable ' ,
32- 'recurring ' => 'string|nullable ' ,
28+
29+ return array_merge (parent ::getValidationRules (), [
3330 'meta_data.signature ' => ['required ' , 'string ' ],
34- 'secrets ' => ['required ' , 'array ' ],
35- ];
31+ ]);
3632 }
3733
3834 public function getPrompts (): array
@@ -52,43 +48,41 @@ public function updateOutput(Output $output, array $validated): void
5248 'protocol ' => data_get ($ validated , 'secrets.protocol ' , 'imap ' ),
5349 'encryption ' => data_get ($ validated , 'secrets.encryption ' , 'ssl ' ),
5450 'delete ' => data_get ($ validated , 'secrets.delete ' , false ),
51+ 'email_box ' => data_get ($ validated , 'secrets.email_box ' , 'Inbox ' ),
52+ ];
53+
54+ $ validated ['secrets ' ] = $ secrets ;
55+ $ output ->update ($ validated );
56+ }
57+
58+ protected function makeOutput (array $ validated , Collection $ collection ): void
59+ {
60+
61+ $ secrets = [
62+ 'username ' => data_get ($ validated , 'secrets.username ' , null ),
63+ 'password ' => data_get ($ validated , 'secrets.password ' , null ),
64+ 'host ' => data_get ($ validated , 'secrets.host ' , null ),
65+ 'port ' => data_get ($ validated , 'secrets.port ' , '993 ' ),
66+ 'protocol ' => data_get ($ validated , 'secrets.protocol ' , 'imap ' ),
67+ 'encryption ' => data_get ($ validated , 'secrets.encryption ' , 'ssl ' ),
68+ 'delete ' => data_get ($ validated , 'secrets.delete ' , false ),
5569 'email_box ' => data_get ($ validated , 'secrets.email_box ' , null ),
5670 ];
5771
58- $ output ->meta_data = $ validated ['meta_data ' ];
59- $ output ->secrets = $ secrets ;
72+ $ validated ['secrets ' ] = $ secrets ;
6073
61- $ output ->updateQuietly ();
74+ $ validated ['collection_id ' ] = $ collection ->id ;
75+ $ validated ['type ' ] = $ this ->outputTypeEnum ;
6276
63- $ output ->update ([
64- 'title ' => $ validated ['title ' ],
65- 'summary ' => $ validated ['summary ' ],
66- 'recurring ' => $ validated ['recurring ' ],
67- 'active ' => $ validated ['active ' ],
68- ]);
77+ Output::create ($ validated );
6978 }
7079
71- protected function makeOutput ( array $ validated , Collection $ collection ): void
80+ public function check ( Output $ output )
7281 {
73- Output::create ([
74- 'title ' => $ validated ['title ' ],
75- 'summary ' => $ validated ['summary ' ],
76- 'collection_id ' => $ collection ->id ,
77- 'recurring ' => data_get ($ validated , 'recurring ' , null ),
78- 'active ' => data_get ($ validated , 'active ' , false ),
79- 'public ' => data_get ($ validated , 'public ' , false ),
80- 'type ' => $ this ->outputTypeEnum ,
81- 'meta_data ' => data_get ($ validated , 'meta_data ' , []),
82- 'secrets ' => [
83- 'username ' => data_get ($ validated , 'secrets.username ' , null ),
84- 'password ' => data_get ($ validated , 'secrets.password ' , null ),
85- 'host ' => data_get ($ validated , 'secrets.host ' , null ),
86- 'port ' => data_get ($ validated , 'secrets.port ' , '993 ' ),
87- 'protocol ' => data_get ($ validated , 'secrets.protocol ' , 'imap ' ),
88- 'encryption ' => data_get ($ validated , 'secrets.encryption ' , 'ssl ' ),
89- 'delete ' => data_get ($ validated , 'secrets.delete ' , false ),
90- 'email_box ' => data_get ($ validated , 'secrets.email_box ' , null ),
91- ],
92- ]);
82+ EmailReplyOutput::handle ($ output );
83+
84+ request ()->session ()->flash ('flash.banner ' , 'Checking box sending replies ' );
85+
86+ return back ();
9387 }
9488}
0 commit comments