2026-04-06 15:48:37 +05:30
|
|
|
// Copyright IBM Corp. 2020, 2026
|
2024-04-17 11:13:08 -07:00
|
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
|
|
|
|
|
|
package users
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"context"
|
|
|
|
|
"fmt"
|
|
|
|
|
"net/url"
|
|
|
|
|
|
2026-10-12 10:33:41 -07:00
|
|
|
"repo.anhonesthost.net/CyberCoveLLC/threshold/api/aliases"
|
2024-04-17 11:13:08 -07:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// ListResolvableAliases builds and sends a request to the API for listing
|
|
|
|
|
// resolvable aliases for the specified user. It retrieves all remaining pages
|
|
|
|
|
// and includes in the result the list token for paginating through future
|
|
|
|
|
// updates. To use the list token use the users.WithListToken option.
|
|
|
|
|
func (c *Client) ListResolvableAliases(ctx context.Context, userId string, opt ...Option) (*aliases.AliasListResult, error) {
|
|
|
|
|
if userId == "" {
|
|
|
|
|
return nil, fmt.Errorf("empty userId value passed into ListResolvableAliases request")
|
|
|
|
|
}
|
|
|
|
|
if c.client == nil {
|
|
|
|
|
return nil, fmt.Errorf("nil client")
|
|
|
|
|
}
|
|
|
|
|
|
2024-09-13 15:59:49 -04:00
|
|
|
opts, _ := getOpts(opt...)
|
|
|
|
|
apiClient := aliases.NewClient(c.client)
|
|
|
|
|
return apiClient.List(ctx, "global",
|
|
|
|
|
aliases.WithAutomaticVersioning(opts.withAutomaticVersioning),
|
|
|
|
|
aliases.WithSkipCurlOutput(opts.withSkipCurlOutput),
|
|
|
|
|
aliases.WithFilter(opts.withFilter),
|
|
|
|
|
aliases.WithListToken(opts.withListToken),
|
|
|
|
|
aliases.WithClientDirectedPagination(opts.withClientDirectedPagination),
|
|
|
|
|
aliases.WithPageSize(opts.withPageSize),
|
|
|
|
|
aliases.WithRecursive(opts.withRecursive),
|
|
|
|
|
aliases.WithResourcePathOverride(fmt.Sprintf("users/%s:list-resolvable-aliases", url.PathEscape(userId))),
|
|
|
|
|
)
|
|
|
|
|
}
|
2024-04-17 11:13:08 -07:00
|
|
|
|
2024-09-13 15:59:49 -04:00
|
|
|
func (c *Client) ListResolvableAliasesNextPage(ctx context.Context, userId string, currentPage *aliases.AliasListResult, opt ...Option) (*aliases.AliasListResult, error) {
|
|
|
|
|
if currentPage == nil {
|
|
|
|
|
return nil, fmt.Errorf("empty currentPage value passed into ListResolvableAliasesNextPage request")
|
2024-04-17 11:13:08 -07:00
|
|
|
}
|
2024-09-13 15:59:49 -04:00
|
|
|
if userId == "" {
|
|
|
|
|
return nil, fmt.Errorf("empty userId value passed into ListResolvableAliasesNextPage request")
|
2024-04-17 11:13:08 -07:00
|
|
|
}
|
2024-09-13 15:59:49 -04:00
|
|
|
if c.client == nil {
|
|
|
|
|
return nil, fmt.Errorf("nil client")
|
2024-04-17 11:13:08 -07:00
|
|
|
}
|
2024-09-13 15:59:49 -04:00
|
|
|
if currentPage.ResponseType == "complete" || currentPage.ResponseType == "" {
|
|
|
|
|
return nil, fmt.Errorf("no more pages available in ListResolvableAliasesNextPage request")
|
2024-04-17 11:13:08 -07:00
|
|
|
}
|
|
|
|
|
|
2024-09-13 15:59:49 -04:00
|
|
|
opts, _ := getOpts(opt...)
|
|
|
|
|
apiClient := aliases.NewClient(c.client)
|
|
|
|
|
return apiClient.ListNextPage(ctx, currentPage,
|
|
|
|
|
aliases.WithAutomaticVersioning(opts.withAutomaticVersioning),
|
|
|
|
|
aliases.WithSkipCurlOutput(opts.withSkipCurlOutput),
|
|
|
|
|
aliases.WithFilter(opts.withFilter),
|
|
|
|
|
aliases.WithListToken(opts.withListToken),
|
|
|
|
|
aliases.WithClientDirectedPagination(opts.withClientDirectedPagination),
|
|
|
|
|
aliases.WithPageSize(opts.withPageSize),
|
|
|
|
|
aliases.WithRecursive(opts.withRecursive),
|
|
|
|
|
aliases.WithResourcePathOverride(fmt.Sprintf("users/%s:list-resolvable-aliases", url.PathEscape(userId))),
|
|
|
|
|
)
|
2024-04-17 11:13:08 -07:00
|
|
|
}
|