Skip to content

Commit

Permalink
fix: revert generic result struct change
Browse files Browse the repository at this point in the history
  • Loading branch information
iljaSL committed Jun 19, 2024
1 parent fcff67b commit a2e1e5e
Show file tree
Hide file tree
Showing 5 changed files with 100 additions and 57 deletions.
53 changes: 26 additions & 27 deletions api/authorizer/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ package authorizer
import (
"net/url"

"github.com/SSHcom/privx-sdk-go/common"
"github.com/SSHcom/privx-sdk-go/restapi"
)

Expand Down Expand Up @@ -305,8 +304,8 @@ func (auth *Client) DownloadWebProxyConfig(trustedClientID, sessionID, filename
}

// CertTemplates returns the certificate authentication templates for the service
func (auth *Client) CertTemplates(service string) (common.Result[CertTemplate], error) {
result := common.Result[CertTemplate]{}
func (auth *Client) CertTemplates(service string) ([]CertTemplate, error) {
result := templatesResult{}
filters := Params{
Service: service,
}
Expand All @@ -316,7 +315,7 @@ func (auth *Client) CertTemplates(service string) (common.Result[CertTemplate],
Query(&filters).
Get(&result)

return result, err
return result.Items, err
}

// SSLTrustAnchor returns the SSL trust anchor (PrivX TLS CA certificate)
Expand All @@ -343,21 +342,21 @@ func (auth *Client) ExtenderTrustAnchor() (*TrustAnchor, error) {

// MARK: Access Groups
// AccessGroups lists all access group
func (auth *Client) AccessGroups(offset, limit int, sortkey, sortdir string) (common.Result[AccessGroup], error) {
func (auth *Client) AccessGroups(offset, limit int, sortkey, sortdir string) ([]AccessGroup, error) {
filters := Params{
Offset: offset,
Limit: limit,
Sortkey: sortkey,
Sortdir: sortdir,
}
result := common.Result[AccessGroup]{}
result := accessGroupResult{}

_, err := auth.api.
URL("/authorizer/api/v1/accessgroups").
Query(&filters).
Get(&result)

return result, err
return result.Items, err
}

// CreateAccessGroup create a access group
Expand All @@ -374,21 +373,21 @@ func (auth *Client) CreateAccessGroup(accessGroup *AccessGroup) (string, error)
}

// SearchAccessGroup search for access groups
func (auth *Client) SearchAccessGroup(offset, limit int, sortkey, sortdir string, search *SearchParams) (common.Result[AccessGroup], error) {
func (auth *Client) SearchAccessGroup(offset, limit int, sortkey, sortdir string, search *SearchParams) ([]AccessGroup, error) {
filters := Params{
Offset: offset,
Limit: limit,
Sortkey: sortkey,
Sortdir: sortdir,
}
result := common.Result[AccessGroup]{}
result := accessGroupResult{}

_, err := auth.api.
URL("/authorizer/api/v1/accessgroups/search").
Query(&filters).
Post(search, &result)

return result, err
return result.Items, err
}

// AccessGroup get access group
Expand Down Expand Up @@ -442,26 +441,26 @@ func (auth *Client) DeleteAccessGroupsIdCas(accessGroupID string, caID string) e

// MARK: Certs
// SearchCert search for certificates
func (auth *Client) SearchCert(offset, limit int, sortkey, sortdir string, cert *APICertificateSearch) (common.Result[APICertificate], error) {
func (auth *Client) SearchCert(offset, limit int, sortkey, sortdir string, cert *APICertificateSearch) ([]APICertificate, error) {
filters := Params{
Offset: offset,
Limit: limit,
Sortkey: sortkey,
Sortdir: sortdir,
}
result := common.Result[APICertificate]{}
result := apiCertificateResult{}

_, err := auth.api.
URL("/authorizer/api/v1/cert/search").
Query(&filters).
Post(cert, &result)

return result, err
return result.Items, err
}

// Get all Certificates
func (auth *Client) GetAllCertificates() (common.Result[APICertificate], error) {
certificates := common.Result[APICertificate]{}
func (auth *Client) GetAllCertificates() (apiCertificateResult, error) {
certificates := apiCertificateResult{}

_, err := auth.api.
URL("/authorizer/api/v1/cert").
Expand All @@ -483,65 +482,65 @@ func (auth *Client) GetCertByID(ID string) (ApiCertificateObject, error) {

// MARK: Secrets
// AccountSecrets lists all account secrets
func (auth *Client) AccountSecrets(limit int, sortdir string) (common.Result[AccountSecrets], error) {
func (auth *Client) AccountSecrets(limit int, sortdir string) ([]AccountSecrets, error) {
filters := Params{
Limit: limit,
Sortdir: sortdir,
}
result := common.Result[AccountSecrets]{}
result := accountSecretsResult{}

_, err := auth.api.
URL("/authorizer/api/v1/secrets").
Query(&filters).
Get(&result)

return result, err
return result.Items, err
}

// SearchAccountSecrets search for account secrets
func (auth *Client) SearchAccountSecrets(limit int, sortdir string, search *AccountSecretsSearchRequest) (common.Result[AccountSecrets], error) {
func (auth *Client) SearchAccountSecrets(limit int, sortdir string, search *AccountSecretsSearchRequest) ([]AccountSecrets, error) {
filters := Params{
Limit: limit,
Sortdir: sortdir,
}
result := common.Result[AccountSecrets]{}
result := accountSecretsResult{}

_, err := auth.api.
URL("/authorizer/api/v1/secrets/search").
Query(&filters).
Post(search, &result)

return result, err
return result.Items, err
}

// CheckoutAccountSecret checkout account secret
func (auth *Client) CheckoutAccountSecret(path string) (common.Result[Checkout], error) {
func (auth *Client) CheckoutAccountSecret(path string) ([]Checkout, error) {
checkoutReq := CheckoutRequest{
Path: path,
}
result := common.Result[Checkout]{}
result := checkoutResult{}

_, err := auth.api.
URL("/authorizer/api/v1/secrets/checkouts").
Post(checkoutReq, &result)

return result, err
return result.Items, err
}

// Checkouts lists secret checkouts
func (auth *Client) Checkouts(limit int, sortdir string) (common.Result[Checkout], error) {
func (auth *Client) Checkouts(limit int, sortdir string) ([]Checkout, error) {
filters := Params{
Limit: limit,
Sortdir: sortdir,
}
result := common.Result[Checkout]{}
result := checkoutResult{}

_, err := auth.api.
URL("/authorizer/api/v1/secrets/checkouts").
Query(&filters).
Get(&result)

return result, err
return result.Items, err
}

// Checkout get checkout by id
Expand Down
25 changes: 25 additions & 0 deletions api/authorizer/model.go
Original file line number Diff line number Diff line change
Expand Up @@ -246,3 +246,28 @@ type TargetDomain struct {
Name string `json:"name,omitempty"`
Deleted bool `json:"deleted,omitempty"`
}

type templatesResult struct {
Count int `json:"count"`
Items []CertTemplate `json:"items"`
}

type accessGroupResult struct {
Count int `json:"count"`
Items []AccessGroup `json:"items"`
}

type apiCertificateResult struct {
Count int `json:"count"`
Items []APICertificate `json:"items"`
}

type accountSecretsResult struct {
Count int `json:"count"`
Items []AccountSecrets `json:"items"`
}

type checkoutResult struct {
Count int `json:"count"`
Items []Checkout `json:"items"`
}
48 changes: 24 additions & 24 deletions api/secretsmanager/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,14 @@ func (s *Client) SecretsManagerStatus() (*common.ServiceStatus, error) {

// MARK: Password Policies
// PasswordPolicies lists all password policies
func (s *Client) PasswordPolicies() (common.Result[PasswordPolicy], error) {
result := common.Result[PasswordPolicy]{}
func (s *Client) PasswordPolicies() ([]PasswordPolicy, error) {
result := pwPolicyResult{}

_, err := s.api.
URL("/secrets-manager/api/v1/password-policies").
Get(&result)

return result, err
return result.Items, err
}

// CreatePasswordPolicy create a password policy
Expand Down Expand Up @@ -94,14 +94,14 @@ func (s *Client) RotatePassword(hostId, account string) error {

// MARK: Manage rotation scripts
// ScriptTemplates lists all script templates
func (s *Client) ScriptTemplates() (common.Result[ScriptTemplate], error) {
result := common.Result[ScriptTemplate]{}
func (s *Client) ScriptTemplates() ([]ScriptTemplate, error) {
result := scriptTemplateResult{}

_, err := s.api.
URL("/secrets-manager/api/v1/script-templates").
Get(&result)

return result, err
return result.Items, err
}

// CreateScriptTemplate create a script template
Expand Down Expand Up @@ -161,8 +161,8 @@ func (s *Client) CompileScript(r CompileScriptRequest) (string, error) {

// MARK: Target domains
// TargetDomains lists all target domains
func (s *Client) TargetDomains(offset, limit int, sortkey, sortdir string) (common.Result[TargetDomain], error) {
result := common.Result[TargetDomain]{}
func (s *Client) TargetDomains(offset, limit int, sortkey, sortdir string) ([]TargetDomain, error) {
result := tdResult{}
filters := Params{
Offset: offset,
Limit: limit,
Expand All @@ -175,7 +175,7 @@ func (s *Client) TargetDomains(offset, limit int, sortkey, sortdir string) (comm
Query(&filters).
Get(&result)

return result, err
return result.Items, err
}

// CreateTargetDomain create a target domain
Expand All @@ -192,8 +192,8 @@ func (s *Client) CreateTargetDomain(td TargetDomain) (string, error) {
}

// SearchTargetDomain search for existing target domain
func (s *Client) SearchTargetDomain(sortkey, sortdir string, offset, limit int, searchObject TargetDomainsSearch) (common.Result[TargetDomain], error) {
result := common.Result[TargetDomain]{}
func (s *Client) SearchTargetDomain(sortkey, sortdir string, offset, limit int, searchObject TargetDomainsSearch) ([]TargetDomain, error) {
result := tdResult{}
filters := Params{
Offset: offset,
Limit: limit,
Expand All @@ -206,7 +206,7 @@ func (s *Client) SearchTargetDomain(sortkey, sortdir string, offset, limit int,
Query(&filters).
Post(&searchObject, &result)

return result, err
return result.Items, err
}

// TargetDomain get target domain by id
Expand Down Expand Up @@ -249,8 +249,8 @@ func (s *Client) RefreshTargetDomain(tdId string) error {

// MARK: Target domain accounts
// TargetDomainAccounts lists all accounts in target domain
func (s *Client) TargetDomainAccounts(offset, limit int, sortkey, sortdir, tdId string) (common.Result[ScannedAccount], error) {
result := common.Result[ScannedAccount]{}
func (s *Client) TargetDomainAccounts(offset, limit int, sortkey, sortdir, tdId string) ([]ScannedAccount, error) {
result := scannedAccountResult{}
filters := Params{
Offset: offset,
Limit: limit,
Expand All @@ -263,12 +263,12 @@ func (s *Client) TargetDomainAccounts(offset, limit int, sortkey, sortdir, tdId
Query(&filters).
Get(&result)

return result, err
return result.Items, err
}

// SearchTargetDomainAccounts search accounts in target domain
func (s *Client) SearchTargetDomainAccounts(sortkey, sortdir, tdId string, offset, limit int, searchObject ScannedAccountsSearch) (common.Result[ScannedAccount], error) {
result := common.Result[ScannedAccount]{}
func (s *Client) SearchTargetDomainAccounts(sortkey, sortdir, tdId string, offset, limit int, searchObject ScannedAccountsSearch) ([]ScannedAccount, error) {
result := scannedAccountResult{}
filters := Params{
Offset: offset,
Limit: limit,
Expand All @@ -281,7 +281,7 @@ func (s *Client) SearchTargetDomainAccounts(sortkey, sortdir, tdId string, offse
Query(&filters).
Post(&searchObject, &result)

return result, err
return result.Items, err
}

// TargetDomainAccount get target domain account
Expand Down Expand Up @@ -315,8 +315,8 @@ func (s *Client) BatchUpdateTargetDomain(tdId string, change ScannedAccountEditB

// MARK: Managed accounts
// ManagedAccounts lists all managed accounts in a target domain
func (s *Client) ManagedAccounts(offset, limit int, sortkey, sortdir, tdId string) (common.Result[ManagedAccount], error) {
result := common.Result[ManagedAccount]{}
func (s *Client) ManagedAccounts(offset, limit int, sortkey, sortdir, tdId string) ([]ManagedAccount, error) {
result := managedAccountResult{}
filters := Params{
Offset: offset,
Limit: limit,
Expand All @@ -329,7 +329,7 @@ func (s *Client) ManagedAccounts(offset, limit int, sortkey, sortdir, tdId strin
Query(&filters).
Get(&result)

return result, err
return result.Items, err
}

// CreateManagedAccount create a managed account
Expand All @@ -346,8 +346,8 @@ func (s *Client) CreateManagedAccount(tdId string, ma ManagedAccount) (string, e
}

// SearchManagedAccounts search managed accounts in a target domain
func (s *Client) SearchManagedAccounts(sortkey, sortdir, tdId string, offset, limit int, searchObject ManagedAccountsSearch) (common.Result[ManagedAccount], error) {
result := common.Result[ManagedAccount]{}
func (s *Client) SearchManagedAccounts(sortkey, sortdir, tdId string, offset, limit int, searchObject ManagedAccountsSearch) ([]ManagedAccount, error) {
result := managedAccountResult{}
filters := Params{
Offset: offset,
Limit: limit,
Expand All @@ -360,7 +360,7 @@ func (s *Client) SearchManagedAccounts(sortkey, sortdir, tdId string, offset, li
Query(&filters).
Post(&searchObject, &result)

return result, err
return result.Items, err
}

// ManagedAccount get managed account
Expand Down
25 changes: 25 additions & 0 deletions api/secretsmanager/model.go
Original file line number Diff line number Diff line change
Expand Up @@ -250,3 +250,28 @@ type ManagedAccountChangeSet struct {
type ManagedAccountBatch struct {
IDs []string `json:"ids"`
}

type pwPolicyResult struct {
Count int `json:"count"`
Items []PasswordPolicy `json:"items"`
}

type scriptTemplateResult struct {
Count int `json:"count"`
Items []ScriptTemplate `json:"items"`
}

type tdResult struct {
Count int `json:"count"`
Items []TargetDomain `json:"items"`
}

type scannedAccountResult struct {
Count int `json:"count"`
Items []ScannedAccount `json:"items"`
}

type managedAccountResult struct {
Count int `json:"count"`
Items []ManagedAccount `json:"items"`
}
Loading

0 comments on commit a2e1e5e

Please sign in to comment.