generated from PenaSide/GolangTemplate
47 lines
1.3 KiB
Go
47 lines
1.3 KiB
Go
package initialize
|
|
|
|
import (
|
|
"github.com/sirupsen/logrus"
|
|
"golang.org/x/oauth2"
|
|
"penahub.gitlab.yandexcloud.net/pena-services/pena-social-auth/internal/client"
|
|
"penahub.gitlab.yandexcloud.net/pena-services/pena-social-auth/internal/models"
|
|
)
|
|
|
|
type ClientsDeps struct {
|
|
Logger *logrus.Logger
|
|
GoogleURL *models.GoogleURL
|
|
AmocrmURL *models.AmocrmURL
|
|
AuthURL *models.AuthMicroServiceURL
|
|
AmocrmOAuthConfiguration *oauth2.Config
|
|
}
|
|
|
|
type Clients struct {
|
|
GoogleClient *client.GoogleClient
|
|
VKClient *client.VKClient
|
|
AmocrmClient *client.AmocrmClient
|
|
AuthClient *client.AuthClient
|
|
AmocrmOAuthClient *client.OAuthClient
|
|
}
|
|
|
|
func NewClients(deps *ClientsDeps) *Clients {
|
|
return &Clients{
|
|
VKClient: client.NewVKClient(deps.Logger),
|
|
GoogleClient: client.NewGoogleClient(&client.GoogleClientDeps{
|
|
Logger: deps.Logger,
|
|
URLs: deps.GoogleURL,
|
|
}),
|
|
AmocrmClient: client.NewAmocrmClient(&client.AmocrmClientDeps{
|
|
Logger: deps.Logger,
|
|
URLs: deps.AmocrmURL,
|
|
}),
|
|
AuthClient: client.NewAuthClient(&client.AuthClientDeps{
|
|
Logger: deps.Logger,
|
|
URLs: deps.AuthURL,
|
|
}),
|
|
AmocrmOAuthClient: client.NewOAuthClient(&client.OAuthClientDeps{
|
|
Logger: deps.Logger,
|
|
Config: deps.AmocrmOAuthConfiguration,
|
|
}),
|
|
}
|
|
}
|