2026-05-26 16:32:55 +03:00
|
|
|
package deconnector
|
|
|
|
|
|
|
|
|
|
import (
|
2026-05-26 18:58:50 +03:00
|
|
|
"context"
|
2026-05-26 16:32:55 +03:00
|
|
|
"fmt"
|
|
|
|
|
|
|
|
|
|
"source.hodakov.me/hdkv/deconnect/internal/application"
|
|
|
|
|
"source.hodakov.me/hdkv/deconnect/internal/domains"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
var (
|
|
|
|
|
_ domains.Deconnector = new(Deconnector)
|
|
|
|
|
_ domains.Domain = new(Deconnector)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
type Deconnector struct {
|
|
|
|
|
app *application.App
|
|
|
|
|
|
|
|
|
|
dialer domains.Dialer
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func New(app *application.App) *Deconnector {
|
|
|
|
|
return &Deconnector{
|
|
|
|
|
app: app,
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2026-05-26 18:58:50 +03:00
|
|
|
func (d *Deconnector) ConnectDependencies(_ context.Context) error {
|
2026-05-26 16:32:55 +03:00
|
|
|
dialer, ok := d.app.RetrieveDomain(domains.DomainNameDialer).(domains.Dialer)
|
|
|
|
|
if !ok {
|
|
|
|
|
return fmt.Errorf(
|
|
|
|
|
"%w: %w (%s)", ErrDeconnector, ErrConnectDependencies,
|
|
|
|
|
"dialer domain interface conversion failed",
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
d.dialer = dialer
|
|
|
|
|
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
|
2026-05-26 18:58:50 +03:00
|
|
|
func (d *Deconnector) Start(_ context.Context) error {
|
2026-05-26 16:32:55 +03:00
|
|
|
return nil
|
|
|
|
|
}
|