dailp/lib.rs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
#![warn(missing_docs)]
//! This crate defines the data structure and type system used by the whole
//! DAILP infrastructure, including data migration, GraphQL layer, and the
//! front-end. There are a few key types to understand about our handling of
//! annotated manuscripts and Cherokee lexical sources.
//!
//! An [`AnnotatedDoc`] represents one manuscript broken down word by word
//! (generally referred to as "forms"). It has several fields of metadata, like
//! its title, id, or collection. The meat of the [`AnnotatedDoc`] is its
//! segments, which is a list of segments which may each be a [`AnnotatedForm`],
//! block (contains segments), or line break.
//!
//! An [`AnnotatedForm`] is a single word located in some document that has
//! multiple layers of representation. In DAILP's Cherokee data, those layers
//! are typically the source text, simple phonetics, phonemic representation,
//! morphemic segmentation, and an English gloss. Each [`AnnotatedForm`] always
//! knows what document it came from, retaining a sense of source and concrete
//! reference.
pub mod annotation;
mod audio;
/// This module contains types related to authentication
///
/// Eg. our `UserInfo` (what we know about the user making the request) and its
/// various deserialization routines. Also GraphQL Guards for restricting access
/// based on the user making the request.
pub mod auth;
mod cherokee;
pub mod collection;
pub mod comment;
mod database_sql;
mod date;
pub mod doc_metadata;
mod document;
mod form;
mod geometry;
mod gloss;
pub mod iiif;
mod lexical;
pub mod menu;
mod morpheme;
pub mod page;
mod person;
pub mod raw;
pub mod sheet_result;
mod slugs;
mod tag;
mod translation;
pub mod user;
// Re-export dependencies for downstream to use.
pub use async_graphql;
pub use chrono;
pub use sqlx::types::Uuid;
pub use audio::*;
pub use cherokee::*;
pub use collection::*;
pub use database_sql::*;
pub use date::*;
pub use doc_metadata::*;
pub use document::*;
pub use form::*;
pub use geometry::*;
pub use gloss::*;
pub use lexical::*;
pub use menu::*;
pub use morpheme::*;
pub use person::*;
pub use sheet_result::*;
pub use slugs::*;
pub use tag::*;
pub use translation::*;