Commit fe73e9fa authored by Yassine Doghri's avatar Yassine Doghri
Browse files

fix(platforms): add platforms service + reduce memory consumption when rendering platform cards

parent d4a36f81
Loading
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -39,7 +39,6 @@ class Button extends Component
            'warning'   => 'shadow-sm text-black bg-yellow-500 hover:bg-yellow-600',
            'info'      => 'shadow-sm text-white bg-blue-500 hover:bg-blue-600',
            'disabled'  => 'shadow-sm text-black bg-gray-300 cursor-not-allowed',
            'link'      => 'text-accent-base bg-transparent underline hover:no-underline',
        ];

        $sizeClass = [
+20 −0
Original line number Diff line number Diff line
<?php

declare(strict_types=1);

namespace Modules\Platforms\Config;

use CodeIgniter\Config\BaseService;
use Modules\Platforms\Platforms;

class Services extends BaseService
{
    public static function platforms(bool $getShared = true): Platforms
    {
        if ($getShared) {
            return self::getSharedInstance('platforms');
        }

        return new Platforms();
    }
}
+3 −4
Original line number Diff line number Diff line
@@ -14,7 +14,6 @@ namespace Modules\Platforms\Models;

use CodeIgniter\Model;
use Modules\Platforms\Entities\Platform;
use Modules\Platforms\Platforms;

class PlatformModel extends Model
{
@@ -55,7 +54,7 @@ class PlatformModel extends Model
    {
        $cacheName = "podcast#{$podcastId}_platforms_{$platformType}_withData";
        if (! ($found = cache($cacheName))) {
            $platforms = new Platforms();
            $platforms = service('platforms');

            $found = $this->getPlatforms($podcastId, $platformType);
            $platformsData = $platforms->getPlatformsByType($platformType);
@@ -95,7 +94,7 @@ class PlatformModel extends Model
    {
        $cacheName = "podcast#{$podcastId}_platforms_{$platformType}";
        if (! ($found = cache($cacheName))) {
            $platforms = new Platforms();
            $platforms = service('platforms');

            /** @var Platform[] $found */
            $found = $this
@@ -134,7 +133,7 @@ class PlatformModel extends Model
    {
        $this->clearCache($podcastId);

        $platforms = new Platforms();
        $platforms = service('platforms');

        $platformsData = $platforms->getPlatformsByType($platformType);

+1 −2
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@ use League\HTMLToMarkdown\HtmlConverter;
use Modules\Auth\Config\AuthGroups;
use Modules\Auth\Models\UserModel;
use Modules\Platforms\Models\PlatformModel;
use Modules\Platforms\Platforms;
use Modules\PodcastImport\Entities\PodcastImportTask;
use Modules\PodcastImport\Entities\TaskStatus;
use PodcastFeed\PodcastFeed;
@@ -390,7 +389,7 @@ class PodcastImport extends BaseCommand
            ],
        ];

        $platforms = new Platforms();
        $platforms = service('platforms');
        $platformModel = new PlatformModel();
        foreach ($platformTypes as $platformType) {
            $platformsData = [];
+2 −1
Original line number Diff line number Diff line
@@ -39,9 +39,10 @@ parameters:
            - Modules\PremiumPodcasts\Models\
        additionalServices:
            - CodeIgniter\Settings\Config\Services
            - CodeIgniter\Shield\Config\Services
            - Michalsn\Uuid\Config\Services
            - Modules\PremiumPodcasts\Config\Services
            - Modules\Media\Config\Services
            - CodeIgniter\Shield\Config\Services
            - Modules\Platforms\Config\Services
    ignoreErrors:
        - '#^Call to an undefined method CodeIgniter\\Cache\\CacheInterface\:\:deleteMatching\(\)#'
Loading