-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaddon.setup.php
More file actions
69 lines (65 loc) · 2.42 KB
/
Copy pathaddon.setup.php
File metadata and controls
69 lines (65 loc) · 2.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?php
use JavidFazaeli\SocialPoster\Service\OpenAiClient;
use JavidFazaeli\SocialPoster\Service\ImageStorage;
use JavidFazaeli\SocialPoster\Service\Publisher;
use JavidFazaeli\SocialPoster\Service\Scheduler;
use JavidFazaeli\SocialPoster\Service\SeoScorer;
use JavidFazaeli\SocialPoster\Service\SocialPostGenerator;
use JavidFazaeli\SocialPoster\Service\TemplateManager;
return [
'name' => 'SocialPoster',
'description' => 'Generate social post content and images with OpenAI.',
'version' => '1.0.0',
'author' => 'Javid Fazaeli',
'author_url' => 'https://fazaeli.dev',
'namespace' => 'JavidFazaeli\SocialPoster',
'settings_exist' => true,
'services.singletons' => [
'templates' => function($addon) {
return new TemplateManager();
},
'TemplateManager' => function($addon) {
return ee('socialposter:templates');
},
'scheduler' => function($addon) {
return new Scheduler(ee('socialposter:generator'));
},
'Scheduler' => function($addon) {
return ee('socialposter:scheduler');
},
'publisher' => function($addon) {
return new Publisher(ee('socialposter:generator'));
},
'seoScorer' => function($addon) {
return new SeoScorer();
},
'SeoScorer' => function($addon) {
return ee('socialposter:seoScorer');
},
'Publisher' => function($addon) {
return ee('socialposter:publisher');
},
'openai' => function($addon) {
return new OpenAiClient();
},
'generator' => function($addon) {
return new SocialPostGenerator(ee('socialposter:openai'), ee('socialposter:imageStorage'));
},
'imageStorage' => function($addon) {
return new ImageStorage();
},
'ImageStorage' => function($addon) {
return ee('socialposter:imageStorage');
},
'SocialPostGenerator' => function($addon) {
return ee('socialposter:generator');
},
'OpenAiClient' => function($addon) {
return ee('socialposter:openai');
},
],
'commands' => [
'socialposter:costs' => JavidFazaeli\SocialPoster\Commands\CommandCosts::class,
'socialposter:run-schedule' => JavidFazaeli\SocialPoster\Commands\CommandRunSchedule::class,
],
];