diff options
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 60 |
1 files changed, 54 insertions, 6 deletions
@@ -1,21 +1,69 @@ package main import ( - "fmt" + "context" "io" "log" "log/slog" "os" + + "codeberg.org/dijitol/collector_ouphe/src/cardmarket" + "codeberg.org/dijitol/collector_ouphe/src/config" + "codeberg.org/dijitol/collector_ouphe/src/oauth" ) func main() { - if err := Run(os.Stdin, os.Stdout, os.Stderr); err != nil { + conf, err := config.NewConfigFromEnv() + if err != nil { + log.Fatalln(err.Error()) + } + + if err := Run( + context.Background(), + os.Stdin, + os.Stdout, + os.Stderr, + conf, + ); err != nil { log.Fatalln(err.Error()) } } -func Run(in io.Reader, out, err io.Writer) error { - _ = slog.New(slog.NewJSONHandler(err, nil)) - _, pErr := fmt.Fprintln(out, "Hello, World!") - return pErr +func Run( + ctx context.Context, + in io.Reader, + out, err io.Writer, + conf config.Config, +) error { + l := slog.New( + slog.NewJSONHandler(err, &slog.HandlerOptions{Level: conf.AppLogLevel}), + ) + slog.SetDefault(l) + + slog.DebugContext(ctx, conf.String()) + + oauthClient := oauth.NewClient( + oauth.Tokens{ + Consumer: oauth.ConsumerToken{ + Token: string(conf.CardmarketApiAuth.AppToken), + Secret: string(conf.CardmarketApiAuth.AppSecret), + }, + Access: oauth.AccessToken{ + Token: string(conf.CardmarketApiAuth.AccessToken), + Secret: string(conf.CardmarketApiAuth.AccessTokenSecret), + }, + }, + ) + + client := cardmarket.NewApiClient( + string(conf.CardmarketApiBaseURL), + oauthClient, + ) + + _, accErr := client.GetAccountInformation(ctx) + if accErr != nil { + return accErr + } + + return nil } |
