package main

import (
	"context"
	"fmt"

	"github.com/tidbcloud/escalation-base/feishu_messager_v2/pkg/infra/config"
	"github.com/tidbcloud/escalation-base/feishu_messager_v2/pkg/infra/deps"
	"github.com/tidbcloud/escalation-base/feishu_messager_v2/pkg/infra/log"
)

func setup(ctx context.Context, conf *config.RootConfig) (*deps.Deps, error) {
	err := log.InitLogger(&conf.Log)
	if err != nil {
		return nil, fmt.Errorf("failed to init logger: %s", err)
	}

	deps := deps.NewDeps()
	err = deps.Init(conf, log.Logger)
	if err != nil {
		return nil, fmt.Errorf("failed to init deps: %s", err)
	}

	return deps, nil
}
