package AppUser::Login::MFASMSForm;
use strict;
use warnings;

use lib '/app/tools/common/lib';
use Common::RSApp;
use Common::Consts;
use Common::MFA::Util;

use lib '/app/tools/appuser/lib';
use AppUser::DB::Item::User;
use AppUser::Login::Command::Select;

use Common::FormObject;
use base 'Common::FormObject';

sub _init {
    my ( $self, %args ) = @_;

    $self->SUPER::_init(%args);

    my $email;
    my $mfaType;
    my $masterUserID = Common::RSApp::GetMasterUserID();
    if ($masterUserID) {
        my $user = AppUser::DB::Item::User->Lookup( user_id => $masterUserID );
        if ( defined $user ) {
            $email   = $user->email;
            $mfaType = $user->mfa_type;
        }
    }

    $self->{Email}    = Common::FormObject::Scalar::EmailAddress->new( value => $email, required => 1 );
    $self->{MFAType}  = Common::FormObject::Scalar::String->new( value => $mfaType );
    $self->{Token}    = Common::FormObject::Scalar::String->new( required => 1 );
    $self->{Phone}    = Common::FormObject::Scalar::String->new( required => 1 );
    $self->{Redirect} = Common::FormObject::Scalar::String->new( value    => $args{redirect} );

    return $self;
}

# validate the user's 2FA
sub validate {
    my ($self) = @_;

    my $valid = $self->SUPER::validate();

    return $valid;
}

sub save {
    my ($self) = @_;
}

1;
