class SignupStartRequest {
  final String username;
  final String email;
  final String password;
  final String? inviteCode;

  const SignupStartRequest({
    required this.username,
    required this.email,
    required this.password,
    this.inviteCode,
  });

  Map<String, dynamic> toJson() => {
    'username': username,
    'email': email,
    'password': password,
    if (inviteCode != null) 'invite_code': inviteCode,
  };
}

class SignupVerifyRequest {
  final String email;
  final String token;

  const SignupVerifyRequest({required this.email, required this.token});

  Map<String, dynamic> toJson() => {'email': email, 'token': token};
}

class SignupResendRequest {
  final String email;

  const SignupResendRequest({required this.email});

  Map<String, dynamic> toJson() => {'email': email};
}
