package com.sn.sowsysrestapi.domain.repository;

import com.sn.sowsysrestapi.domain.entity.User;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

import java.util.Optional;

@Repository
public interface UserRepo extends CustomJpaRepository<User, Long> {//, UserPictureRepoQueries {

    Optional<User> findByUsernameIgnoreCase(String username);

    Optional<User> findByEmail(String email);

    @Query("from User u where u.userCode = :userCode")
    Optional<User> findByUserCode(String userCode);

    @Query("delete from User u where u.userCode = :userCode")
    void deleteByUserCode(String userCode);

    @Query("select u.userCode from User u where u.username = :username")
    String getUserCodeByUsername(String username);

//    @Query("select p from ProfilePicture p join p.user u where u.userCode = :userCode and p.ownerCode = :userCode")
//    Optional<ProfilePicture> findPictureByUserCode(String userCode);


}
