Add consent-gated media exchange library
This commit is contained in:
1 parent
b8e4a1bb88
commit
bf474dfe10
42 files changed
+2533
-9
No files matched your search
@@ -52,6 +52,8 @@ import { importLegacyAccountContent } from './database/legacy-content-import.js'
|
||||
import { RecipientDeduplicator } from './services/recipient-deduplicator.js';
|
||||
import { createConfigBackedSubredditPollingControl } from './services/subreddit-polling-control.js';
|
||||
import { CandidateQueueRepository, RuntimeStateRepository } from './database/candidate-queue-repository.js';
|
||||
import { MediaLibraryRepository } from './database/media-library-repository.js';
|
||||
import { MediaLibraryService } from './services/media-library.js';
|
||||
|
||||
export interface AppContainer {
|
||||
config: Config;
|
||||
@@ -82,6 +84,7 @@ export interface AppContainer {
|
||||
mediaService: MediaService;
|
||||
chatService: ChatService;
|
||||
mediaSyncService: MediaSyncService;
|
||||
mediaLibraryService: MediaLibraryService;
|
||||
rateLimiter: RateLimiter;
|
||||
|
||||
webServer: WebServer | null;
|
||||
@@ -178,6 +181,11 @@ export async function bootstrap(
|
||||
const aiClient = new OpenRouterClient(config, logger, undefined, (usage) => {
|
||||
aiUsageRepo.record({ ...usage, accountId: accountAuth.getSnapshot().accountId });
|
||||
});
|
||||
const mediaLibraryService = new MediaLibraryService(
|
||||
new MediaLibraryRepository(db),
|
||||
aiClient,
|
||||
logger,
|
||||
);
|
||||
const monitorService = new MonitorService(
|
||||
redditApi, postsRepo, recipientDeduplicator, config, logger, 1000,
|
||||
createConfigBackedSubredditPollingControl(config, new ConfigStore(db), logger),
|
||||
@@ -427,6 +435,7 @@ export async function bootstrap(
|
||||
});
|
||||
webServer.setMediaService(mediaService);
|
||||
webServer.setMediaSyncService(mediaSyncService);
|
||||
webServer.setMediaLibraryService(mediaLibraryService);
|
||||
webServer.setResponseChecker(responseChecker);
|
||||
webServer.setRateLimiter(rateLimiter);
|
||||
webServer.setAiClient(aiClient);
|
||||
@@ -483,6 +492,7 @@ export async function bootstrap(
|
||||
mediaService,
|
||||
chatService,
|
||||
mediaSyncService,
|
||||
mediaLibraryService,
|
||||
rateLimiter,
|
||||
webServer,
|
||||
};
|
||||
|
||||
Reference in new issue
Block a user