Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 33
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
Messages
0.00% covered (danger)
0.00%
0 / 33
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 1
 install
0.00% covered (danger)
0.00%
0 / 33
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2/**
3 * Jingga
4 *
5 * PHP Version 8.1
6 *
7 * @package   Modules\Admin\Admin\Install
8 * @copyright Dennis Eichhorn
9 * @license   OMS License 2.0
10 * @version   1.0.0
11 * @link      https://jingga.app
12 */
13declare(strict_types=1);
14
15namespace Modules\Admin\Admin\Install;
16
17use Modules\Admin\Models\SettingsEnum;
18use phpOMS\Application\ApplicationAbstract;
19use phpOMS\Message\Http\HttpRequest;
20use phpOMS\Message\Http\HttpResponse;
21use phpOMS\Uri\HttpUri;
22
23/**
24 * Media class.
25 *
26 * @package Modules\Admin\Admin\Install
27 * @license OMS License 2.0
28 * @link    https://jingga.app
29 * @since   1.0.0
30 */
31class Messages
32{
33    /**
34     * Install media providing
35     *
36     * @param ApplicationAbstract $app  Application
37     * @param string              $path Module path
38     *
39     * @return void
40     *
41     * @since 1.0.0
42     */
43    public static function install(ApplicationAbstract $app, string $path) : void
44    {
45        $messages = \Modules\Messages\Admin\Installer::installExternal($app, ['path' => __DIR__ . '/Messages.install.json']);
46
47        /** @var \Modules\Admin\Controller\ApiController $module */
48        $module = $app->moduleManager->get('Admin');
49
50        $settings = [
51            [
52                'id'      => null,
53                'name'    => SettingsEnum::LOGIN_MAIL_REGISTRATION_TEMPLATE,
54                'content' => (string) $messages['email_template'][0]['id'],
55                'module'  => 'Admin',
56            ],
57            [
58                'id'      => null,
59                'name'    => SettingsEnum::LOGIN_MAIL_FORGOT_PASSWORD_TEMPLATE,
60                'content' => (string) $messages['email_template'][1]['id'],
61                'module'  => 'Admin',
62            ],
63            [
64                'id'      => null,
65                'name'    => SettingsEnum::LOGIN_MAIL_FAILED_TEMPLATE,
66                'content' => (string) $messages['email_template'][2]['id'],
67                'module'  => 'Admin',
68            ],
69            [
70                'id'      => null,
71                'name'    => SettingsEnum::LOGIN_MAIL_RESET_PASSWORD_TEMPLATE,
72                'content' => (string) $messages['email_template'][3]['id'],
73                'module'  => 'Admin',
74            ],
75        ];
76
77        $response = new HttpResponse();
78        $request  = new HttpRequest(new HttpUri(''));
79
80        $request->header->account = 1;
81        $request->setData('settings', \json_encode($settings));
82
83        $module->apiSettingsSet($request, $response);
84    }
85}