Skip to content
Snippets Groups Projects

Resolve "Backend code update"

Merged Lidiya Gelemeev requested to merge 4-backend-code-update into main
3 files
+ 8
45
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -9,12 +9,10 @@ use OCP\DB\Exception;
use OCP\IDBConnection;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCA\SccuotNC\Service\ConfigService;
use PDO;
class AccountsMapper extends ExtMapper {
const PREFERENCES_TABLE = 'preferences';
private ConfigService $configService;
private string $activeUsersFile = '/tmp/active_users.txt';
public function __construct(IDBConnection $db, int $chunkSize, ConfigService $configService ) {
parent::__construct($db, self::PREFERENCES_TABLE, $chunkSize);
@@ -22,23 +20,8 @@ class AccountsMapper extends ExtMapper {
}
public function queryTotalCount(string $state): int {
$deactivatedUsers = array_map('strval', $this->configService->config()->getUsersForUserValue('core', 'enabled', 'false'));
if ($state === 'false'){
return count($deactivatedUsers);
}
$qb = $this->db->getQueryBuilder();
$qb->select('uid')
->from('accounts');
$stmt = $qb->execute();
$result = $stmt->fetchAll(PDO::FETCH_COLUMN);
$stmt->closeCursor();
$result = array_map('strval', $result);
$activerUsers = array_diff($result, $deactivatedUsers);
$fileContent = implode(PHP_EOL, $activerUsers);
file_put_contents($this->activeUsersFile, $fileContent);
return count($result) - count($deactivatedUsers);
$users = $this->configService->config()->getUsersForUserValue('core', 'enabled', $state);
return count($users);
}
/**
@@ -62,7 +45,7 @@ class AccountsMapper extends ExtMapper {
* @throws \Exception
*/
public function queryUserStorages(): array {
$activeUsers = $this->getActiveUsersFromFile($this->activeUsersFile);
$activeUsers = $this->configService->config()->getUsersForUserValue('core', 'enabled', 'true');
$data = [
'storages' => []
];
@@ -93,7 +76,7 @@ class AccountsMapper extends ExtMapper {
}
public function queryUserQuotas($defaultQuotas) {
$activeUsers = $this->getActiveUsersFromFile($this->activeUsersFile);
$activeUsers = $this->configService->config()->getUsersForUserValue('core', 'enabled', 'true');
$data = [
'defaultQuotas' => $defaultQuotas,
'quotas' => []
@@ -138,16 +121,4 @@ class AccountsMapper extends ExtMapper {
return false;
}
/**
* @throws \Exception
*/
protected function getActiveUsersFromFile(string $filePath): array {
if (!file_exists($filePath)) {
throw new \Exception("Active users file not found at: {$filePath}");
}
$activeUsers = file($filePath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
return array_map('trim', $activeUsers); // Ensure no extra whitespace
}
}
Loading