Skip to content

Commit

Permalink
adjust push event fanout
Browse files Browse the repository at this point in the history
  • Loading branch information
dholms committed Jan 5, 2024
1 parent 728a37c commit d5cea8e
Show file tree
Hide file tree
Showing 8 changed files with 292 additions and 176 deletions.
25 changes: 18 additions & 7 deletions packages/ozone/src/context.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import { ModerationService, ModerationServiceCreator } from './mod-service'
import * as auth from './auth'
import { BackgroundQueue } from './background'
import assert from 'assert'
import { EventPusher } from './daemon'

export type AppContextOptions = {
db: Database
Expand Down Expand Up @@ -39,22 +40,32 @@ export class AppContext {
? new AtpAgent({ service: cfg.pds.url })
: undefined

const appviewAuth = async () => {
if (!cfg.appview.did) return undefined
return createServiceAuthHeaders({
const createAuthHeaders = (aud: string) =>
createServiceAuthHeaders({
iss: cfg.service.did,
aud: cfg.appview.did,
aud,
keypair: signingKey,
})
}
const appviewAuth = async () =>
cfg.appview.did ? createAuthHeaders(cfg.appview.did) : undefined

const backgroundQueue = new BackgroundQueue(db)
const eventPusher = new EventPusher(db, createAuthHeaders, {
appview: cfg.appview,
pds: cfg.pds ?? undefined,
})

const modService = ModerationService.creator(appviewAgent, appviewAuth)
const modService = ModerationService.creator(
backgroundQueue,
eventPusher,
appviewAgent,
appviewAuth,
)

const idResolver = new IdResolver({
plcUrl: cfg.identity.plcUrl,
})

const backgroundQueue = new BackgroundQueue(db)
return new AppContext(
{
db,
Expand Down
9 changes: 8 additions & 1 deletion packages/ozone/src/daemon/context.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import { Database } from '../db'
import { EventPusher } from './event-pusher'
import { EventReverser } from './event-reverser'
import { ModerationService, ModerationServiceCreator } from '../mod-service'
import { BackgroundQueue } from '../background'

export type DaemonContextOptions = {
db: Database
Expand Down Expand Up @@ -41,11 +42,17 @@ export class DaemonContext {
const appviewAuth = async () =>
cfg.appview.did ? createAuthHeaders(cfg.appview.did) : undefined

const modService = ModerationService.creator(appviewAgent, appviewAuth)
const eventPusher = new EventPusher(db, createAuthHeaders, {
appview: cfg.appview,
pds: cfg.pds ?? undefined,
})
const backgroundQueue = new BackgroundQueue(db)
const modService = ModerationService.creator(
backgroundQueue,
eventPusher,
appviewAgent,
appviewAuth,
)
const eventReverser = new EventReverser(db, modService)

return new DaemonContext({
Expand Down
Loading

0 comments on commit d5cea8e

Please sign in to comment.