steid

@jamesgill /

0e162fdfeat: bootstrap_owner and login use cases1mo
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
b7a57dbfeat: a repository can be taken away as a file19h
6pub mod archive;
11e7a39feat: create_repo use case24d
7pub(crate) mod authz;
5727ed7feat: who last changed each line, as a thing the port can answer19h
8pub mod blame;
dce0bf3feat: browse a repository's files and history8d
9pub mod browse;
c1a35b0feat: claim the instance on first run instead of bootstrapping from config1mo
10pub mod claim;
2268309feat: a commit is a page, and two revisions can be compared19h
11pub mod commit;
0d12f7dfeat: config from env and SQLite pool in app context1mo
12pub mod config;
2268309feat: a commit is a page, and two revisions can be compared19h
13pub mod diff;
0e162fdfeat: bootstrap_owner and login use cases1mo
14pub mod error;
8ac00bdfeat: decide who may reach the git protocol8d
15pub mod git;
40ab5c7feat: /api/me and a shared identity read model1mo
16pub mod identity;
0e162fdfeat: bootstrap_owner and login use cases1mo
17pub mod login;
26d9828feat: password hashing behind a port1mo
18pub mod port;
a69e380feat: public profile page at /{handle}1mo
19pub mod profile;
11e7a39feat: create_repo use case24d
20pub mod repo;
1b7587dfeat: finding a string in a repository, and landing on the line19h
21pub mod search;
54a0eaffeat: session storage and actor resolution1mo
22pub mod session;
dd5b600feat: the facts a repository page states about itself20h
23pub mod summary;
c25b985feat: issue, list, revoke and authenticate tokens8d
24pub mod token;
0d12f7dfeat: config from env and SQLite pool in app context1mo
25
b7a57dbfeat: a repository can be taken away as a file19h
26pub use archive::{ArchiveTarget, archive_repo, open_archive};
5727ed7feat: who last changed each line, as a thing the port can answer19h
27pub use blame::{Blame, BlameCommit, BlameContent, BlameFile, BlameGroup, blame_file, parse_blame};
4ef3945feat: repository settings, README rendering, branch switcher, raw files7d
28pub use browse::{
7ba8b8efeat: the branches and tags a page shows, and what it says when there are none19h
29 Browsed, FileView, LOG_LIMIT, MAX_BLOB_BYTES, MAX_RAW_BYTES, RawFile, RefList, RefPage,
30 browse_repo, list_branches, list_refs, list_tags, read_raw_file, repo_log,
4ef3945feat: repository settings, README rendering, branch switcher, raw files7d
31};
8ed4e5afeat: the root is the owner's profile1d
32pub use claim::{OwnerSpec, claim_instance, is_claimed, sole_owner_handle};
2268309feat: a commit is a page, and two revisions can be compared19h
33pub use commit::{
34 COMPARE_LOG_LIMIT, CommitPage, Compared, Comparison, compare_revisions, view_commit,
35};
3dd7293feat: ship Steid as an installable binary8d
36pub use config::{AppConfig, Secret};
2268309feat: a commit is a page, and two revisions can be compared19h
37pub use diff::{Diff, DiffLine, FileChange, FileDiff, FileStat, LineKind, MAX_FILE_DIFF_LINES};
0e162fdfeat: bootstrap_owner and login use cases1mo
38pub use error::{Error, Result};
8ac00bdfeat: decide who may reach the git protocol8d
39pub use git::{GitClientHeaders, GitEndpoint, GitOperation, GitService, serve_git};
40ab5c7feat: /api/me and a shared identity read model1mo
40pub use identity::{Identity, describe_identity};
0e162fdfeat: bootstrap_owner and login use cases1mo
41pub use login::login;
c50d9adfeat: profile settings with flash feedback25d
42pub use profile::{PublicProfile, update_profile, view_profile};
4ef3945feat: repository settings, README rendering, branch switcher, raw files7d
43pub use repo::{
44 NewRepo, RepoEdit, RepoSummary, RepoView, create_repo, delete_repo, list_repos, update_repo,
45 view_repo,
46};
1b7587dfeat: finding a string in a repository, and landing on the line19h
47pub use search::{MAX_QUERY_BYTES, SEARCH_LIMIT, SearchFile, SearchResults, Searched, search_repo};
54a0eaffeat: session storage and actor resolution1mo
48pub use session::{SESSION_LIFETIME, end_session, record_session, resolve_actor, sweep_expired};
dd5b600feat: the facts a repository page states about itself20h
49pub use summary::{Licence, RepoFacts, repo_summary};
c25b985feat: issue, list, revoke and authenticate tokens8d
50pub use token::{
51 IssuedToken, TokenSummary, authenticate_token, issue_token, list_tokens, revoke_token,
52};