first commit
This commit is contained in:
78
src/cmd/example/external.go
Normal file
78
src/cmd/example/external.go
Normal file
@ -0,0 +1,78 @@
|
||||
package example
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log/slog"
|
||||
|
||||
"quantex.com/qfixpt/src/app"
|
||||
googlechat "quantex.com/qfixpt/src/client/notify/google"
|
||||
"quantex.com/qfixpt/src/client/store/external"
|
||||
"quantex.com/qfixpt/src/common/tracerr"
|
||||
"quantex.com/qfixpt/src/domain"
|
||||
)
|
||||
|
||||
func ExternalRunner(cfg app.Config) error {
|
||||
notify := googlechat.New(cfg.Notify.Google)
|
||||
|
||||
slog.Info("Hello Try API")
|
||||
|
||||
return tryExternal(notify, cfg)
|
||||
}
|
||||
|
||||
func tryExternal(notify *googlechat.Notify, cfg app.Config) error {
|
||||
fmt.Println("\n @@@@@@@@@ Try External @@@@@@@@@ ")
|
||||
defer fmt.Println("\n @@@@@@@@@ End Try External @@@@@@@@@ ")
|
||||
|
||||
extConfig := external.Config{
|
||||
QApixPort: cfg.APIBasePort,
|
||||
QApixHost: cfg.QApixHost,
|
||||
External: cfg.External,
|
||||
QApixToken: cfg.QApixToken,
|
||||
}
|
||||
|
||||
ext := external.NewManager(notify, extConfig)
|
||||
|
||||
var users []app.User
|
||||
|
||||
err := ext.Users(&users)
|
||||
if err != nil {
|
||||
return tracerr.Errorf("unable to read users: %w", err)
|
||||
}
|
||||
|
||||
slog.Info("Users count", "count", len(users))
|
||||
|
||||
if len(users) == 0 {
|
||||
return tracerr.Errorf("error, users list is empty!")
|
||||
}
|
||||
|
||||
user := users[len(users)/2]
|
||||
|
||||
var user1 domain.User
|
||||
|
||||
err = ext.UserByID(user.UserID, &user1)
|
||||
if err != nil {
|
||||
return tracerr.Errorf("error UserByID %w", err)
|
||||
}
|
||||
|
||||
slog.Info(fmt.Sprintf("UserByID: %+v", user1))
|
||||
|
||||
var user2 app.User
|
||||
|
||||
err = ext.UserByEmail(user.Email, &user2)
|
||||
if err != nil {
|
||||
return tracerr.Errorf("error UserByEmail %+v\n", err)
|
||||
}
|
||||
|
||||
slog.Info(fmt.Sprintf("UserByEmail: %+v", user2))
|
||||
|
||||
var badType []app.UserDataProvider
|
||||
|
||||
err = ext.Users(&badType)
|
||||
if err == nil {
|
||||
return tracerr.Errorf("error users count: %v", len(badType))
|
||||
}
|
||||
|
||||
slog.Info("Correct wrong type " + err.Error())
|
||||
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user