package com.walkguide.dto.request;

import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * Request untuk mengirim notifikasi "Incoming Call" ke pihak lain via FCM.
 * Dikirim setelah caller berhasil join Agora channel.
 */
@Data
public class CallNotifyRequest {

    /** ID user yang akan menerima panggilan (bisa Guardian atau User) */
    @NotNull(message = "receiverId wajib diisi")
    private Long receiverId;

    /**
     * Channel name Agora yang sudah digenerate dari /call/token.
     * Receiver harus join channel yang sama.
     */
    @NotNull(message = "channelName wajib diisi")
    private String channelName;

    /** Token Agora untuk receiver — dikirim lewat FCM payload */
    private String agoraToken;

    /** UID Agora untuk receiver */
    private int receiverUid;
}
