ILIAS  trunk Revision v11.0_alpha-2638-g80c1d007f79
class.ilAuthenticationSetupAgent.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 use ILIAS\Setup;
23 use ILIAS\Refinery;
24 
26 {
28 
29  protected const int DEFAULT_SESSION_EXPIRE_IN_SECONDS = 1_800;
30 
31  public function __construct(protected Refinery\Factory $refinery)
32  {
33  }
34 
35  public function hasConfig(): bool
36  {
37  return true;
38  }
39 
41  {
42  return $this->refinery->custom()->transformation(function ($data): ilAuthenticationSetupConfig {
43  return new ilAuthenticationSetupConfig($data['session_max_idle'] ?? self::DEFAULT_SESSION_EXPIRE_IN_SECONDS);
44  });
45  }
46 
47  public function getInstallObjective(?Setup\Config $config = null): Setup\Objective
48  {
49  if ($config !== null) {
50  return new ilSessionMaxIdleIsSetObjective($config);
51  }
52 
54  new ilAuthenticationSetupConfig(self::DEFAULT_SESSION_EXPIRE_IN_SECONDS)
55  );
56  }
57 
58  public function getUpdateObjective(?Setup\Config $config = null): Setup\Objective
59  {
60  if ($config !== null) {
61  return new Setup\ObjectiveCollection(
62  'Authentication',
63  true,
64  new ilSessionMaxIdleIsSetObjective($config),
67  ),
68  );
69  }
70 
71  return new Setup\ObjectiveCollection(
72  'Authentication',
73  true,
76  ),
77  );
78  }
79 
80  public function getBuildObjective(): Setup\Objective
81  {
82  return new Setup\Objective\NullObjective();
83  }
84 
85  public function getStatusObjective(Setup\Metrics\Storage $storage): Setup\Objective
86  {
87  return new Setup\ObjectiveCollection(
88  'Component Authentication',
89  true,
91  $storage,
93  ),
94  );
95  }
96 
97  public function getMigrations(): array
98  {
99  return [];
100  }
101 }
hasConfig()
Does this agent require a configuration?
An objective is a desired state of the system that is supposed to be created by the setup...
Definition: Objective.php:30
A agent is some component that performs part of the setup process.
Definition: Agent.php:29
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
getUpdateObjective(?Setup\Config $config=null)
getBuildObjective()
Get the goal the agent wants to achieve to build artifacts.
getInstallObjective(?Setup\Config $config=null)
Builds data types.
Definition: Factory.php:35
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
A transformation is a function from one datatype to another.
getArrayToConfigTransformation()
Agents must be able to tell how to create a configuration from a nested array.
getStatusObjective(Setup\Metrics\Storage $storage)
A configuration for the setup.
Definition: Config.php:26
__construct(protected Refinery\Factory $refinery)
getMigrations()
Get a named map of migrations available for this Agent.