aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuicommon/synchronization/db/SlickDataSource.scala
blob: 63514ec8b70adeb4aad650229b15bb08bdf2e045 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package xyz.driver.pdsuicommon.synchronization.db

import slick.dbio.DBIO

import scalaz.OptionT

trait SlickDataSource[T] {

  val isDictionary: Boolean = false

  /**
    * @return New entity
    */
  def create(x: T): DBIO[T]

  /**
    * @return Updated entity
    */
  def update(x: T): OptionT[DBIO, T]

  def delete(x: T): OptionT[DBIO, Unit]

}