Trait

eu.shiftforward.adstax.ups.api

UserProfileStorageClient

Related Doc: package api

Permalink

trait UserProfileStorageClient extends AnyRef

Interface for clients capable of interacting with the User Profile Storage module by retrieving, updating or deleting information about users.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. UserProfileStorageClient
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def delete(userId: UserId, attributeName: String): Future[Unit]

    Permalink

    Deletes an attribute of a user.

    Deletes an attribute of a user.

    userId

    the identifier of the userId

    attributeName

    the name of the attribute

    returns

    a Future that is completed when the operation is acknowledged.

  2. abstract def delete(userId: UserId): Future[Unit]

    Permalink

    Deletes the information about a user.

    Deletes the information about a user.

    userId

    the identifier of the user

    returns

    a Future that is completed when the operation is acknowledged.

  3. abstract def get(userId: UserId): Future[Option[UserData]]

    Permalink

    Retrieves all attributes of a user.

    Retrieves all attributes of a user.

    userId

    the identifier of the user

    returns

    a Future with the user attributes wrapped in a Some if the user exists, None otherwise.

  4. abstract def getBaseAttribute(userId: UserId, name: String): Future[Option[Json]]

    Permalink

    Retrieves a single base attribute of a user.

    Retrieves a single base attribute of a user.

    userId

    the identifier of the user

    name

    the name of the base attribute

    returns

    a Future with the attribute value wrapped in a Some if the user exists, None otherwise.

  5. abstract def getComputedAttribute(userId: UserId, name: String): Future[Option[Json]]

    Permalink

    Retrieves a single computed attribute of a user.

    Retrieves a single computed attribute of a user.

    userId

    the identifier of the user

    name

    the name of the computed attribute

    returns

    a Future with the attribute value wrapped in a Some if the user exists, None otherwise.

  6. abstract def getIds(userId: UserId): Future[Set[UserId]]

    Permalink

    Returns all ids associated with the provided UserId.

    Returns all ids associated with the provided UserId. The provided UserId is always included in the set.

    userId

    the identifier of the user whose set of ids we want to fetch

    returns

    a Future with the set of users this UserId belongs to.

  7. abstract def getIdsAndData(userId: UserId): Future[(Set[UserId], Option[UserData])]

    Permalink

    Retrieves all ids associated with the provided UserId, along with its attributes.

    Retrieves all ids associated with the provided UserId, along with its attributes.

    userId

    the identifier of the user whose set of ids and attributes we want to fetch

    returns

    a Future containing a tuple with:

    • the set of UserIds this UserId belongs to
    • user attributes wrapped in a Some if the user exists, None otherwise.
  8. abstract def link(userId1: UserId, userId2: UserId, source: Option[String] = None): Future[Unit]

    Permalink

    Links two users.

    Links two users. After linked, the users will be unified, so that their attributes will be shared and getting, updating, and deleting attributes works interchangeably between them. The provided source can later be used to reset the created links.

    userId1

    the identifier of the first user

    userId2

    the identifier of the second user

    source

    an optional source to use for the link. Links with named sources can later be reset

    returns

    a Future that is completed when the operation is acknowledged.

  9. abstract def resetLinks(source: String): Future[Unit]

    Permalink

    Resets all links of the provided source.

    Resets all links of the provided source.

    source

    the source of the links to be reset

    returns

    a Future that is completed when the operation is acknowledged.

  10. abstract def setMergeStrategy(name: String, mergeStrategy: SingleAttributeMergingStrategy): Future[Unit]

    Permalink

    Sets the merge strategy for a single base attribute.

    Sets the merge strategy for a single base attribute. If an attribute doesn't have a merging strategy defined, it is assumed to be MostRecent.

    name

    the name of the attribute whose merging strategy we would like to define

    mergeStrategy

    the strategy to use from now onwards when merging attributes of the provided name

    returns

    a Future that is completed when the operation is acknowledged.

  11. abstract def update(userId: UserId, attributes: UserAttributes, mergeStrategy: AttributesMergingStrategy = MergeMergingStrategy): Future[Unit]

    Permalink

    Updates the attributes of a user.

    Updates the attributes of a user.

    userId

    the identifier of the user

    attributes

    the attributes to update the user with

    mergeStrategy

    the strategy to use when merging the attributes

    returns

    a Future that is completed when the operation is acknowledged.

  12. abstract def updateSink: Sink[UpdateUser, Future[Done]]

    Permalink

    A akka.stream.scaladsl.Sink for user update operations.

  13. abstract def userSource(idType: String, from: DateTime, to: DateTime): Source[(UserId, UserData), NotUsed]

    Permalink

    A akka.stream.scaladsl.Source of users of a given type that were updated during the range of supplied DateTimes, along with their attributes.

    A akka.stream.scaladsl.Source of users of a given type that were updated during the range of supplied DateTimes, along with their attributes.

    idType

    the type of identifier

    from

    the lower bound of the time range

    to

    the upper bound of the time range

    returns

    the source of user information

  14. abstract def userSource(idType: String): Source[(UserId, UserData), NotUsed]

    Permalink

    A akka.stream.scaladsl.Source of users of a given type along with their attributes.

    A akka.stream.scaladsl.Source of users of a given type along with their attributes.

    idType

    the type of identifier

    returns

    the source of user information

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  10. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  16. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped