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