/home/ivoiecob/email.hirewise-va.com/modules/ActivityHistory/Manager.php
<?php
/**
* This code is licensed under AGPLv3 license or Afterlogic Software License
* if commercial version of the product was purchased.
* For full statements of the licenses see LICENSE-AFTERLOGIC and LICENSE-AGPL3 files.
*/
namespace Aurora\Modules\ActivityHistory;
use Aurora\Modules\ActivityHistory\Models\ActivityHistory;
/**
* @license https://www.gnu.org/licenses/agpl-3.0.html AGPL-3.0
* @license https://afterlogic.com/products/common-licensing Afterlogic Software License
* @copyright Copyright (c) 2023, Afterlogic Corp.
*
* @property Module $oModule
*/
class Manager extends \Aurora\System\Managers\AbstractManager
{
public function __construct(\Aurora\System\Module\AbstractModule $oModule = null)
{
parent::__construct($oModule);
}
/**
* @param int $UserId
* @param string $ResourceType
* @param string $ResourceId
* @param string $IpAddress
* @param string $Action
* @param int $Time
* @param string $GuestPublicId
* @return string|bool
*/
public function Create($UserId, $ResourceType, $ResourceId, $IpAddress, $Action, $Time, $GuestPublicId)
{
return ActivityHistory::create([
'UserId' => $UserId,
'ResourceType' => $ResourceType,
'ResourceId' => $ResourceId,
'IpAddress' => $IpAddress,
'Action' => $Action,
'Timestamp' => $Time,
'GuestPublicId' => $GuestPublicId
]);
}
/**
* @param int $UserId
*
* @return array|bool
*/
public function GetListByUserId($UserId)
{
return ActivityHistory::where('UserId', $UserId)->get();
}
public function DeleteActivityHistory($iId)
{
$bResult = false;
try {
$bResult = !!ActivityHistory::find($iId)->delete();
} catch (\Aurora\System\Exceptions\BaseException $oException) {
$this->setLastException($oException);
}
return $bResult;
}
/**
* @param int $UserId
* @param string $ResourceType
* @param string $ResourceId
* @param int $Offset
* @param int $Limit
*
* @return array|bool
*/
public function GetList($UserId, $ResourceType, $ResourceId, $Offset, $Limit)
{
$oQuery = ActivityHistory::where([
['UserId', '=', $UserId],
['ResourceType', '=', $ResourceType],
['ResourceId', '=', $ResourceId],
]);
if ($Offset > 0) {
$oQuery = $oQuery->offset($Offset);
}
if ($Limit > 0) {
$oQuery = $oQuery->limit($Limit);
}
return $oQuery->get();
}
/**
* @param int $UserId
* @param string $ResourceType
* @param string $ResourceId
*
* @return array|bool
*/
public function GetListCount($UserId, $ResourceType, $ResourceId)
{
return ActivityHistory::where([
['UserId', '=', $UserId],
['ResourceType', '=', $ResourceType],
['ResourceId', '=', $ResourceId],
])->count();
}
public function Delete($UserId, $ResourceType, $ResourceId)
{
return ActivityHistory::where([
['UserId', '=', $UserId],
['ResourceType', '=', $ResourceType],
['ResourceId', '=', $ResourceId],
])->delete();
}
}