Skip to content

Add SOAP 1.1 API alongside REST + two-layer grouped nav#117

Merged
tayyebi merged 3 commits intomainfrom
copilot/implement-soap-rest
Feb 26, 2026
Merged

Add SOAP 1.1 API alongside REST + two-layer grouped nav#117
tayyebi merged 3 commits intomainfrom
copilot/implement-soap-rest

Conversation

Copy link
Contributor

Copilot AI commented Feb 26, 2026

Adds a SOAP 1.1 endpoint exposing the same email operations as the REST API, and reorganises the sidebar navigation into a two-layer grouped hierarchy.

SOAP API

New GET /api/soap (WSDL) and POST /api/soap (operations) endpoints. Auth is identical to REST (Basic Auth or ******

Operations: ListEmails · GetEmail · SendEmail · DeleteEmail

POST /api/soap
Authorization: ******
Content-Type: text/xml; charset=utf-8
SOAPAction: "urn:mailserver#ListEmails"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <ListEmails xmlns="urn:mailserver">
      <accountId>1</accountId>
      <folder></folder>
      <page>1</page>
    </ListEmails>
  </soap:Body>
</soap:Envelope>
  • SOAP envelope parsing via quick-xml (already a dependency); no new crates added
  • Faults returned as standard soap:Fault with soap:Client / soap:Server codes
  • WSDL 1.1 document served at GET /api/soap
  • API docs page (/api) updated with SOAP operation table and request/response examples

Two-layer navigation

Flat 21-item list replaced with Dashboard (standalone) + 5 logical groups:

Group Items
Mail Domains, Accounts, Aliases, Forwarding, Relays
Processing Queue, Tracking, Unsubscribe, Spambl, DMARC, Abuse, Fail2ban
Clients Webmail, CalDAV, WebDAV
Integration API, Webhooks, MCP
System Configs, Settings

Group labels (.nav-group-label) are uppercase section headers. On the desktop sidebar child links are indented and each group is separated by a subtle rule via .nav-group in style.css / desktop.css.

Two-layer nav


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 2 commits February 26, 2026 16:20
Co-authored-by: tayyebi <14053493+tayyebi@users.noreply.github.com>
Co-authored-by: tayyebi <14053493+tayyebi@users.noreply.github.com>
@tayyebi tayyebi marked this pull request as ready for review February 26, 2026 16:29
Copilot AI changed the title [WIP] Implement SOAP and REST APIs Add SOAP 1.1 API alongside REST + two-layer grouped nav Feb 26, 2026
@tayyebi tayyebi merged commit d968cea into main Feb 26, 2026
1 check passed
@tayyebi tayyebi deleted the copilot/implement-soap-rest branch February 26, 2026 16:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants