Integrant lifecycle management for the audience module.
Config keys:
:wagoe/audience-db-schema {:db-ctx (ig/ref :wagoe/db-context)} ; creates the module's tables
:wagoe/audience-user-source {:db-ctx (ig/ref :wagoe/db-context) :table :users} ; the users table this app segments on
:wagoe/audience {:db-ctx (ig/ref :wagoe/db-context) :cache-service (ig/ref :wagoe/cache) :user-data-source (ig/ref :wagoe/audience-user-source)}
Returns {:store <IAudienceRepository> :resolver <IAudienceResolver> :cache <IAudienceCache>}
:wagoe/audience-routes {:audience-service (ig/ref :wagoe/audience) :middleware (ig/ref :wagoe/admin-only-middleware)}
Returns {:api [...] :web [...]} for composition by the HTTP handler.
Integrant lifecycle management for the audience module.
Config keys:
:wagoe/audience-db-schema
{:db-ctx (ig/ref :wagoe/db-context)} ; creates the module's tables
:wagoe/audience-user-source
{:db-ctx (ig/ref :wagoe/db-context)
:table :users} ; the users table this app segments on
:wagoe/audience
{:db-ctx (ig/ref :wagoe/db-context)
:cache-service (ig/ref :wagoe/cache)
:user-data-source (ig/ref :wagoe/audience-user-source)}
Returns {:store <IAudienceRepository> :resolver <IAudienceResolver> :cache <IAudienceCache>}
:wagoe/audience-routes
{:audience-service (ig/ref :wagoe/audience)
:middleware (ig/ref :wagoe/admin-only-middleware)}
Returns {:api [...] :web [...]} for composition
by the HTTP handler.(ig-config settings {:keys [enabled]})This module's Integrant entries, for wagoe.platform.shell.system.config.
There was no ig-config here at all, so the platform fell back to emitting
:wagoe/audience as a bare settings map: the service was never built and the
routes were never mounted. Under that fallback the module could not have
booted anyway — its :user-data-source had no implementation (BOU-419).
Two refs are conditional, for the same reason in both cases — a ref to a component the config does not contain is a dangling ref that fails the boot:
:cache-service, the way user-service takes its optional cache;
:wagoe/audience-routes, which is mounted only when the user module is on,
because the authorization guard these endpoints need lives there. Without
it they are not mounted at all rather than mounted open (BOU-419 review).
This module's Integrant entries, for `wagoe.platform.shell.system.config`. There was no `ig-config` here at all, so the platform fell back to emitting `:wagoe/audience` as a bare settings map: the service was never built and the routes were never mounted. Under that fallback the module could not have booted anyway — its `:user-data-source` had no implementation (BOU-419). Two refs are conditional, for the same reason in both cases — a ref to a component the config does not contain is a dangling ref that fails the boot: `:cache-service`, the way user-service takes its optional cache; `:wagoe/audience-routes`, which is mounted only when the user module is on, because the authorization guard these endpoints need lives there. Without it they are not mounted at all rather than mounted open (BOU-419 review).
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |