refactor/put the props to Constant -api

This commit is contained in:
hongwei 2025-06-11 14:21:01 +02:00
parent afe6eaa838
commit 0c4bcba737
15 changed files with 93 additions and 102 deletions

View File

@ -223,10 +223,10 @@ object OAuth2Login extends RestHelper with MdcLoggable {
def wellKnownOpenidConfiguration: URI
def urlOfJwkSets: Box[String] = APIUtil.getPropsValue(nameOfProperty = "oauth2.jwk_set.url")
def urlOfJwkSets: Box[String] = Constant.oauth2JwkSetUrl
def checkUrlOfJwkSets(identityProvider: String) = {
val url: List[String] = APIUtil.getPropsValue(nameOfProperty = "oauth2.jwk_set.url").toList
val url: List[String] = Constant.oauth2JwkSetUrl.toList
val jwksUris: List[String] = url.map(_.toLowerCase()).map(_.split(",").toList).flatten
val jwksUri = jwksUris.filter(_.contains(identityProvider))
jwksUri match {
@ -473,7 +473,7 @@ object OAuth2Login extends RestHelper with MdcLoggable {
override def wellKnownOpenidConfiguration: URI = new URI("")
def isIssuer(jwt: String): Boolean = {
val url: List[String] = APIUtil.getPropsValue(nameOfProperty = "oauth2.jwk_set.url").toList
val url: List[String] = Constant.oauth2JwkSetUrl.toList
val jwksUris: List[String] = url.map(_.toLowerCase()).map(_.split(",").toList).flatten
jwksUris.exists( url => JwtUtil.validateAccessToken(jwt, url).isDefined)
}

View File

@ -22,7 +22,9 @@ object Constant extends MdcLoggable {
final val h2DatabaseDefaultUrlValue = "jdbc:h2:mem:OBPTest_H2_v2.1.214;NON_KEYWORDS=VALUE;DB_CLOSE_DELAY=10"
def HostName = APIUtil.getPropsValue("hostname").openOrThrowException(ErrorMessages.HostnameNotSpecified)
final val HostName = APIUtil.getPropsValue("hostname").openOrThrowException(ErrorMessages.HostnameNotSpecified)
final val Connector = APIUtil.getPropsValue("connector")
final val openidConnectEnabled = APIUtil.getPropsAsBoolValue("openid_connect.enabled", false)
final val ApiInstanceId = {
val apiInstanceIdFromProps = APIUtil.getPropsValue("api_instance_id")
@ -37,7 +39,14 @@ object Constant extends MdcLoggable {
}
}
def localIdentityProvider = APIUtil.getPropsValue("local_identity_provider", HostName)
final val localIdentityProvider = APIUtil.getPropsValue("local_identity_provider", HostName)
final val mailUsersUserinfoSenderAddress = APIUtil.getPropsValue("mail.users.userinfo.sender.address", "sender-not-set")
final val oauth2JwkSetUrl = APIUtil.getPropsValue(nameOfProperty = "oauth2.jwk_set.url")
final val consumerDefaultLogoUrl = APIUtil.getPropsValue("consumer_default_logo_url")
final val serverMode = APIUtil.getPropsValue("server_mode", "apis,portal")
// This is the part before the version. Do not change this default!
final val ApiPathZero = APIUtil.getPropsValue("apiPathZero", ApiStandards.obp.toString)

View File

@ -26,22 +26,19 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api
import java.net.HttpURLConnection
import code.api.OAuth2Login.Hydra
import code.api.util.APIUtil._
import code.api.util.{APIUtil, AfterApiAuth, ErrorMessages, JwtUtil}
import code.consumer.Consumers
import code.loginattempts.LoginAttempt
import code.model.{AppType, Consumer}
import code.model.dataAccess.AuthUser
import code.model.{AppType, Consumer}
import code.snippet.OpenIDConnectSessionState
import code.token.{OpenIDConnectToken, TokensOpenIDConnect}
import code.users.Users
import code.util.Helper.{MdcLoggable, ObpS}
import code.util.Helper.MdcLoggable
import com.openbankproject.commons.model.User
import com.openbankproject.commons.util.{ApiVersion, ApiVersionStatus}
import javax.net.ssl.HttpsURLConnection
import net.liftweb.common._
import net.liftweb.http._
import net.liftweb.json
@ -50,6 +47,9 @@ import net.liftweb.mapper.By
import net.liftweb.util.Helpers
import net.liftweb.util.Helpers._
import java.net.HttpURLConnection
import javax.net.ssl.HttpsURLConnection
/**
* This object provides the API calls necessary to authenticate
* users using OpenIdConnect (http://openid.net).
@ -66,7 +66,7 @@ case class OpenIdConnectConfig(client_secret: String,
)
object OpenIdConnectConfig {
lazy val openIDConnectEnabled = APIUtil.getPropsAsBoolValue("openid_connect.enabled", false)
lazy val openIDConnectEnabled = code.api.Constant.openidConnectEnabled
def getProps(props: String): String = {
APIUtil.getPropsValue(props).getOrElse("")
}

View File

@ -2707,7 +2707,7 @@ object APIUtil extends MdcLoggable with CustomJsonFormats{
else
false
}
APIUtil.getPropsValue("server_mode", "apis,portal") match {
code.api.Constant.serverMode match {
case mode if mode == "portal" => false
case mode if mode == "apis" => checkVersion
case mode if mode.contains("apis") && mode.contains("portal") => checkVersion
@ -3467,7 +3467,7 @@ object APIUtil extends MdcLoggable with CustomJsonFormats{
)= createOBPId(s"$thisBankId$thisAccountId$counterpartyName$otherAccountRoutingScheme$otherAccountRoutingAddress")
def isDataFromOBPSide (methodName: String, argNameToValue: Array[(String, AnyRef)] = Array.empty): Boolean = {
val connectorNameInProps = APIUtil.getPropsValue("connector").openOrThrowException(attemptedToOpenAnEmptyBox)
val connectorNameInProps = code.api.Constant.Connector.openOrThrowException(attemptedToOpenAnEmptyBox)
//if the connector == mapped, then the data is always over obp database
if(connectorNameInProps == "mapped") {
true

View File

@ -302,7 +302,7 @@ object BerlinGroupSigning extends MdcLoggable {
redirectURL = None,
createdByUserId = None,
certificate = None,
logoUrl = APIUtil.getPropsValue("consumer_default_logo_url")
logoUrl = code.api.Constant.consumerDefaultLogoUrl
)
// Set or update certificate

View File

@ -11,9 +11,9 @@ import com.nimbusds.jwt.{EncryptedJWT, JWTClaimsSet}
import net.liftweb.util.Props
import java.io.{FileInputStream, IOException}
import java.security._
import java.security.cert.{Certificate, CertificateException, X509Certificate}
import java.security.interfaces.{RSAPrivateKey, RSAPublicKey}
import java.security._
object CryptoSystem extends Enumeration {
@ -26,14 +26,18 @@ object CertificateUtil extends MdcLoggable {
// your-at-least-256-bit-secret
val sharedSecret: String = ApiPropsWithAlias.jwtTokenSecret
final val jkspath = APIUtil.getPropsValue("keystore.path").getOrElse("")
final val jkspasswd = APIUtil.getPropsValue("keystore.password").getOrElse(APIUtil.initPasswd)
final val keypasswd = APIUtil.getPropsValue("keystore.passphrase").getOrElse(APIUtil.initPasswd)
final val alias = APIUtil.getPropsValue("keystore.alias").getOrElse("")
lazy val (publicKey: RSAPublicKey, privateKey: RSAPrivateKey) = APIUtil.getPropsAsBoolValue("jwt.use.ssl", false) match {
case true =>
getKeyPair(
jkspath = APIUtil.getPropsValue("keystore.path").getOrElse(""),
jkspasswd = APIUtil.getPropsValue("keystore.password").getOrElse(APIUtil.initPasswd),
keypasswd = APIUtil.getPropsValue("keystore.passphrase").getOrElse(APIUtil.initPasswd),
alias = APIUtil.getPropsValue("keystore.alias").getOrElse("")
jkspath = jkspath,
jkspasswd = jkspasswd,
keypasswd = keypasswd,
alias = alias
)
case false =>
val keyPair = buildKeyPair(CryptoSystem.RSA)

View File

@ -26,17 +26,17 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v1_2_1
import java.util.Date
import code.api.util.APIUtil
import net.liftweb.common.{Box, Full}
import code.model._
import code.api.util.APIUtil._
import code.model._
import com.openbankproject.commons.model._
import com.openbankproject.commons.util.ApiVersion
import net.liftweb.common.{Box, Full}
import net.liftweb.json.Extraction
import net.liftweb.json.JsonAST.JValue
import java.util.Date
case class APIInfoJSON(
version : String,
version_status: String,
@ -371,7 +371,7 @@ object JSONFactory{
val phone = APIUtil.getPropsValue("hosted_by.phone", "+49 (0)30 8145 3994")
val organisationWebsite = APIUtil.getPropsValue("organisation_website", "https://www.tesobe.com")
val connector = APIUtil.getPropsValue("connector").openOrThrowException("no connector set")
val connector = code.api.Constant.Connector.openOrThrowException("no connector set")
val hostedBy = new HostedBy(organisation, email, phone, organisationWebsite)
val apiInfoJSON = new APIInfoJSON(apiVersion.vDottedApiVersion, apiVersionStatus, gitCommit, connector, hostedBy)

View File

@ -1,14 +1,10 @@
package code.api.v3_1_0
import code.api.Constant
import code.api.Constant.{SYSTEM_OWNER_VIEW_ID, localIdentityProvider}
import java.text.SimpleDateFormat
import java.util.UUID
import java.util.regex.Pattern
import code.api.Constant.localIdentityProvider
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON._
import code.api.ResourceDocs1_4_0.{MessageDocsSwaggerDefinitions, ResourceDocsAPIMethodsUtil, SwaggerDefinitionsJSON, SwaggerJSONFactory}
import code.api.cache.{Caching, Redis}
import code.api.cache.Caching
import code.api.util.APIUtil.{getWebUIPropsPairs, _}
import code.api.util.ApiRole._
import code.api.util.ApiTag._
@ -22,23 +18,21 @@ import code.api.v1_2_1.{JSONFactory, RateLimiting}
import code.api.v1_4_0.JSONFactory1_4_0
import code.api.v2_0_0.CreateMeetingJson
import code.api.v2_1_0._
import code.api.v2_2_0.{CreateAccountJSONV220, JSONFactory220}
import code.api.v3_0_0.{CreateViewJsonV300, JSONFactory300}
import code.api.v3_0_0.JSONFactory300.createAdapterInfoJson
import code.api.v3_0_0.{CreateViewJsonV300, JSONFactory300}
import code.api.v3_1_0.JSONFactory310._
import code.bankconnectors.rest.RestConnector_vMar2019
import code.bankconnectors.{Connector, LocalMappedConnector}
import code.consent.{ConsentRequests, ConsentStatus, Consents, MappedConsent}
import code.consent.{ConsentStatus, Consents, MappedConsent}
import code.consumer.Consumers
import code.context.UserAuthContextUpdateProvider
import code.entitlement.Entitlement
import code.loginattempts.LoginAttempt
import code.methodrouting.{MethodRouting, MethodRoutingCommons, MethodRoutingParam, MethodRoutingT}
import code.methodrouting.{MethodRouting, MethodRoutingCommons, MethodRoutingParam}
import code.metrics.APIMetrics
import code.model._
import code.model.dataAccess.{AuthUser, BankAccountCreation}
import code.ratelimiting.RateLimitingDI
import code.userlocks.{UserLocks, UserLocksProvider}
import code.userlocks.UserLocksProvider
import code.users.Users
import code.util.Helper
import code.util.Helper.ObpS
@ -47,29 +41,27 @@ import code.views.system.ViewDefinition
import code.webhook.AccountWebhook
import code.webuiprops.{MappedWebUiPropsProvider, WebUiPropsCommons}
import com.github.dwickern.macros.NameOf.nameOf
import com.openbankproject.commons.model.enums.{AccountAttributeType, CardAttributeType, ProductAttributeType, StrongCustomerAuthentication}
import com.openbankproject.commons.model.{CreditLimit, Product, _}
import com.openbankproject.commons.util.{ApiVersion, ReflectUtils}
import net.liftweb.common.{Box, Empty, Full}
import net.liftweb.http.S
import net.liftweb.http.provider.HTTPParam
import net.liftweb.http.rest.RestHelper
import net.liftweb.json._
import net.liftweb.util.Helpers.tryo
import net.liftweb.mapper.By
import net.liftweb.util.Mailer.{From, PlainMailBodyType, Subject, To}
import net.liftweb.util.{Helpers, Mailer, Props, StringHelpers}
import org.apache.commons.lang3.{StringUtils, Validate}
import scala.collection.immutable.{List, Nil}
import scala.collection.mutable.ArrayBuffer
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.dto.GetProductsParam
import com.openbankproject.commons.model._
import com.openbankproject.commons.model.enums.{AccountAttributeType, CardAttributeType, ProductAttributeType, StrongCustomerAuthentication}
import com.openbankproject.commons.util.{ApiVersion, ReflectUtils}
import net.liftweb.common.{Box, Empty, Full}
import net.liftweb.http.provider.HTTPParam
import net.liftweb.http.rest.RestHelper
import net.liftweb.json
import net.liftweb.json.JsonAST.JValue
import net.liftweb.json._
import net.liftweb.mapper.By
import net.liftweb.util.Helpers.tryo
import net.liftweb.util.{Helpers, Props, StringHelpers}
import org.apache.commons.lang3.{StringUtils, Validate}
import java.text.SimpleDateFormat
import java.util.UUID
import java.util.regex.Pattern
import scala.collection.immutable.{List, Nil}
import scala.collection.mutable.ArrayBuffer
import scala.concurrent.Future
import scala.util.Random
trait APIMethods310 {
self: RestHelper =>
@ -1878,7 +1870,7 @@ trait APIMethods310 {
cc => implicit val ec = EndpointContext(Some(cc))
for {
(_, callContext) <- anonymousAccess(cc)
connectorVersion = APIUtil.getPropsValue("connector").openOrThrowException("connector props field `connector` not set")
connectorVersion = code.api.Constant.Connector.openOrThrowException("connector props field `connector` not set")
starConnectorProps = APIUtil.getPropsValue("starConnector_supported_types").openOr("notfound")
//TODO we need to decide what kind of connector should we use.
obpApiLoopback = ObpApiLoopback(

View File

@ -26,24 +26,20 @@
*/
package code.api.v4_0_0
import java.text.SimpleDateFormat
import java.util.Date
import code.api.Constant
import code.api.attributedefinition.AttributeDefinition
import code.api.util.{APIUtil, CallContext, NewStyle}
import code.api.util.APIUtil.{DateWithDay, DateWithSeconds, gitCommit, stringOptionOrNull, stringOrNull}
import code.api.util.{APIUtil, CallContext, NewStyle}
import code.api.v1_2_1.JSONFactory.{createAmountOfMoneyJSON, createOwnersJSON}
import code.api.v1_2_1.{BankRoutingJsonV121, JSONFactory, UserJSONV121, ViewJSONV121}
import code.api.v1_4_0.JSONFactory1_4_0.{LocationJsonV140, MetaJsonV140, TransactionRequestAccountJsonV140, transformToLocationFromV140, transformToMetaFromV140}
import code.api.v2_0_0.JSONFactory200.UserJsonV200
import code.api.v2_0_0.{CreateEntitlementJSON, EntitlementJSONs, JSONFactory200, TransactionRequestChargeJsonV200}
import code.api.v2_1_0.{CounterpartyIdJson, IbanJson, JSONFactory210, PostCounterpartyBespokeJson, ResourceUserJSON, TransactionRequestBodyCounterpartyJSON}
import code.api.v2_1_0._
import code.api.v2_2_0.CounterpartyMetadataJson
import code.api.v3_0_0.JSONFactory300._
import code.api.v3_0_0._
import code.api.v3_1_0.JSONFactory310.{createAccountAttributeJson, createProductAttributesJson}
import code.api.v3_1_0.{AccountAttributeResponseJson, CustomerJsonV310, JSONFactory310, PostHistoricalTransactionResponseJson, ProductAttributeResponseWithoutBankIdJson, RedisCallLimitJson}
import code.api.v3_1_0._
import code.apicollection.ApiCollectionTrait
import code.apicollectionendpoint.ApiCollectionEndpointTrait
import code.atms.Atms.Atm
@ -53,20 +49,18 @@ import code.loginattempts.LoginAttempt
import code.model.dataAccess.ResourceUser
import code.model.{Consumer, ModeratedBankAccount, ModeratedBankAccountCore}
import code.ratelimiting.RateLimiting
import com.openbankproject.commons.model.StandingOrderTrait
import code.userlocks.UserLocks
import code.users.{UserAgreement, UserAttribute, UserInvitation}
import code.views.system.AccountAccess
import code.webhook.{AccountWebhook, BankAccountNotificationWebhookTrait, SystemAccountNotificationWebhookTrait}
import code.webhook.{BankAccountNotificationWebhookTrait, SystemAccountNotificationWebhookTrait}
import com.openbankproject.commons.model._
import com.openbankproject.commons.model.enums.ChallengeType
import com.openbankproject.commons.model.{DirectDebitTrait, ProductFeeTrait, _}
import com.openbankproject.commons.util.ApiVersion
import net.liftweb.common.{Box, Full}
import net.liftweb.json.JValue
import net.liftweb.mapper.By
import scala.collection.immutable.List
import scala.math.BigDecimal
import java.text.SimpleDateFormat
import java.util.Date
import scala.util.Try
case class CallLimitPostJsonV400(
@ -1113,7 +1107,7 @@ object JSONFactory400 {
val organisationWebsiteEnergySource = APIUtil.getPropsValue("energy_source.organisation_website", "")
val energySource = new EnergySource400(organisationEnergySource, organisationWebsiteEnergySource)
val connector = APIUtil.getPropsValue("connector").openOrThrowException("no connector set")
val connector = code.api.Constant.Connector.openOrThrowException("no connector set")
val resourceDocsRequiresRole = APIUtil.getPropsAsBoolValue("resource_docs_requires_role", false)
APIInfoJson400(

View File

@ -26,9 +26,6 @@
*/
package code.api.v5_0_0
import java.lang
import java.util.Date
import code.api.Constant
import code.api.util.APIUtil
import code.api.util.APIUtil.{gitCommit, nullToString, stringOptionOrNull, stringOrNull}
@ -38,16 +35,17 @@ import code.api.v1_3_0.{PinResetJSON, ReplacementJSON}
import code.api.v1_4_0.JSONFactory1_4_0.{CustomerFaceImageJson, MetaJsonV140}
import code.api.v2_1_0.CustomerCreditRatingJSON
import code.api.v3_0_0.{CustomerAttributeResponseJsonV300, JSONFactory300}
import code.api.v3_1_0.{AccountBasicV310,PostConsentEntitlementJsonV310}
import code.api.v4_0_0.{APIInfoJson400, BankAttributeBankResponseJsonV400, EnergySource400, HostedAt400, HostedBy400}
import code.api.v3_1_0.{AccountBasicV310, PostConsentEntitlementJsonV310}
import code.api.v4_0_0._
import code.consent.ConsentRequest
import com.openbankproject.commons.model.{CustomerAccountLinkTrait,BankAttributeTrait}
import com.openbankproject.commons.model.{AccountAttribute, AccountRoutingJsonV121, AmountOfMoneyJsonV121, Bank, BankAccount, CardAttribute, CreateViewJson, Customer, CustomerAttribute, InboundAdapterInfoInternal,
InboundStatusMessage, PhysicalCardTrait, UpdateViewJSON, User, UserAuthContext, UserAuthContextUpdate, View, ViewBasic}
import com.openbankproject.commons.model._
import com.openbankproject.commons.util.ApiVersion
import net.liftweb.json.JsonAST.JValue
import net.liftweb.util.Helpers
import java.lang
import java.util.Date
case class PostBankJson500(
id: Option[String],
bank_code: String,
@ -560,7 +558,7 @@ object JSONFactory500 {
val organisationWebsiteEnergySource = APIUtil.getPropsValue("energy_source.organisation_website", "")
val energySource = new EnergySource400(organisationEnergySource, organisationWebsiteEnergySource)
val connector = APIUtil.getPropsValue("connector").openOrThrowException("no connector set")
val connector = code.api.Constant.Connector.openOrThrowException("no connector set")
val resourceDocsRequiresRole = APIUtil.getPropsAsBoolValue("resource_docs_requires_role", false)
APIInfoJson400(

View File

@ -968,7 +968,7 @@ object JSONFactory510 extends CustomJsonFormats {
val organisationWebsiteEnergySource = APIUtil.getPropsValue("energy_source.organisation_website", "")
val energySource = EnergySource400(organisationEnergySource, organisationWebsiteEnergySource)
val connector = APIUtil.getPropsValue("connector").openOrThrowException("no connector set")
val connector = code.api.Constant.Connector.openOrThrowException("no connector set")
val resourceDocsRequiresRole = APIUtil.getPropsAsBoolValue("resource_docs_requires_role", false)
APIInfoJsonV510(

View File

@ -80,7 +80,7 @@ object Connector extends SimpleInjector {
val connector = new Inject(buildOne _) {}
def buildOne: Connector = {
val connectorProps = APIUtil.getPropsValue("connector").openOrThrowException("connector props field not set")
val connectorProps = code.api.Constant.Connector.openOrThrowException("connector props field not set")
getConnectorInstance(connectorProps)
}

View File

@ -1,8 +1,7 @@
package code.loginattempts
import code.api.util.APIUtil
import code.userlocks.{UserLocks, UserLocksProvider}
import code.users.Users
import code.userlocks.UserLocksProvider
import code.util.Helper.MdcLoggable
import net.liftweb.common.{Box, Empty, Full}
import net.liftweb.mapper.By
@ -10,7 +9,7 @@ import net.liftweb.util.Helpers._
object LoginAttempt extends MdcLoggable {
def maxBadLoginAttempts = APIUtil.getPropsValue("max.bad.login.attempts") openOr "5"
final val maxBadLoginAttempts = APIUtil.getPropsValue("max.bad.login.attempts") openOr "5"
def incrementBadLoginAttempts(provider: String, username: String): Unit = {
username.isEmpty() match {

View File

@ -26,17 +26,15 @@ TESOBE (http://www.tesobe.com/)
*/
package code.model.dataAccess
import java.util.UUID.randomUUID
import code.api.util.CommonFunctions.validUri
import code.UserRefreshes.UserRefreshes
import code.accountholders.AccountHolders
import code.api.cache.Caching
import code.api.dynamic.endpoint.helper.DynamicEndpointHelper
import code.api.util.APIUtil._
import code.api.util.CommonFunctions.validUri
import code.api.util.ErrorMessages._
import code.api.util._
import code.api.{APIFailure, Constant, DirectLogin, GatewayLogin, OAuthHandshake}
import code.api._
import code.bankconnectors.Connector
import code.context.UserAuthContextProvider
import code.entitlement.Entitlement
@ -46,29 +44,26 @@ import code.token.TokensOpenIDConnect
import code.users.{UserAgreementProvider, Users}
import code.util.Helper
import code.util.Helper.{MdcLoggable, ObpS}
import code.util.HydraUtil._
import code.views.Views
import code.webuiprops.MappedWebUiPropsProvider.getWebUiPropsValue
import com.openbankproject.commons.ExecutionContext.Implicits.global
import com.openbankproject.commons.model._
import com.tesobe.CacheKeyFromArguments
import net.liftweb.common._
import net.liftweb.http.S.fmapFunc
import net.liftweb.http._
import net.liftweb.mapper._
import net.liftweb.sitemap.Loc.{If, LocParam, Template}
import net.liftweb.util.Mailer.{BCC, From, Subject, To}
import net.liftweb.util._
import scala.collection.immutable.List
import scala.xml.{Elem, NodeSeq, Text}
import com.openbankproject.commons.ExecutionContext.Implicits.global
import code.webuiprops.MappedWebUiPropsProvider.getWebUiPropsValue
import org.apache.commons.lang3.StringUtils
import code.util.HydraUtil._
import com.github.dwickern.macros.NameOf.nameOf
import com.tesobe.CacheKeyFromArguments
import sh.ory.hydra.model.AcceptLoginRequest
import net.liftweb.http.S.fmapFunc
import net.liftweb.sitemap.Loc.{If, LocParam, Template}
import sh.ory.hydra.api.AdminApi
import net.liftweb.sitemap.Loc.strToFailMsg
import sh.ory.hydra.model.AcceptLoginRequest
import java.util.UUID.randomUUID
import scala.concurrent.Future
import scala.xml.{Elem, NodeSeq, Text}
/**
* An O-R mapped "User" class that includes first name, last name, password
@ -424,12 +419,12 @@ import net.liftweb.util.Helpers._
/**Marking the locked state to show different error message */
val usernameLockedStateCode = Long.MaxValue
val connector = APIUtil.getPropsValue("connector").openOrThrowException("no connector set")
val connector = code.api.Constant.Connector.openOrThrowException("no connector set")
val starConnectorSupportedTypes = APIUtil.getPropsValue("starConnector_supported_types","")
override def dbIndexes: List[BaseIndex[AuthUser]] = UniqueIndex(username, provider) ::super.dbIndexes
override def emailFrom = APIUtil.getPropsValue("mail.users.userinfo.sender.address", "sender-not-set")
override def emailFrom = Constant.mailUsersUserinfoSenderAddress
override def screenWrap = Full(<lift:surround with="default" at="content"><lift:bind /></lift:surround>)
// define the order fields will appear in forms and output

View File

@ -216,7 +216,7 @@ class MappedTransaction extends LongKeyedMapper[MappedTransaction] with IdPK wit
}
def toTransaction : Option[Transaction] = {
APIUtil.getPropsValue("connector") match {
code.api.Constant.Connector match {
case Full("akka_vDec2018") =>
for {
acc <- getBankAccountCommon(theBankId, theAccountId, None).map(_._1)