mirror of
https://github.com/OpenBankProject/OBP-API.git
synced 2026-02-06 17:17:09 +00:00
46 lines
1.5 KiB
Scala
46 lines
1.5 KiB
Scala
package code.dynamicMessageDoc
|
|
|
|
import java.net.URLDecoder
|
|
import com.openbankproject.commons.model.JsonFieldReName
|
|
import net.liftweb.common.Box
|
|
import net.liftweb.json.JsonAST.JValue
|
|
import net.liftweb.util.SimpleInjector
|
|
|
|
import scala.collection.immutable.List
|
|
|
|
object DynamicMessageDocProvider extends SimpleInjector {
|
|
|
|
val provider = new Inject(buildOne _) {}
|
|
|
|
def buildOne: MappedDynamicMessageDocProvider.type = MappedDynamicMessageDocProvider
|
|
}
|
|
|
|
case class JsonDynamicMessageDoc(
|
|
bankId: Option[String],
|
|
dynamicMessageDocId: Option[String],
|
|
process: String,
|
|
messageFormat: String,
|
|
description: String,
|
|
outboundTopic: String,
|
|
inboundTopic: String,
|
|
exampleOutboundMessage: JValue,
|
|
exampleInboundMessage: JValue,
|
|
outboundAvroSchema: String,
|
|
inboundAvroSchema: String,
|
|
adapterImplementation: String,
|
|
methodBody: String
|
|
) extends JsonFieldReName{
|
|
def decodedMethodBody: String = URLDecoder.decode(methodBody, "UTF-8")
|
|
}
|
|
|
|
trait DynamicMessageDocProvider {
|
|
|
|
def getById(bankId: Option[String], dynamicMessageDocId: String): Box[JsonDynamicMessageDoc]
|
|
def getByProcess(bankId: Option[String], process: String): Box[JsonDynamicMessageDoc]
|
|
def getAll(bankId: Option[String]): List[JsonDynamicMessageDoc]
|
|
|
|
def create(bankId: Option[String], entity: JsonDynamicMessageDoc): Box[JsonDynamicMessageDoc]
|
|
def update(bankId: Option[String], entity: JsonDynamicMessageDoc): Box[JsonDynamicMessageDoc]
|
|
def deleteById(bankId: Option[String], dynamicMessageDocId: String): Box[Boolean]
|
|
|
|
} |