package com.infinite.focus.server.students;

import java.math.BigInteger;
import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

import com.infinite.focus.server.auth.Instructor;
import com.infinite.focus.server.auth.Student;
import com.infinite.focus.server.wall.WallPost;

//Handles CRUD operations for quotes table

@Repository
public interface ClassRepository extends JpaRepository<Class, Long> {

	@Query(value = "SELECT * FROM class WHERE instructor_id = ?1", nativeQuery = true)
	List<Class> findByInstructorId(Long instructor_id);

	@Query(value = "SELECT * FROM class WHERE class_name = ?1", nativeQuery = true)
	Class findByClassName(String class_name);
	
	@Query(value = "SELECT * FROM class WHERE class_name = ?1 AND instructor_id = ?2", nativeQuery = true)
	Class findByClassNameAndInstructorId(String class_name, Long instructor_id);
	
	@Query(value = "SELECT class_id FROM class WHERE class_name LIKE %?1%", nativeQuery = true)
	List<BigInteger> findClassIdsWhereClassNameLike(String class_name);
}