1pub mod repository;
14pub mod secret_registry;
15pub mod company_scope;
16pub mod org_scope;
17pub mod audit_context;
18pub mod write_tx;
19pub mod generic_repository;
20pub mod migrations;
21pub mod query_builder;
22pub mod connection;
23pub mod seeding;
24pub mod raw_query;
25pub mod filter;
26pub mod in_memory;
27
28#[cfg(test)]
30mod repository_tests;
31#[cfg(test)]
32mod migrations_tests;
33#[cfg(test)]
34mod query_builder_tests;
35#[cfg(test)]
36mod seeding_tests;
37#[cfg(test)]
38mod raw_query_tests;
39#[cfg(test)]
40mod qualify_relation_tests;
41
42pub use repository::*;
44pub use company_scope::{current_company, with_company_scope};
45pub use write_tx::{
46 current_write_tx, in_write_tx, in_write_tx_result, in_write_tx_scope, WriteTx, WriteTxConn,
47 WriteTxFailure,
48};
49pub use org_scope::{
50 current_org_scope, resolve_org_scope, with_org_request_scope, with_org_request_scope_and_audit,
51 OrgScope, OrgScopeError,
52};
53pub use audit_context::{RequestAuditContext, AUDIT_CONTEXT_VARS};
54pub use generic_repository::{
55 and_conditions, fetch_by_ids_as_json, reference_visible, strip_client_company_filters, company_fence,
56 qualify_relation_table, BatchItemError, EntityRepoMeta, GenericCrudRepository, HardDelete, MissingCompanyScope,
57 SoftDelete,
58};
59pub use migrations::*;
60pub use query_builder::*;
61pub use connection::*;
62pub use seeding::*;
63pub use raw_query::*;
64pub use filter::{
67 QueryFilter,
68 FilterOperator as QueryFilterOperator,
69 FilterCondition as QueryFilterCondition,
70 FilterValue,
71 FilterLogical,
72 SortDirection as FilterSortDirection,
73 SortSpec,
74 FilterableEntity,
75 parse_filters,
76 is_internal_key,
77 is_valid_field,
78 sanitize_field_name,
79};
80pub use in_memory::InMemoryStore;
81
82pub const VERSION: &str = env!("CARGO_PKG_VERSION");
84
85pub use sqlx::postgres::PgPool;
87pub use sqlx::postgres::PgPoolOptions;
88
89pub use sqlx::types::chrono::NaiveDateTime;
91pub use sqlx::types::uuid::Uuid;