Laravel Hetzner Storagebox

PHP MIT

Production-ready Laravel package for integrating Hetzner Storage Box into Laravel applications using the native Storage facade and filesystem API.

Stars
19
Forks
0
Downloads
2,357
Open Issues
0
Files main

Repository Files

Loading file structure...
src/DTOs/PaginationMeta.php
<?php

namespace GhostCompiler\Hetzner\StorageBox\DTOs;

class PaginationMeta
{
    public int $page;

    public int $perPage;

    public ?int $previousPage;

    public ?int $nextPage;

    public int $lastPage;

    public int $totalEntries;

    /**
     * Create a new DTO instance from array data.
     */
    public static function fromArray(array $data): self
    {
        $meta = new self;
        $meta->page = (int) ($data['page'] ?? 1);
        $meta->perPage = (int) ($data['per_page'] ?? 25);
        $meta->previousPage = isset($data['previous_page']) ? (int) $data['previous_page'] : null;
        $meta->nextPage = isset($data['next_page']) ? (int) $data['next_page'] : null;
        $meta->lastPage = (int) ($data['last_page'] ?? 1);
        $meta->totalEntries = (int) ($data['total_entries'] ?? 0);

        return $meta;
    }
}