Skip to main content

mapky_app_specs/
lib.rs

1mod common;
2pub mod constants;
3mod models;
4pub mod traits;
5mod utils;
6mod validation;
7
8pub use common::BoundingBox;
9
10// Re-export constants
11pub use constants::{
12    MAPKY_PATH, MAX_ATTACHMENTS, MAX_ATTACHMENT_URL_LENGTH, MAX_COLLECTION_ITEMS,
13    MAX_COLLECTION_NAME_LENGTH, MAX_CONTENT_LENGTH, MAX_DESCRIPTION_LENGTH,
14    MAX_INCIDENT_ATTACHMENTS, MAX_INCIDENT_DESCRIPTION_LENGTH, MAX_ROUTE_CONTROL_POINTS,
15    MAX_ROUTE_DESCRIPTION_LENGTH, MAX_ROUTE_INSTRUCTION_LENGTH, MAX_ROUTE_NAME_LENGTH,
16    MAX_ROUTE_WAYPOINTS, MAX_SEQUENCE_CAPTURE_COUNT, MAX_SEQUENCE_DESCRIPTION_LENGTH,
17    MAX_SEQUENCE_DEVICE_LENGTH, MAX_SEQUENCE_NAME_LENGTH, MAX_WAYPOINT_NAME_LENGTH, MIN_WAYPOINTS,
18    PROTOCOL, PUBLIC_PATH,
19};
20
21// Re-export domain types
22pub use models::collection::MapkyAppCollection;
23pub use models::geo_capture::{GeoCaptureKind, MapkyAppGeoCapture};
24pub use models::incident::{IncidentSeverity, IncidentType, MapkyAppIncident};
25pub use models::review::MapkyAppReview;
26pub use models::route::{MapkyAppRoute, RouteActivityType, RouteGeometry, RouteStep, Waypoint};
27pub use models::sequence::MapkyAppSequence;
28pub use models::MapkyAppObject;
29
30// Re-export from pubky-app-specs
31// PubkyAppPost / PubkyAppPostKind / PubkyAppPostEmbed are reused as-is for
32// generic comments stored at /pub/mapky.app/posts/{id} (cross-namespace pattern,
33// like universal tags).
34pub use pubky_app_specs::{PubkyAppPost, PubkyAppPostEmbed, PubkyAppPostKind, PubkyId};
35
36// Re-export utils
37pub use utils::*;
38pub use validation::*;
39
40// WASM module
41#[cfg(target_arch = "wasm32")]
42mod wasm;
43#[cfg(target_arch = "wasm32")]
44pub use wasm::*;