vpr_core/lib.rs
1//! # VPR Core
2//!
3//! Core business logic for the VPR patient record system.
4//!
5//! This crate contains pure data operations and file/folder management:
6//! - Patient creation and listing with sharded JSON storage
7//! - File system operations under the configured patient data directory
8//! - Git-like versioning
9//!
10//! **No API concerns**: Authentication, HTTP/gRPC servers, or service interfaces belong in `api-grpc`, `api-rest`, or `api-shared`.
11
12pub mod author;
13pub mod config;
14pub mod constants;
15pub mod markdown;
16pub mod paths;
17pub mod repositories;
18pub mod versioned_files;
19
20pub mod error;
21
22pub mod patient;
23
24pub use config::CoreConfig;
25
26// Re-export commonly used constants
27pub use constants::DEFAULT_PATIENT_DATA_DIR;
28
29// Re-export author types
30pub use author::{Author, AuthorRegistration};
31
32// Re-export patient types
33pub use patient::PatientService;
34
35// Re-export UUID types from vpr-uuid crate
36pub use vpr_uuid::{ShardableUuid, TimestampId, TimestampIdGenerator, Uuid};
37
38// Re-export types from vpr-types crate
39pub use vpr_types::{EmailAddress, NonEmptyText, TextError};