POPIAService
in package
POPIA Service.
Manages POPIA/GDPR privacy compliance flags.
Table of Contents
Constants
- FLAG_TYPES = ['personal_info' => 'Personal Information', 'sensitive' => 'Sensitive Personal Data', 'children' => 'Children\'s Data', 'health' => 'Health Information', 'biometric' => 'Biometric Data', 'criminal' => 'Criminal Records', 'financial' => 'Financial Information', 'political' => 'Political Opinions', 'religious' => 'Religious Beliefs', 'sexual' => 'Sexual Orientation']
- Flag types for personal data.
- SEVERITIES = ['low' => ['label' => 'Low', 'color' => 'info'], 'medium' => ['label' => 'Medium', 'color' => 'warning'], 'high' => ['label' => 'High', 'color' => 'danger'], 'critical' => ['label' => 'Critical', 'color' => 'dark']]
- Severity levels.
Methods
- createFlag() : int
- Create POPIA flag.
- deleteFlag() : bool
- Delete flag.
- getAllUnresolvedFlags() : array<string|int, mixed>
- Get all unresolved flags (admin dashboard).
- getHighestSeverity() : string|null
- Get highest severity for object.
- getObjectFlags() : Collection
- Get flags for object.
- getStats() : array<string|int, mixed>
- Get POPIA statistics.
- getUnresolvedFlags() : Collection
- Get unresolved flags for object.
- hasFlags() : bool
- Check if object has any POPIA flags.
- resolveFlag() : bool
- Resolve POPIA flag.
- updateFlag() : bool
- Update flag.
Constants
FLAG_TYPES
Flag types for personal data.
public
mixed
FLAG_TYPES
= ['personal_info' => 'Personal Information', 'sensitive' => 'Sensitive Personal Data', 'children' => 'Children\'s Data', 'health' => 'Health Information', 'biometric' => 'Biometric Data', 'criminal' => 'Criminal Records', 'financial' => 'Financial Information', 'political' => 'Political Opinions', 'religious' => 'Religious Beliefs', 'sexual' => 'Sexual Orientation']
SEVERITIES
Severity levels.
public
mixed
SEVERITIES
= ['low' => ['label' => 'Low', 'color' => 'info'], 'medium' => ['label' => 'Medium', 'color' => 'warning'], 'high' => ['label' => 'High', 'color' => 'danger'], 'critical' => ['label' => 'Critical', 'color' => 'dark']]
Methods
createFlag()
Create POPIA flag.
public
createFlag(array<string|int, mixed> $data) : int
Parameters
- $data : array<string|int, mixed>
Return values
intdeleteFlag()
Delete flag.
public
deleteFlag(int $id) : bool
Parameters
- $id : int
Return values
boolgetAllUnresolvedFlags()
Get all unresolved flags (admin dashboard).
public
getAllUnresolvedFlags([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed> = []
Return values
array<string|int, mixed>getHighestSeverity()
Get highest severity for object.
public
getHighestSeverity(int $objectId) : string|null
Parameters
- $objectId : int
Return values
string|nullgetObjectFlags()
Get flags for object.
public
getObjectFlags(int $objectId) : Collection
Parameters
- $objectId : int
Return values
CollectiongetStats()
Get POPIA statistics.
public
getStats() : array<string|int, mixed>
Return values
array<string|int, mixed>getUnresolvedFlags()
Get unresolved flags for object.
public
getUnresolvedFlags(int $objectId) : Collection
Parameters
- $objectId : int
Return values
CollectionhasFlags()
Check if object has any POPIA flags.
public
hasFlags(int $objectId) : bool
Parameters
- $objectId : int
Return values
boolresolveFlag()
Resolve POPIA flag.
public
resolveFlag(int $id, int $resolvedBy[, string|null $notes = null ]) : bool
Parameters
- $id : int
- $resolvedBy : int
- $notes : string|null = null
Return values
boolupdateFlag()
Update flag.
public
updateFlag(int $id, array<string|int, mixed> $data) : bool
Parameters
- $id : int
- $data : array<string|int, mixed>