forked from OpenBankProject/OBP-API
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMappedRegulatedEntitiyProvider.scala
More file actions
136 lines (122 loc) · 5.11 KB
/
Copy pathMappedRegulatedEntitiyProvider.scala
File metadata and controls
136 lines (122 loc) · 5.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
package code.regulatedentities
import code.util.MappedUUID
import com.openbankproject.commons.model.{RegulatedEntityTrait,RegulatedEntityAttributeSimple}
import net.liftweb.common.Box
import net.liftweb.common.Box.tryo
import net.liftweb.mapper._
import scala.concurrent.Future
object MappedRegulatedEntityProvider extends RegulatedEntityProvider {
def getRegulatedEntities(): List[RegulatedEntityTrait] = {
MappedRegulatedEntity.findAll()
}
override def getRegulatedEntityByEntityId(entityId: String): Box[RegulatedEntityTrait] = {
MappedRegulatedEntity.find(By(MappedRegulatedEntity.EntityId, entityId))
}
override def createRegulatedEntity(certificateAuthorityCaOwnerId: Option[String],
entityCertificatePublicKey: Option[String],
entityName: Option[String],
entityCode: Option[String],
entityType: Option[String],
entityAddress: Option[String],
entityTownCity: Option[String],
entityPostCode: Option[String],
entityCountry: Option[String],
entityWebSite: Option[String],
services: Option[String]
): Box[RegulatedEntityTrait] = {
tryo {
val entity = MappedRegulatedEntity.create
certificateAuthorityCaOwnerId match {
case Some(v) => entity.CertificateAuthorityCaOwnerId(v)
case None =>
}
entityCertificatePublicKey match {
case Some(v) => entity.EntityCertificatePublicKey(v)
case None =>
}
entityName match {
case Some(v) => entity.EntityName(v)
case None =>
}
entityCode match {
case Some(v) => entity.EntityCode(v)
case None =>
}
entityType match {
case Some(v) => entity.EntityType(v)
case None =>
}
entityAddress match {
case Some(v) => entity.EntityAddress(v)
case None =>
}
entityTownCity match {
case Some(v) => entity.EntityTownCity(v)
case None =>
}
entityPostCode match {
case Some(v) => entity.EntityPostCode(v)
case None =>
}
entityCountry match {
case Some(v) => entity.EntityCountry(v)
case None =>
}
entityWebSite match {
case Some(v) => entity.EntityWebSite(v)
case None =>
}
services match {
case Some(v) => entity.Services(v)
case None =>
}
if (entity.validate.isEmpty) {
entity.saveMe()
} else {
throw new Error(entity.validate.map(_.msg.toString()).mkString(";"))
}
}
}
override def deleteRegulatedEntity(id: String): Box[Boolean] = {
tryo(
MappedRegulatedEntity.bulkDelete_!!(By(MappedRegulatedEntity.EntityId, id))
)
}
}
class MappedRegulatedEntity extends RegulatedEntityTrait with LongKeyedMapper[MappedRegulatedEntity] with IdPK {
override def getSingleton = MappedRegulatedEntity
object EntityId extends MappedUUID(this)
object CertificateAuthorityCaOwnerId extends MappedString(this, 256)
object EntityName extends MappedString(this, 256)
object EntityCode extends MappedString(this, 50)
object EntityCertificatePublicKey extends MappedText(this)
object EntityType extends MappedString(this, 50)
object EntityAddress extends MappedString(this, 256)
object EntityTownCity extends MappedString(this, 50)
object EntityPostCode extends MappedString(this, 50)
object EntityCountry extends MappedString(this, 50)
object EntityWebSite extends MappedString(this, 256)
object Services extends MappedText(this)
override def entityId: String = EntityId.get
override def certificateAuthorityCaOwnerId: String = CertificateAuthorityCaOwnerId.get
override def entityName: String = EntityName.get
override def entityCode: String = EntityCode.get
override def entityCertificatePublicKey: String = EntityCertificatePublicKey.get
override def entityType: String = EntityType.get
override def entityAddress: String = EntityAddress.get
override def entityTownCity: String = EntityTownCity.get
override def entityPostCode: String = EntityPostCode.get
override def entityCountry: String = EntityCountry.get
override def entityWebSite: String = EntityWebSite.get
override def services: String = Services.get
// override def attributes: Option[List[RegulatedEntityAttributeSimple]] = Some(List(RegulatedEntityAttributeSimple(
// attributeType="attributeTypeExample.value",
// name="attributeNameExample.value",
// value="attributeValueExample.value")
// ))
override def attributes: Option[List[RegulatedEntityAttributeSimple]] = None //not for mapped mode yet, will add it later.
}
object MappedRegulatedEntity extends MappedRegulatedEntity with LongKeyedMetaMapper[MappedRegulatedEntity] {
override def dbTableName = "RegulatedEntity" // define the DB table name
override def dbIndexes = Index(CertificateAuthorityCaOwnerId) :: super.dbIndexes
}