| 1 | // This Source Code Form is subject to the terms of the Mozilla Public |
| 2 | // License, v. 2.0. If a copy of the MPL was not distributed with this |
| 3 | // file, You can obtain one at https://mozilla.org/MPL/2.0/. |
| 4 | |
| 5 | //! Shared domain types. This crate performs no I/O and depends on nothing else in-tree. |
| 6 | //! |
| 7 | //! It holds the in-memory shapes of persisted entities ([`entity`]) and the |
| 8 | //! name-validation rules ([`name`]) that every entry point — CLI, API, web — |
| 9 | //! shares so they cannot drift. |
| 10 | |
| 11 | pub mod entity; |
| 12 | pub mod name; |
| 13 | |
| 14 | pub use entity::{ |
| 15 | ApiToken, Comment, Group, Invite, Issue, IssueState, Key, KeyKind, Label, PullRequest, Repo, |
| 16 | Timestamp, User, UserEmail, Visibility, |
| 17 | }; |
| 18 | pub use name::{MAX_GROUP_DEPTH, MAX_NAME_LEN, NameError, RESERVED_NAMES, validate_name}; |