ca.shiftfocus.krispii.core.services

ProjectService

Related Doc: package services

trait ProjectService extends Service[Fail]

Linear Supertypes
Service[Fail], Lifting[Fail], Serialized, FutureMonad, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ProjectService
  2. Service
  3. Lifting
  4. Serialized
  5. FutureMonad
  6. AnyRef
  7. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. case class CommonTaskArgs(taskId: UUID, version: Long, name: Option[String], description: Option[String], position: Option[Int], notesAllowed: Option[Boolean], dependencyId: Option[UUID] = None, partId: Option[UUID] = None) extends Product with Serializable

Abstract Value Members

  1. abstract val authService: AuthService

  2. abstract def create(courseId: UUID, name: String, slug: String, description: String, availability: String): Future[\/[Fail, Project]]

  3. abstract def createPart(projectId: UUID, name: String, position: Int): Future[\/[Fail, Part]]

  4. abstract def createTask(partId: UUID, taskType: Int, name: String, description: String, position: Int, dependencyId: Option[UUID] = None): Future[\/[Fail, Task]]

  5. abstract val db: DB

    Database connection (pool).

    Database connection (pool). Services will take connections from this pool when making repository calls.

    Definition Classes
    Service
  6. abstract def delete(id: UUID, version: Long): Future[\/[Fail, Project]]

  7. abstract def deletePart(partId: UUID, version: Long): Future[\/[Fail, Part]]

  8. abstract def deleteTask(taskId: UUID, version: Long): Future[\/[Fail, Task]]

  9. abstract def find(projectSlug: String, userId: UUID, fetchParts: Boolean): Future[\/[Fail, Project]]

  10. abstract def find(projectId: UUID, userId: UUID, fetchParts: Boolean): Future[\/[Fail, Project]]

  11. abstract def find(projectSlug: String, fetchParts: Boolean): Future[\/[Fail, Project]]

  12. abstract def find(id: UUID, fetchParts: Boolean): Future[\/[Fail, Project]]

  13. abstract def find(projectSlug: String, userId: UUID): Future[\/[Fail, Project]]

  14. abstract def find(projectId: UUID, userId: UUID): Future[\/[Fail, Project]]

  15. abstract def find(projectSlug: String): Future[\/[Fail, Project]]

  16. abstract def find(id: UUID): Future[\/[Fail, Project]]

  17. abstract def findNowTask(userId: UUID, projectId: UUID): Future[\/[Fail, Task]]

  18. abstract def findPart(partId: UUID, fetchTasks: Boolean = true): Future[\/[Fail, Part]]

  19. abstract def findTask(projectSlug: String, partNum: Int, taskNum: Int): Future[\/[Fail, Task]]

  20. abstract def findTask(taskId: UUID): Future[\/[Fail, Task]]

  21. abstract def list(courseId: UUID): Future[\/[Fail, IndexedSeq[Project]]]

  22. abstract def list: Future[\/[Fail, IndexedSeq[Project]]]

  23. abstract def listPartsInComponent(componentId: UUID): Future[\/[Fail, IndexedSeq[Part]]]

  24. abstract def listProjectsByTeacher(userId: UUID): Future[\/[Fail, IndexedSeq[Project]]]

  25. abstract def listProjectsByUser(userId: UUID): Future[\/[Fail, IndexedSeq[Project]]]

  26. abstract def moveTask(partId: UUID, taskId: UUID, newPosition: Int): Future[\/[Fail, Task]]

  27. abstract val partRepository: PartRepository

  28. abstract val projectRepository: ProjectRepository

  29. abstract def reorderParts(projectId: UUID, partIds: IndexedSeq[UUID]): Future[\/[Fail, Project]]

  30. abstract val schoolService: SchoolService

  31. abstract val taskRepository: TaskRepository

  32. abstract def togglePart(partId: UUID, version: Long): Future[\/[Fail, Part]]

  33. abstract def updateInfo(id: UUID, version: Long, courseId: Option[UUID], name: Option[String], description: Option[String], availability: Option[String]): Future[\/[Fail, Project]]

  34. abstract def updateLongAnswerTask(commonArgs: CommonTaskArgs): Future[\/[Fail, Task]]

  35. abstract def updateMatchingTask(commonArgs: CommonTaskArgs, elementsLeft: Option[IndexedSeq[String]] = Some(IndexedSeq()), elementsRight: Option[IndexedSeq[String]] = Some(IndexedSeq()), answer: Option[IndexedSeq[Match]] = Some(IndexedSeq()), randomizeChoices: Option[Boolean] = Some(true)): Future[\/[Fail, Task]]

  36. abstract def updateMultipleChoiceTask(commonArgs: CommonTaskArgs, choices: Option[IndexedSeq[String]] = Some(IndexedSeq()), answer: Option[IndexedSeq[Int]] = Some(IndexedSeq()), allowMultiple: Option[Boolean] = Some(false), randomizeChoices: Option[Boolean] = Some(true)): Future[\/[Fail, Task]]

  37. abstract def updateOrderingTask(commonArgs: CommonTaskArgs, elements: Option[IndexedSeq[String]] = Some(IndexedSeq()), answer: Option[IndexedSeq[Int]] = Some(IndexedSeq()), randomizeChoices: Option[Boolean] = Some(true)): Future[\/[Fail, Task]]

  38. abstract def updatePart(partId: UUID, version: Long, name: Option[String], position: Option[Int], enabled: Option[Boolean]): Future[\/[Fail, Part]]

  39. abstract def updateShortAnswerTask(commonArgs: CommonTaskArgs, maxLength: Option[Int]): Future[\/[Fail, Task]]

  40. abstract def updateSlug(id: UUID, version: Long, slug: String): Future[\/[Fail, Project]]

  41. abstract def userHasProject(userId: UUID, projectSlug: String): Future[\/[Fail, Boolean]]

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  5. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. implicit def eitherRunner[B](eithert: EitherT[Future, Fail, B]): Future[\/[Fail, B]]

    Definition Classes
    Lifting
  7. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. implicit val futureMonad: Monad[Future]

    Definition Classes
    FutureMonad
  11. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  12. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  13. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  14. def lift[B]: (Future[\/[Fail, B]]) ⇒ EitherT[Future, Fail, B]

    Definition Classes
    Lifting
  15. def liftSeq[B](fIntermediate: Future[IndexedSeq[\/[Fail, B]]])(implicit ec: ExecutionContext): EitherT[Future, Fail, IndexedSeq[B]]

    Definition Classes
    Lifting
  16. def liftSeq[B](interList: IndexedSeq[Future[\/[Fail, B]]])(implicit ec: ExecutionContext): EitherT[Future, Fail, IndexedSeq[B]]

    Definition Classes
    Lifting
  17. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  18. final def notify(): Unit

    Definition Classes
    AnyRef
  19. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  20. def predicate(fCondition: Future[Boolean])(fail: Fail)(implicit ec: ExecutionContext): EitherT[Future, Fail, Unit]

    Definition Classes
    Lifting
  21. def predicate(condition: Boolean)(fail: Fail): EitherT[Future, Fail, Unit]

    Definition Classes
    Lifting
  22. def serialized[E, R, L[E] <: IndexedSeq[E]](collection: L[E])(fn: (E) ⇒ Future[R])(implicit ec: ExecutionContext): Future[IndexedSeq[R]]

    Definition Classes
    Serialized
  23. def serializedT[E, R, L[E] <: IndexedSeq[E]](collection: L[E])(fn: (E) ⇒ Future[\/[Fail, R]])(implicit ec: ExecutionContext): Future[\/[Fail, IndexedSeq[R]]]

    Definition Classes
    Lifting
  24. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  25. def toString(): String

    Definition Classes
    AnyRef → Any
  26. def transactional[A](f: (Connection) ⇒ Future[A]): Future[A]

    Takes a function that returns a future, and runs it inside a database transaction.

    Takes a function that returns a future, and runs it inside a database transaction.

    Definition Classes
    Service
  27. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Service[Fail]

Inherited from Lifting[Fail]

Inherited from Serialized

Inherited from FutureMonad

Inherited from AnyRef

Inherited from Any

Ungrouped