Files
goauto/server/app/goauto/sybinnercode/runtime.go
T

33 lines
897 B
Go

package sybinnercode
import (
"context"
"fmt"
"go-admin/app/goauto/sybclient"
"go-admin/app/goauto/sybimport"
"go-admin/config"
"gorm.io/gorm"
)
var DefaultMatcher = Matcher{Factory: func(ctx context.Context, db *gorm.DB) (MatchReader, error) {
settings := config.ExtConfig.SYB.Resolved()
return sybimport.Connect(ctx, sybclient.NewSessionStore(db), sybimport.ConnectConfig{
BaseURL: settings.BaseURL, Username: settings.Username, Password: settings.Password,
OcrURL: settings.OcrURL, OcrMaxAttempts: settings.OcrMaxAttempts,
})
}}
var DefaultApplyRunner = ApplyRunner{Factory: func(ctx context.Context, db *gorm.DB) (InnerCodeWriter, error) {
reader, err := DefaultMatcher.Factory(ctx, db)
if err != nil {
return nil, err
}
writer, ok := reader.(InnerCodeWriter)
if !ok {
return nil, fmt.Errorf("SYB client does not implement write contract")
}
return writer, nil
}}