@atproto/ozone
Version:
Backend service for moderating the Bluesky network.
97 lines • 3.79 kB
TypeScript
import * as plc from '@did-plc/lib';
import express from 'express';
import { AtpAgent } from '@atproto/api';
import { Keypair } from '@atproto/crypto';
import { DidCache, IdResolver } from '@atproto/identity';
import { AuthVerifier } from './auth-verifier';
import { BackgroundQueue } from './background';
import { CommunicationTemplateServiceCreator } from './communication-service/template';
import { OzoneConfig, OzoneSecrets } from './config';
import { BlobDiverter } from './daemon/blob-diverter';
import { Database } from './db';
import { ImageInvalidator } from './image-invalidator';
import { ModerationServiceCreator } from './mod-service';
import { SafelinkRuleServiceCreator } from './safelink/service';
import { Sequencer } from './sequencer/sequencer';
import { SetServiceCreator } from './set/service';
import { SettingServiceCreator } from './setting/service';
import { TeamServiceCreator } from './team';
import { ParsedLabelers } from './util';
import { VerificationIssuerCreator } from './verification/issuer';
import { VerificationServiceCreator } from './verification/service';
export type AppContextOptions = {
db: Database;
cfg: OzoneConfig;
modService: ModerationServiceCreator;
communicationTemplateService: CommunicationTemplateServiceCreator;
safelinkRuleService: SafelinkRuleServiceCreator;
setService: SetServiceCreator;
settingService: SettingServiceCreator;
teamService: TeamServiceCreator;
appviewAgent: AtpAgent;
pdsAgent: AtpAgent | undefined;
chatAgent: AtpAgent | undefined;
blobDiverter?: BlobDiverter;
signingKey: Keypair;
signingKeyId: number;
didCache: DidCache;
idResolver: IdResolver;
imgInvalidator?: ImageInvalidator;
backgroundQueue: BackgroundQueue;
sequencer: Sequencer;
authVerifier: AuthVerifier;
verificationService: VerificationServiceCreator;
verificationIssuer: VerificationIssuerCreator;
};
export declare class AppContext {
private opts;
private secrets;
constructor(opts: AppContextOptions, secrets: OzoneSecrets);
static fromConfig(cfg: OzoneConfig, secrets: OzoneSecrets, overrides?: Partial<AppContextOptions>): Promise<AppContext>;
assignPort(port: number): void;
get db(): Database;
get cfg(): OzoneConfig;
get modService(): ModerationServiceCreator;
get blobDiverter(): BlobDiverter | undefined;
get communicationTemplateService(): CommunicationTemplateServiceCreator;
get safelinkRuleService(): SafelinkRuleServiceCreator;
get teamService(): TeamServiceCreator;
get setService(): SetServiceCreator;
get settingService(): SettingServiceCreator;
get verificationService(): VerificationServiceCreator;
get verificationIssuer(): VerificationIssuerCreator;
get appviewAgent(): AtpAgent;
get pdsAgent(): AtpAgent | undefined;
get chatAgent(): AtpAgent | undefined;
get signingKey(): Keypair;
get signingKeyId(): number;
get plcClient(): plc.Client;
get didCache(): DidCache;
get idResolver(): IdResolver;
get backgroundQueue(): BackgroundQueue;
get sequencer(): Sequencer;
get authVerifier(): AuthVerifier;
serviceAuthHeaders(aud: string, lxm: string): Promise<{
headers: {
authorization: string;
};
}>;
pdsAuth(lxm: string): Promise<{
headers: {
authorization: string;
};
} | undefined>;
appviewAuth(lxm: string): Promise<{
headers: {
authorization: string;
};
}>;
chatAuth(lxm: string): Promise<{
headers: {
authorization: string;
};
}>;
devOverride(overrides: Partial<AppContextOptions>): void;
reqLabelers(req: express.Request): ParsedLabelers;
}
//# sourceMappingURL=context.d.ts.map