public class LayananPendaftaran {

    private final GatewayNotifikasi notifikasi;

    public LayananPendaftaran(GatewayNotifikasi notifikasi) {
        this.notifikasi = notifikasi;
    }

    public String daftar(String nama, String email) {
        if (nama == null || nama.isBlank()) {
            throw new IllegalArgumentException("nama tidak boleh kosong");
        }
        if (email == null || !email.contains("@")) {
            throw new IllegalArgumentException("email tidak valid: " + email);
        }
        String id = "REG-" + nama.toUpperCase().replace(" ", "-");
        notifikasi.kirim(email, "Selamat datang, " + nama + "! ID Anda " + id + ".");
        return id;
    }
}
