7
7
use App \Http \Controllers \OutputController ;
8
8
use App \Models \Collection ;
9
9
use App \Models \Output ;
10
+ use Facades \App \Domains \Outputs \EmailReplyOutput ;
10
11
11
12
class EmailReplyOutputController extends OutputController
12
13
{
@@ -24,15 +25,10 @@ class EmailReplyOutputController extends OutputController
24
25
25
26
protected function getValidationRules (): array
26
27
{
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 (), [
33
30
'meta_data.signature ' => ['required ' , 'string ' ],
34
- 'secrets ' => ['required ' , 'array ' ],
35
- ];
31
+ ]);
36
32
}
37
33
38
34
public function getPrompts (): array
@@ -52,43 +48,41 @@ public function updateOutput(Output $output, array $validated): void
52
48
'protocol ' => data_get ($ validated , 'secrets.protocol ' , 'imap ' ),
53
49
'encryption ' => data_get ($ validated , 'secrets.encryption ' , 'ssl ' ),
54
50
'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 ),
55
69
'email_box ' => data_get ($ validated , 'secrets.email_box ' , null ),
56
70
];
57
71
58
- $ output ->meta_data = $ validated ['meta_data ' ];
59
- $ output ->secrets = $ secrets ;
72
+ $ validated ['secrets ' ] = $ secrets ;
60
73
61
- $ output ->updateQuietly ();
74
+ $ validated ['collection_id ' ] = $ collection ->id ;
75
+ $ validated ['type ' ] = $ this ->outputTypeEnum ;
62
76
63
- $ output ->update ([
64
- 'title ' => $ validated ['title ' ],
65
- 'summary ' => $ validated ['summary ' ],
66
- 'recurring ' => $ validated ['recurring ' ],
67
- 'active ' => $ validated ['active ' ],
68
- ]);
77
+ Output::create ($ validated );
69
78
}
70
79
71
- protected function makeOutput ( array $ validated , Collection $ collection ): void
80
+ public function check ( Output $ output )
72
81
{
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 ();
93
87
}
94
88
}
0 commit comments