trait UserProfileStorageClient extends AnyRef
Interface for clients capable of interacting with the User Profile Storage module by retrieving, updating or deleting information about users.
- Alphabetic
- By Inheritance
- UserProfileStorageClient
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
delete(userId: UserId, attributeName: String): Future[Unit]
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
Futurethat is completed when the operation is acknowledged.
-
abstract
def
delete(userId: UserId): Future[Unit]
Deletes the information about a user.
Deletes the information about a user.
- userId
the identifier of the user
- returns
a
Futurethat is completed when the operation is acknowledged.
-
abstract
def
get(userId: UserId): Future[Option[UserData]]
Retrieves all attributes of a user.
Retrieves all attributes of a user.
- userId
the identifier of the user
- returns
a
Futurewith the user attributes wrapped in aSomeif the user exists,Noneotherwise.
-
abstract
def
getBaseAttribute(userId: UserId, name: String): Future[Option[JsValue]]
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
Futurewith the attribute value wrapped in aSomeif the user exists,Noneotherwise.
-
abstract
def
getComputedAttribute(userId: UserId, name: String): Future[Option[JsValue]]
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
Futurewith the attribute value wrapped in aSomeif the user exists,Noneotherwise.
-
abstract
def
getIds(userId: UserId): Future[Set[UserId]]
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 we want to fetch the set of ids
- returns
a
Futurewith the set of users this UserId belongs to.
-
abstract
def
getIdsAndData(userId: UserId): Future[(Set[UserId], Option[UserData])]
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 we want to fetch the set of ids and attributes
- returns
a
Futurecontaining a tuple with:- the set of UserIds this UserId belongs to
- user attributes wrapped in a
Someif the user exists,Noneotherwise.
-
abstract
def
link(userId1: UserId, userId2: UserId, source: Option[String] = None): Future[Unit]
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
Futurethat is completed when the operation is acknowledged.
-
abstract
def
resetLinks(source: String): Future[Unit]
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
Futurethat is completed when the operation is acknowledged.
-
abstract
def
setMergeStrategy(name: String, mergeStrategy: SingleAttributeMergingStrategy): Future[Unit]
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
Futurethat is completed when the operation is acknowledged.
-
abstract
def
update(userId: UserId, attributes: UserAttributes, mergeStrategy: AttributesMergingStrategy = MergeMergingStrategy): Future[Unit]
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
Futurethat is completed when the operation is acknowledged.
-
abstract
def
updateSink: Sink[UpdateUser, Future[Done]]
A akka.stream.scaladsl.Sink for user update operations.
-
abstract
def
userSource(idType: String, from: DateTime, to: DateTime): Source[(UserId, UserData), NotUsed]
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 initial
DateTimeto consider for the last user update- to
the final
DateTimeto consider for the last user update- returns
the source of user information
-
abstract
def
userSource(idType: String): Source[(UserId, UserData), NotUsed]
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
-
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
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )