Liking cljdoc? Tell your friends :D

wagoe.audience.ports

Port definitions for the wagoe-audience library.

IAudienceResolver — evaluate audiences and check membership IAudienceRepository — persist and retrieve audience definitions IAudienceCache — cache evaluated audience results IUserDataSource — load users for filter evaluation IUserQuery — find the users matching a set of filters

Port definitions for the wagoe-audience library.

IAudienceResolver    — evaluate audiences and check membership
IAudienceRepository  — persist and retrieve audience definitions
IAudienceCache       — cache evaluated audience results
IUserDataSource      — load users for filter evaluation
IUserQuery           — find the users matching a set of filters
raw docstring

IAudienceCachecljprotocol

Protocol for caching evaluated audience results.

Protocol for caching evaluated audience results.

get-cachedclj

(get-cached this audience-id)

Retrieve a cached SegmentResult for an audience.

Args: audience-id - keyword

Returns: SegmentResult map, or nil if not cached / expired

Retrieve a cached SegmentResult for an audience.

Args:
  audience-id - keyword

Returns:
  SegmentResult map, or nil if not cached / expired

invalidateclj

(invalidate this audience-id)

Remove a single cached audience result.

Args: audience-id - keyword

Returns: nil

Remove a single cached audience result.

Args:
  audience-id - keyword

Returns:
  nil

invalidate-allclj

(invalidate-all this)

Remove all cached audience results.

Returns: nil

Remove all cached audience results.

Returns:
  nil

put-cachedclj

(put-cached this audience-id result ttl-minutes)

Store a SegmentResult in cache with a TTL.

Args: audience-id - keyword result - SegmentResult map ttl-minutes - integer, cache lifetime in minutes

Returns: result

Store a SegmentResult in cache with a TTL.

Args:
  audience-id  - keyword
  result       - SegmentResult map
  ttl-minutes  - integer, cache lifetime in minutes

Returns:
  result
sourceraw docstring

IAudienceRepositorycljprotocol

Protocol for persisting and retrieving audience definitions.

Protocol for persisting and retrieving audience definitions.

create-audienceclj

(create-audience this definition)

Persist a new audience definition.

Returns: saved definition map

Throws: ex-info {:type :audience-exists} when its id is taken

Persist a new audience definition.

Returns:
  saved definition map

Throws:
  ex-info {:type :audience-exists} when its id is taken

delete-audienceclj

(delete-audience this audience-id)

Delete an audience definition by id.

Args: audience-id - keyword or UUID

Returns: nil

Delete an audience definition by id.

Args:
  audience-id - keyword or UUID

Returns:
  nil

find-audienceclj

(find-audience this audience-id)

Retrieve an audience definition by id.

Args: audience-id - keyword or UUID

Returns: AudienceDefinition map, or nil if not found

Retrieve an audience definition by id.

Args:
  audience-id - keyword or UUID

Returns:
  AudienceDefinition map, or nil if not found

list-audiencesclj

(list-audiences this)
(list-audiences this filters)

List all stored audience definitions, optionally filtered.

Args: filters - optional map with :tags :label-contains

Returns: Vector of AudienceDefinition maps

List all stored audience definitions, optionally filtered.

Args:
  filters - optional map with :tags :label-contains

Returns:
  Vector of AudienceDefinition maps

save-audienceclj

(save-audience this definition)

Persist an audience definition (insert or update).

Args: definition - AudienceDefinition map

Returns: saved definition map

Persist an audience definition (insert or update).

Args:
  definition - AudienceDefinition map

Returns:
  saved definition map

update-audienceclj

(update-audience this definition)

Replace a stored audience definition.

Returns: saved definition map

Throws: ex-info {:type :audience-not-found} when its id is not stored

Replace a stored audience definition.

Returns:
  saved definition map

Throws:
  ex-info {:type :audience-not-found} when its id is not stored
sourceraw docstring

IAudienceResolvercljprotocol

Protocol for evaluating audience membership.

Protocol for evaluating audience membership.

member?clj

(member? this audience-id user-id)

Quick membership check for a single user.

Args: audience-id - keyword user-id - UUID

Returns: boolean

Quick membership check for a single user.

Args:
  audience-id - keyword
  user-id     - UUID

Returns:
  boolean

resolve-audienceclj

(resolve-audience this audience-id)
(resolve-audience this audience-id opts)

Evaluate an audience and return the full result set.

Args: audience-id - keyword identifying the audience definition opts - optional map with :force-refresh? :as-of

Returns: SegmentResult map: {:user-ids #{...} :count n :cached? bool :evaluated-at inst}

Evaluate an audience and return the full result set.

Args:
  audience-id - keyword identifying the audience definition
  opts        - optional map with :force-refresh? :as-of

Returns:
  SegmentResult map: {:user-ids #{...} :count n :cached? bool :evaluated-at inst}
sourceraw docstring

IUserDataSourcecljprotocol

Protocol for querying user data during filter evaluation.

Protocol for querying user data during filter evaluation.

load-usersclj

(load-users this user-ids)

Load full user records by a set of UUIDs.

Args: user-ids - collection of UUID

Returns: Vector of user maps (kebab-case keys)

Load full user records by a set of UUIDs.

Args:
  user-ids - collection of UUID

Returns:
  Vector of user maps (kebab-case keys)

query-users-sqlclj

(query-users-sql this clause)

Deprecated: implement IUserQuery instead; removed in 2.0 (BOU-875).

Ids of the users matching clause, a where clause the core compiled from the filters. nil means every user.

Returns: Vector of user IDs (UUIDs)

Deprecated: implement IUserQuery instead; removed in 2.0 (BOU-875).

Ids of the users matching `clause`, a where clause the core compiled from
the filters. nil means every user.

Returns:
  Vector of user IDs (UUIDs)
sourceraw docstring

IUserQuerycljprotocol

Find users by filter, in whatever query language the store speaks. Replaces IUserDataSource/query-users-sql; the service uses it when the source implements it (BOU-875).

Find users by filter, in whatever query language the store speaks.
Replaces IUserDataSource/query-users-sql; the service uses it when the
source implements it (BOU-875).

query-user-idsclj

(query-user-ids this filters)

Ids of the users matching every filter.

Args: filters - AudienceFilter maps as a definition holds them, date filters carrying :now: those filter->sql can express. The rest run as predicates over load-users. Empty means every user.

Returns: Vector of user IDs (UUIDs)

Ids of the users matching every filter.

Args:
  filters - AudienceFilter maps as a definition holds them, date filters
            carrying :now: those `filter->sql` can express. The rest run
            as predicates over load-users. Empty means every user.

Returns:
  Vector of user IDs (UUIDs)
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
←Move to previous article
→Move to next article
Ctrl+/Jump to the search field
× close