<?php

namespace App\Http\Controllers;

use App\Http\Resources\DefaultCollection;
use App\Models\Suscripciones;

class SuscripcionesController extends Controller
{
    public function index(): DefaultCollection
    {
        $size = request('page.size', 10);
        $page = request('page.number', 1);
        $columns = [
            'id',
            'name',
            'active',
            'updated_at',
        ];

        return DefaultCollection::make(
            Suscripciones::filterLike(request('filter', []))
                ->applySorts(request('sort'))
                ->selectFillable()
                ->fastPaginate(
                    perPage: $size,
                    columns: $columns,
                    page: $page,
                    pageName: 'page[number]',
                )
                ->appends(request()->only('sort', 'page.size', 'filter'))
        );
    }
}
