You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
package controllers
import javax.inject.{Inject, Singleton}
import com.example.user.UserDAO import play.api.mvc._
import scala.concurrent.ExecutionContext import com.example.user.CarDAO import com.example.services.LibraryService import play.api.libs.json.Json import com.example.services.TaskLibraryService
case class UserForm(name: String) object UserForm { implicit val userFormFormat = Json.format[UserForm] }
@Singleton class HomeController @Inject() ( userDAO: UserDAO, carDAO: CarDAO, libraryService: LibraryService, taskLibraryService: TaskLibraryService, cc: ControllerComponents )(implicit ec: ExecutionContext) extends AbstractController(cc) {
def index = Action.async { userDAO.all.map { users => Ok(views.html.index(users)) } }
def cars = Action.async { carDAO.all.map { cars => Ok(views.html.cars(cars)) } }
def book = Action.async { // libraryService.findBookById(1).map(e => Ok(Json.toJson(e)))
// libraryService.insertBookAndAuthor(Book("new book"), Author(2, "Some retard"))
for { maybeBook <- libraryService.findBookById(1) } yield (Ok(Json.toJson(maybeBook))) }
def authors(bookId: Long) = Action.async { libraryService .getAuthorsForBook(bookId) .map(t => { Ok(Json.toJson(t)) }) }
def user = Action { Ok(Json.toJson(UserForm("hello"))) }
}
|