Formation Coder avec l’IA

Le bouton « Appeler le suivant » en temps réel

Le geste central du commerçant : un clic appelle le client suivant, la liste se met à jour en direct sur tous les écrans.

Module 5 · Les fonctionnalités qui font vendre

Réservé aux abonnés

Objectif du chapitre

Sur /dashboard/[queueId], le commerçant voit sa file en direct et appelle le suivant en un clic. Deux onglets ouverts restent synchronisés. Durée : 1 h 15 · 85 % pratique.

Prérequis : la page publique (chapitre 16).

Le tableau de bord du commerçant : appel du suivant, file en direct, bouton protégé contre le double clic.
Le tableau de bord du commerçant : appel du suivant, file en direct, bouton protégé contre le double clic.

Étape 1 : appeler le suivant, côté base

create or replace function public.call_next(p_queue_id uuid)
returns int
language plpgsql security invoker set search_path = public as $$
declare v_number int;
begin
  update public.tickets set status = 'called', called_at = now()
  where id = (
    select id from public.tickets
    where queue_id = p_queue_id and status = 'waiting'
    order by number limit 1
    for update skip locked)
  returning number into v_number;
  return v_number;
end $$;

alter publication supabase_realtime add table public.tickets;

security invoker : la fonction s’exécute avec les droits du commerçant connecté, donc la RLS s’applique. Impossible d’appeler le suivant dans la file d’un autre.

La suite de cette leçon est réservée aux abonnés

Les 3 premières leçons de chaque formation sont gratuites. Débloquez la suite pour continuer.