proton-bridge/doc/importexport.md

136 lines
2.4 KiB
Markdown
Raw Normal View History

2020-08-21 09:41:11 +00:00
# Import-Export app
2020-05-14 13:22:29 +00:00
## Main blocks
2020-08-21 09:41:11 +00:00
This is basic overview of the main Import-Export blocks.
2020-05-14 13:22:29 +00:00
```mermaid
graph LR
S[ProtonMail server]
U[User]
2020-08-12 11:56:49 +00:00
subgraph "Import-Export app"
2020-05-14 13:22:29 +00:00
Users
Frontend["Qt / CLI"]
ImportExport
Transfer
Frontend --> ImportExport
Frontend --> Transfer
ImportExport --> Users
ImportExport --> Transfer
end
EML --> Transfer
MBOX --> Transfer
IMAP --> Transfer
S --> Transfer
Transfer --> EML
Transfer --> MBOX
Transfer --> S
U --> Frontend
```
## Code structure
2020-08-12 11:56:49 +00:00
More detailed graph of main types used in Import-Export app and connection between them.
2020-05-14 13:22:29 +00:00
```mermaid
graph TD
PM[ProtonMail Server]
EML[EML]
MBOX[MBOX]
IMAP[IMAP]
2020-08-12 11:56:49 +00:00
subgraph "Import-Export app"
subgraph "pkg users"
subgraph "pkg credentials"
2020-05-14 13:22:29 +00:00
CredStore[Store]
Creds[Credentials]
CredStore --> Creds
end
US[Users]
U[User]
US --> U
end
2020-08-12 11:56:49 +00:00
subgraph "pkg frontend"
2020-05-14 13:22:29 +00:00
CLI
Qt
end
2020-08-12 11:56:49 +00:00
subgraph "pkg importExport"
2020-05-14 13:22:29 +00:00
IE[ImportExport]
end
2020-08-12 11:56:49 +00:00
subgraph "pkg transfer"
2020-05-14 13:22:29 +00:00
Transfer
Rules
Progress
Provider
LocalProvider
EMLProvider
MBOXProvider
IMAPProvider
PMAPIProvider
Mailbox
Message
Transfer --> |source|Provider
Transfer --> |target|Provider
Transfer --> Rules
Transfer --> Progress
Provider --> LocalProvider
Provider --> EMLProvider
Provider --> MBOXProvider
Provider --> IMAPProvider
Provider --> PMAPIProvider
LocalProvider --> EMLProvider
LocalProvider --> MBOXProvider
Provider --> Mailbox
Provider --> Message
end
subgraph PMAPI
APIM[ClientManager]
APIC[Client]
APIM --> APIC
end
end
CLI --> IE
CLI --> Transfer
CLI --> Progress
Qt --> IE
Qt --> Transfer
Qt --> Progress
U --> CredStore
U --> Creds
US --> APIM
U --> APIM
PMAPIProvider --> APIM
EMLProvider --> EML
MBOXProvider --> MBOX
IMAPProvider --> IMAP
IE --> US
IE --> Transfer
APIC --> PM
```