feat(backend): add FeedEngineService

Manages FeedEngine instances per user with auto-registration of
sources from FeedSourceProvider implementations.

- Add FeedSourceProvider interface
- Add FeedEngineService with providers array injection
- Update LocationService to implement FeedSourceProvider

Co-authored-by: Ona <no-reply@ona.com>
This commit is contained in:
2026-01-25 23:12:48 +00:00
parent 0db6cae82b
commit db0c57f04b
3 changed files with 240 additions and 1 deletions

View File

@@ -1,11 +1,13 @@
import { LocationSource, type Location } from "@aris/source-location"
import type { FeedSourceProvider } from "../feed/service.ts"
import { UserNotFoundError } from "../lib/error.ts"
/**
* Manages LocationSource instances per user.
*/
export class LocationService {
export class LocationService implements FeedSourceProvider {
private sources = new Map<string, LocationSource>()
/**