package com.hepl.tunefortwo.mapper;

import com.hepl.tunefortwo.dto.UserDTO;
import com.hepl.tunefortwo.entity.UserStatus;
import com.hepl.tunefortwo.entity.Users;
import javax.annotation.processing.Generated;
import org.springframework.stereotype.Component;

@Generated(
    value = "org.mapstruct.ap.MappingProcessor",
    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.12 (Ubuntu)"
)
@Component
public class UserMapperImpl implements UserMapper {

    @Override
    public Users toUserEntity(UserDTO userReqDTO) {
        if ( userReqDTO == null ) {
            return null;
        }

        Users users = new Users();

        users.setId( userReqDTO.getId() );
        users.setUserId( userReqDTO.getUserId() );
        users.setUsername( userReqDTO.getUsername() );
        users.setMobile( userReqDTO.getMobile() );
        users.setEmail( userReqDTO.getEmail() );
        users.setRoleId( userReqDTO.getRoleId() );
        users.setPassword( userReqDTO.getPassword() );
        users.setProfilePhotoPath( userReqDTO.getProfilePhotoPath() );
        if ( userReqDTO.getStatus() != null ) {
            users.setStatus( Enum.valueOf( UserStatus.class, userReqDTO.getStatus() ) );
        }

        users.setCreatedDate( java.time.LocalDateTime.now() );
        users.setUpdatedDate( java.time.LocalDateTime.now() );

        return users;
    }
}
