feat: initial commit
This commit is contained in:
7
internal/domain/port/file_downloader.go
Normal file
7
internal/domain/port/file_downloader.go
Normal file
@@ -0,0 +1,7 @@
|
||||
package port
|
||||
|
||||
import "context"
|
||||
|
||||
type FileDownloader interface {
|
||||
Download(ctx context.Context, fileID string) ([]byte, string, error) // bytes, mimeType, error
|
||||
}
|
||||
10
internal/domain/port/intent_router.go
Normal file
10
internal/domain/port/intent_router.go
Normal file
@@ -0,0 +1,10 @@
|
||||
package port
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/paramah/gw_telegram/internal/domain/entity"
|
||||
)
|
||||
|
||||
type IntentRouter interface {
|
||||
Route(ctx context.Context, msg entity.Message) (entity.Route, error)
|
||||
}
|
||||
8
internal/domain/port/message_gateway.go
Normal file
8
internal/domain/port/message_gateway.go
Normal file
@@ -0,0 +1,8 @@
|
||||
package port
|
||||
|
||||
import "context"
|
||||
|
||||
type MessageGateway interface {
|
||||
SendText(ctx context.Context, chatID int64, text string) error
|
||||
SendTyping(ctx context.Context, chatID int64) error
|
||||
}
|
||||
12
internal/domain/port/session_store.go
Normal file
12
internal/domain/port/session_store.go
Normal file
@@ -0,0 +1,12 @@
|
||||
package port
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/paramah/gw_telegram/internal/domain/entity"
|
||||
)
|
||||
|
||||
type SessionStore interface {
|
||||
Get(ctx context.Context, userID int64) (entity.Session, error)
|
||||
Set(ctx context.Context, session entity.Session) error
|
||||
Delete(ctx context.Context, userID int64) error
|
||||
}
|
||||
7
internal/domain/port/speech_transcriber.go
Normal file
7
internal/domain/port/speech_transcriber.go
Normal file
@@ -0,0 +1,7 @@
|
||||
package port
|
||||
|
||||
import "context"
|
||||
|
||||
type SpeechTranscriber interface {
|
||||
Transcribe(ctx context.Context, audioData []byte, mimeType string) (string, error)
|
||||
}
|
||||
10
internal/domain/port/workflow_dispatcher.go
Normal file
10
internal/domain/port/workflow_dispatcher.go
Normal file
@@ -0,0 +1,10 @@
|
||||
package port
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/paramah/gw_telegram/internal/domain/entity"
|
||||
)
|
||||
|
||||
type WorkflowDispatcher interface {
|
||||
Dispatch(ctx context.Context, req entity.WorkflowRequest) (entity.WorkflowResponse, error)
|
||||
}
|
||||
Reference in New Issue
Block a user