Refactor project structure

This commit is contained in:
2025-08-12 14:15:26 +03:00
parent 983de269ad
commit e1cb261570
8 changed files with 30 additions and 30 deletions

View File

@@ -5,9 +5,9 @@ import (
"fmt" "fmt"
"time" "time"
"git.vakhrushev.me/av/transcriber/internal/contract"
"git.vakhrushev.me/av/transcriber/internal/entity" "git.vakhrushev.me/av/transcriber/internal/entity"
contracts "git.vakhrushev.me/av/transcriber/internal/repo" goqu "github.com/doug-martin/goqu/v9"
"github.com/doug-martin/goqu/v9"
) )
type TranscriptJobRepository struct { type TranscriptJobRepository struct {
@@ -162,7 +162,7 @@ func (repo *TranscriptJobRepository) FindAndAcquire(state, acquisitionId string,
return nil, fmt.Errorf("failed check affected rows: %w", err) return nil, fmt.Errorf("failed check affected rows: %w", err)
} }
if rowsAffected == 0 { if rowsAffected == 0 {
e := contracts.JobNotFoundError{State: state, Message: "appropriate job not found"} e := contract.JobNotFoundError{State: state, Message: "appropriate job not found"}
return nil, &e return nil, &e
} }
if rowsAffected != 1 { if rowsAffected != 1 {

View File

@@ -1,4 +1,4 @@
package repo package contract
import ( import (
"fmt" "fmt"

View File

@@ -5,19 +5,19 @@ import (
"net/http" "net/http"
"time" "time"
"git.vakhrushev.me/av/transcriber/internal/repo" "git.vakhrushev.me/av/transcriber/internal/contract"
"git.vakhrushev.me/av/transcriber/internal/service/transcribe" "git.vakhrushev.me/av/transcriber/internal/service"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
) )
const baseStorageDir = "data/files" const baseStorageDir = "data/files"
type TranscribeHandler struct { type TranscribeHandler struct {
jobRepo repo.TranscriptJobRepository jobRepo contract.TranscriptJobRepository
trsService *transcribe.TranscribeService trsService *service.TranscribeService
} }
func NewTranscribeHandler(jobRepo repo.TranscriptJobRepository, trsService *transcribe.TranscribeService) *TranscribeHandler { func NewTranscribeHandler(jobRepo contract.TranscriptJobRepository, trsService *service.TranscribeService) *TranscribeHandler {
return &TranscribeHandler{jobRepo: jobRepo, trsService: trsService} return &TranscribeHandler{jobRepo: jobRepo, trsService: trsService}
} }

View File

@@ -15,9 +15,9 @@ import (
"testing" "testing"
"time" "time"
"git.vakhrushev.me/av/transcriber/internal/adapter/sqlite"
"git.vakhrushev.me/av/transcriber/internal/entity" "git.vakhrushev.me/av/transcriber/internal/entity"
"git.vakhrushev.me/av/transcriber/internal/repo/sqlite" "git.vakhrushev.me/av/transcriber/internal/service"
"git.vakhrushev.me/av/transcriber/internal/service/transcribe"
"github.com/doug-martin/goqu/v9" "github.com/doug-martin/goqu/v9"
_ "github.com/doug-martin/goqu/v9/dialect/sqlite3" _ "github.com/doug-martin/goqu/v9/dialect/sqlite3"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
@@ -56,7 +56,7 @@ func setupTestRouter(t *testing.T) (*gin.Engine, *TranscribeHandler) {
fileRepo := sqlite.NewFileRepository(db, gq) fileRepo := sqlite.NewFileRepository(db, gq)
jobRepo := sqlite.NewTranscriptJobRepository(db, gq) jobRepo := sqlite.NewTranscriptJobRepository(db, gq)
trsService := transcribe.NewTranscribeService(jobRepo, fileRepo) trsService := service.NewTranscribeService(jobRepo, fileRepo)
handler := NewTranscribeHandler(jobRepo, trsService) handler := NewTranscribeHandler(jobRepo, trsService)

View File

@@ -5,7 +5,7 @@ import (
"log" "log"
"time" "time"
"git.vakhrushev.me/av/transcriber/internal/service/transcribe" "git.vakhrushev.me/av/transcriber/internal/service"
) )
// Worker представляет базовый интерфейс для всех воркеров // Worker представляет базовый интерфейс для всех воркеров
@@ -16,10 +16,10 @@ type Worker interface {
// ConversionWorker обрабатывает задачи конвертации // ConversionWorker обрабатывает задачи конвертации
type ConversionWorker struct { type ConversionWorker struct {
transcribeService *transcribe.TranscribeService transcribeService *service.TranscribeService
} }
func NewConversionWorker(transcribeService *transcribe.TranscribeService) *ConversionWorker { func NewConversionWorker(transcribeService *service.TranscribeService) *ConversionWorker {
return &ConversionWorker{ return &ConversionWorker{
transcribeService: transcribeService, transcribeService: transcribeService,
} }
@@ -57,10 +57,10 @@ func (w *ConversionWorker) Start(ctx context.Context) {
// TranscribeWorker обрабатывает задачи транскрипции // TranscribeWorker обрабатывает задачи транскрипции
type TranscribeWorker struct { type TranscribeWorker struct {
transcribeService *transcribe.TranscribeService transcribeService *service.TranscribeService
} }
func NewTranscribeWorker(transcribeService *transcribe.TranscribeService) *TranscribeWorker { func NewTranscribeWorker(transcribeService *service.TranscribeService) *TranscribeWorker {
return &TranscribeWorker{ return &TranscribeWorker{
transcribeService: transcribeService, transcribeService: transcribeService,
} }
@@ -98,10 +98,10 @@ func (w *TranscribeWorker) Start(ctx context.Context) {
// CheckWorker обрабатывает задачи проверки статуса распознавания // CheckWorker обрабатывает задачи проверки статуса распознавания
type CheckWorker struct { type CheckWorker struct {
transcribeService *transcribe.TranscribeService transcribeService *service.TranscribeService
} }
func NewCheckWorker(transcribeService *transcribe.TranscribeService) *CheckWorker { func NewCheckWorker(transcribeService *service.TranscribeService) *CheckWorker {
return &CheckWorker{ return &CheckWorker{
transcribeService: transcribeService, transcribeService: transcribeService,
} }

View File

@@ -1,4 +1,4 @@
package transcribe package service
import ( import (
"fmt" "fmt"
@@ -8,8 +8,8 @@ import (
"path/filepath" "path/filepath"
"time" "time"
"git.vakhrushev.me/av/transcriber/internal/contract"
"git.vakhrushev.me/av/transcriber/internal/entity" "git.vakhrushev.me/av/transcriber/internal/entity"
"git.vakhrushev.me/av/transcriber/internal/repo"
"git.vakhrushev.me/av/transcriber/internal/repo/ffmpeg" "git.vakhrushev.me/av/transcriber/internal/repo/ffmpeg"
"git.vakhrushev.me/av/transcriber/internal/service/s3" "git.vakhrushev.me/av/transcriber/internal/service/s3"
"git.vakhrushev.me/av/transcriber/internal/service/speechkit" "git.vakhrushev.me/av/transcriber/internal/service/speechkit"
@@ -19,11 +19,11 @@ import (
const baseStorageDir = "data/files" const baseStorageDir = "data/files"
type TranscribeService struct { type TranscribeService struct {
jobRepo repo.TranscriptJobRepository jobRepo contract.TranscriptJobRepository
fileRepo repo.FileRepository fileRepo contract.FileRepository
} }
func NewTranscribeService(jobRepo repo.TranscriptJobRepository, fileRepo repo.FileRepository) *TranscribeService { func NewTranscribeService(jobRepo contract.TranscriptJobRepository, fileRepo contract.FileRepository) *TranscribeService {
return &TranscribeService{jobRepo: jobRepo, fileRepo: fileRepo} return &TranscribeService{jobRepo: jobRepo, fileRepo: fileRepo}
} }
@@ -95,7 +95,7 @@ func (s *TranscribeService) FindAndRunConversionJob() error {
job, err := s.jobRepo.FindAndAcquire(entity.StateCreated, acquisitionId, rottingTime) job, err := s.jobRepo.FindAndAcquire(entity.StateCreated, acquisitionId, rottingTime)
if err != nil { if err != nil {
if _, ok := err.(*repo.JobNotFoundError); ok { if _, ok := err.(*contract.JobNotFoundError); ok {
return nil return nil
} }
return err return err
@@ -154,7 +154,7 @@ func (s *TranscribeService) FindAndRunTranscribeJob() error {
jobRecord, err := s.jobRepo.FindAndAcquire(entity.StateConverted, acquisitionId, rottingTime) jobRecord, err := s.jobRepo.FindAndAcquire(entity.StateConverted, acquisitionId, rottingTime)
if err != nil { if err != nil {
if _, ok := err.(*repo.JobNotFoundError); ok { if _, ok := err.(*contract.JobNotFoundError); ok {
return nil return nil
} }
return err return err
@@ -222,7 +222,7 @@ func (s *TranscribeService) FindAndRunTranscribeCheckJob() error {
job, err := s.jobRepo.FindAndAcquire(entity.StateTranscribe, acquisitionId, rottingTime) job, err := s.jobRepo.FindAndAcquire(entity.StateTranscribe, acquisitionId, rottingTime)
if err != nil { if err != nil {
if _, ok := err.(*repo.JobNotFoundError); ok { if _, ok := err.(*contract.JobNotFoundError); ok {
return nil return nil
} }
return err return err

View File

@@ -12,10 +12,10 @@ import (
"syscall" "syscall"
"time" "time"
"git.vakhrushev.me/av/transcriber/internal/adapter/sqlite"
httpcontroller "git.vakhrushev.me/av/transcriber/internal/controller/http" httpcontroller "git.vakhrushev.me/av/transcriber/internal/controller/http"
"git.vakhrushev.me/av/transcriber/internal/controller/worker" "git.vakhrushev.me/av/transcriber/internal/controller/worker"
"git.vakhrushev.me/av/transcriber/internal/repo/sqlite" "git.vakhrushev.me/av/transcriber/internal/service"
"git.vakhrushev.me/av/transcriber/internal/service/transcribe"
"github.com/doug-martin/goqu/v9" "github.com/doug-martin/goqu/v9"
_ "github.com/doug-martin/goqu/v9/dialect/sqlite3" _ "github.com/doug-martin/goqu/v9/dialect/sqlite3"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
@@ -55,7 +55,7 @@ func main() {
fileRepo := sqlite.NewFileRepository(db, gq) fileRepo := sqlite.NewFileRepository(db, gq)
jobRepo := sqlite.NewTranscriptJobRepository(db, gq) jobRepo := sqlite.NewTranscriptJobRepository(db, gq)
transcribeService := transcribe.NewTranscribeService(jobRepo, fileRepo) transcribeService := service.NewTranscribeService(jobRepo, fileRepo)
// Создаем воркеры // Создаем воркеры
conversionWorker := worker.NewConversionWorker(transcribeService) conversionWorker := worker.NewConversionWorker(transcribeService)