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

Pre stavbu API na správy alebo Inertia/SPA backendu sú pripravené JSON resources. Vystavujú len bezpečné polia, zobrazujú stav prečítania a údaje o odpovedi a korektne sa správajú, aj keď vzťahy nie sú prednačítané:

use RoundlyConsulting\Messages\Facades\Messages;
use RoundlyConsulting\Messages\Http\Resources\MessageResource;
use RoundlyConsulting\Messages\Http\Resources\ParticipantResource;
use RoundlyConsulting\Messages\Http\Resources\ThreadResource;

return ThreadResource::collection(Messages::inboxFor($request->user()));
return MessageResource::collection(Messages::thread($thread)->messages());

Polia

ResourcePolia
ThreadResourceid, name, is_direct, is_public, is_archived, last_activity_at, unread_count (ak je k dispozícii, napr. zo schránky), latest_message a participants (ak sú načítané).
MessageResourceid, thread_id, type, body (po zrušení odoslania null), preview, is_deleted, sender (participateAs(), ak je načítaný), reply_to (id, excerpt, sender_id, sender_type), sent_at, edited_at (len textové správy).
ParticipantResourceid, role, read_at, joined_at, participant (participateAs(), alebo id + type, ak model rozhranie neimplementuje).

ThreadResource spojte s Messages::inboxFor() — schránka už prednačíta všetko, čo resource číta, vrátane unread_count. Oba stránkovače sa riadia parametrom ?page= z požiadavky, takže meta.current_page aj links.next v obálke zostávajú zosúladené pre klienta s nekonečným posúvaním.

Prispôsobenie

Publikujte upraviteľné kópie — ThreadResource, MessageResource a ParticipantResource v App\Http\Resources\Messages (app/Http/Resources/Messages):

php artisan vendor:publish --tag="messages-resources"

Kým ich neupravíte, vykresľujú presne to isté ako resources balíka; vo svojich controlleroch ich používajte namiesto tried balíka. ThreadResource vykresľuje poslednú správu aj účastníkov tiež cez vaše kópie.

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.