6648cdf1cb
Client External ID * normalizeexternalid * cleanopenapi * cleanopenapi * changingpublic * noprecommit * testing * precommit * processtest * nodb * tests * tests
38 lines
844 B
Go
38 lines
844 B
Go
package client
|
|
|
|
import (
|
|
"context"
|
|
|
|
"queryorchestration/internal/database"
|
|
"queryorchestration/internal/database/repository"
|
|
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
func (s *Service) Get(ctx context.Context, id uuid.UUID) (*Client, error) {
|
|
client, err := s.cfg.GetDBQueries().GetClient(ctx, database.MustToDBUUID(id))
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return parseFullClient(client), nil
|
|
}
|
|
|
|
func (s *Service) GetByExternalId(ctx context.Context, id string) (*Client, error) {
|
|
client, err := s.cfg.GetDBQueries().GetClientByExternalId(ctx, id)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return parseFullClient(client), nil
|
|
}
|
|
|
|
func parseFullClient(client *repository.Fullclient) *Client {
|
|
return &Client{
|
|
ID: database.MustToUUID(client.ID),
|
|
ExternalID: client.Externalid,
|
|
Name: client.Name,
|
|
CanSync: client.Cansync,
|
|
}
|
|
}
|