NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
Onboarding for Laravel

Serializácia pre API

Flow::toArray() vytvorí štruktúru, ktorú môžete rovno odovzdať frontendu:

[
    'title' => 'Profile Onboarding',
    'percentage' => 50.0,
    'next_step' => [
        'key' => 'upload-photo',
        'title' => 'Upload Photo',
        'cta' => 'Upload Now',
        'action' => 'users@photo@upload',
        'is_completed' => false,
        'is_optional' => false,
        'meta' => [],
        'group' => null,
    ],
    'current_step' => [
        // same shape as next_step
    ],
    'is_completed' => false,
    'steps' => [
        // each step as ['key', 'title', 'cta', 'action', 'is_completed', 'is_optional', 'meta', 'group']
    ],
]

next_step a current_step nesú ten istý krok; oba sú null, keď už nezostáva žiadny nedokončený viditeľný krok. Názvy a CTA sú preložené texty.

Typované DTO

Typovaný ekvivalent vráti Flow::toData() ako DTO FlowData a Step::toData() ako StepData. Každé DTO je final readonly a implementuje Arrayable a JsonSerializable:

use RoundlyConsulting\Onboarding\DataTransferObjects\FlowData;

$data = Onboarding::for($user)?->toData();   // ?FlowData

$data?->title;          // ?string
$data?->percentage;     // float
$data?->currentStep;    // ?StepData — the same step as $data->nextStep
$data?->steps;          // list<StepData>
$data?->isCompleted;    // bool

$data?->currentStep?->key;      // 'upload-photo'
$data?->currentStep?->title;    // resolved title
DTOVlastnostiZdroj
FlowDatatitle, percentage, nextStep, currentStep, steps, isCompletedVracia ho Flow::toData().
StepDatakey, title, cta, action, isCompleted, isOptional, meta, groupVracia ho Step::toData(); title a cta sú preložené.
SectionDatakey, title, percentage, isCompleted, stepsVracajú ho sections(), groups() a section().

V API route

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use RoundlyConsulting\Onboarding\Facades\Onboarding;

Route::middleware('auth')->get('/api/onboarding', function (Request $request) {
    return response()->json(Onboarding::for($request->user())?->toData());
});

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.