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