Compare commits
No commits in common. "main" and "gh-pages" have entirely different histories.
|
@ -1,2 +0,0 @@
|
|||
[doc.extern-map.registries]
|
||||
crates-io = "https://docs.rs/"
|
|
@ -1 +0,0 @@
|
|||
github: [epilys]
|
|
@ -1,97 +0,0 @@
|
|||
<style>
|
||||
.rustdoc { flex-wrap: wrap; }
|
||||
@media (prefers-color-scheme: light) {
|
||||
:root {
|
||||
--border-primary: #cdcdcd;
|
||||
--border-secondary: #cdcdcd;
|
||||
--a-normal-text: #034575;
|
||||
--a-normal-underline: #bbb;
|
||||
--a-visited-underline: #707070;
|
||||
--a-hover-bg: #bfbfbf40;
|
||||
--a-active-text: #c00;
|
||||
--a-active-underline: #c00;
|
||||
--accent-primary: #0085f2;
|
||||
--accent-primary-engage: #0085f21a;
|
||||
--accent-secondary: #0085f2;
|
||||
--accent-tertiary: #0085f21a;
|
||||
color-scheme: light;
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--border-primary: #858585;
|
||||
--border-secondary: #696969;
|
||||
--a-normal-text: #4db4ff;
|
||||
--a-normal-underline: #8b8b8b;
|
||||
--a-visited-underline: #707070;
|
||||
--a-hover-bg: #bfbfbf40;
|
||||
--a-active-text: #c00;
|
||||
--a-active-underline: #c00;
|
||||
--accent-primary: #5e9eff;
|
||||
--accent-primary-engage: #5e9eff1a;
|
||||
--accent-secondary: #5e9eff;
|
||||
--accent-tertiary: #0085f21a;
|
||||
color-scheme: dark;
|
||||
}
|
||||
}
|
||||
|
||||
nav.main-nav {
|
||||
padding: 0rem 1rem;
|
||||
border: 0.1rem solid var(--border-secondary);
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
border-radius: 2px;
|
||||
padding: 10px 14px 10px 10px;
|
||||
margin-bottom: 10px;
|
||||
/*! width: 100%; */
|
||||
height: max-content;
|
||||
width: 100vw;
|
||||
}
|
||||
|
||||
nav.main-nav * {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
nav.main-nav > ul {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
row-gap: 1rem;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
nav.main-nav > ul > li > a {
|
||||
padding: 1rem;
|
||||
}
|
||||
nav.main-nav a[href] {
|
||||
text-decoration: underline;
|
||||
text-decoration-color: currentcolor;
|
||||
color: #034575;
|
||||
color: var(--a-normal-text);
|
||||
text-decoration-color: #707070;
|
||||
text-decoration-color: var(--accent-secondary);
|
||||
text-decoration-skip-ink: none;
|
||||
font-synthesis: none;
|
||||
font-feature-settings: "onum" 1;
|
||||
text-rendering: optimizeLegibility;
|
||||
font-family: -apple-system,BlinkMacSystemFont,Roboto,Roboto Slab,Droid Serif,Segoe UI,system-ui,Arial,sans-serif;
|
||||
font-size: 1.125em;
|
||||
}
|
||||
nav.main-nav > ul > li > a:hover {
|
||||
outline: 0.1rem solid;
|
||||
outline-offset: -0.5rem;
|
||||
}
|
||||
a[href]:focus, a[href]:hover {
|
||||
text-decoration-thickness: 2px;
|
||||
text-decoration-skip-ink: none;
|
||||
}
|
||||
</style>
|
||||
<nav class="main-nav">
|
||||
<ul>
|
||||
<li><a href="https://git.meli.delivery/meli/mailpot">Gitea Repository</a></li>
|
||||
<li><a href="https://github.com/meli/mailpot">Github Repository</a></li>
|
||||
<li><a href="https://lists.meli.delivery/">Official Instance</a></li>
|
||||
<li><a href="https://meli.github.io/mailpot/lists/2/">Static Demo</a></li>
|
||||
</ul>
|
||||
</nav>
|
|
@ -1,5 +0,0 @@
|
|||
ignore-not-existing: true
|
||||
branch: true
|
||||
output-type: html
|
||||
binary-path: ./target/debug/
|
||||
output-path: ./coverage/
|
|
@ -1,96 +0,0 @@
|
|||
name: Build release binary
|
||||
|
||||
env:
|
||||
RUST_BACKTRACE: 1
|
||||
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
|
||||
SQLITE_BIN: /home/runner/.sqlite3/sqlite3
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
tags:
|
||||
- v*
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build on ${{ matrix.build }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
build: [linux-amd64, ]
|
||||
include:
|
||||
- build: linux-amd64
|
||||
os: ubuntu-latest
|
||||
rust: stable
|
||||
artifact_name: 'mailpot-linux-amd64'
|
||||
target: x86_64-unknown-linux-gnu
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- id: cache-sqlite3-bin
|
||||
name: Cache sqlite3 binary
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: /home/runner/.sqlite3
|
||||
key: toolchain-sqlite3
|
||||
- if: ${{ steps.cache-sqlite3-bin.outputs.cache-hit != 'true' }}
|
||||
name: Download sqlite3 binary
|
||||
run: |
|
||||
set -ex
|
||||
sudo apt-get install -y --quiet wget unzip
|
||||
mkdir -p /home/runner/.sqlite3
|
||||
cd /home/runner/.sqlite3
|
||||
wget "https://sqlite.org/2023/sqlite-tools-linux-x86-3420000.zip"
|
||||
unzip sqlite-tools-linux-x86-3420000.zip
|
||||
mv sqlite-tools-linux-x86-3420000/* .
|
||||
rm -rf sqlite-tools-linux-x86-3420000*
|
||||
echo "SQLITE_BIN=$(pwd)/sqlite3" >> $GITHUB_ENV
|
||||
- id: cache-rustup
|
||||
name: Cache Rust toolchain
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/.rustup
|
||||
key: toolchain-${{ matrix.os }}-${{ matrix.rust }}
|
||||
- if: ${{ steps.cache-rustup.outputs.cache-hit != 'true' }}
|
||||
name: Install Rust ${{ matrix.rust }}
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
profile: minimal
|
||||
toolchain: ${{ matrix.rust }}
|
||||
target: ${{ matrix.target }}
|
||||
override: true
|
||||
- name: Configure cargo data directory
|
||||
# After this point, all cargo registry and crate data is stored in
|
||||
# $GITHUB_WORKSPACE/.cargo_home. This allows us to cache only the files
|
||||
# that are needed during the build process. Additionally, this works
|
||||
# around a bug in the 'cache' action that causes directories outside of
|
||||
# the workspace dir to be saved/restored incorrectly.
|
||||
run: echo "CARGO_HOME=$(pwd)/.cargo_home" >> $GITHUB_ENV
|
||||
- id: cache-cargo
|
||||
name: Cache cargo configuration and installations
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ env.CARGO_HOME }}
|
||||
key: cargo-${{ matrix.os }}-${{ matrix.rust }}
|
||||
- if: ${{ steps.cache-cargo.outputs.cache-hit != 'true' }} && matrix.target
|
||||
name: Setup Rust target
|
||||
run: |
|
||||
mkdir -p "${{ env.CARGO_HOME }}"
|
||||
cat << EOF > "${{ env.CARGO_HOME }}"/config.toml
|
||||
[build]
|
||||
target = "${{ matrix.target }}"
|
||||
EOF
|
||||
- name: Build binary
|
||||
run: |
|
||||
cargo build --release --bin mpot --bin mpot-gen --bin mpot-web -p mailpot-cli -p mailpot-archives -p mailpot-web
|
||||
mkdir artifacts
|
||||
mv target/*/release/* target/ || true
|
||||
mv target/release/* target/ || true
|
||||
mv target/mpot target/mpot-web target/mpot-gen artifacts/
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ${{ matrix.artifact_name }}
|
||||
path: artifacts
|
||||
if-no-files-found: error
|
||||
retention-days: 7
|
|
@ -1,114 +0,0 @@
|
|||
name: Code coverage
|
||||
|
||||
env:
|
||||
RUST_BACKTRACE: 1
|
||||
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
|
||||
SQLITE_BIN: /home/runner/.sqlite3/sqlite3
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
workflow_run:
|
||||
workflows: [Tests]
|
||||
types: [completed]
|
||||
branches: [main]
|
||||
|
||||
jobs:
|
||||
on-success:
|
||||
runs-on: ubuntu-latest #if: ${{ github.event.workflow_run.conclusion == 'success' }}
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- id: cache-sqlite3-bin
|
||||
name: Cache sqlite3 binary
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: /home/runner/.sqlite3
|
||||
key: toolchain-sqlite3
|
||||
- if: ${{ steps.cache-sqlite3-bin.outputs.cache-hit != 'true' }}
|
||||
name: Download sqlite3 binary
|
||||
run: |
|
||||
set -ex
|
||||
sudo apt-get install -y --quiet wget unzip
|
||||
mkdir -p /home/runner/.sqlite3
|
||||
cd /home/runner/.sqlite3
|
||||
wget "https://sqlite.org/2023/sqlite-tools-linux-x86-3420000.zip"
|
||||
unzip sqlite-tools-linux-x86-3420000.zip
|
||||
mv sqlite-tools-linux-x86-3420000/* .
|
||||
rm -rf sqlite-tools-linux-x86-3420000*
|
||||
echo "SQLITE_BIN=$(pwd)/sqlite3" >> $GITHUB_ENV
|
||||
- id: cache-rustup
|
||||
name: Cache Rust toolchain
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/.rustup
|
||||
key: toolchain-grcov
|
||||
- id: cache-cargo
|
||||
name: Cache Cargo
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/.cargo
|
||||
key: cargo-grcov
|
||||
- uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: nightly
|
||||
override: true
|
||||
- uses: actions-rs/cargo@v1
|
||||
with:
|
||||
command: test
|
||||
args: --all --all-features --no-fail-fast
|
||||
env:
|
||||
CARGO_INCREMENTAL: '0'
|
||||
RUSTFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests -Cinstrument-coverage'
|
||||
RUSTDOCFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests -Cinstrument-coverage'
|
||||
- uses: actions-rs/grcov@v0.1
|
||||
with:
|
||||
config: .github/grcov.yml
|
||||
- name: Upload report artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: report
|
||||
path: coverage
|
||||
|
||||
deploy:
|
||||
# Add a dependency to the build job
|
||||
needs: on-success
|
||||
|
||||
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
|
||||
permissions:
|
||||
pages: write # to deploy to Pages
|
||||
id-token: write # to verify the deployment originates from an appropriate source
|
||||
|
||||
# Deploy to the github-pages environment
|
||||
environment:
|
||||
name: github-pages
|
||||
url: ${{ steps.deployment.outputs.page_url }}
|
||||
|
||||
# Specify runner + deployment step
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Deploy to GitHub Pages
|
||||
id: deployment
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: 'gh-pages'
|
||||
token: ${{ secrets.GRCOVGHPAGES }}
|
||||
- name: Download coverage data
|
||||
id: download
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: report
|
||||
path: coverage
|
||||
- name: 'Echo download path'
|
||||
run: echo ${{steps.download.outputs.download-path}}
|
||||
- name: Display structure of downloaded files
|
||||
run: ls -R
|
||||
- name: Push
|
||||
run: |
|
||||
git config --global user.name 'github-actions[bot]'
|
||||
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
|
||||
git show-ref
|
||||
git add coverage
|
||||
git commit -m "Update grcov report"
|
||||
git show-ref
|
||||
git branch --verbose
|
||||
git remote set-url origin "https://${{github.actor}}:${{ secrets.GRCOVGHPAGES }}@github.com/${{github.repository}}.git"
|
||||
git push
|
|
@ -1,100 +0,0 @@
|
|||
name: Build rustdoc for Github Pages
|
||||
|
||||
env:
|
||||
RUST_BACKTRACE: 1
|
||||
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
|
||||
SQLITE_BIN: /home/runner/.sqlite3/sqlite3
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build-docs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- id: cache-sqlite3-bin
|
||||
name: Cache sqlite3 binary
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: /home/runner/.sqlite3
|
||||
key: toolchain-sqlite3
|
||||
- if: ${{ steps.cache-sqlite3-bin.outputs.cache-hit != 'true' }}
|
||||
name: Download sqlite3 binary
|
||||
run: |
|
||||
set -ex
|
||||
sudo apt-get install -y --quiet wget unzip
|
||||
mkdir -p /home/runner/.sqlite3
|
||||
cd /home/runner/.sqlite3
|
||||
wget "https://sqlite.org/2023/sqlite-tools-linux-x86-3420000.zip"
|
||||
unzip sqlite-tools-linux-x86-3420000.zip
|
||||
mv sqlite-tools-linux-x86-3420000/* .
|
||||
rm -rf sqlite-tools-linux-x86-3420000*
|
||||
echo "SQLITE_BIN=$(pwd)/sqlite3" >> $GITHUB_ENV
|
||||
- id: cache-rustup
|
||||
name: Cache Rust toolchain
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/.rustup
|
||||
key: toolchain-grcov
|
||||
- id: cache-cargo
|
||||
name: Cache Cargo
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/.cargo
|
||||
key: cargo-grcov
|
||||
- uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: nightly
|
||||
override: true
|
||||
- name: Make rustdocs
|
||||
run: |
|
||||
make rustdoc-nightly || make rustdoc
|
||||
rm -rf docs
|
||||
ls -R
|
||||
mv target/doc docs
|
||||
- name: Upload report artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: docs
|
||||
path: docs
|
||||
|
||||
deploy-docs:
|
||||
needs: build-docs
|
||||
permissions:
|
||||
pages: write
|
||||
id-token: write
|
||||
|
||||
environment:
|
||||
name: github-pages
|
||||
url: ${{ steps.deployment.outputs.page_url }}
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Deploy to GitHub Pages
|
||||
id: deployment
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: 'gh-pages'
|
||||
token: ${{ secrets.GRCOVGHPAGES }}
|
||||
- name: Download docs
|
||||
id: download
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: docs
|
||||
path: docs
|
||||
- name: 'Echo download path'
|
||||
run: echo ${{steps.download.outputs.download-path}}
|
||||
- name: Display structure of downloaded files
|
||||
run: ls -R
|
||||
- name: Push
|
||||
run: |
|
||||
git config --global user.name 'github-actions[bot]'
|
||||
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
|
||||
git show-ref
|
||||
git add docs
|
||||
git commit -m "Update rustdoc"
|
||||
git show-ref
|
||||
git branch --verbose
|
||||
git remote set-url origin "https://${{github.actor}}:${{ secrets.GRCOVGHPAGES }}@github.com/${{github.repository}}.git"
|
||||
git push
|
|
@ -1,114 +0,0 @@
|
|||
name: Tests
|
||||
|
||||
env:
|
||||
RUST_BACKTRACE: 1
|
||||
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
|
||||
SQLITE_BIN: /home/runner/.sqlite3/sqlite3
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- '**'
|
||||
paths:
|
||||
- 'core/src/**'
|
||||
- 'core/tests/**'
|
||||
- 'core/Cargo.toml'
|
||||
- 'Cargo.lock'
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: Test on ${{ matrix.build }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
build: [linux-amd64, ]
|
||||
include:
|
||||
- build: linux-amd64
|
||||
os: ubuntu-latest
|
||||
rust: stable
|
||||
target: x86_64-unknown-linux-gnu
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- id: cache-sqlite3-bin
|
||||
name: Cache sqlite3 binary
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: /home/runner/.sqlite3
|
||||
key: toolchain-sqlite3
|
||||
- if: ${{ steps.cache-sqlite3-bin.outputs.cache-hit != 'true' }}
|
||||
name: Download sqlite3 binary
|
||||
run: |
|
||||
set -ex
|
||||
sudo apt-get install -y --quiet wget unzip
|
||||
mkdir -p /home/runner/.sqlite3
|
||||
cd /home/runner/.sqlite3
|
||||
wget "https://sqlite.org/2023/sqlite-tools-linux-x86-3420000.zip"
|
||||
unzip sqlite-tools-linux-x86-3420000.zip
|
||||
mv sqlite-tools-linux-x86-3420000/* .
|
||||
rm -rf sqlite-tools-linux-x86-3420000*
|
||||
echo "SQLITE_BIN=$(pwd)/sqlite3" >> $GITHUB_ENV
|
||||
- id: cache-rustup
|
||||
name: Cache Rust toolchain
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/.rustup
|
||||
key: toolchain-${{ matrix.os }}-${{ matrix.rust }}
|
||||
- if: ${{ steps.cache-rustup.outputs.cache-hit != 'true' }}
|
||||
name: Install Rust ${{ matrix.rust }}
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
profile: minimal
|
||||
toolchain: ${{ matrix.rust }}
|
||||
components: clippy, rustfmt
|
||||
target: ${{ matrix.target }}
|
||||
override: true
|
||||
- name: Configure cargo data directory
|
||||
# After this point, all cargo registry and crate data is stored in
|
||||
# $GITHUB_WORKSPACE/.cargo_home. This allows us to cache only the files
|
||||
# that are needed during the build process. Additionally, this works
|
||||
# around a bug in the 'cache' action that causes directories outside of
|
||||
# the workspace dir to be saved/restored incorrectly.
|
||||
run: echo "CARGO_HOME=$(pwd)/.cargo_home" >> $GITHUB_ENV
|
||||
- id: cache-cargo
|
||||
name: Cache cargo configuration and installations
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ env.CARGO_HOME }}
|
||||
key: cargo-${{ matrix.os }}-${{ matrix.rust }}
|
||||
- if: ${{ steps.cache-cargo.outputs.cache-hit != 'true' }} && matrix.target
|
||||
name: Setup Rust target
|
||||
run: |
|
||||
mkdir -p "${{ env.CARGO_HOME }}"
|
||||
cat << EOF > "${{ env.CARGO_HOME }}"/config.toml
|
||||
[build]
|
||||
target = "${{ matrix.target }}"
|
||||
EOF
|
||||
- if: ${{ steps.cache-cargo.outputs.cache-hit != 'true' }} && matrix.target
|
||||
name: Add lint dependencies
|
||||
run: |
|
||||
cargo install --target "${{ matrix.target }}" cargo-sort
|
||||
- name: cargo-check
|
||||
run: |
|
||||
cargo check --all-features --all --tests --examples --benches --bins
|
||||
- name: cargo test
|
||||
if: success() || failure() # always run even if other steps fail, except when cancelled <https://stackoverflow.com/questions/58858429/how-to-run-a-github-actions-step-even-if-the-previous-step-fails-while-still-f>
|
||||
run: |
|
||||
cargo test --all --no-fail-fast --all-features
|
||||
- name: cargo-sort
|
||||
if: success() || failure()
|
||||
run: |
|
||||
cargo sort --check
|
||||
- name: rustfmt
|
||||
if: success() || failure()
|
||||
run: |
|
||||
cargo fmt --check --all
|
||||
- name: clippy
|
||||
if: success() || failure()
|
||||
run: |
|
||||
cargo clippy --no-deps --all-features --all --tests --examples --benches --bins
|
||||
- name: rustdoc
|
||||
if: success() || failure()
|
||||
run: |
|
||||
make rustdoc
|
|
@ -1,128 +0,0 @@
|
|||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
We as members, contributors, and leaders pledge to make participation in our
|
||||
community a harassment-free experience for everyone, regardless of age, body
|
||||
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
||||
identity and expression, level of experience, education, socio-economic status,
|
||||
nationality, personal appearance, race, religion, or sexual identity
|
||||
and orientation.
|
||||
|
||||
We pledge to act and interact in ways that contribute to an open, welcoming,
|
||||
diverse, inclusive, and healthy community.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to a positive environment for our
|
||||
community include:
|
||||
|
||||
* Demonstrating empathy and kindness toward other people
|
||||
* Being respectful of differing opinions, viewpoints, and experiences
|
||||
* Giving and gracefully accepting constructive feedback
|
||||
* Accepting responsibility and apologizing to those affected by our mistakes,
|
||||
and learning from the experience
|
||||
* Focusing on what is best not just for us as individuals, but for the
|
||||
overall community
|
||||
|
||||
Examples of unacceptable behavior include:
|
||||
|
||||
* The use of sexualized language or imagery, and sexual attention or
|
||||
advances of any kind
|
||||
* Trolling, insulting or derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or email
|
||||
address, without their explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Enforcement Responsibilities
|
||||
|
||||
Community leaders are responsible for clarifying and enforcing our standards of
|
||||
acceptable behavior and will take appropriate and fair corrective action in
|
||||
response to any behavior that they deem inappropriate, threatening, offensive,
|
||||
or harmful.
|
||||
|
||||
Community leaders have the right and responsibility to remove, edit, or reject
|
||||
comments, commits, code, wiki edits, issues, and other contributions that are
|
||||
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
||||
decisions when appropriate.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies within all community spaces, and also applies when
|
||||
an individual is officially representing the community in public spaces.
|
||||
Examples of representing our community include using an official e-mail address,
|
||||
posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported to the community leaders responsible for enforcement at
|
||||
manos@pitsidianak.is.
|
||||
All complaints will be reviewed and investigated promptly and fairly.
|
||||
|
||||
All community leaders are obligated to respect the privacy and security of the
|
||||
reporter of any incident.
|
||||
|
||||
## Enforcement Guidelines
|
||||
|
||||
Community leaders will follow these Community Impact Guidelines in determining
|
||||
the consequences for any action they deem in violation of this Code of Conduct:
|
||||
|
||||
### 1. Correction
|
||||
|
||||
**Community Impact**: Use of inappropriate language or other behavior deemed
|
||||
unprofessional or unwelcome in the community.
|
||||
|
||||
**Consequence**: A private, written warning from community leaders, providing
|
||||
clarity around the nature of the violation and an explanation of why the
|
||||
behavior was inappropriate. A public apology may be requested.
|
||||
|
||||
### 2. Warning
|
||||
|
||||
**Community Impact**: A violation through a single incident or series
|
||||
of actions.
|
||||
|
||||
**Consequence**: A warning with consequences for continued behavior. No
|
||||
interaction with the people involved, including unsolicited interaction with
|
||||
those enforcing the Code of Conduct, for a specified period of time. This
|
||||
includes avoiding interactions in community spaces as well as external channels
|
||||
like social media. Violating these terms may lead to a temporary or
|
||||
permanent ban.
|
||||
|
||||
### 3. Temporary Ban
|
||||
|
||||
**Community Impact**: A serious violation of community standards, including
|
||||
sustained inappropriate behavior.
|
||||
|
||||
**Consequence**: A temporary ban from any sort of interaction or public
|
||||
communication with the community for a specified period of time. No public or
|
||||
private interaction with the people involved, including unsolicited interaction
|
||||
with those enforcing the Code of Conduct, is allowed during this period.
|
||||
Violating these terms may lead to a permanent ban.
|
||||
|
||||
### 4. Permanent Ban
|
||||
|
||||
**Community Impact**: Demonstrating a pattern of violation of community
|
||||
standards, including sustained inappropriate behavior, harassment of an
|
||||
individual, or aggression toward or disparagement of classes of individuals.
|
||||
|
||||
**Consequence**: A permanent ban from any sort of public interaction within
|
||||
the community.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
||||
version 2.0, available at
|
||||
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
||||
|
||||
Community Impact Guidelines were inspired by [Mozilla's code of conduct
|
||||
enforcement ladder](https://github.com/mozilla/diversity).
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
|
||||
For answers to common questions about this code of conduct, see the FAQ at
|
||||
https://www.contributor-covenant.org/faq. Translations are available at
|
||||
https://www.contributor-covenant.org/translations.
|
102
CONTRIBUTING.md
102
CONTRIBUTING.md
|
@ -1,102 +0,0 @@
|
|||
# Contributing to mailpot
|
||||
|
||||
Contributions are welcome and encouraged.
|
||||
They can be anything from spelling corrections, art, documentation, or source code fixes & additions.
|
||||
If a source code contribution is correct, functional and follows the code style and feature goals of the rest of the project, it will be merged.
|
||||
|
||||
**Table of contents**:
|
||||
|
||||
- [Important links](#important-links)
|
||||
- [Developing environment](#developing-environment)
|
||||
- [Testing](#testing)
|
||||
- [How to submit changes](#how-to-submit-changes)
|
||||
- [Choosing what to work on](#choosing-what-to-work-on)
|
||||
- [How to request an enhancement, new features](#how-to-request-an-enhancement-new-features)
|
||||
- [Style Guide / Coding conventions](#style-guide--coding-conventions)
|
||||
- [Specific questions and answers](#specific-questions-and-answers)
|
||||
- [How do I include new images / icons?](#how-do-i-include-new-images--icons)
|
||||
|
||||
## Important links
|
||||
|
||||
- Main repository: <https://git.meli.delivery/meli/mailpot>
|
||||
- Bug/Issue tracker: <https://git.meli.delivery/meli/mailpot/issues>
|
||||
- Mailing list: <https://lists.meli.delivery/list/mailpot-general/>
|
||||
|
||||
To privately contact the repository's owner, check their commit history for their e-mail address.
|
||||
|
||||
<sup><sub><a href="#contributing-to-mailpot">back to top</a></sub></sup>
|
||||
|
||||
## Developing environment
|
||||
|
||||
You will need a UNIX-like operating system that is supported by Rust.
|
||||
You can install rust and cargo with the [`rustup`](https://rustup.rs) tool.
|
||||
|
||||
<sup><sub><a href="#contributing-to-mailpot">back to top</a></sub></sup>
|
||||
|
||||
## Testing
|
||||
|
||||
All tests can be executed with `cargo`.
|
||||
Run
|
||||
|
||||
```shell
|
||||
cargo test --all --no-fail-fast --all-features
|
||||
```
|
||||
|
||||
to run all tests.
|
||||
|
||||
<sup><sub><a href="#contributing-to-mailpot">back to top</a></sub></sup>
|
||||
|
||||
## How to submit changes
|
||||
|
||||
Use gitea's PR functionality.
|
||||
Alternatively, submit patches to the mailing list.
|
||||
|
||||
<sup><sub><a href="#contributing-to-mailpot">back to top</a></sub></sup>
|
||||
|
||||
## Choosing what to work on
|
||||
|
||||
You can find some tasks in the bug tracker.
|
||||
Additionally, tasks are annotated inside the source code with the keywords `FIXME`, `TODO` and others.
|
||||
For a list of all tags search for `[tag:`.
|
||||
For a list of all references search for `[ref:`.
|
||||
To find tag references you can use a text search tool of your choice such as `grep`, `ripgrep` or others.
|
||||
The CLI tool `tagref` can also be used:
|
||||
|
||||
```shell
|
||||
/path/to/mailpot $ tagref list-refs
|
||||
[ref:FIXME] @ ./src/module.rs:106
|
||||
[ref:FIXME] @ ./src/module.rs:867
|
||||
[ref:FIXME] @ ./src/module.rs:30
|
||||
[ref:TODO] @ ./src/where.rs:411
|
||||
...
|
||||
```
|
||||
|
||||
You can of course filter or sort them by tag:
|
||||
|
||||
```shell
|
||||
/path/to/mailpot $ tagref list-refs | grep TODO
|
||||
...
|
||||
/path/to/mailpot $ tagref list-refs | sort -u
|
||||
...
|
||||
```
|
||||
|
||||
<sup><sub><a href="#contributing-to-mailpot">back to top</a></sub></sup>
|
||||
|
||||
## How to request an enhancement, new features
|
||||
|
||||
Simply open a new issue on the bug tracker or post on the mailing list.
|
||||
|
||||
<sup><sub><a href="#contributing-to-mailpot">back to top</a></sub></sup>
|
||||
|
||||
## Style Guide / Coding conventions
|
||||
|
||||
All Rust code must be formatted by `rustfmt`, and pass clippy lints.
|
||||
|
||||
```shell
|
||||
cargo check --all-features --all --tests --examples --benches --bins
|
||||
cargo +nightly fmt --all || cargo fmt --all
|
||||
cargo clippy --no-deps --all-features --all --tests --examples --benches --bins
|
||||
djhtml -i web/src/templates/* || printf "djhtml binary not found in PATH.\n"
|
||||
```
|
||||
|
||||
<sup><sub><a href="#contributing-to-mailpot">back to top</a></sub></sup>
|
File diff suppressed because it is too large
Load Diff
17
Cargo.toml
17
Cargo.toml
|
@ -1,17 +0,0 @@
|
|||
[workspace]
|
||||
resolver = "2"
|
||||
|
||||
members = [
|
||||
"mailpot",
|
||||
"mailpot-archives",
|
||||
"mailpot-cli",
|
||||
"mailpot-http",
|
||||
"mailpot-tests",
|
||||
"mailpot-web",
|
||||
]
|
||||
|
||||
[profile.release]
|
||||
lto = "fat"
|
||||
opt-level = "z"
|
||||
codegen-units = 1
|
||||
split-debuginfo = "unpacked"
|
46
Makefile
46
Makefile
|
@ -1,46 +0,0 @@
|
|||
.POSIX:
|
||||
.SUFFIXES:
|
||||
CARGOBIN = cargo
|
||||
CARGOSORTBIN = cargo-sort
|
||||
DJHTMLBIN = djhtml
|
||||
BLACKBIN = black
|
||||
PRINTF = /usr/bin/printf
|
||||
|
||||
HTML_FILES := $(shell find mailpot-web/src/templates -type f -print0 | tr '\0' ' ')
|
||||
PY_FILES := $(shell find . -type f -name '*.py' -print0 | tr '\0' ' ')
|
||||
|
||||
.PHONY: check
|
||||
check:
|
||||
@$(CARGOBIN) check --all-features --all --tests --examples --benches --bins
|
||||
|
||||
.PHONY: fmt
|
||||
fmt:
|
||||
@$(CARGOBIN) +nightly fmt --all || $(CARGOBIN) fmt --all
|
||||
@OUT=$$($(CARGOSORTBIN) -w 2>&1) || $(PRINTF) "ERROR: %s cargo-sort failed or binary not found in PATH.\n" "$$OUT"
|
||||
@OUT=$$($(DJHTMLBIN) $(HTML_FILES) 2>&1) || $(PRINTF) "ERROR: %s djhtml failed or binary not found in PATH.\n" "$$OUT"
|
||||
@OUT=$$($(BLACKBIN) -q $(PY_FILES) 2>&1) || $(PRINTF) "ERROR: %s black failed or binary not found in PATH.\n" "$$OUT"
|
||||
|
||||
.PHONY: lint
|
||||
lint:
|
||||
@$(CARGOBIN) clippy --no-deps --all-features --all --tests --examples --benches --bins
|
||||
|
||||
|
||||
.PHONY: test
|
||||
test: check lint
|
||||
@$(CARGOBIN) nextest run --all --no-fail-fast --all-features
|
||||
|
||||
.PHONY: rustdoc
|
||||
rustdoc:
|
||||
@RUSTDOCFLAGS="--html-before-content ./.github/doc_extra.html" $(CARGOBIN) doc --workspace --all-features --no-deps --document-private-items
|
||||
|
||||
.PHONY: rustdoc-open
|
||||
rustdoc-open:
|
||||
@RUSTDOCFLAGS="--html-before-content ./.github/doc_extra.html" $(CARGOBIN) doc --workspace --all-features --no-deps --document-private-items --open
|
||||
|
||||
.PHONY: rustdoc-nightly
|
||||
rustdoc-nightly:
|
||||
@RUSTDOCFLAGS="--html-before-content ./.github/doc_extra.html" $(CARGOBIN) +nightly doc -Zrustdoc-map -Z rustdoc-scrape-examples --workspace --all-features --no-deps --document-private-items
|
||||
|
||||
.PHONY: rustdoc-nightly-open
|
||||
rustdoc-nightly-open:
|
||||
@RUSTDOCFLAGS="--html-before-content ./.github/doc_extra.html" $(CARGOBIN) +nightly doc -Zrustdoc-map -Z rustdoc-scrape-examples --workspace --all-features --no-deps --document-private-items --open
|
329
README.md
329
README.md
|
@ -1,329 +0,0 @@
|
|||
# mailpot - mailing list manager
|
||||
|
||||
[![Latest Version]][crates.io] [![Coverage]][grcov-rport] [![docs.rs]][rustdoc] ![Top Language] ![License]
|
||||
|
||||
[Latest Version]: https://img.shields.io/crates/v/mailpot.svg?color=white
|
||||
[crates.io]: https://crates.io/crates/mailpot
|
||||
[Top Language]: https://img.shields.io/github/languages/top/meli/mailpot?color=white&logo=rust&logoColor=black
|
||||
[License]: https://img.shields.io/github/license/meli/mailpot?color=white
|
||||
[docs.rs]: https://img.shields.io/docsrs/mailpot?color=white
|
||||
[rustdoc]: https://meli.github.io/mailpot/docs/mailpot/
|
||||
[Coverage]: https://img.shields.io/endpoint?color=white&url=https://meli.github.io/mailpot/coverage/coverage.json
|
||||
[grcov-rport]: https://meli.github.io/mailpot/coverage/
|
||||
|
||||
- Official hosted instance of `mailpot-web` crate: <https://lists.meli.delivery/>
|
||||
- Rendered rustdoc: <https://meli.github.io/mailpot/docs/mailpot/>
|
||||
- CLI manpage: [`mpot.1`](./docs/mpot.1) [Rendered](https://git.meli.delivery/meli/mailpot/src/branch/main/docs/mpot.1)
|
||||
|
||||
| ℹ️ Interested in contributing? Consult [`CONTRIBUTING.md`](./CONTRIBUTING.md). |
|
||||
| --- |
|
||||
|
||||
## crates:
|
||||
|
||||
- `core` the library
|
||||
- `cli` a command line tool to manage lists
|
||||
- `web` an `axum` based web server capable of serving archives and authenticating list owners and members
|
||||
- `archive-http` static web archive generation or with a dynamic http server
|
||||
- `rest-http` a REST http server to manage lists
|
||||
|
||||
## Features
|
||||
|
||||
- easy setup
|
||||
- extensible through Rust API as a [library](./core)
|
||||
- basic management through [CLI tool](./cli/)
|
||||
- optional lightweight web archiver ([static](./archive-http/) and [dynamic](./web/))
|
||||
- useful for both **newsletters**, **communities** and for static **article comments**
|
||||
|
||||
## Roadmap
|
||||
|
||||
- extensible through HTTP REST API as an HTTP server, with webhooks
|
||||
|
||||
## Initial setup
|
||||
|
||||
Create a configuration file and a database:
|
||||
|
||||
```shell
|
||||
$ mkdir -p /home/user/.config/mailpot
|
||||
$ export MPOT_CONFIG=/home/user/.config/mailpot/config.toml
|
||||
$ cargo run --bin mpot -- sample-config > "$MPOT_CONFIG"
|
||||
$ # edit config and set database path e.g. "/home/user/.local/share/mailpot/mpot.db"
|
||||
$ cargo run --bin mpot -- -c "$MPOT_CONFIG" list-lists
|
||||
No lists found.
|
||||
```
|
||||
|
||||
This creates the database file in the configuration file as if you executed the following:
|
||||
|
||||
```shell
|
||||
$ sqlite3 /home/user/.local/share/mailpot/mpot.db < ./core/src/schema.sql
|
||||
```
|
||||
|
||||
## Examples
|
||||
|
||||
```text
|
||||
% mpot help
|
||||
GNU Affero version 3 or later <https://www.gnu.org/licenses/>
|
||||
|
||||
Tool for mailpot mailing list management.
|
||||
|
||||
Usage: mpot [OPTIONS] <COMMAND>
|
||||
|
||||
Commands:
|
||||
sample-config
|
||||
Prints a sample config file to STDOUT
|
||||
dump-database
|
||||
Dumps database data to STDOUT
|
||||
list-lists
|
||||
Lists all registered mailing lists
|
||||
list
|
||||
Mailing list management
|
||||
create-list
|
||||
Create new list
|
||||
post
|
||||
Post message from STDIN to list
|
||||
flush-queue
|
||||
Flush outgoing e-mail queue
|
||||
error-queue
|
||||
Mail that has not been handled properly end up in the error queue
|
||||
queue
|
||||
Mail that has not been handled properly end up in the error queue
|
||||
import-maildir
|
||||
Import a maildir folder into an existing list
|
||||
update-postfix-config
|
||||
Update postfix maps and master.cf (probably needs root permissions)
|
||||
print-postfix-config
|
||||
Print postfix maps and master.cf entry to STDOUT
|
||||
accounts
|
||||
All Accounts
|
||||
account-info
|
||||
Account info
|
||||
add-account
|
||||
Add account
|
||||
remove-account
|
||||
Remove account
|
||||
update-account
|
||||
Update account info
|
||||
repair
|
||||
Show and fix possible data mistakes or inconsistencies
|
||||
help
|
||||
Print this message or the help of the given subcommand(s)
|
||||
|
||||
Options:
|
||||
-d, --debug
|
||||
Print logs
|
||||
|
||||
-c, --config <CONFIG>
|
||||
Configuration file to use
|
||||
|
||||
-q, --quiet
|
||||
Silence all output
|
||||
|
||||
-v, --verbose...
|
||||
Verbose mode (-v, -vv, -vvv, etc)
|
||||
|
||||
-t, --ts <TS>
|
||||
Debug log timestamp (sec, ms, ns, none)
|
||||
|
||||
-h, --help
|
||||
Print help (see a summary with '-h')
|
||||
|
||||
-V, --version
|
||||
Print version
|
||||
```
|
||||
|
||||
### Receiving mail
|
||||
|
||||
```shell
|
||||
$ cat list-request.eml | cargo run --bin mpot -- -vvvvvv post --dry-run
|
||||
```
|
||||
|
||||
<details><summary>output</summary>
|
||||
|
||||
```shell
|
||||
TRACE - Received envelope to post: Envelope {
|
||||
Subject: "unsubscribe",
|
||||
Date: "Tue, 04 Aug 2020 14:10:13 +0300",
|
||||
From: [
|
||||
Address::Mailbox {
|
||||
display_name: "Mxxxx Pxxxxxxxxxxxx",
|
||||
address_spec: "exxxxx@localhost",
|
||||
},
|
||||
],
|
||||
To: [
|
||||
Address::Mailbox {
|
||||
display_name: "",
|
||||
address_spec: "test-announce+request@localhost",
|
||||
},
|
||||
],
|
||||
Message-ID: "<ejduu.fddf8sgen4j7@localhost>",
|
||||
In-Reply-To: None,
|
||||
References: None,
|
||||
Hash: 12581897380059220314,
|
||||
}
|
||||
TRACE - unsubscribe action for addresses [Address::Mailbox { display_name: "Mxxxx Pxxxxxxxxxxxx", address_spec: "exxxxx@localhost" }] in list [#2 test-announce] test announcements <test-announce@localhost>
|
||||
TRACE - Is post related to list [#1 test] Test list <test@localhost>? false
|
||||
```
|
||||
</details>
|
||||
|
||||
```shell
|
||||
$ cat list-post.eml | cargo run --bin mpot -- -vvvvvv post --dry-run
|
||||
```
|
||||
|
||||
<details><summary>output</summary>
|
||||
|
||||
```shell
|
||||
TRACE - Received envelope to post: Envelope {
|
||||
Subject: "[test-announce] new test releases",
|
||||
Date: "Tue, 04 Aug 2020 14:10:13 +0300",
|
||||
From: [
|
||||
Address::Mailbox {
|
||||
display_name: "Mxxxx Pxxxxxxxxxxxx",
|
||||
address_spec: "exxxxx@localhost",
|
||||
},
|
||||
],
|
||||
To: [
|
||||
Address::Mailbox {
|
||||
display_name: "",
|
||||
address_spec: "test-announce@localhost",
|
||||
},
|
||||
],
|
||||
Message-ID: "<ejduu.sddf8sgen4j7@localhost>",
|
||||
In-Reply-To: None,
|
||||
References: None,
|
||||
Hash: 10220641455578979007,
|
||||
}
|
||||
TRACE - Is post related to list [#1 test] Test list <test@localhost>? false
|
||||
TRACE - Is post related to list [#2 test-announce] test announcements <test-announce@localhost>? true
|
||||
TRACE - Examining list "test announcements" <test-announce@localhost>
|
||||
TRACE - List subscriptions [
|
||||
ListSubscription {
|
||||
list: 2,
|
||||
address: "exxxxx@localhost",
|
||||
name: None,
|
||||
digest: false,
|
||||
hide_address: false,
|
||||
receive_duplicates: false,
|
||||
receive_own_posts: true,
|
||||
receive_confirmation: true,
|
||||
enabled: true,
|
||||
},
|
||||
]
|
||||
TRACE - Running FixCRLF filter
|
||||
TRACE - Running PostRightsCheck filter
|
||||
TRACE - Running AddListHeaders filter
|
||||
TRACE - Running FinalizeRecipients filter
|
||||
TRACE - examining subscription ListSubscription { list: 2, address: "exxxxx@localhost", name: None, digest: false, hide_address: false, receive_duplicates: false, receive_own_posts: true, receive_confirmation: true, enabled: true }
|
||||
TRACE - subscription is submitter
|
||||
TRACE - subscription gets copy
|
||||
TRACE - result Ok(
|
||||
Post {
|
||||
list: MailingList {
|
||||
pk: 2,
|
||||
name: "test announcements",
|
||||
id: "test-announce",
|
||||
address: "test-announce@localhost",
|
||||
description: None,
|
||||
archive_url: None,
|
||||
},
|
||||
from: Address::Mailbox {
|
||||
display_name: "Mxxxx Pxxxxxxxxxxxx",
|
||||
address_spec: "exxxxx@localhost",
|
||||
},
|
||||
subscriptions: 1,
|
||||
bytes: 851,
|
||||
policy: None,
|
||||
to: [
|
||||
Address::Mailbox {
|
||||
display_name: "",
|
||||
address_spec: "test-announce@localhost",
|
||||
},
|
||||
],
|
||||
action: Accept {
|
||||
recipients: [
|
||||
Address::Mailbox {
|
||||
display_name: "",
|
||||
address_spec: "exxxxx@localhost",
|
||||
},
|
||||
],
|
||||
digests: [],
|
||||
},
|
||||
},
|
||||
)
|
||||
```
|
||||
</details>
|
||||
|
||||
## Using `mailpot` as a library
|
||||
|
||||
```rust
|
||||
use mailpot::{models::*, *};
|
||||
use tempfile::TempDir;
|
||||
|
||||
let tmp_dir = TempDir::new().unwrap();
|
||||
let db_path = tmp_dir.path().join("mpot.db");
|
||||
let config = Configuration {
|
||||
send_mail: SendMail::ShellCommand("/usr/bin/false".to_string()),
|
||||
db_path: db_path.clone(),
|
||||
data_path: tmp_dir.path().to_path_buf(),
|
||||
administrators: vec!["myaddress@example.com".to_string()],
|
||||
};
|
||||
let db = Connection::open_or_create_db(config)?.trusted();
|
||||
|
||||
// Create a new mailing list
|
||||
let list_pk = db.create_list(MailingList {
|
||||
pk: 0,
|
||||
name: "foobar chat".into(),
|
||||
id: "foo-chat".into(),
|
||||
address: "foo-chat@example.com".into(),
|
||||
description: None,
|
||||
topics: vec![],
|
||||
archive_url: None,
|
||||
})?.pk;
|
||||
|
||||
db.set_list_post_policy(
|
||||
PostPolicy {
|
||||
pk: 0,
|
||||
list: list_pk,
|
||||
announce_only: false,
|
||||
subscription_only: true,
|
||||
approval_needed: false,
|
||||
open: false,
|
||||
custom: false,
|
||||
},
|
||||
)?;
|
||||
|
||||
// Drop privileges; we can only process new e-mail and modify subscriptions from now on.
|
||||
let mut db = db.untrusted();
|
||||
|
||||
assert_eq!(db.list_subscriptions(list_pk)?.len(), 0);
|
||||
assert_eq!(db.list_posts(list_pk, None)?.len(), 0);
|
||||
|
||||
// Process a subscription request e-mail
|
||||
let subscribe_bytes = b"From: Name <user@example.com>
|
||||
To: <foo-chat+subscribe@example.com>
|
||||
Subject: subscribe
|
||||
Date: Thu, 29 Oct 2020 13:58:16 +0000
|
||||
Message-ID: <1@example.com>
|
||||
|
||||
";
|
||||
let envelope = melib::Envelope::from_bytes(subscribe_bytes, None)?;
|
||||
db.post(&envelope, subscribe_bytes, /* dry_run */ false)?;
|
||||
|
||||
assert_eq!(db.list_subscriptions(list_pk)?.len(), 1);
|
||||
assert_eq!(db.list_posts(list_pk, None)?.len(), 0);
|
||||
|
||||
// Process a post
|
||||
let post_bytes = b"From: Name <user@example.com>
|
||||
To: <foo-chat@example.com>
|
||||
Subject: my first post
|
||||
Date: Thu, 29 Oct 2020 14:01:09 +0000
|
||||
Message-ID: <2@example.com>
|
||||
|
||||
Hello
|
||||
";
|
||||
let envelope =
|
||||
melib::Envelope::from_bytes(post_bytes, None).expect("Could not parse message");
|
||||
db.post(&envelope, post_bytes, /* dry_run */ false)?;
|
||||
|
||||
assert_eq!(db.list_subscriptions(list_pk)?.len(), 1);
|
||||
assert_eq!(db.list_posts(list_pk, None)?.len(), 1);
|
||||
# Ok::<(), Error>(())
|
||||
```
|
|
@ -0,0 +1,23 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" width="96" height="20" role="img" aria-label="coverage: 58%">
|
||||
<title>coverage: 58%</title>
|
||||
<linearGradient id="s" x2="0" y2="100%">
|
||||
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
|
||||
<stop offset="1" stop-opacity=".1"/>
|
||||
</linearGradient>
|
||||
<clipPath id="r">
|
||||
<rect width="96" height="20" rx="3" fill="#fff"/>
|
||||
</clipPath>
|
||||
<g clip-path="url(#r)">
|
||||
<rect width="61" height="20" fill="#555"/>
|
||||
<rect x="61" width="35" height="20" fill="#e05d44"/>
|
||||
<rect width="96" height="20" fill="url(#s)"/>
|
||||
</g>
|
||||
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110">
|
||||
<text aria-hidden="true" x="315" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="510">coverage</text>
|
||||
<text x="315" y="140" transform="scale(.1)" fill="#fff" textLength="510">coverage</text>
|
||||
<text aria-hidden="true" x="775" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="250">58%</text>
|
||||
<text x="775" y="140" transform="scale(.1)" fill="#fff" textLength="250">58%</text>
|
||||
</g>
|
||||
<script xmlns=""/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
|
@ -0,0 +1,13 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" width="96" height="20" role="img" aria-label="coverage: 58%">
|
||||
<title>coverage: 58%</title>
|
||||
<g shape-rendering="crispEdges">
|
||||
<rect width="61" height="20" fill="#555"/>
|
||||
<rect x="61" width="35" height="20" fill="#e05d44"/>
|
||||
</g>
|
||||
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110">
|
||||
<text x="315" y="140" transform="scale(.1)" fill="#fff" textLength="510">coverage</text>
|
||||
<text x="775" y="140" transform="scale(.1)" fill="#fff" textLength="250">58%</text>
|
||||
</g>
|
||||
<script xmlns=""/>
|
||||
</svg>
|
After Width: | Height: | Size: 712 B |
|
@ -0,0 +1,13 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" width="142.5" height="28" role="img" aria-label="COVERAGE: 58%">
|
||||
<title>COVERAGE: 58%</title>
|
||||
<g shape-rendering="crispEdges">
|
||||
<rect width="91" height="28" fill="#555"/>
|
||||
<rect x="91" width="51.5" height="28" fill="#e05d44"/>
|
||||
</g>
|
||||
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="100">
|
||||
<text fill="#fff" x="455" y="175" transform="scale(.1)" textLength="670">COVERAGE</text>
|
||||
<text fill="#fff" x="1167.5" y="175" font-weight="bold" transform="scale(.1)" textLength="275">58%</text>
|
||||
</g>
|
||||
<script xmlns=""/>
|
||||
</svg>
|
After Width: | Height: | Size: 739 B |
|
@ -0,0 +1,25 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" width="96" height="18" role="img" aria-label="coverage: 58%">
|
||||
<title>coverage: 58%</title>
|
||||
<linearGradient id="s" x2="0" y2="100%">
|
||||
<stop offset="0" stop-color="#fff" stop-opacity=".7"/>
|
||||
<stop offset=".1" stop-color="#aaa" stop-opacity=".1"/>
|
||||
<stop offset=".9" stop-color="#000" stop-opacity=".3"/>
|
||||
<stop offset="1" stop-color="#000" stop-opacity=".5"/>
|
||||
</linearGradient>
|
||||
<clipPath id="r">
|
||||
<rect width="96" height="18" rx="4" fill="#fff"/>
|
||||
</clipPath>
|
||||
<g clip-path="url(#r)">
|
||||
<rect width="61" height="18" fill="#555"/>
|
||||
<rect x="61" width="35" height="18" fill="#e05d44"/>
|
||||
<rect width="96" height="18" fill="url(#s)"/>
|
||||
</g>
|
||||
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110">
|
||||
<text aria-hidden="true" x="315" y="140" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="510">coverage</text>
|
||||
<text x="315" y="130" transform="scale(.1)" fill="#fff" textLength="510">coverage</text>
|
||||
<text aria-hidden="true" x="775" y="140" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="250">58%</text>
|
||||
<text x="775" y="130" transform="scale(.1)" fill="#fff" textLength="250">58%</text>
|
||||
</g>
|
||||
<script xmlns=""/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.4 KiB |
|
@ -0,0 +1,27 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" width="99" height="20" role="img" aria-label="Coverage: 58%">
|
||||
<title>Coverage: 58%</title>
|
||||
<style>a:hover #llink{fill:url(#b);stroke:#ccc}a:hover #rlink{fill:#4183c4}</style>
|
||||
<linearGradient id="a" x2="0" y2="100%">
|
||||
<stop offset="0" stop-color="#fcfcfc" stop-opacity="0"/>
|
||||
<stop offset="1" stop-opacity=".1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="b" x2="0" y2="100%">
|
||||
<stop offset="0" stop-color="#ccc" stop-opacity=".1"/>
|
||||
<stop offset="1" stop-opacity=".1"/>
|
||||
</linearGradient>
|
||||
<g stroke="#d5d5d5">
|
||||
<rect stroke="none" fill="#fcfcfc" x="0.5" y="0.5" width="61" height="19" rx="2"/>
|
||||
<rect x="67.5" y="0.5" width="31" height="19" rx="2" fill="#fafafa"/>
|
||||
<rect x="67" y="7.5" width="0.5" height="5" stroke="#fafafa"/>
|
||||
<path d="M67.5 6.5 l-3 3v1 l3 3" stroke="d5d5d5" fill="#fafafa"/>
|
||||
</g>
|
||||
<g aria-hidden="true" fill="#333" text-anchor="middle" font-family="Helvetica Neue,Helvetica,Arial,sans-serif" text-rendering="geometricPrecision" font-weight="700" font-size="110px" line-height="14px">
|
||||
<rect id="llink" stroke="#d5d5d5" fill="url(#a)" x=".5" y=".5" width="61" height="19" rx="2"/>
|
||||
<text aria-hidden="true" x="305" y="150" fill="#fff" transform="scale(.1)" textLength="510">Coverage</text>
|
||||
<text x="305" y="140" transform="scale(.1)" textLength="510">Coverage</text>
|
||||
<text aria-hidden="true" x="825" y="150" fill="#fff" transform="scale(.1)" textLength="230">58%</text>
|
||||
<text id="rlink" x="825" y="140" transform="scale(.1)" textLength="230">58%</text>
|
||||
</g>
|
||||
<script xmlns=""/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,196 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-us">
|
||||
<head><meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Grcov report - core/src/db </title>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.1/css/bulma.min.css"></head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<nav class="breadcrumb is-right" aria-label="breadcrumbs">
|
||||
<ul><li><a href="../../../index.html">top_level</a></li><li class="is-active"><a href="#">core/src/db</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<nav class="level">
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Lines</p>
|
||||
<p class="title has-text-danger">
|
||||
<abbr title="759 / 1220">62.21 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Functions</p>
|
||||
<p class="title has-text-danger">
|
||||
<abbr title="90 / 282">31.91 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Branches</p>
|
||||
<p class="title has-text-danger">
|
||||
<abbr title="456 / 1392">32.76 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</nav>
|
||||
|
||||
<table class="table is-fullwidth">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>File</th>
|
||||
<th class="has-text-centered" colspan="3">Line Coverage</th>
|
||||
<th class="has-text-centered" colspan="2">Functions</th>
|
||||
|
||||
<th class="has-text-centered" colspan="2">Branches</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th><a href="policies.rs.html">policies.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="73.72262773722628"
|
||||
max="100">
|
||||
73.72%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
73.72%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
101 / 137
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">40%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">16 / 40 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">45.65%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">63 / 138</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="posts.rs.html">posts.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="57.173913043478265"
|
||||
max="100">
|
||||
57.17%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
57.17%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
263 / 460
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">23.15%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">25 / 108 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">32.09%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">181 / 564</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="queue.rs.html">queue.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-success is-large"
|
||||
value="95.45454545454545"
|
||||
max="100">
|
||||
95.45%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-success p-2">
|
||||
95.45%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-success p-2">
|
||||
168 / 176
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">60.42%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">29 / 48 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">52.17%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">72 / 138</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="subscriptions.rs.html">subscriptions.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="49.421965317919074"
|
||||
max="100">
|
||||
49.42%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
49.42%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
171 / 346
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">21.88%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">14 / 64 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">24.11%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">108 / 448</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="templates.rs.html">templates.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="55.44554455445545"
|
||||
max="100">
|
||||
55.45%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
55.45%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
56 / 101
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">27.27%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">6 / 22 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">30.77%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">32 / 104</td>
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<footer class="footer">
|
||||
<div class="content has-text-centered">
|
||||
<p class="heading">Date: 2023-04-25 09:59</p>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,277 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-us">
|
||||
<head><meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Grcov report - core/src </title>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.1/css/bulma.min.css"></head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<nav class="breadcrumb is-right" aria-label="breadcrumbs">
|
||||
<ul><li><a href="../../index.html">top_level</a></li><li class="is-active"><a href="#">core/src</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<nav class="level">
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Lines</p>
|
||||
<p class="title has-text-danger">
|
||||
<abbr title="639 / 999">63.96 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Functions</p>
|
||||
<p class="title has-text-danger">
|
||||
<abbr title="125 / 456">27.41 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Branches</p>
|
||||
<p class="title has-text-danger">
|
||||
<abbr title="261 / 867">30.1 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</nav>
|
||||
|
||||
<table class="table is-fullwidth">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>File</th>
|
||||
<th class="has-text-centered" colspan="3">Line Coverage</th>
|
||||
<th class="has-text-centered" colspan="2">Functions</th>
|
||||
|
||||
<th class="has-text-centered" colspan="2">Branches</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th><a href="config.rs.html">config.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="28.57142857142857"
|
||||
max="100">
|
||||
28.57%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
28.57%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
10 / 35
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">23.53%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">8 / 34 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">34.09%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">15 / 44</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="db.rs.html">db.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="64.84641638225256"
|
||||
max="100">
|
||||
64.85%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
64.85%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
190 / 293
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">48.57%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">34 / 70 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">31.08%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">124 / 399</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="lib.rs.html">lib.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="25"
|
||||
max="100">
|
||||
25%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
25%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
1 / 4
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">9.09%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">1 / 11 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">0%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">0 / 6</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="mail.rs.html">mail.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="66.66666666666666"
|
||||
max="100">
|
||||
66.67%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
66.67%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
28 / 42
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">20%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">6 / 30 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">23.53%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">16 / 68</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="models.rs.html">models.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="61.63793103448276"
|
||||
max="100">
|
||||
61.64%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
61.64%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
143 / 232
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">24%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">54 / 225 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">12.34%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">19 / 154</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="postfix.rs.html">postfix.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="70"
|
||||
max="100">
|
||||
70%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
70%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
203 / 290
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">27.08%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">13 / 48 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">45.88%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">78 / 170</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="submission.rs.html">submission.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-success is-large"
|
||||
value="90.9090909090909"
|
||||
max="100">
|
||||
90.91%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-success p-2">
|
||||
90.91%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-success p-2">
|
||||
10 / 11
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">50%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">3 / 6 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">60%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">6 / 10</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="templates.rs.html">templates.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="58.69565217391305"
|
||||
max="100">
|
||||
58.7%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
58.7%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
54 / 92
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">18.75%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">6 / 32 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">18.75%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">3 / 16</td>
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<footer class="footer">
|
||||
<div class="content has-text-centered">
|
||||
<p class="heading">Date: 2023-04-25 09:59</p>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,88 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-us">
|
||||
<head><meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Grcov report - core/src/mail </title>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.1/css/bulma.min.css"></head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<nav class="breadcrumb is-right" aria-label="breadcrumbs">
|
||||
<ul><li><a href="../../../index.html">top_level</a></li><li class="is-active"><a href="#">core/src/mail</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<nav class="level">
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Lines</p>
|
||||
<p class="title has-text-danger">
|
||||
<abbr title="85 / 115">73.91 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Functions</p>
|
||||
<p class="title has-text-danger">
|
||||
<abbr title="7 / 22">31.82 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Branches</p>
|
||||
<p class="title has-text-danger">
|
||||
<abbr title="58 / 126">46.03 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</nav>
|
||||
|
||||
<table class="table is-fullwidth">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>File</th>
|
||||
<th class="has-text-centered" colspan="3">Line Coverage</th>
|
||||
<th class="has-text-centered" colspan="2">Functions</th>
|
||||
|
||||
<th class="has-text-centered" colspan="2">Branches</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th><a href="message_filters.rs.html">message_filters.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="73.91304347826086"
|
||||
max="100">
|
||||
73.91%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
73.91%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
85 / 115
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">31.82%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">7 / 22 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">46.03%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">58 / 126</td>
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<footer class="footer">
|
||||
<div class="content has-text-centered">
|
||||
<p class="heading">Date: 2023-04-25 09:59</p>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,88 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-us">
|
||||
<head><meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Grcov report - core/src/models </title>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.1/css/bulma.min.css"></head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<nav class="breadcrumb is-right" aria-label="breadcrumbs">
|
||||
<ul><li><a href="../../../index.html">top_level</a></li><li class="is-active"><a href="#">core/src/models</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<nav class="level">
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Lines</p>
|
||||
<p class="title has-text-danger">
|
||||
<abbr title="0 / 38">0 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Functions</p>
|
||||
<p class="title has-text-danger">
|
||||
<abbr title="0 / 48">0 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Branches</p>
|
||||
<p class="title has-text-success">
|
||||
<abbr title="0 / 0">100 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</nav>
|
||||
|
||||
<table class="table is-fullwidth">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>File</th>
|
||||
<th class="has-text-centered" colspan="3">Line Coverage</th>
|
||||
<th class="has-text-centered" colspan="2">Functions</th>
|
||||
|
||||
<th class="has-text-centered" colspan="2">Branches</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th><a href="changesets.rs.html">changesets.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="0"
|
||||
max="100">
|
||||
0%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
0%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
0 / 38
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">0%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">0 / 48 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-success p-2">100%</td>
|
||||
<td class="has-text-centered has-background-success p-2">0 / 0</td>
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<footer class="footer">
|
||||
<div class="content has-text-centered">
|
||||
<p class="heading">Date: 2023-04-25 09:59</p>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1 @@
|
|||
{"schemaVersion":1,"label":"coverage","message":"58.09%","color":"red"}
|
|
@ -0,0 +1,223 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-us">
|
||||
<head><meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Grcov report - top_level </title>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.1/css/bulma.min.css"></head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<nav class="breadcrumb is-right" aria-label="breadcrumbs">
|
||||
<ul><li class="is-active"><a href="#">top_level</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<nav class="level">
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Lines</p>
|
||||
<p class="title has-text-danger">
|
||||
<abbr title="1799 / 3097">58.09 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Functions</p>
|
||||
<p class="title has-text-danger">
|
||||
<abbr title="284 / 1438">19.75 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Branches</p>
|
||||
<p class="title has-text-danger">
|
||||
<abbr title="871 / 2834">30.73 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</nav>
|
||||
|
||||
<table class="table is-fullwidth">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Directory</th>
|
||||
<th class="has-text-centered" colspan="3">Line Coverage</th>
|
||||
<th class="has-text-centered" colspan="2">Functions</th>
|
||||
|
||||
<th class="has-text-centered" colspan="2">Branches</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th><a href="core/src/index.html">core/src</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="63.96396396396396"
|
||||
max="100">
|
||||
63.96%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
63.96%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
639 / 999
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">27.41%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">125 / 456 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">30.1%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">261 / 867</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="core/src/db/index.html">core/src/db</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="62.21311475409836"
|
||||
max="100">
|
||||
62.21%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
62.21%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
759 / 1220
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">31.91%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">90 / 282 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">32.76%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">456 / 1392</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="core/src/mail/index.html">core/src/mail</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="73.91304347826086"
|
||||
max="100">
|
||||
73.91%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
73.91%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
85 / 115
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">31.82%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">7 / 22 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">46.03%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">58 / 126</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="core/src/models/index.html">core/src/models</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="0"
|
||||
max="100">
|
||||
0%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
0%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
0 / 38
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">0%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">0 / 48 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-success p-2">100%</td>
|
||||
<td class="has-text-centered has-background-success p-2">0 / 0</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="mailpot-tests/src/index.html">mailpot-tests/src</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="67.85714285714286"
|
||||
max="100">
|
||||
67.86%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
67.86%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
114 / 168
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">37.78%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">17 / 45 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">34.48%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">20 / 58</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="web/src/index.html">web/src</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="36.2657091561939"
|
||||
max="100">
|
||||
36.27%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
36.27%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
202 / 557
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">7.69%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">45 / 585 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">19.44%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">76 / 391</td>
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<footer class="footer">
|
||||
<div class="content has-text-centered">
|
||||
<p class="heading">Date: 2023-04-25 09:59</p>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,88 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-us">
|
||||
<head><meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Grcov report - mailpot-tests/src </title>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.1/css/bulma.min.css"></head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<nav class="breadcrumb is-right" aria-label="breadcrumbs">
|
||||
<ul><li><a href="../../index.html">top_level</a></li><li class="is-active"><a href="#">mailpot-tests/src</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<nav class="level">
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Lines</p>
|
||||
<p class="title has-text-danger">
|
||||
<abbr title="114 / 168">67.86 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Functions</p>
|
||||
<p class="title has-text-danger">
|
||||
<abbr title="17 / 45">37.78 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Branches</p>
|
||||
<p class="title has-text-danger">
|
||||
<abbr title="20 / 58">34.48 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</nav>
|
||||
|
||||
<table class="table is-fullwidth">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>File</th>
|
||||
<th class="has-text-centered" colspan="3">Line Coverage</th>
|
||||
<th class="has-text-centered" colspan="2">Functions</th>
|
||||
|
||||
<th class="has-text-centered" colspan="2">Branches</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th><a href="lib.rs.html">lib.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="67.85714285714286"
|
||||
max="100">
|
||||
67.86%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
67.86%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
114 / 168
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">37.78%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">17 / 45 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">34.48%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">20 / 58</td>
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<footer class="footer">
|
||||
<div class="content has-text-centered">
|
||||
<p class="heading">Date: 2023-04-25 09:59</p>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,834 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-us">
|
||||
<head><meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Grcov report - help.rs </title>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.1/css/bulma.min.css"></head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<nav class="breadcrumb is-right" aria-label="breadcrumbs">
|
||||
<ul><li><a href="../../index.html">top_level</a></li><li><a href="./index.html">web/src</a></li><li class="is-active"><a href="#">help.rs</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<nav class="level">
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Lines</p>
|
||||
<p class="title has-text-danger">
|
||||
<abbr title="0 / 4">0 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Functions</p>
|
||||
<p class="title has-text-danger">
|
||||
<abbr title="0 / 2">0 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Branches</p>
|
||||
<p class="title has-text-success">
|
||||
<abbr title="0 / 0">100 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</nav>
|
||||
|
||||
<div role="table" aria-label="Coverage report"><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="1"
|
||||
role="cell">
|
||||
<a href="#1">1</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2">/*</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="2"
|
||||
role="cell">
|
||||
<a href="#2">2</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> * This file is part of mailpot</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="3"
|
||||
role="cell">
|
||||
<a href="#3">3</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> *</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="4"
|
||||
role="cell">
|
||||
<a href="#4">4</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> * Copyright 2020 - Manos Pitsidianakis</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="5"
|
||||
role="cell">
|
||||
<a href="#5">5</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> *</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="6"
|
||||
role="cell">
|
||||
<a href="#6">6</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> * This program is free software: you can redistribute it and/or modify</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="7"
|
||||
role="cell">
|
||||
<a href="#7">7</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> * it under the terms of the GNU Affero General Public License as</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="8"
|
||||
role="cell">
|
||||
<a href="#8">8</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> * published by the Free Software Foundation, either version 3 of the</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="9"
|
||||
role="cell">
|
||||
<a href="#9">9</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> * License, or (at your option) any later version.</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="10"
|
||||
role="cell">
|
||||
<a href="#10">10</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> *</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="11"
|
||||
role="cell">
|
||||
<a href="#11">11</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> * This program is distributed in the hope that it will be useful,</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="12"
|
||||
role="cell">
|
||||
<a href="#12">12</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="13"
|
||||
role="cell">
|
||||
<a href="#13">13</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="14"
|
||||
role="cell">
|
||||
<a href="#14">14</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> * GNU Affero General Public License for more details.</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="15"
|
||||
role="cell">
|
||||
<a href="#15">15</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> *</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="16"
|
||||
role="cell">
|
||||
<a href="#16">16</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> * You should have received a copy of the GNU Affero General Public License</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="17"
|
||||
role="cell">
|
||||
<a href="#17">17</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> * along with this program. If not, see <https://www.gnu.org/licenses/>.</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="18"
|
||||
role="cell">
|
||||
<a href="#18">18</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> */</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="19"
|
||||
role="cell">
|
||||
<a href="#19">19</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"></pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="20"
|
||||
role="cell">
|
||||
<a href="#20">20</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2">use super::*;</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="21"
|
||||
role="cell">
|
||||
<a href="#21">21</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"></pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="22"
|
||||
role="cell">
|
||||
<a href="#22">22</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2">/// Show help page.</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="23"
|
||||
role="cell">
|
||||
<a href="#23">23</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
|
||||
role="cell" aria-label="0">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-danger-light p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-danger-light py-0 px-2">pub async fn help(</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="24"
|
||||
role="cell">
|
||||
<a href="#24">24</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
|
||||
role="cell" aria-label="0">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-danger-light p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-danger-light py-0 px-2"> _: HelpPath,</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="25"
|
||||
role="cell">
|
||||
<a href="#25">25</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> mut session: WritableSession,</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="26"
|
||||
role="cell">
|
||||
<a href="#26">26</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> auth: AuthContext,</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="27"
|
||||
role="cell">
|
||||
<a href="#27">27</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> State(state): State<Arc<AppState>>,</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="28"
|
||||
role="cell">
|
||||
<a href="#28">28</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
|
||||
role="cell" aria-label="0">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-danger-light p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-danger-light py-0 px-2">) -> Result<Html<String>, ResponseError> {</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="29"
|
||||
role="cell">
|
||||
<a href="#29">29</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> let crumbs = vec![</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="30"
|
||||
role="cell">
|
||||
<a href="#30">30</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> Crumb {</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="31"
|
||||
role="cell">
|
||||
<a href="#31">31</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> label: "Home".into(),</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="32"
|
||||
role="cell">
|
||||
<a href="#32">32</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> url: "/".into(),</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="33"
|
||||
role="cell">
|
||||
<a href="#33">33</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> },</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="34"
|
||||
role="cell">
|
||||
<a href="#34">34</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> Crumb {</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="35"
|
||||
role="cell">
|
||||
<a href="#35">35</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> label: "Help".into(),</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="36"
|
||||
role="cell">
|
||||
<a href="#36">36</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> url: HelpPath.to_crumb(),</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="37"
|
||||
role="cell">
|
||||
<a href="#37">37</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> },</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="38"
|
||||
role="cell">
|
||||
<a href="#38">38</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> ];</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="39"
|
||||
role="cell">
|
||||
<a href="#39">39</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> let context = minijinja::context! {</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="40"
|
||||
role="cell">
|
||||
<a href="#40">40</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> title => state.site_title.as_ref(),</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="41"
|
||||
role="cell">
|
||||
<a href="#41">41</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> page_title => "Help & Documentation",</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="42"
|
||||
role="cell">
|
||||
<a href="#42">42</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> description => "",</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="43"
|
||||
role="cell">
|
||||
<a href="#43">43</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> root_url_prefix => &state.root_url_prefix,</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="44"
|
||||
role="cell">
|
||||
<a href="#44">44</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> current_user => auth.current_user,</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="45"
|
||||
role="cell">
|
||||
<a href="#45">45</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> messages => session.drain_messages(),</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="46"
|
||||
role="cell">
|
||||
<a href="#46">46</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> crumbs => crumbs,</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="47"
|
||||
role="cell">
|
||||
<a href="#47">47</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> };</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="48"
|
||||
role="cell">
|
||||
<a href="#48">48</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white"
|
||||
role="cell" aria-label="no coverage">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-white p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-white py-0 px-2"> Ok(Html(TEMPLATES.get_template("help.html")?.render(context)?))</pre>
|
||||
</div>
|
||||
</div><div class="columns p-0 m-0" role="row">
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered"
|
||||
id="49"
|
||||
role="cell">
|
||||
<a href="#49">49</a>
|
||||
</div>
|
||||
<div
|
||||
class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger"
|
||||
role="cell" aria-label="0">
|
||||
|
||||
</div>
|
||||
<div class="column has-background-danger-light p-0"
|
||||
role="cell">
|
||||
<pre class="has-background-danger-light py-0 px-2">}</pre>
|
||||
</div>
|
||||
</div></div>
|
||||
</div>
|
||||
<footer class="footer">
|
||||
<div class="content has-text-centered">
|
||||
<p class="heading">Date: 2023-04-25 09:59</p>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,304 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-us">
|
||||
<head><meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Grcov report - web/src </title>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.1/css/bulma.min.css"></head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<nav class="breadcrumb is-right" aria-label="breadcrumbs">
|
||||
<ul><li><a href="../../index.html">top_level</a></li><li class="is-active"><a href="#">web/src</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<nav class="level">
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Lines</p>
|
||||
<p class="title has-text-danger">
|
||||
<abbr title="202 / 557">36.27 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Functions</p>
|
||||
<p class="title has-text-danger">
|
||||
<abbr title="45 / 585">7.69 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="level-item has-text-centered">
|
||||
<div>
|
||||
<p class="heading">Branches</p>
|
||||
<p class="title has-text-danger">
|
||||
<abbr title="76 / 391">19.44 %</abbr></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</nav>
|
||||
|
||||
<table class="table is-fullwidth">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>File</th>
|
||||
<th class="has-text-centered" colspan="3">Line Coverage</th>
|
||||
<th class="has-text-centered" colspan="2">Functions</th>
|
||||
|
||||
<th class="has-text-centered" colspan="2">Branches</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th><a href="auth.rs.html">auth.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="66.66666666666666"
|
||||
max="100">
|
||||
66.67%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
66.67%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
68 / 102
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">10.71%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">6 / 56 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">59.68%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">37 / 62</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="cal.rs.html">cal.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-success is-large"
|
||||
value="100"
|
||||
max="100">
|
||||
100%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-success p-2">
|
||||
100%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-success p-2">
|
||||
113 / 113
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-success p-2">90.91%</td>
|
||||
<td class="has-text-centered has-background-success p-2">20 / 22 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">57.5%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">23 / 40</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="help.rs.html">help.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="0"
|
||||
max="100">
|
||||
0%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
0%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
0 / 4
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">0%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">0 / 2 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-success p-2">100%</td>
|
||||
<td class="has-text-centered has-background-success p-2">0 / 0</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="lib.rs.html">lib.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="2.3255813953488373"
|
||||
max="100">
|
||||
2.33%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
2.33%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
1 / 43
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">3.23%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">1 / 31 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">0%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">0 / 10</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="lists.rs.html">lists.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="0"
|
||||
max="100">
|
||||
0%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
0%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
0 / 30
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">0%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">0 / 42 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">0%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">0 / 30</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="minijinja_utils.rs.html">minijinja_utils.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="22.22222222222222"
|
||||
max="100">
|
||||
22.22%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
22.22%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
20 / 90
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">20.45%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">18 / 88 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">24.62%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">16 / 65</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="settings.rs.html">settings.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="0"
|
||||
max="100">
|
||||
0%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
0%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
0 / 27
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">0%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">0 / 44 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">0%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">0 / 14</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="typed_paths.rs.html">typed_paths.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="0"
|
||||
max="100">
|
||||
0%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
0%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
0 / 116
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">0%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">0 / 206 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">0%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">0 / 68</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><a href="utils.rs.html">utils.rs</a></th>
|
||||
<!-- -->
|
||||
<td class="p-2">
|
||||
<progress
|
||||
class="progress is-danger is-large"
|
||||
value="0"
|
||||
max="100">
|
||||
0%
|
||||
</progress>
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
0%
|
||||
</td>
|
||||
<td class="has-text-centered has-background-danger p-2">
|
||||
0 / 32
|
||||
</td>
|
||||
<!-- -->
|
||||
<td class="has-text-centered has-background-danger p-2">0%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">0 / 94 </td>
|
||||
<!-- -->
|
||||
|
||||
<td class="has-text-centered has-background-danger p-2">0%</td>
|
||||
<td class="has-text-centered has-background-danger p-2">0 / 102</td>
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<footer class="footer">
|
||||
<div class="content has-text-centered">
|
||||
<p class="heading">Date: 2023-04-25 09:59</p>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1 @@
|
|||
window.ALL_CRATES = ["mailpot","mailpot_web","mpot","mpot_gen","mpot_http","mpot_web"];
|
|
@ -0,0 +1 @@
|
|||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Documentation for Rustdoc"><title>Rustdoc help</title><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="./static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="./static.files/rustdoc-c4dbdcde0fbd8430.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="./static.files/light-db279b6232be9c13.css"><link rel="stylesheet" disabled href="./static.files/dark-cf923f49f397b216.css"><link rel="stylesheet" disabled href="./static.files/ayu-be46fdc453a55015.css"><script src="./static.files/storage-3891ce972e3a2bf8.js"></script><script defer src="./static.files/main-98a684e84ae5b08b.js"></script><noscript><link rel="stylesheet" href="./static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="./static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="./static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="./static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="logo-container" href="./mpot_web/index.html"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2></h2></nav><nav class="sidebar"><a class="logo-container" href="./mpot_web/index.html"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location">Help</h2><div class="sidebar-elems"></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="./help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="./settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="./static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Rustdoc help</h1><span class="out-of-band"><a id="back" href="javascript:void(0)" onclick="history.back();">Back</a></span></div><noscript><section><p>You need to enable Javascript to use keyboard commands or search.</p><p>For more information, browse the <a href="https://doc.rust-lang.org/rustdoc/">rustdoc handbook</a>.</p></section></noscript></section></div></main><div id="rustdoc-vars" data-root-path="./" data-static-root-path="./static.files/" data-current-crate="mpot_web" data-themes="" data-resource-suffix="" data-rustdoc-version="1.69.0 (84c898d65 2023-04-16)" data-search-js="search-8a59a8356673ec1f.js" data-settings-js="settings-f0c5c39777a9a2f6.js" data-settings-css="settings-0bcba95ff279c1db.css" ></div></body></html>
|
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,7 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot":[],
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,3 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,3 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[["impl <a class=\"trait\" href=\"mailpot_web/trait.IntoResponse.html\" title=\"trait mailpot_web::IntoResponse\">IntoResponse</a> for <a class=\"struct\" href=\"mailpot_web/struct.ResponseError.html\" title=\"struct mailpot_web::ResponseError\">ResponseError</a>"]]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,3 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[["impl <a class=\"trait\" href=\"mailpot_web/trait.TypedPath.html\" title=\"trait mailpot_web::TypedPath\">TypedPath</a> for <a class=\"struct\" href=\"mailpot_web/typed_paths/struct.ListPath.html\" title=\"struct mailpot_web::typed_paths::ListPath\">ListPath</a>"],["impl <a class=\"trait\" href=\"mailpot_web/trait.TypedPath.html\" title=\"trait mailpot_web::TypedPath\">TypedPath</a> for <a class=\"struct\" href=\"mailpot_web/typed_paths/struct.ListPostPath.html\" title=\"struct mailpot_web::typed_paths::ListPostPath\">ListPostPath</a>"],["impl <a class=\"trait\" href=\"mailpot_web/trait.TypedPath.html\" title=\"trait mailpot_web::TypedPath\">TypedPath</a> for <a class=\"struct\" href=\"mailpot_web/typed_paths/struct.ListSettingsPath.html\" title=\"struct mailpot_web::typed_paths::ListSettingsPath\">ListSettingsPath</a>"],["impl <a class=\"trait\" href=\"mailpot_web/trait.TypedPath.html\" title=\"trait mailpot_web::TypedPath\">TypedPath</a> for <a class=\"struct\" href=\"mailpot_web/typed_paths/struct.ListEditSubscribersPath.html\" title=\"struct mailpot_web::typed_paths::ListEditSubscribersPath\">ListEditSubscribersPath</a>"],["impl <a class=\"trait\" href=\"mailpot_web/trait.TypedPath.html\" title=\"trait mailpot_web::TypedPath\">TypedPath</a> for <a class=\"struct\" href=\"mailpot_web/typed_paths/struct.LogoutPath.html\" title=\"struct mailpot_web::typed_paths::LogoutPath\">LogoutPath</a>"],["impl <a class=\"trait\" href=\"mailpot_web/trait.TypedPath.html\" title=\"trait mailpot_web::TypedPath\">TypedPath</a> for <a class=\"struct\" href=\"mailpot_web/typed_paths/struct.ListEditCandidatesPath.html\" title=\"struct mailpot_web::typed_paths::ListEditCandidatesPath\">ListEditCandidatesPath</a>"],["impl <a class=\"trait\" href=\"mailpot_web/trait.TypedPath.html\" title=\"trait mailpot_web::TypedPath\">TypedPath</a> for <a class=\"struct\" href=\"mailpot_web/typed_paths/struct.HelpPath.html\" title=\"struct mailpot_web::typed_paths::HelpPath\">HelpPath</a>"],["impl <a class=\"trait\" href=\"mailpot_web/trait.TypedPath.html\" title=\"trait mailpot_web::TypedPath\">TypedPath</a> for <a class=\"struct\" href=\"mailpot_web/typed_paths/struct.LoginPath.html\" title=\"struct mailpot_web::typed_paths::LoginPath\">LoginPath</a>"],["impl <a class=\"trait\" href=\"mailpot_web/trait.TypedPath.html\" title=\"trait mailpot_web::TypedPath\">TypedPath</a> for <a class=\"struct\" href=\"mailpot_web/typed_paths/struct.SettingsPath.html\" title=\"struct mailpot_web::typed_paths::SettingsPath\">SettingsPath</a>"],["impl <a class=\"trait\" href=\"mailpot_web/trait.TypedPath.html\" title=\"trait mailpot_web::TypedPath\">TypedPath</a> for <a class=\"struct\" href=\"mailpot_web/typed_paths/struct.ListEditPath.html\" title=\"struct mailpot_web::typed_paths::ListEditPath\">ListEditPath</a>"]]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,3 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[["impl <a class=\"trait\" href=\"mailpot_web/trait.AuthUser.html\" title=\"trait mailpot_web::AuthUser\">AuthUser</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.69.0/std/primitive.i64.html\">i64</a>, <a class=\"enum\" href=\"mailpot_web/auth/enum.Role.html\" title=\"enum mailpot_web::auth::Role\">Role</a>> for <a class=\"struct\" href=\"mailpot_web/auth/struct.User.html\" title=\"struct mailpot_web::auth::User\">User</a>"]]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,3 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[["impl UserStore<<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.69.0/std/primitive.i64.html\">i64</a>, <a class=\"enum\" href=\"mailpot_web/auth/enum.Role.html\" title=\"enum mailpot_web::auth::Role\">Role</a>> for <a class=\"struct\" href=\"mailpot_web/melib/smallvec/alloc/sync/struct.Arc.html\" title=\"struct mailpot_web::melib::smallvec::alloc::sync::Arc\">Arc</a><<a class=\"struct\" href=\"mailpot_web/struct.AppState.html\" title=\"struct mailpot_web::AppState\">AppState</a>><span class=\"where fmt-newline\">where\n <a class=\"struct\" href=\"mailpot_web/auth/struct.User.html\" title=\"struct mailpot_web::auth::User\">User</a>: <a class=\"trait\" href=\"mailpot_web/trait.AuthUser.html\" title=\"trait mailpot_web::AuthUser\">AuthUser</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.69.0/std/primitive.i64.html\">i64</a>, <a class=\"enum\" href=\"mailpot_web/auth/enum.Role.html\" title=\"enum mailpot_web::auth::Role\">Role</a>>,</span>"]]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,3 @@
|
|||
(function() {var implementors = {
|
||||
"mpot":[["impl <a class=\"trait\" href=\"mpot/args/trait.Args.html\" title=\"trait mpot::args::Args\">Args</a> for <a class=\"struct\" href=\"mpot/args/struct.PostfixConfig.html\" title=\"struct mpot::args::PostfixConfig\">PostfixConfig</a>"],["impl <a class=\"trait\" href=\"mpot/args/trait.Args.html\" title=\"trait mpot::args::Args\">Args</a> for <a class=\"struct\" href=\"mpot/args/struct.AccountOptions.html\" title=\"struct mpot::args::AccountOptions\">AccountOptions</a>"],["impl <a class=\"trait\" href=\"mpot/args/trait.Args.html\" title=\"trait mpot::args::Args\">Args</a> for <a class=\"struct\" href=\"mpot/args/struct.SubscriptionOptions.html\" title=\"struct mpot::args::SubscriptionOptions\">SubscriptionOptions</a>"],["impl <a class=\"trait\" href=\"mpot/args/trait.Args.html\" title=\"trait mpot::args::Args\">Args</a> for <a class=\"struct\" href=\"mpot/args/struct.Opt.html\" title=\"struct mpot::args::Opt\">Opt</a>"]]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,3 @@
|
|||
(function() {var implementors = {
|
||||
"mpot":[["impl <a class=\"trait\" href=\"mpot/args/trait.CommandFactory.html\" title=\"trait mpot::args::CommandFactory\">CommandFactory</a> for <a class=\"struct\" href=\"mpot/args/struct.Opt.html\" title=\"struct mpot::args::Opt\">Opt</a>"]]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,3 @@
|
|||
(function() {var implementors = {
|
||||
"mpot":[["impl FromArgMatches for <a class=\"struct\" href=\"mpot/args/struct.PostfixConfig.html\" title=\"struct mpot::args::PostfixConfig\">PostfixConfig</a>"],["impl FromArgMatches for <a class=\"enum\" href=\"mpot/args/enum.Command.html\" title=\"enum mpot::args::Command\">Command</a>"],["impl FromArgMatches for <a class=\"enum\" href=\"mpot/args/enum.ErrorQueueCommand.html\" title=\"enum mpot::args::ErrorQueueCommand\">ErrorQueueCommand</a>"],["impl FromArgMatches for <a class=\"struct\" href=\"mpot/args/struct.SubscriptionOptions.html\" title=\"struct mpot::args::SubscriptionOptions\">SubscriptionOptions</a>"],["impl FromArgMatches for <a class=\"struct\" href=\"mpot/args/struct.Opt.html\" title=\"struct mpot::args::Opt\">Opt</a>"],["impl FromArgMatches for <a class=\"enum\" href=\"mpot/args/enum.ListCommand.html\" title=\"enum mpot::args::ListCommand\">ListCommand</a>"],["impl FromArgMatches for <a class=\"struct\" href=\"mpot/args/struct.AccountOptions.html\" title=\"struct mpot::args::AccountOptions\">AccountOptions</a>"]]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,3 @@
|
|||
(function() {var implementors = {
|
||||
"mpot":[["impl <a class=\"trait\" href=\"mpot/args/trait.Parser.html\" title=\"trait mpot::args::Parser\">Parser</a> for <a class=\"struct\" href=\"mpot/args/struct.Opt.html\" title=\"struct mpot::args::Opt\">Opt</a>"]]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,3 @@
|
|||
(function() {var implementors = {
|
||||
"mpot":[["impl <a class=\"trait\" href=\"mpot/args/trait.Subcommand.html\" title=\"trait mpot::args::Subcommand\">Subcommand</a> for <a class=\"enum\" href=\"mpot/args/enum.ErrorQueueCommand.html\" title=\"enum mpot::args::ErrorQueueCommand\">ErrorQueueCommand</a>"],["impl <a class=\"trait\" href=\"mpot/args/trait.Subcommand.html\" title=\"trait mpot::args::Subcommand\">Subcommand</a> for <a class=\"enum\" href=\"mpot/args/enum.ListCommand.html\" title=\"enum mpot::args::ListCommand\">ListCommand</a>"],["impl <a class=\"trait\" href=\"mpot/args/trait.Subcommand.html\" title=\"trait mpot::args::Subcommand\">Subcommand</a> for <a class=\"enum\" href=\"mpot/args/enum.Command.html\" title=\"enum mpot::args::Command\">Command</a>"]]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,7 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"mailpot/models/struct.Post.html\" title=\"struct mailpot::models::Post\">Post</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"mailpot/templates/struct.Template.html\" title=\"struct mailpot::templates::Template\">Template</a>"],["impl<T: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a>> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"mailpot/models/struct.DbVal.html\" title=\"struct mailpot::models::DbVal\">DbVal</a><T>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"mailpot/models/struct.MailingList.html\" title=\"struct mailpot::models::MailingList\">MailingList</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"mailpot/db/queue/enum.Queue.html\" title=\"enum mailpot::db::queue::Queue\">Queue</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"mailpot/models/struct.Account.html\" title=\"struct mailpot::models::Account\">Account</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"mailpot/mail/enum.ListRequest.html\" title=\"enum mailpot::mail::ListRequest\">ListRequest</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"mailpot/db/queue/struct.QueueEntry.html\" title=\"struct mailpot::db::queue::QueueEntry\">QueueEntry</a>"]],
|
||||
"mailpot_web":[["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/cmp/trait.Eq.html\" title=\"trait mailpot_web::melib::nom::lib::std::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"mailpot_web/typed_paths/struct.ListPostPath.html\" title=\"struct mailpot_web::typed_paths::ListPostPath\">ListPostPath</a>"],["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/cmp/trait.Eq.html\" title=\"trait mailpot_web::melib::nom::lib::std::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"mailpot_web/typed_paths/struct.HelpPath.html\" title=\"struct mailpot_web::typed_paths::HelpPath\">HelpPath</a>"],["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/cmp/trait.Eq.html\" title=\"trait mailpot_web::melib::nom::lib::std::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"mailpot_web/typed_paths/struct.ListSettingsPath.html\" title=\"struct mailpot_web::typed_paths::ListSettingsPath\">ListSettingsPath</a>"],["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/cmp/trait.Eq.html\" title=\"trait mailpot_web::melib::nom::lib::std::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"mailpot_web/typed_paths/struct.ListEditCandidatesPath.html\" title=\"struct mailpot_web::typed_paths::ListEditCandidatesPath\">ListEditCandidatesPath</a>"],["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/cmp/trait.Eq.html\" title=\"trait mailpot_web::melib::nom::lib::std::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"mailpot_web/typed_paths/struct.LogoutPath.html\" title=\"struct mailpot_web::typed_paths::LogoutPath\">LogoutPath</a>"],["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/cmp/trait.Eq.html\" title=\"trait mailpot_web::melib::nom::lib::std::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"mailpot_web/auth/enum.Role.html\" title=\"enum mailpot_web::auth::Role\">Role</a>"],["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/cmp/trait.Eq.html\" title=\"trait mailpot_web::melib::nom::lib::std::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"mailpot_web/utils/struct.Crumb.html\" title=\"struct mailpot_web::utils::Crumb\">Crumb</a>"],["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/cmp/trait.Eq.html\" title=\"trait mailpot_web::melib::nom::lib::std::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"mailpot_web/typed_paths/struct.LoginPath.html\" title=\"struct mailpot_web::typed_paths::LoginPath\">LoginPath</a>"],["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/cmp/trait.Eq.html\" title=\"trait mailpot_web::melib::nom::lib::std::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"mailpot_web/utils/struct.IntPOST.html\" title=\"struct mailpot_web::utils::IntPOST\">IntPOST</a>"],["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/cmp/trait.Eq.html\" title=\"trait mailpot_web::melib::nom::lib::std::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"mailpot_web/utils/struct.BoolPOST.html\" title=\"struct mailpot_web::utils::BoolPOST\">BoolPOST</a>"],["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/cmp/trait.Eq.html\" title=\"trait mailpot_web::melib::nom::lib::std::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"mailpot_web/typed_paths/enum.ListPathIdentifier.html\" title=\"enum mailpot_web::typed_paths::ListPathIdentifier\">ListPathIdentifier</a>"],["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/cmp/trait.Eq.html\" title=\"trait mailpot_web::melib::nom::lib::std::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"mailpot_web/minijinja_utils/struct.MailingList.html\" title=\"struct mailpot_web::minijinja_utils::MailingList\">MailingList</a>"],["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/cmp/trait.Eq.html\" title=\"trait mailpot_web::melib::nom::lib::std::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"mailpot_web/typed_paths/struct.ListEditPath.html\" title=\"struct mailpot_web::typed_paths::ListEditPath\">ListEditPath</a>"],["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/cmp/trait.Eq.html\" title=\"trait mailpot_web::melib::nom::lib::std::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"mailpot_web/typed_paths/struct.ListPath.html\" title=\"struct mailpot_web::typed_paths::ListPath\">ListPath</a>"],["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/cmp/trait.Eq.html\" title=\"trait mailpot_web::melib::nom::lib::std::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"mailpot_web/typed_paths/struct.ListEditSubscribersPath.html\" title=\"struct mailpot_web::typed_paths::ListEditSubscribersPath\">ListEditSubscribersPath</a>"],["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/cmp/trait.Eq.html\" title=\"trait mailpot_web::melib::nom::lib::std::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"mailpot_web/typed_paths/struct.SettingsPath.html\" title=\"struct mailpot_web::typed_paths::SettingsPath\">SettingsPath</a>"]],
|
||||
"mpot":[],
|
||||
"mpot_gen":[["impl <a class=\"trait\" href=\"mpot_gen/melib/nom/lib/std/cmp/trait.Eq.html\" title=\"trait mpot_gen::melib::nom::lib::std::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"mpot_gen/utils/struct.Crumb.html\" title=\"struct mpot_gen::utils::Crumb\">Crumb</a>"],["impl <a class=\"trait\" href=\"mpot_gen/melib/nom/lib/std/cmp/trait.Eq.html\" title=\"trait mpot_gen::melib::nom::lib::std::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"mpot_gen/utils/struct.MailingList.html\" title=\"struct mpot_gen::utils::MailingList\">MailingList</a>"]],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/cmp/trait.PartialOrd.html\" title=\"trait mailpot_web::melib::nom::lib::std::cmp::PartialOrd\">PartialOrd</a><<a class=\"struct\" href=\"mailpot_web/utils/struct.IntPOST.html\" title=\"struct mailpot_web::utils::IntPOST\">IntPOST</a>> for <a class=\"struct\" href=\"mailpot_web/utils/struct.IntPOST.html\" title=\"struct mailpot_web::utils::IntPOST\">IntPOST</a>"],["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/cmp/trait.PartialOrd.html\" title=\"trait mailpot_web::melib::nom::lib::std::cmp::PartialOrd\">PartialOrd</a><<a class=\"struct\" href=\"mailpot_web/utils/struct.BoolPOST.html\" title=\"struct mailpot_web::utils::BoolPOST\">BoolPOST</a>> for <a class=\"struct\" href=\"mailpot_web/utils/struct.BoolPOST.html\" title=\"struct mailpot_web::utils::BoolPOST\">BoolPOST</a>"],["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/cmp/trait.PartialOrd.html\" title=\"trait mailpot_web::melib::nom::lib::std::cmp::PartialOrd\">PartialOrd</a><<a class=\"enum\" href=\"mailpot_web/auth/enum.Role.html\" title=\"enum mailpot_web::auth::Role\">Role</a>> for <a class=\"enum\" href=\"mailpot_web/auth/enum.Role.html\" title=\"enum mailpot_web::auth::Role\">Role</a>"]],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[["impl <a class=\"trait\" href=\"mpot_http/melib/nom/lib/std/convert/trait.AsRef.html\" title=\"trait mpot_http::melib::nom::lib::std::convert::AsRef\">AsRef</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.69.0/std/primitive.str.html\">str</a>> for <a class=\"struct\" href=\"mpot_http/struct.__StaticPath.html\" title=\"struct mpot_http::__StaticPath\">__StaticPath</a>"],["impl <a class=\"trait\" href=\"mpot_http/melib/nom/lib/std/convert/trait.AsRef.html\" title=\"trait mpot_http::melib::nom::lib::std::convert::AsRef\">AsRef</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.69.0/std/primitive.str.html\">str</a>> for <a class=\"struct\" href=\"mpot_http/struct.__StaticPath.html\" title=\"struct mpot_http::__StaticPath\">__StaticPath</a>"],["impl <a class=\"trait\" href=\"mpot_http/melib/nom/lib/std/convert/trait.AsRef.html\" title=\"trait mpot_http::melib::nom::lib::std::convert::AsRef\">AsRef</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.69.0/std/primitive.str.html\">str</a>> for <a class=\"struct\" href=\"mpot_http/struct.__StaticPath.html\" title=\"struct mpot_http::__StaticPath\">__StaticPath</a>"],["impl <a class=\"trait\" href=\"mpot_http/melib/nom/lib/std/convert/trait.AsRef.html\" title=\"trait mpot_http::melib::nom::lib::std::convert::AsRef\">AsRef</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.69.0/std/primitive.str.html\">str</a>> for <a class=\"struct\" href=\"mpot_http/struct.__StaticPath.html\" title=\"struct mpot_http::__StaticPath\">__StaticPath</a>"],["impl <a class=\"trait\" href=\"mpot_http/melib/nom/lib/std/convert/trait.AsRef.html\" title=\"trait mpot_http::melib::nom::lib::std::convert::AsRef\">AsRef</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.69.0/std/primitive.str.html\">str</a>> for <a class=\"struct\" href=\"mpot_http/struct.__StaticPath.html\" title=\"struct mpot_http::__StaticPath\">__StaticPath</a>"],["impl <a class=\"trait\" href=\"mpot_http/melib/nom/lib/std/convert/trait.AsRef.html\" title=\"trait mpot_http::melib::nom::lib::std::convert::AsRef\">AsRef</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.69.0/std/primitive.str.html\">str</a>> for <a class=\"struct\" href=\"mpot_http/struct.__StaticPath.html\" title=\"struct mpot_http::__StaticPath\">__StaticPath</a>"],["impl <a class=\"trait\" href=\"mpot_http/melib/nom/lib/std/convert/trait.AsRef.html\" title=\"trait mpot_http::melib::nom::lib::std::convert::AsRef\">AsRef</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.69.0/std/primitive.str.html\">str</a>> for <a class=\"struct\" href=\"mpot_http/struct.__StaticPath.html\" title=\"struct mpot_http::__StaticPath\">__StaticPath</a>"],["impl <a class=\"trait\" href=\"mpot_http/melib/nom/lib/std/convert/trait.AsRef.html\" title=\"trait mpot_http::melib::nom::lib::std::convert::AsRef\">AsRef</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.69.0/std/primitive.str.html\">str</a>> for <a class=\"struct\" href=\"mpot_http/struct.__StaticPath.html\" title=\"struct mpot_http::__StaticPath\">__StaticPath</a>"],["impl <a class=\"trait\" href=\"mpot_http/melib/nom/lib/std/convert/trait.AsRef.html\" title=\"trait mpot_http::melib::nom::lib::std::convert::AsRef\">AsRef</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.69.0/std/primitive.str.html\">str</a>> for <a class=\"struct\" href=\"mpot_http/struct.__StaticPath.html\" title=\"struct mpot_http::__StaticPath\">__StaticPath</a>"],["impl <a class=\"trait\" href=\"mpot_http/melib/nom/lib/std/convert/trait.AsRef.html\" title=\"trait mpot_http::melib::nom::lib::std::convert::AsRef\">AsRef</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.69.0/std/primitive.str.html\">str</a>> for <a class=\"struct\" href=\"mpot_http/struct.__StaticPath.html\" title=\"struct mpot_http::__StaticPath\">__StaticPath</a>"],["impl <a class=\"trait\" href=\"mpot_http/melib/nom/lib/std/convert/trait.AsRef.html\" title=\"trait mpot_http::melib::nom::lib::std::convert::AsRef\">AsRef</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.69.0/std/primitive.str.html\">str</a>> for <a class=\"struct\" href=\"mpot_http/struct.__StaticPath.html\" title=\"struct mpot_http::__StaticPath\">__StaticPath</a>"]]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,7 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Error> for <a class=\"struct\" href=\"mailpot/errors/struct.Error.html\" title=\"struct mailpot::errors::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"https://docs.rs/serde_json/1.0.95/serde_json/error/struct.Error.html\" title=\"struct serde_json::error::Error\">Error</a>> for <a class=\"struct\" href=\"mailpot/errors/struct.Error.html\" title=\"struct mailpot::errors::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"enum\" href=\"mailpot/errors/enum.ErrorKind.html\" title=\"enum mailpot::errors::ErrorKind\">ErrorKind</a>> for <a class=\"struct\" href=\"mailpot/errors/struct.Error.html\" title=\"struct mailpot::errors::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"mailpot/errors/struct.Error.html\" title=\"struct mailpot::errors::Error\">Error</a>> for <a class=\"enum\" href=\"mailpot/errors/enum.ErrorKind.html\" title=\"enum mailpot::errors::ErrorKind\">ErrorKind</a>"],["impl<'a> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><&'a <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.69.0/std/primitive.str.html\">str</a>> for <a class=\"enum\" href=\"mailpot/errors/enum.ErrorKind.html\" title=\"enum mailpot::errors::ErrorKind\">ErrorKind</a>"],["impl<'a> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><&'a <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.69.0/std/primitive.str.html\">str</a>> for <a class=\"struct\" href=\"mailpot/errors/struct.Error.html\" title=\"struct mailpot::errors::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"https://docs.rs/anyhow/1.0.70/anyhow/struct.Error.html\" title=\"struct anyhow::Error\">Error</a>> for <a class=\"struct\" href=\"mailpot/errors/struct.Error.html\" title=\"struct mailpot::errors::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Error> for <a class=\"struct\" href=\"mailpot/errors/struct.Error.html\" title=\"struct mailpot::errors::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"mailpot/models/struct.ListOwner.html\" title=\"struct mailpot::models::ListOwner\">ListOwner</a>> for <a class=\"struct\" href=\"mailpot/models/struct.ListSubscription.html\" title=\"struct mailpot::models::ListSubscription\">ListSubscription</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><Error> for <a class=\"struct\" href=\"mailpot/errors/struct.Error.html\" title=\"struct mailpot::errors::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/1.69.0/alloc/string/struct.String.html\" title=\"struct alloc::string::String\">String</a>> for <a class=\"enum\" href=\"mailpot/errors/enum.ErrorKind.html\" title=\"enum mailpot::errors::ErrorKind\">ErrorKind</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/1.69.0/std/io/error/struct.Error.html\" title=\"struct std::io::error::Error\">Error</a>> for <a class=\"struct\" href=\"mailpot/errors/struct.Error.html\" title=\"struct mailpot::errors::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a><<a class=\"struct\" href=\"https://doc.rust-lang.org/1.69.0/alloc/string/struct.String.html\" title=\"struct alloc::string::String\">String</a>> for <a class=\"struct\" href=\"mailpot/errors/struct.Error.html\" title=\"struct mailpot::errors::Error\">Error</a>"]],
|
||||
"mailpot_web":[["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/convert/trait.From.html\" title=\"trait mailpot_web::melib::nom::lib::std::convert::From\">From</a><<a class=\"struct\" href=\"mailpot_web/models/struct.DbVal.html\" title=\"struct mailpot_web::models::DbVal\">DbVal</a><<a class=\"struct\" href=\"mailpot_web/models/struct.MailingList.html\" title=\"struct mailpot_web::models::MailingList\">MailingList</a>>> for <a class=\"struct\" href=\"mailpot_web/minijinja_utils/struct.MailingList.html\" title=\"struct mailpot_web::minijinja_utils::MailingList\">MailingList</a>"],["impl<E: <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/convert/trait.Into.html\" title=\"trait mailpot_web::melib::nom::lib::std::convert::Into\">Into</a><<a class=\"struct\" href=\"mailpot_web/melib/nom/lib/std/boxed/struct.Box.html\" title=\"struct mailpot_web::melib::nom::lib::std::boxed::Box\">Box</a><dyn <a class=\"trait\" href=\"mailpot_web/serde/ser/trait.StdError.html\" title=\"trait mailpot_web::serde::ser::StdError\">Error</a>>>> <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/convert/trait.From.html\" title=\"trait mailpot_web::melib::nom::lib::std::convert::From\">From</a><E> for <a class=\"struct\" href=\"mailpot_web/struct.ResponseError.html\" title=\"struct mailpot_web::ResponseError\">ResponseError</a>"],["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/convert/trait.From.html\" title=\"trait mailpot_web::melib::nom::lib::std::convert::From\">From</a><<a class=\"struct\" href=\"mailpot_web/melib/nom/lib/std/string/struct.String.html\" title=\"struct mailpot_web::melib::nom::lib::std::string::String\">String</a>> for <a class=\"enum\" href=\"mailpot_web/typed_paths/enum.ListPathIdentifier.html\" title=\"enum mailpot_web::typed_paths::ListPathIdentifier\">ListPathIdentifier</a>"],["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/convert/trait.From.html\" title=\"trait mailpot_web::melib::nom::lib::std::convert::From\">From</a><&<a class=\"struct\" href=\"mailpot_web/models/struct.DbVal.html\" title=\"struct mailpot_web::models::DbVal\">DbVal</a><<a class=\"struct\" href=\"mailpot_web/models/struct.MailingList.html\" title=\"struct mailpot_web::models::MailingList\">MailingList</a>>> for <a class=\"struct\" href=\"mailpot_web/typed_paths/struct.ListPath.html\" title=\"struct mailpot_web::typed_paths::ListPath\">ListPath</a>"],["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/convert/trait.From.html\" title=\"trait mailpot_web::melib::nom::lib::std::convert::From\">From</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.69.0/std/primitive.i64.html\">i64</a>> for <a class=\"enum\" href=\"mailpot_web/typed_paths/enum.ListPathIdentifier.html\" title=\"enum mailpot_web::typed_paths::ListPathIdentifier\">ListPathIdentifier</a>"]],
|
||||
"mpot":[],
|
||||
"mpot_gen":[["impl <a class=\"trait\" href=\"mpot_gen/melib/nom/lib/std/convert/trait.From.html\" title=\"trait mpot_gen::melib::nom::lib::std::convert::From\">From</a><<a class=\"struct\" href=\"mpot_gen/models/struct.DbVal.html\" title=\"struct mpot_gen::models::DbVal\">DbVal</a><<a class=\"struct\" href=\"mpot_gen/models/struct.MailingList.html\" title=\"struct mpot_gen::models::MailingList\">MailingList</a>>> for <a class=\"struct\" href=\"mpot_gen/utils/struct.MailingList.html\" title=\"struct mpot_gen::utils::MailingList\">MailingList</a>"]],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,7 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot":[["impl<S: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/convert/trait.AsRef.html\" title=\"trait core::convert::AsRef\">AsRef</a><<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.69.0/std/primitive.str.html\">str</a>>> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/convert/trait.TryFrom.html\" title=\"trait core::convert::TryFrom\">TryFrom</a><(S, &Envelope)> for <a class=\"enum\" href=\"mailpot/mail/enum.ListRequest.html\" title=\"enum mailpot::mail::ListRequest\">ListRequest</a>"]],
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,4 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"mailpot/models/changesets/struct.ListOwnerChangeset.html\" title=\"struct mailpot::models::changesets::ListOwnerChangeset\">ListOwnerChangeset</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"mailpot/models/changesets/struct.MailingListChangeset.html\" title=\"struct mailpot::models::changesets::MailingListChangeset\">MailingListChangeset</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"mailpot/postfix/struct.PostfixConfiguration.html\" title=\"struct mailpot::postfix::PostfixConfiguration\">PostfixConfiguration</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"mailpot/models/changesets/struct.ListSubscriptionChangeset.html\" title=\"struct mailpot::models::changesets::ListSubscriptionChangeset\">ListSubscriptionChangeset</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"mailpot/models/changesets/struct.AccountChangeset.html\" title=\"struct mailpot::models::changesets::AccountChangeset\">AccountChangeset</a>"]],
|
||||
"mailpot_web":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"mailpot_web/auth/struct.AuthFormPayload.html\" title=\"struct mailpot_web::auth::AuthFormPayload\">AuthFormPayload</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"mailpot_web/settings/struct.SubscriptionFormPayload.html\" title=\"struct mailpot_web::settings::SubscriptionFormPayload\">SubscriptionFormPayload</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"enum\" href=\"mailpot_web/utils/enum.Level.html\" title=\"enum mailpot_web::utils::Level\">Level</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"mailpot_web/auth/struct.SshSignature.html\" title=\"struct mailpot_web::auth::SshSignature\">SshSignature</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"struct\" href=\"mailpot_web/utils/struct.BoolPOST.html\" title=\"struct mailpot_web::utils::BoolPOST\">BoolPOST</a>"]]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,7 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.69.0/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"struct\" href=\"mailpot/errors/struct.Error.html\" title=\"struct mailpot::errors::Error\">Error</a>"]],
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/hash/trait.Hash.html\" title=\"trait mailpot_web::melib::nom::lib::std::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"mailpot_web/utils/struct.Message.html\" title=\"struct mailpot_web::utils::Message\">Message</a>"],["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/hash/trait.Hash.html\" title=\"trait mailpot_web::melib::nom::lib::std::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"mailpot_web/utils/struct.IntPOST.html\" title=\"struct mailpot_web::utils::IntPOST\">IntPOST</a>"],["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/hash/trait.Hash.html\" title=\"trait mailpot_web::melib::nom::lib::std::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"mailpot_web/utils/struct.BoolPOST.html\" title=\"struct mailpot_web::utils::BoolPOST\">BoolPOST</a>"],["impl <a class=\"trait\" href=\"mailpot_web/melib/nom/lib/std/hash/trait.Hash.html\" title=\"trait mailpot_web::melib::nom::lib::std::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"mailpot_web/utils/enum.Level.html\" title=\"enum mailpot_web::utils::Level\">Level</a>"]],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
|
@ -0,0 +1,6 @@
|
|||
(function() {var implementors = {
|
||||
"mailpot_web":[],
|
||||
"mpot":[],
|
||||
"mpot_gen":[],
|
||||
"mpot_http":[]
|
||||
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue