steid

@jamesgill /

1//! The application layer: use cases and the ports they depend on.
2//!
3//! Every use case takes an actor or a credential plus the ports it needs, and enforces
4//! the rules before any side effect. Nothing here knows about HTTP or Topcoat.
5
6pub mod archive;
7pub(crate) mod authz;
8pub mod browse;
9pub mod claim;
10pub mod commit;
11pub mod config;
12pub mod diff;
13pub mod error;
14pub mod git;
15pub mod identity;
16pub mod login;
17pub mod port;
18pub mod profile;
19pub mod repo;
20pub mod search;
21pub mod session;
22pub mod summary;
23pub mod token;
24
25pub use archive::{ArchiveTarget, archive_repo, open_archive};
26pub use browse::{
27 Browsed, FileView, LOG_LIMIT, MAX_BLOB_BYTES, MAX_RAW_BYTES, RawFile, RefList, RefPage,
28 browse_repo, list_branches, list_refs, list_tags, read_raw_file, repo_log,
29};
30pub use claim::{OwnerSpec, claim_instance, is_claimed, sole_owner_handle};
31pub use commit::{
32 COMPARE_LOG_LIMIT, CommitPage, Compared, Comparison, compare_revisions, view_commit,
33};
34pub use config::{AppConfig, Secret};
35pub use diff::{Diff, DiffLine, FileChange, FileDiff, FileStat, LineKind, MAX_FILE_DIFF_LINES};
36pub use error::{Error, Result};
37pub use git::{GitClientHeaders, GitEndpoint, GitOperation, GitService, serve_git};
38pub use identity::{Identity, describe_identity};
39pub use login::login;
40pub use profile::{PublicProfile, update_profile, view_profile};
41pub use repo::{
42 NewRepo, RepoEdit, RepoSummary, RepoView, create_repo, delete_repo, list_repos, update_repo,
43 view_repo,
44};
45pub use search::{MAX_QUERY_BYTES, SEARCH_LIMIT, SearchFile, SearchResults, Searched, search_repo};
46pub use session::{SESSION_LIFETIME, end_session, record_session, resolve_actor, sweep_expired};
47pub use summary::{Licence, RepoFacts, repo_summary};
48pub use token::{
49 IssuedToken, TokenSummary, authenticate_token, issue_token, list_tokens, revoke_token,
50};