mirror of
https://github.com/hanzokms/go-sdk.git
synced 2026-10-30 19:44:54 +00:00
- Module path: github.com/infisical/go-sdk -> github.com/hanzokms/go-sdk - Package name: infisical -> kms - Types: InfisicalClient -> Client, NewInfisicalClient -> NewClient - Default URL: app.infisical.com -> kms.hanzo.ai - Env vars: INFISICAL_ prefix -> KMS_ prefix - User agent: infisical-go-sdk -> hanzo-kms-go-sdk - Copyright: Hanzo AI Inc. - go build ./... passes clean
64 lines
1.8 KiB
Go
64 lines
1.8 KiB
Go
package api
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
|
|
"github.com/go-resty/resty/v2"
|
|
"github.com/hashicorp/golang-lru/v2/expirable"
|
|
"github.com/hanzokms/go-sdk/packages/errors"
|
|
"github.com/hanzokms/go-sdk/packages/util"
|
|
)
|
|
|
|
const callListSecretsV3RawOperation = "CallListSecretsV3Raw"
|
|
|
|
func CallListSecretsV3(cache *expirable.LRU[string, interface{}], httpClient *resty.Client, request ListSecretsV3RawRequest) (ListSecretsV3RawResponse, error) {
|
|
var cacheKey string
|
|
|
|
if cache != nil {
|
|
reqBytes, err := json.Marshal(request)
|
|
if err != nil {
|
|
return ListSecretsV3RawResponse{}, err
|
|
}
|
|
cacheKey = util.ComputeCacheKeyFromBytes(reqBytes, callListSecretsV3RawOperation)
|
|
if cached, found := cache.Get(cacheKey); found {
|
|
if response, ok := cached.(ListSecretsV3RawResponse); ok {
|
|
return response, nil
|
|
}
|
|
cache.Remove(cacheKey)
|
|
}
|
|
}
|
|
|
|
secretsResponse := ListSecretsV3RawResponse{}
|
|
|
|
if request.SecretPath == "" {
|
|
request.SecretPath = "/"
|
|
}
|
|
|
|
res, err := httpClient.R().
|
|
SetResult(&secretsResponse).
|
|
SetQueryParams(map[string]string{
|
|
"workspaceId": request.ProjectID,
|
|
"workspaceSlug": request.ProjectSlug,
|
|
"environment": request.Environment,
|
|
"secretPath": request.SecretPath,
|
|
"expandSecretReferences": fmt.Sprintf("%t", request.ExpandSecretReferences),
|
|
"include_imports": fmt.Sprintf("%t", request.IncludeImports),
|
|
"recursive": fmt.Sprintf("%t", request.Recursive),
|
|
}).Get("/v3/secrets/raw")
|
|
|
|
if err != nil {
|
|
return ListSecretsV3RawResponse{}, errors.NewRequestError(callListSecretsV3RawOperation, err)
|
|
}
|
|
|
|
if res.IsError() {
|
|
return ListSecretsV3RawResponse{}, errors.NewAPIErrorWithResponse(callListSecretsV3RawOperation, res)
|
|
}
|
|
|
|
if cache != nil {
|
|
cache.Add(cacheKey, secretsResponse)
|
|
}
|
|
|
|
return secretsResponse, nil
|
|
}
|