package grpc import ( "google.golang.org/grpc/codes" "google.golang.org/grpc/status" "src.dualinventive.com/go/companies-service/internal/companies" "src.dualinventive.com/go/companies-service/internal/domain" ) func mapCompany(company *domain.Company) *Company { return &Company{ CompanyID: uint64(company.ID), CompanyCode: company.Code, CompanyName: company.Name, } } func mapCompanies(companies []domain.Company) []*Company { if companies == nil { return nil } companieslist := []*Company{} for _, company := range companies { companieslist = append(companieslist, &Company{ CompanyID: uint64(company.ID), CompanyCode: company.Code, CompanyName: company.Name, }) } return companieslist } func mapSortCol(sortcol GetCompaniesRequest_SortCol) domain.SortCol { switch sortcol { case GetCompaniesRequest_ID_ASC: return domain.SortColIDAsc case GetCompaniesRequest_ID_DESC: return domain.SortColIDDesc case GetCompaniesRequest_NAME_ASC: return domain.SortColNameAsc case GetCompaniesRequest_NAME_DESC: return domain.SortColNameDesc default: return domain.SortColIDAsc } } func mapError(err error) error { switch err.(type) { case *companies.ErrUnauthorized: return status.Error(codes.Unauthenticated, err.Error()) case *companies.ErrAuthFailed: return status.Error(codes.Internal, err.Error()) case *companies.ErrCompanyNotFound: return status.Error(codes.NotFound, err.Error()) case *companies.ErrCompanyRepositoryErr: return status.Error(codes.Internal, err.Error()) default: return status.Error(codes.Internal, err.Error()) } }