====== DataRequestService ======
**Layer:** ''Service'' · **Source:** ''lib/service/DataRequestService.php:30'' (lines 30–390)
----
class DataRequestService
DataRequestService Class
Service layer for GDPR data requests (access, deletion)
======= Docblock Metadata =======
^ Tag ^ Value ^
| ''@category'' | Service Class |
| ''@author'' | Scriptlog |
| ''@license'' | MIT |
| ''@version'' | 1.0 |
| ''@since'' | Since Release 1.0 |
======= Inheritance =======
//No parent, interface or trait. This is a root type.//
======= Constants (0) =======
//None.//
======= Properties (8) =======
^ Visibility ^ Type ^ Name ^ Default ^ Line ^
| ''private'' | ''(untyped)'' | ''$dataRequestDao'' | | 36 |
| ''private'' | ''(untyped)'' | ''$privacyLogDao'' | | 42 |
| ''private'' | ''(untyped)'' | ''$sanitizer'' | | 48 |
| ''private'' | ''(untyped)'' | ''$notificationService'' | | 54 |
| ''private'' | ''(untyped)'' | ''$userService'' | | 60 |
| ''private'' | ''(untyped)'' | ''$userDao'' | | 66 |
| ''private'' | ''(untyped)'' | ''$commentDao'' | | 72 |
| ''private'' | ''(untyped)'' | ''$postDao'' | | 78 |
======= Methods (13) =======
^ Visibility ^ Method ^ Summary ^ Line ^
| public | ''__construct()'' | Constructor | 92 |
| public | ''createRequest()'' | Create a new data request | 112 |
| public | ''getAllRequests()'' | Get all requests | 153 |
| public | ''getPendingCount()'' | Get pending requests count | 163 |
| public | ''getTotalRequests()'' | Get total requests count | 173 |
| public | ''updateRequestStatus()'' | Update request status | 186 |
| public | ''exportUserData()'' | Export user data | 221 |
| public | ''deleteUserData()'' | Delete user data (anonymize) | 287 |
| private | ''getUserService()'' | Lazy-access the injected UserService, falling back to a fresh instance | 326 |
| private | ''getUserDao()'' | Lazy-access the injected UserDao, falling back to a fresh instance | 341 |
| private | ''getCommentDao()'' | Lazy-access the injected CommentDao, falling back to a fresh instance | 356 |
| private | ''getPostDao()'' | Lazy-access the injected PostDao, falling back to a fresh instance | 371 |
| private | ''validateEmail()'' | Validate email address | 386 |
======== __construct() ========
public function __construct(DataRequestDao $dataRequestDao, PrivacyLogDao $privacyLogDao, Sanitize $sanitizer, ?ConfigurationService $configService = null, ?UserService $userService = null, ?UserDao $userDao = null, ?CommentDao $commentDao = null, ?PostDao $postDao = null)
//lines 92–102 (11)//
Constructor
^ Parameter ^ Type ^ Default ^ Description ^
| ''$dataRequestDao'' | [[scriptlog:lib:dao:datarequestdao|''DataRequestDao'']] | //required// | //none// |
| ''$privacyLogDao'' | [[scriptlog:lib:dao:privacylogdao|''PrivacyLogDao'']] | //required// | //none// |
| ''$sanitizer'' | [[scriptlog:lib:core:sanitize|''Sanitize'']] | //required// | //none// |
| ''$configService'' | [[scriptlog:lib:service:configurationservice|''?ConfigurationService'']] | ''null'' | //none// |
| ''$userService'' | [[scriptlog:lib:service:userservice|''?UserService'']] | ''null'' | //none// |
| ''$userDao'' | [[scriptlog:lib:dao:userdao|''?UserDao'']] | ''null'' | //none// |
| ''$commentDao'' | [[scriptlog:lib:dao:commentdao|''?CommentDao'']] | ''null'' | //none// |
| ''$postDao'' | [[scriptlog:lib:dao:postdao|''?PostDao'']] | ''null'' | //none// |
======== createRequest() ========
public function createRequest($requestType, $email, $options = [])
//lines 112–146 (35)//
Create a new data request
^ Parameter ^ Type ^ Default ^ Description ^
| ''$requestType'' | ''(untyped)'' | //required// | //none// |
| ''$email'' | ''(untyped)'' | //required// | //none// |
| ''$options'' | ''(untyped)'' | ''[]'' | //none// |
**Returns:** ''(none declared)'' — int|bool
======== getAllRequests() ========
public function getAllRequests()
//lines 153–156 (4)//
Get all requests
//Takes no parameters.//
**Returns:** ''(none declared)'' — array
======== getPendingCount() ========
public function getPendingCount()
//lines 163–166 (4)//
Get pending requests count
//Takes no parameters.//
**Returns:** ''(none declared)'' — int
======== getTotalRequests() ========
public function getTotalRequests()
//lines 173–176 (4)//
Get total requests count
//Takes no parameters.//
**Returns:** ''(none declared)'' — int
======== updateRequestStatus() ========
public function updateRequestStatus($requestId, $status, $note = null)
//lines 186–212 (27)//
Update request status
^ Parameter ^ Type ^ Default ^ Description ^
| ''$requestId'' | ''(untyped)'' | //required// | //none// |
| ''$status'' | ''(untyped)'' | //required// | //none// |
| ''$note'' | ''(untyped)'' | ''null'' | //none// |
**Returns:** ''(none declared)'' — bool
======== exportUserData() ========
public function exportUserData($email, $options = [])
//lines 221–275 (55)//
Export user data
^ Parameter ^ Type ^ Default ^ Description ^
| ''$email'' | ''(untyped)'' | //required// | //none// |
| ''$options'' | ''(untyped)'' | ''[]'' | //none// |
**Returns:** ''(none declared)'' — array
======== deleteUserData() ========
public function deleteUserData($email)
//lines 287–318 (32)//
Delete user data (anonymize)
Delegates to UserService::removeUserWithAnonymization() so the erasure
machinery (comment anonymization, post reassignment, account removal)
is actually executed instead of only logging.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$email'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)'' — bool
======== getUserService() ========
private function getUserService()
//lines 326–333 (8)//
Lazy-access the injected UserService, falling back to a fresh instance
when none was provided (backward compatibility with existing callers).
//Takes no parameters.//
**Returns:** ''(none declared)'' — UserService
======== getUserDao() ========
private function getUserDao()
//lines 341–348 (8)//
Lazy-access the injected UserDao, falling back to a fresh instance
when none was provided (backward compatibility with existing callers).
//Takes no parameters.//
**Returns:** ''(none declared)'' — UserDao
======== getCommentDao() ========
private function getCommentDao()
//lines 356–363 (8)//
Lazy-access the injected CommentDao, falling back to a fresh instance
when none was provided (backward compatibility with existing callers).
//Takes no parameters.//
**Returns:** ''(none declared)'' — CommentDao
======== getPostDao() ========
private function getPostDao()
//lines 371–378 (8)//
Lazy-access the injected PostDao, falling back to a fresh instance
when none was provided (backward compatibility with existing callers).
//Takes no parameters.//
**Returns:** ''(none declared)'' — PostDao
======== validateEmail() ========
private function validateEmail($email)
//lines 386–389 (4)//
Validate email address
^ Parameter ^ Type ^ Default ^ Description ^
| ''$email'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)'' — bool
======= Imports =======
^ Alias ^ Fully-qualified name ^
| ''AppException'' | [[scriptlog:lib:core:appexception|''Scriptlog\Core\AppException'']] |
| ''FormValidator'' | [[scriptlog:lib:core:formvalidator|''Scriptlog\Core\FormValidator'']] |
| ''Sanitize'' | [[scriptlog:lib:core:sanitize|''Scriptlog\Core\Sanitize'']] |
| ''CommentDao'' | [[scriptlog:lib:dao:commentdao|''Scriptlog\Dao\CommentDao'']] |
| ''DataRequestDao'' | [[scriptlog:lib:dao:datarequestdao|''Scriptlog\Dao\DataRequestDao'']] |
| ''PostDao'' | [[scriptlog:lib:dao:postdao|''Scriptlog\Dao\PostDao'']] |
| ''PrivacyLogDao'' | [[scriptlog:lib:dao:privacylogdao|''Scriptlog\Dao\PrivacyLogDao'']] |
| ''UserDao'' | [[scriptlog:lib:dao:userdao|''Scriptlog\Dao\UserDao'']] |
| ''UserTokenDao'' | [[scriptlog:lib:dao:usertokendao|''Scriptlog\Dao\UserTokenDao'']] |
----
//This page is generated from source by 'tools/gendoc'. Edits will be overwritten.//