1#![cfg_attr(not(test), deny(clippy::unwrap_used))]
2#![allow(clippy::result_large_err)]
3
4pub mod config;
5mod contracts;
6mod custom_schema;
7pub mod defaults;
8pub mod error;
9#[cfg(feature = "http")]
10pub mod http;
11#[cfg(feature = "http")]
12mod http_auth;
13#[cfg(feature = "http")]
14pub mod http_discovery;
15#[cfg(feature = "http")]
16mod http_public;
17#[cfg(feature = "storage")]
18mod http_storage;
19pub mod models;
20mod sql;
21#[cfg(feature = "storage")]
22pub mod image_processing;
23#[cfg(feature = "storage")]
24pub mod storage;
25mod store;
26#[cfg(feature = "storage")]
27pub(crate) mod upload;
28
29pub use crate::store::CedrosData;
30pub use error::{CedrosDataError, Result};
31pub use models::{
32 Collection, CollectionMode, ContractSchema, ContractVerificationReport,
33 CustomSchemaApplyReport, CustomSchemaDefinition, DefaultPageTemplate, EntryRecord,
34 ExportSiteRequest, ImportResult, ImportSiteRequest, QueryEntriesRequest,
35 RegisterCollectionRequest, RegisterCustomSchemaRequest, RegisterSiteRequest, Site,
36 SiteBootstrapReport, SiteExport, UpsertEntryRequest, VerifyContractRequest,
37};
38
39pub async fn migrate(store: &CedrosData) -> Result<()> {
40 store.migrate().await
41}
42
43pub async fn register_site(store: &CedrosData, request: RegisterSiteRequest) -> Result<Site> {
44 store.register_site(request).await
45}
46
47pub async fn register_collection(
48 store: &CedrosData,
49 request: RegisterCollectionRequest,
50) -> Result<Collection> {
51 store.register_collection(request).await
52}
53
54pub async fn register_custom_schema(
55 store: &CedrosData,
56 request: RegisterCustomSchemaRequest,
57) -> Result<CustomSchemaApplyReport> {
58 store.register_custom_schema(request).await
59}
60
61pub async fn upsert_entry(store: &CedrosData, request: UpsertEntryRequest) -> Result<EntryRecord> {
62 store.upsert_entry(request).await
63}
64
65pub async fn query_entries(
66 store: &CedrosData,
67 request: QueryEntriesRequest,
68) -> Result<Vec<EntryRecord>> {
69 store.query_entries(request).await
70}
71
72pub async fn export_site(store: &CedrosData, request: ExportSiteRequest) -> Result<SiteExport> {
73 store.export_site(request).await
74}
75
76pub async fn import_site(store: &CedrosData, request: ImportSiteRequest) -> Result<ImportResult> {
77 store.import_site(request).await
78}
79
80pub async fn verify_contract(
81 store: &CedrosData,
82 request: VerifyContractRequest,
83) -> Result<ContractVerificationReport> {
84 store.verify_contract(request).await
85}
86
87pub async fn bootstrap_defaults(store: &CedrosData) -> Result<SiteBootstrapReport> {
88 store.bootstrap_defaults().await
89}