Restructure the monorepo into clear top-level directories: - backend/: Go module root (cmd, internal, pkg, configs, migrations, docs/swagger, scripts, tests, go.mod, Makefile, .air.toml) - deploy/: Docker (Dockerfile, docker-compose*), quickstart, fluentd - docs/: project documentation + reports/ (moved from repo root) - AGENTS.md: new AI coding-agent guide at repo root Update all references to the new layout: - Dockerfile: COPY backend/go.mod, COPY backend/ (context = repo root) - docker-compose files: context ../.., dockerfile deploy/docker/Dockerfile, env_file ../../.env, volume mounts ../../backend:/app - deploy/quickstart/compose.yaml: dockerfile deploy/docker/Dockerfile - CI: working-directory: backend for go commands, file deploy/docker/Dockerfile, coverage path backend/coverage.out, health_check backend/scripts/ - backend/Makefile: docker target uses -f ../deploy/docker/Dockerfile ../ - README: architecture tree, quickstart, config paths updated Move root stray scripts (rename_models.*, run_m11_tests.sh, verify_build.sh, gorm_bool_main.go) to backend/scripts/legacy/. All moves via git mv to preserve history. Build, vet, SQLite tests, and docker compose config verified.
56 lines
1.3 KiB
Go
56 lines
1.3 KiB
Go
package client
|
|
|
|
// Stub for github.com/emersion/go-imap/client — network unavailable.
|
|
|
|
// Client represents an IMAP client.
|
|
type Client struct {
|
|
State interface{}
|
|
Mailboxes []interface{}
|
|
Updates chan interface{}
|
|
ServerName string
|
|
}
|
|
|
|
// Login logs in to the IMAP server.
|
|
func (c *Client) Login(username, password string) error {
|
|
return nil
|
|
}
|
|
|
|
// Logout logs out from the IMAP server.
|
|
func (c *Client) Logout() error {
|
|
return nil
|
|
}
|
|
|
|
// Select selects a mailbox.
|
|
func (c *Client) Select(name string, readOnly bool) (*interface{}, error) {
|
|
return nil, nil
|
|
}
|
|
|
|
// List lists mailboxes.
|
|
func (c *Client) List(ref, name string, ch chan interface{}) error {
|
|
return nil
|
|
}
|
|
|
|
// Search searches messages.
|
|
func (c *Client) Search(criteria interface{}) ([]uint32, error) {
|
|
return nil, nil
|
|
}
|
|
|
|
// Fetch fetches messages.
|
|
func (c *Client) Fetch(seqset interface{}, items interface{}, ch chan interface{}) error {
|
|
return nil
|
|
}
|
|
|
|
// Dial connects to an IMAP server.
|
|
func Dial(addr string) (*Client, error) {
|
|
return &Client{}, nil
|
|
}
|
|
|
|
// DialTLS connects to an IMAP server with TLS.
|
|
func DialTLS(addr string, config interface{}) (*Client, error) {
|
|
return &Client{}, nil
|
|
}
|
|
|
|
// NewClient creates a new client from an existing connection.
|
|
func NewClient(conn interface{}) (*Client, error) {
|
|
return &Client{}, nil
|
|
} |