Skip to main content

systemprompt_content/
lib.rs

1#![allow(clippy::use_self)]
2
3pub(crate) mod branding_provider;
4pub(crate) mod config;
5pub(crate) mod error;
6pub(crate) mod extension;
7pub(crate) mod homepage_prerenderer;
8pub(crate) mod jobs;
9pub(crate) mod list_branding_provider;
10pub(crate) mod list_items_renderer;
11pub mod models;
12pub mod repository;
13pub mod services;
14
15pub use branding_provider::{DefaultBrandingProvider, default_branding_provider};
16pub use extension::ContentExtension;
17pub use homepage_prerenderer::{DefaultHomepagePrerenderer, default_homepage_prerenderer};
18pub use list_branding_provider::{DefaultListBrandingProvider, default_list_branding_provider};
19pub use list_items_renderer::{ListItemsCardRenderer, default_list_items_renderer};
20
21pub use config::{
22    ContentConfigValidated, ContentReady, ContentSourceConfigValidated, LoadStats, ParsedContent,
23    ValidationResult,
24};
25pub use error::ContentError;
26pub use services::validate_content_metadata;
27
28pub use models::{
29    Content, ContentMetadata, IngestionOptions, IngestionReport, IngestionSource, SearchFilters,
30    SearchRequest, SearchResponse, SearchResult, UpdateContentParams,
31};
32
33pub use repository::{ContentRepository, LinkAnalyticsRepository, SearchRepository};
34
35pub use services::{
36    ContentService, DefaultContentProvider, GenerateLinkParams, IngestionService,
37    LinkAnalyticsService, LinkGenerationService, SearchService,
38};
39
40pub use models::{LinkType, TrackClickParams, UtmParams};
41
42pub use jobs::execute_content_ingestion;