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/StorageBoxSubaccount.php
<?php

namespace GhostCompiler\Hetzner\StorageBox\DTOs;

class StorageBoxSubaccount
{
    public int $id;

    public string $name;

    public string $username;

    public ?string $description = null;

    public ?string $server = null;

    public string $homeDirectory;

    public array $accessSettings = [];

    public array $labels = [];

    public string $created;

    /**
     * Create a new DTO instance from array data.
     */
    public static function fromArray(array $data): self
    {
        $sub = new self;
        $sub->id = (int) ($data['id'] ?? 0);
        $sub->name = (string) ($data['name'] ?? '');
        $sub->username = (string) ($data['username'] ?? '');
        $sub->description = isset($data['description']) ? (string) $data['description'] : null;
        $sub->server = isset($data['server']) ? (string) $data['server'] : null;
        $sub->homeDirectory = (string) ($data['home_directory'] ?? '');
        $sub->accessSettings = (array) ($data['access_settings'] ?? []);
        $sub->labels = (array) ($data['labels'] ?? []);
        $sub->created = (string) ($data['created'] ?? '');

        return $sub;
    }
}