FeatureService
in package
Table of Contents
Constants
- EXEMPT_API_PATH_PREFIXES : mixed = ['/api/point_of_sale/' => ['GET'], '/api/users/...
- EXEMPT_API_PATHS : mixed = ['/api/config_apps' => ['POST'], '/api/users' =...
- SESSION_CACHE_VERSION : mixed = 2
Properties
- $businessApiUrl : string
- $features : array<string|int, mixed>
- $hasAccess : bool
- $httpClient : HttpClientInterface
- $isInitialized : bool
- $isTrial : bool
- $logger : LoggerInterface
- $parameterBag : ParameterBagInterface
- $planName : string|null
- $requestStack : RequestStack
- $security : Security
- $subscriptionEndDate : DateTime|null
- $trialEndDate : DateTime|null
Methods
- __construct() : mixed
- getFeatures() : array<string|int, mixed>
- Récupère toutes les fonctionnalités disponibles
- getPlanName() : string|null
- Récupère le nom du plan d'abonnement
- getSubscriptionEndDate() : DateTime|null
- Récupère la date de fin d'abonnement
- getTrialEndDate() : DateTime|null
- Récupère la date de fin de la période d'essai
- hasAccess() : bool
- Vérifie si l'utilisateur a accès au système
- hasFeature() : bool
- Vérifie si une fonctionnalité spécifique est disponible
- hasFeatureByCode() : bool
- Vérifie si une fonctionnalité spécifique est disponible par son code
- isTrial() : bool
- Vérifie si l'utilisateur est en période d'essai
- fetchFeaturesFromApi() : void
- Récupère les fonctionnalités depuis l'API
- initialize() : void
- Initialise le service en récupérant les fonctionnalités disponibles
- isExemptRequest() : bool
- Vérifie si la requête actuelle est exemptée de la vérification des fonctionnalités
- loadFromSession() : bool
- Charge les données depuis la session
- saveToSession() : void
- Sauvegarde les données dans la session
Constants
EXEMPT_API_PATH_PREFIXES
private
mixed
EXEMPT_API_PATH_PREFIXES
= ['/api/point_of_sale/' => ['GET'], '/api/users/point_of_sale/' => ['GET'], '/api/users/' => ['GET']]
EXEMPT_API_PATHS
private
mixed
EXEMPT_API_PATHS
= ['/api/config_apps' => ['POST'], '/api/users' => ['POST'], '/api/point_of_sale' => ['POST']]
SESSION_CACHE_VERSION
private
mixed
SESSION_CACHE_VERSION
= 2
Properties
$businessApiUrl
private
string
$businessApiUrl
$features
private
array<string|int, mixed>
$features
= []
$hasAccess
private
bool
$hasAccess
= false
$httpClient
private
HttpClientInterface
$httpClient
$isInitialized
private
bool
$isInitialized
= false
$isTrial
private
bool
$isTrial
= false
$logger
private
LoggerInterface
$logger
$parameterBag
private
ParameterBagInterface
$parameterBag
$planName
private
string|null
$planName
= null
$requestStack
private
RequestStack
$requestStack
$security
private
Security
$security
$subscriptionEndDate
private
DateTime|null
$subscriptionEndDate
= null
$trialEndDate
private
DateTime|null
$trialEndDate
= null
Methods
__construct()
public
__construct(HttpClientInterface $httpClient, ParameterBagInterface $parameterBag, RequestStack $requestStack, Security $security, LoggerInterface $logger) : mixed
Parameters
- $httpClient : HttpClientInterface
- $parameterBag : ParameterBagInterface
- $requestStack : RequestStack
- $security : Security
- $logger : LoggerInterface
getFeatures()
Récupère toutes les fonctionnalités disponibles
public
getFeatures() : array<string|int, mixed>
Return values
array<string|int, mixed>getPlanName()
Récupère le nom du plan d'abonnement
public
getPlanName() : string|null
Return values
string|nullgetSubscriptionEndDate()
Récupère la date de fin d'abonnement
public
getSubscriptionEndDate() : DateTime|null
Return values
DateTime|nullgetTrialEndDate()
Récupère la date de fin de la période d'essai
public
getTrialEndDate() : DateTime|null
Return values
DateTime|nullhasAccess()
Vérifie si l'utilisateur a accès au système
public
hasAccess() : bool
Return values
boolhasFeature()
Vérifie si une fonctionnalité spécifique est disponible
public
hasFeature(string $featureName) : bool
Parameters
- $featureName : string
Return values
boolhasFeatureByCode()
Vérifie si une fonctionnalité spécifique est disponible par son code
public
hasFeatureByCode(string $featureCode) : bool
Parameters
- $featureCode : string
Return values
boolisTrial()
Vérifie si l'utilisateur est en période d'essai
public
isTrial() : bool
Return values
boolfetchFeaturesFromApi()
Récupère les fonctionnalités depuis l'API
private
fetchFeaturesFromApi(int $pointOfSaleId) : void
Parameters
- $pointOfSaleId : int
initialize()
Initialise le service en récupérant les fonctionnalités disponibles
private
initialize() : void
isExemptRequest()
Vérifie si la requête actuelle est exemptée de la vérification des fonctionnalités
private
isExemptRequest() : bool
Return values
boolloadFromSession()
Charge les données depuis la session
private
loadFromSession([bool $allowStale = false ]) : bool
Parameters
- $allowStale : bool = false
Return values
bool —True si les données ont été chargées avec succès
saveToSession()
Sauvegarde les données dans la session
private
saveToSession() : void