trait AppBase[User] extends WabaseAppCompat[User] with Loggable with QuereaseProvider with DbAccessProvider with I18n with RowWriters
- Self Type
- AppBase[User] with DbAccess with Authorization[User] with ValidationEngine with DbConstraintMessage with Audit[User]
- Source
- AppBase.scala
- Alphabetic
- By Inheritance
- AppBase
- RowWriters
- I18n
- DbAccessProvider
- QuereaseProvider
- Loggable
- WabaseAppCompat
- WabaseApp
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
type
ActionHandler = ((AppBase.this)#AppActionContext) ⇒ (AppBase.this)#ActionHandlerResult
- Definition Classes
- WabaseApp
-
type
ActionHandlerResult = QuereaseAction[(AppBase.this)#WabaseResult]
- Definition Classes
- WabaseApp
- trait AppListResult[+T] extends QuereaseIteratorResult[T]
- case class CreateContext[+T <: Dto](viewName: String, inParams: Map[String, Any] = Map(), user: User, state: ApplicationState = Map[String, Any](), result: T = null) extends (AppBase.this)#RequestContext[T] with Product with Serializable
- sealed abstract class Ext[-A] extends AnyRef
- implicit class FunctionMagnet[T] extends (AppBase.this)#Magnet
- sealed abstract class HExt[T] extends (AppBase.this)#Ext[T]
- case class ListContext[+T <: Dto](viewName: String, inParams: Map[String, Any] = Map(), offset: Int = 0, limit: Int = 0, orderBy: String = null, user: User, state: ApplicationState = Map[String, Any](), completePromise: Promise[Unit], doCount: Boolean = false, timeoutSeconds: QueryTimeout, poolName: PoolName, extraDbs: Seq[DbAccessKey], result: (AppBase.this)#AppListResult[T] = null, count: Long = -1) extends (AppBase.this)#RequestContext[(AppBase.this)#AppListResult[T]] with Product with Serializable
- sealed abstract class Magnet extends AnyRef
- case class RemoveContext[+T <: DtoWithId](viewName: String, id: Long, inParams: Map[String, Any] = Map(), user: User, completePromise: Promise[Unit], state: ApplicationState = Map[String, Any](), result: Long = -1, old: T = null) extends (AppBase.this)#RequestContext[Long] with Product with Serializable
- sealed trait RequestContext[+T] extends AnyRef
- case class SaveContext[+T <: Dto](viewName: String, old: T, obj: T, inParams: Map[String, Any] = Map(), user: User, completePromise: Promise[Long], state: ApplicationState = Map[String, Any](), extraPropsToSave: Map[String, Any] = Map(), result: Long = -1) extends (AppBase.this)#RequestContext[Long] with Product with Serializable
- case class ViewContext[+T <: Dto](viewName: String, id: Long, inParams: Map[String, Any] = Map(), user: User, state: ApplicationState = Map[String, Any](), result: Option[T] = null) extends (AppBase.this)#RequestContext[Option[T]] with Product with Serializable
- implicit class VoidFunctionMagnet[T] extends (AppBase.this)#FunctionMagnet[T]
-
trait
AbstractRowWriter extends RowWriter
- Definition Classes
- RowWriters
-
abstract
class
CsvRowWriter extends (RowWriters.this)#AbstractRowWriter
- Definition Classes
- RowWriters
-
class
JsonRowWriter[T] extends RowWriter
- Definition Classes
- RowWriters
-
abstract
class
OdsRowWriter extends (RowWriters.this)#AbstractRowWriter
- Definition Classes
- RowWriters
-
abstract
class
XlsXmlRowWriter extends (RowWriters.this)#AbstractRowWriter
- Definition Classes
- RowWriters
-
case class
AppActionContext(actionName: String, viewName: String, keyValues: Seq[Any], params: Map[String, Any], values: Map[String, Any], resultFilter: ResultFilter = null, oldValue: Map[String, Any] = null, serializedResult: Source[ByteString, _] = null)(implicit user: User, state: ApplicationState, ec: ExecutionContext, as: ActorSystem, appFs: AppFileStreamer[User], httpReq: HttpRequest) extends Product with Serializable
- Definition Classes
- WabaseApp
-
case class
WabaseResult(ctx: (WabaseApp.this)#AppActionContext, result: QuereaseResult) extends Product with Serializable
- Definition Classes
- WabaseApp
Abstract Value Members
-
abstract
def
initQuerease: AppQuerease
Override this method in subclass to initialize
Override this method in subclass to initialize
qe
- Attributes
- protected
- Definition Classes
- QuereaseProvider
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
val
I18nResourceName: String
Application default resource bundle.
Application default resource bundle. Subclass can override this value
- Definition Classes
- I18n
-
val
I18nWabaseResourceName: String
- Definition Classes
- I18n
-
val
SerializationBufferMaxFileSize: Long
- Definition Classes
- WabaseApp
-
val
SerializationBufferMaxFileSizes: Map[String, Long]
- Definition Classes
- WabaseApp
-
val
SerializationBufferSize: Int
- Definition Classes
- WabaseApp
-
def
addResultFilter(context: (AppBase.this)#AppActionContext): (AppBase.this)#AppActionContext
- Attributes
- protected
- Definition Classes
- WabaseApp
- def after(actions: (AppBase.this)#Magnet*): Unit
-
def
afterWabaseAction(context: (AppBase.this)#AppActionContext, result: Try[QuereaseResult]): Unit
- Attributes
- protected
- Definition Classes
- WabaseAppCompat → WabaseApp
- def api(implicit user: User): JsObject
- def apiMetadata(implicit user: User, state: ApplicationState): JsObject
- implicit def appStateToMap(state: ApplicationState): Map[String, Any]
-
def
applyReadonlyValues(viewDef: ViewDef, old: Map[String, Any], instance: Map[String, Any]): Map[String, Any]
- Attributes
- protected
- Definition Classes
- WabaseApp
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- def auth[C <: (AppBase.this)#RequestContext[_]](ctx: C, clazz: Class[_])(action: ⇒ C): C
-
val
autoTimeFieldNames: Set[String]
Names of date or time fields updated automatically on save
- def badEmailAddressErrorMessage(viewName: String, field: FieldDef, value: Any)(implicit locale: Locale): String
- def before(actions: (AppBase.this)#Magnet*): Unit
-
def
beforeWabaseAction(context: (AppBase.this)#AppActionContext, doApiCheck: Boolean): (AppBase.this)#AppActionContext
- Attributes
- protected
- Definition Classes
- WabaseApp
-
def
bundle(name: String)(implicit locale: Locale): ResourceBundle
- Definition Classes
- I18n
-
def
checkApi[F](viewName: String, method: String, user: User, keyValues: Seq[Any]): Unit
- Definition Classes
- WabaseApp
-
def
checkLimit(viewDef: ViewDef, limit: Int): Unit
- Attributes
- protected
- Definition Classes
- WabaseApp
-
def
checkOffset(viewDef: ViewDef, offset: Int): Unit
- Attributes
- protected
- Definition Classes
- WabaseApp
-
def
checkOrderBy(viewDef: ViewDef, orderBy: String): Unit
- Attributes
- protected
- Definition Classes
- WabaseApp
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
- def count(viewName: String, params: Map[String, Any])(implicit user: User, state: ApplicationState, timeoutSeconds: QueryTimeout, poolName: PoolName = ...): Long
- def create(viewName: String, params: Map[String, Any] = Map.empty)(implicit user: User, state: ApplicationState, timeoutSeconds: QueryTimeout, poolName: PoolName = ...): Dto
- def createCountResult[T <: Dto](ctx: (AppBase.this)#ListContext[T]): Long
- def createCreateCtx[T <: Dto](ctx: (AppBase.this)#CreateContext[T]): (AppBase.this)#CreateContext[T]
- def createCreateResult[T <: Dto](ctx: (AppBase.this)#CreateContext[T]): T
- def createDeleteCtx[T <: DtoWithId](ctx: (AppBase.this)#RemoveContext[T]): (AppBase.this)#RemoveContext[T]
- def createDeleteResult[T <: DtoWithId](ctx: (AppBase.this)#RemoveContext[T]): Long
- def createListCtx[T <: Dto](ctx: (AppBase.this)#ListContext[T]): (AppBase.this)#ListContext[T]
- def createListResult[T <: Dto](ctx: (AppBase.this)#ListContext[T]): (AppBase.this)#AppListResult[T]
- def createRaw(viewName: String, params: Map[String, Any] = Map.empty)(implicit user: User, state: ApplicationState, timeoutSeconds: QueryTimeout, poolName: PoolName): (AppBase.this)#CreateContext[Dto]
- def createSaveCtx[T <: Dto](ctx: (AppBase.this)#SaveContext[T]): (AppBase.this)#SaveContext[T]
- def createSaveResult[T <: Dto](ctx: (AppBase.this)#SaveContext[T]): Long
- def createViewCtx[T <: Dto](ctx: (AppBase.this)#ViewContext[T]): (AppBase.this)#ViewContext[T]
- def createViewResult[T <: Dto](ctx: (AppBase.this)#ViewContext[T]): Option[T]
- def currentUserParamNames: Set[String]
-
def
current_user_param(user: User): Map[String, Any]
Query parameter overrides related to current user, for example, user_id, person_id etc.
Query parameter overrides related to current user, for example, user_id, person_id etc. Override with something useful, like:
Option(user).map(u => Map("current_user_id" -> u.id)) getOrElse Map.empty
-
def
customValidations(ctx: (AppBase.this)#AppActionContext)(implicit locale: Locale): Unit
- Attributes
- protected
- Definition Classes
- WabaseAppCompat → WabaseApp
-
def
dbAccess: AppBase[User] with DbAccess with Authorization[User] with ValidationEngine with DbConstraintMessage with Audit[User]
- Definition Classes
- AppBase → DbAccessProvider
- def defaultCreate(ctx: (AppBase.this)#CreateContext[Dto]): (AppBase.this)#CreateContext[Dto]
- def defaultList(ctx: (AppBase.this)#ListContext[Dto]): (AppBase.this)#ListContext[Dto]
- def defaultRemove(ctx: (AppBase.this)#RemoveContext[DtoWithId]): (AppBase.this)#RemoveContext[DtoWithId]
- def defaultSave(ctx: (AppBase.this)#SaveContext[Dto]): (AppBase.this)#SaveContext[Dto]
- def defaultView(ctx: (AppBase.this)#ViewContext[Dto]): (AppBase.this)#ViewContext[Dto]
- def delete(viewName: String, id: Long, params: Map[String, Any] = Map())(implicit user: User, state: ApplicationState, timeoutSeconds: QueryTimeout, poolName: PoolName = ...): Long
-
def
delete(context: (AppBase.this)#AppActionContext): (AppBase.this)#ActionHandlerResult
- Definition Classes
- WabaseApp
-
def
doWabaseAction(action: (AppBase.this)#ActionHandler, context: (AppBase.this)#AppActionContext, doApiCheck: Boolean): Future[(AppBase.this)#WabaseResult]
- Attributes
- protected
- Definition Classes
- WabaseApp
-
def
doWabaseAction(context: (AppBase.this)#AppActionContext, doApiCheck: Boolean): Future[(AppBase.this)#WabaseResult]
- Attributes
- protected
- Definition Classes
- WabaseApp
-
def
doWabaseAction(actionName: String, viewName: String, keyValues: Seq[Any], params: Map[String, Any], values: Map[String, Any] = Map(), resultFilter: ResultFilter = null, doApiCheck: Boolean = true)(implicit user: User, state: ApplicationState, ec: ExecutionContext, as: ActorSystem, appFs: AppFileStreamer[User], httpReq: HttpRequest): Future[(AppBase.this)#WabaseResult]
- Definition Classes
- WabaseApp
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def extraMetadata(filter: FilterParameter)(implicit user: User): Map[String, JsValue]
- def extraMetadata(viewDef: ViewDef)(implicit user: User): Map[String, JsValue]
- def extraMetadata(fieldDef: FieldDef)(implicit user: User): Map[String, JsValue]
-
def
extractNamesFromOrderBy(orderBy: String): Seq[String]
- Attributes
- protected
- Definition Classes
- WabaseApp
- def fieldRequiredErrorMessage(viewName: String, field: FieldDef)(implicit locale: Locale): String
- def fieldValueNotInEnumErrorMessage(viewName: String, field: FieldDef, value: Any)(implicit locale: Locale): String
- def fieldValueTooLongErrorMessage(viewName: String, field: FieldDef, value: Any)(implicit locale: Locale): String
- def filterByHasRole(someRoles: Set[String], user: User): Set[String]
- def filterFieldLabel(name: String, colLabel: String, filterType: FilterType): FilterLabel
- def filterMetadata(view: ViewDef)(implicit user: User, state: ApplicationState): Map[String, JsValue]
- def filterParameters(view: ViewDef): Seq[FilterParameter]
- def filterToParameterNames(filter: FilterType): Seq[String]
- def filterToParameterNamesAndCols(filter: FilterType): Seq[(String, String)]
- def get(viewName: String, id: Long, params: Map[String, Any] = Map())(implicit user: User, state: ApplicationState, timeoutSeconds: QueryTimeout, poolName: PoolName = ...): Option[Dto]
-
def
getActionHandler(context: (AppBase.this)#AppActionContext): (AppBase.this)#ActionHandler
- Attributes
- protected
- Definition Classes
- WabaseApp
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
getOldValue(context: (AppBase.this)#AppActionContext): QuereaseAction[Map[String, Any]]
In subclass can place this method call in
In subclass can place this method call in
maybeGetOldValue
method maybeGetOldValue }}}
- Attributes
- protected
- Definition Classes
- WabaseApp
- def getRaw(viewName: String, id: Long, params: Map[String, Any] = Map())(implicit user: User, state: ApplicationState, timeoutSeconds: QueryTimeout, poolName: PoolName): (AppBase.this)#ViewContext[Dto]
-
def
hasLegacyHandlers(viewName: String, actionName: String): Boolean
- Attributes
- protected
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
implicit
lazy val
httpClients: WabaseHttpClients
- Definition Classes
- WabaseApp
-
def
i18nResourceDependencies: Map[String, String]
Application resource bundle dependencies.
Application resource bundle dependencies.
- Definition Classes
- I18n
-
def
i18nResources(implicit locale: Locale): I18Bundle
Calls
Calls
i18nResourcesFromBundle(ResourceName)
- Definition Classes
- I18n
-
def
i18nResourcesFromBundle(name: String)(implicit locale: Locale): I18Bundle
Returns resources as
Returns resources as
I18Bundle
.
I18Bundle }}}
- Definition Classes
- I18n
- def impliedIdForGetOverList[F](viewName: String): Option[Long]
-
def
initQuereaseIo: AppQuereaseIo[Dto]
- Attributes
- protected
- Definition Classes
- QuereaseProvider
-
def
injectionParametersFactory: InjectionParametersFactory
- Definition Classes
- WabaseApp
- def isEmailAddressField(viewName: String, field: FieldDef): Boolean
- def isEmailAddressTemplateViolated(viewName: String, field: FieldDef, value: Any): Boolean
- def isFieldRequiredViolated(viewName: String, field: FieldDef, value: Any): Boolean
- def isFieldValueEnumViolated(viewName: String, field: FieldDef, value: Any): Boolean
- def isFieldValueMaxLengthViolated(viewName: String, field: FieldDef, value: Any): Boolean
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isQuereaseActionDefined(viewName: String, actionName: String): Boolean
- Attributes
- protected
- def list(viewName: String, params: Map[String, Any], offset: Int = 0, limit: Int = 0, orderBy: String = null, doCount: Boolean = false)(implicit user: User, state: ApplicationState, timeoutSeconds: QueryTimeout, poolName: PoolName = ...): (AppBase.this)#AppListResult[Dto]
-
def
list(context: (AppBase.this)#AppActionContext): (AppBase.this)#ActionHandlerResult
- Definition Classes
- WabaseApp
- def listRaw(viewName: String, params: Map[String, Any], offset: Int = 0, limit: Int = 0, orderBy: String = null, doCount: Boolean = false)(implicit user: User, state: ApplicationState, timeoutSeconds: QueryTimeout, poolName: PoolName): (AppBase.this)#ListContext[Dto]
-
lazy val
logger: Logger
- Attributes
- protected
- Definition Classes
- Loggable
- implicit def mapToAppState(state: Map[String, Any]): ApplicationState
-
def
maybeGetOldValue(context: (AppBase.this)#AppActionContext): QuereaseAction[Map[String, Any]]
- Attributes
- protected
- Definition Classes
- WabaseApp
- def metadata(viewDef: ViewDef)(implicit user: User, state: ApplicationState): JsObject
- def metadata(viewName: String)(implicit user: User, state: ApplicationState): JsObject
- lazy val metadataVersionString: String
-
def
nameFromOrderByPart(orderByPart: String): String
- Attributes
- protected
- Definition Classes
- WabaseApp
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
noApiException(viewName: String, method: String, user: User): Exception
- Attributes
- protected
- Definition Classes
- WabaseApp
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def on(actions: (AppBase.this)#Magnet*): Unit
-
def
prepareKey(viewName: String, keyFields: Seq[FieldDef], keyValues: Seq[Any], actionName: String): Map[String, Any]
- Definition Classes
- WabaseApp
-
def
prepareKey(viewName: String, keyValues: Seq[Any], actionName: String): Map[String, Any]
- Definition Classes
- WabaseApp
-
def
prepareKeyValue(field: FieldDef, value: Any): Any
Converts key value from uri representation to appropriate type.
Converts key value from uri representation to appropriate type. Default implementation also converts "null" to null.
- Definition Classes
- WabaseApp
-
def
prepareSegments(viewName: String, segments: Seq[Segment], keyValues: Seq[Any], actionName: String): Map[String, Any]
- Definition Classes
- WabaseApp
-
implicit final
lazy val
qe: AppQuerease
- Definition Classes
- QuereaseProvider
-
implicit final
lazy val
qio: AppQuereaseIo[Dto]
- Definition Classes
- QuereaseProvider
-
def
resourceFactory(viewName: String, actionName: String): ResourcesFactory
- Definition Classes
- WabaseApp
-
def
resourceFactory(context: (AppBase.this)#AppActionContext): ResourcesFactory
- Definition Classes
- WabaseApp
- def rest[C <: (AppBase.this)#RequestContext[_]](ctx: C)(implicit mgr: (AppBase.this)#Ext[C], clazz: Class[_]): C
- implicit def rowLikeToDto[B <: Dto](r: RowLike, m: Manifest[B]): B
- def save(viewName: String, obj: JsObject, params: Map[String, Any] = Map(), emptyStringsToNull: Boolean = true)(implicit user: User, state: ApplicationState, timeoutSeconds: QueryTimeout, poolName: PoolName = ...): Long
-
def
save(context: (AppBase.this)#AppActionContext): (AppBase.this)#ActionHandlerResult
- Definition Classes
- WabaseApp
- def saveDto(instance: Dto, params: Map[String, Any] = Map(), emptyStringsToNull: Boolean = true, extraPropsToSave: Map[String, Any] = Map())(implicit user: User, state: ApplicationState, timeoutSeconds: QueryTimeout, poolName: PoolName = ...): Long
-
def
serializeResult(bufferSize: Int, maxFileSize: Long, result: Source[ByteString, _], cleanupFun: (Option[Throwable]) ⇒ Unit = null, resultCount: Int = 1)(implicit ec: ExecutionContext, mat: Materializer): Future[Seq[SerializedResult]]
Runs
Runs
src
via
FileBufferedFlow
of
bufferSize
with
maxFileSize
to
CheckCompletedSink
On FileBufferedFlow upstream finish calss cleanup function.
maxFileSize }}} On FileBufferedFlow upstream finish calss cleanup function.
bufferSize }}} On FileBufferedFlow upstream finish calss cleanup function.
FileBufferedFlow }}} On FileBufferedFlow upstream finish calss cleanup function.
src }}} On FileBufferedFlow upstream finish calss cleanup function.
- Definition Classes
- WabaseApp
-
def
shouldAddResultToContext(context: (AppBase.this)#AppActionContext): Boolean
Override to request serialized result source in AppActionContext, e.g., for auditing
Override to request serialized result source in AppActionContext, e.g., for auditing
- Attributes
- protected
- Definition Classes
- WabaseApp
-
def
simpleAction(context: (AppBase.this)#AppActionContext): (AppBase.this)#ActionHandlerResult
- Definition Classes
- WabaseApp
-
def
splitOrderBy(orderBy: String): Seq[String]
- Attributes
- protected
- Definition Classes
- WabaseApp
-
def
stableOrderBy(viewDef: ViewDef, orderBy: String): String
- Attributes
- protected
- Definition Classes
- WabaseApp
-
def
substitutedOrderBy(viewDef: ViewDef, orderBy: String): Seq[String]
- Attributes
- protected
- Definition Classes
- WabaseApp
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
throwOldValueNotFound(message: String, locale: Locale): Nothing
- Attributes
- protected
- Definition Classes
- WabaseApp
- implicit def toAppListResult[T <: Dto](list: Seq[T])(implicit arg0: Manifest[T]): (AppBase.this)#AppListResult[T]
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
translate(str: String, params: String*)(implicit locale: Locale): String
- Definition Classes
- I18n
-
def
translateFromBundle(name: String, str: String, params: String*)(implicit locale: Locale): String
- Definition Classes
- I18n
-
def
tresqlMetadata: TresqlMetadata
- Definition Classes
- WabaseApp
-
def
useLegacyFlow(viewName: String, actionName: String): Boolean
Override for legacy projects if necessary, isQuereaseActionDefined() and hasLegacyHandlers() may be helpful
- def validateFields(instance: Dto)(implicit state: ApplicationState): Unit
- def validateFields(viewName: String, instance: Map[String, Any])(implicit state: ApplicationState): Unit
- def validationErrorMessage(viewName: String, field: FieldDef, value: Any)(implicit locale: Locale): Option[String]
- lazy val viewNameToFilterMetadata: Map[String, Seq[FilterParameter]]
-
def
viewSerializationBufferMaxFileSize(viewName: String): Long
- Definition Classes
- WabaseApp
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- implicit object BList extends (AppBase.this)#HExt[(AppBase.this)#ListContext[Dto]]
- implicit object Create extends (AppBase.this)#HExt[(AppBase.this)#CreateContext[Dto]]
- implicit object Remove extends (AppBase.this)#HExt[(AppBase.this)#RemoveContext[DtoWithId]]
- implicit object Save extends (AppBase.this)#HExt[(AppBase.this)#SaveContext[Dto]]
- implicit object View extends (AppBase.this)#HExt[(AppBase.this)#ViewContext[Dto]]