Add new field attributes to user to store data from SAML connection

This commit is contained in:
Jean-Francois Monfort 2021-03-04 11:38:03 +01:00
parent cedf08b906
commit 99b25e3abb
2 changed files with 65 additions and 1 deletions

View File

@ -100,7 +100,14 @@ class User implements AdvancedUserInterface {
* @ORM\Cache(usage="NONSTRICT_READ_WRITE")
*/
private $groupCenters;
/**
* Array where SAML attributes's data are stored
* @var array
*
* @ORM\Column(type="json_array", nullable=true)
*/
private $attributes;
/**
* User constructor.
@ -346,4 +353,31 @@ class User implements AdvancedUserInterface {
}
}
/**
* Set attributes
*
* @param array $attributes
*
* @return Report
*/
public function setAttributes($attributes)
{
$this->attributes = $attributes;
return $this;
}
/**
* Get attributes
*
* @return array
*/
public function getAttributes()
{
if ($this->attributes === null) {
$this->attributes = [];
}
return $this->attributes;
}
}

View File

@ -0,0 +1,30 @@
<?php
declare(strict_types=1);
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20210304085819 extends AbstractMigration
{
public function getDescription() : string
{
return '';
}
public function up(Schema $schema) : void
{
$this->addSql('ALTER TABLE users ADD attributes JSONB DEFAULT NULL');
$this->addSql('COMMENT ON COLUMN users.attributes IS \'(DC2Type:json_array)\'');
}
public function down(Schema $schema) : void
{
$this->addSql('ALTER TABLE users DROP attributes');
}
}