Skip to content
This repository has been archived by the owner on Jan 21, 2024. It is now read-only.

feat: user management supports conditional filtering and sorting #862

Merged
merged 2 commits into from
Feb 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion packages/api-client/src/.openapi-generator/FILES
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
.gitignore
.npmignore
.openapi-generator-ignore
api.ts
api/api-console-halo-run-v1alpha1-attachment-api.ts
api/api-console-halo-run-v1alpha1-comment-api.ts
Expand Down
219 changes: 219 additions & 0 deletions packages/api-client/src/api/api-console-halo-run-v1alpha1-user-api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ import { GrantRequest } from '../models'
// @ts-ignore
import { User } from '../models'
// @ts-ignore
import { UserList } from '../models'
// @ts-ignore
import { UserPermission } from '../models'
/**
* ApiConsoleHaloRunV1alpha1UserApi - axios parameter creator
Expand Down Expand Up @@ -223,6 +225,85 @@ export const ApiConsoleHaloRunV1alpha1UserApiAxiosParamCreator = function (confi
options: localVarRequestOptions,
}
},
/**
* List users
* @param {Array<string>} [sort] Sort property and direction of the list result. Supported fields: creationTimestamp
* @param {string} [keyword]
* @param {string} [role]
* @param {number} [size] Size of one page. Zero indicates no limit.
* @param {number} [page] The page number. Zero indicates no page.
* @param {Array<string>} [labelSelector] Label selector for filtering.
* @param {Array<string>} [fieldSelector] Field selector for filtering.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
listUsers: async (
sort?: Array<string>,
keyword?: string,
role?: string,
size?: number,
page?: number,
labelSelector?: Array<string>,
fieldSelector?: Array<string>,
options: AxiosRequestConfig = {},
): Promise<RequestArgs> => {
const localVarPath = `/apis/api.console.halo.run/v1alpha1/users`
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL)
let baseOptions
if (configuration) {
baseOptions = configuration.baseOptions
}

const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options }
const localVarHeaderParameter = {} as any
const localVarQueryParameter = {} as any

// authentication BasicAuth required
// http basic authentication required
setBasicAuthToObject(localVarRequestOptions, configuration)

// authentication BearerAuth required
// http bearer authentication required
await setBearerAuthToObject(localVarHeaderParameter, configuration)

if (sort) {
localVarQueryParameter['sort'] = Array.from(sort)
}

if (keyword !== undefined) {
localVarQueryParameter['keyword'] = keyword
}

if (role !== undefined) {
localVarQueryParameter['role'] = role
}

if (size !== undefined) {
localVarQueryParameter['size'] = size
}

if (page !== undefined) {
localVarQueryParameter['page'] = page
}

if (labelSelector) {
localVarQueryParameter['labelSelector'] = labelSelector
}

if (fieldSelector) {
localVarQueryParameter['fieldSelector'] = fieldSelector
}

setSearchParams(localVarUrlObj, localVarQueryParameter)
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}
localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers }

return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
}
},
/**
* Update current user profile, but password.
* @param {User} user
Expand Down Expand Up @@ -328,6 +409,40 @@ export const ApiConsoleHaloRunV1alpha1UserApiFp = function (configuration?: Conf
const localVarAxiosArgs = await localVarAxiosParamCreator.grantPermission(name, grantRequest, options)
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)
},
/**
* List users
* @param {Array<string>} [sort] Sort property and direction of the list result. Supported fields: creationTimestamp
* @param {string} [keyword]
* @param {string} [role]
* @param {number} [size] Size of one page. Zero indicates no limit.
* @param {number} [page] The page number. Zero indicates no page.
* @param {Array<string>} [labelSelector] Label selector for filtering.
* @param {Array<string>} [fieldSelector] Field selector for filtering.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async listUsers(
sort?: Array<string>,
keyword?: string,
role?: string,
size?: number,
page?: number,
labelSelector?: Array<string>,
fieldSelector?: Array<string>,
options?: AxiosRequestConfig,
): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserList>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.listUsers(
sort,
keyword,
role,
size,
page,
labelSelector,
fieldSelector,
options,
)
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)
},
/**
* Update current user profile, but password.
* @param {User} user
Expand Down Expand Up @@ -403,6 +518,29 @@ export const ApiConsoleHaloRunV1alpha1UserApiFactory = function (
.grantPermission(requestParameters.name, requestParameters.grantRequest, options)
.then((request) => request(axios, basePath))
},
/**
* List users
* @param {ApiConsoleHaloRunV1alpha1UserApiListUsersRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
listUsers(
requestParameters: ApiConsoleHaloRunV1alpha1UserApiListUsersRequest = {},
options?: AxiosRequestConfig,
): AxiosPromise<UserList> {
return localVarFp
.listUsers(
requestParameters.sort,
requestParameters.keyword,
requestParameters.role,
requestParameters.size,
requestParameters.page,
requestParameters.labelSelector,
requestParameters.fieldSelector,
options,
)
.then((request) => request(axios, basePath))
},
/**
* Update current user profile, but password.
* @param {ApiConsoleHaloRunV1alpha1UserApiUpdateCurrentUserRequest} requestParameters Request parameters.
Expand Down Expand Up @@ -474,6 +612,62 @@ export interface ApiConsoleHaloRunV1alpha1UserApiGrantPermissionRequest {
readonly grantRequest: GrantRequest
}

/**
* Request parameters for listUsers operation in ApiConsoleHaloRunV1alpha1UserApi.
* @export
* @interface ApiConsoleHaloRunV1alpha1UserApiListUsersRequest
*/
export interface ApiConsoleHaloRunV1alpha1UserApiListUsersRequest {
/**
* Sort property and direction of the list result. Supported fields: creationTimestamp
* @type {Array<string>}
* @memberof ApiConsoleHaloRunV1alpha1UserApiListUsers
*/
readonly sort?: Array<string>

/**
*
* @type {string}
* @memberof ApiConsoleHaloRunV1alpha1UserApiListUsers
*/
readonly keyword?: string

/**
*
* @type {string}
* @memberof ApiConsoleHaloRunV1alpha1UserApiListUsers
*/
readonly role?: string

/**
* Size of one page. Zero indicates no limit.
* @type {number}
* @memberof ApiConsoleHaloRunV1alpha1UserApiListUsers
*/
readonly size?: number

/**
* The page number. Zero indicates no page.
* @type {number}
* @memberof ApiConsoleHaloRunV1alpha1UserApiListUsers
*/
readonly page?: number

/**
* Label selector for filtering.
* @type {Array<string>}
* @memberof ApiConsoleHaloRunV1alpha1UserApiListUsers
*/
readonly labelSelector?: Array<string>

/**
* Field selector for filtering.
* @type {Array<string>}
* @memberof ApiConsoleHaloRunV1alpha1UserApiListUsers
*/
readonly fieldSelector?: Array<string>
}

/**
* Request parameters for updateCurrentUser operation in ApiConsoleHaloRunV1alpha1UserApi.
* @export
Expand Down Expand Up @@ -555,6 +749,31 @@ export class ApiConsoleHaloRunV1alpha1UserApi extends BaseAPI {
.then((request) => request(this.axios, this.basePath))
}

/**
* List users
* @param {ApiConsoleHaloRunV1alpha1UserApiListUsersRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof ApiConsoleHaloRunV1alpha1UserApi
*/
public listUsers(
requestParameters: ApiConsoleHaloRunV1alpha1UserApiListUsersRequest = {},
options?: AxiosRequestConfig,
) {
return ApiConsoleHaloRunV1alpha1UserApiFp(this.configuration)
.listUsers(
requestParameters.sort,
requestParameters.keyword,
requestParameters.role,
requestParameters.size,
requestParameters.page,
requestParameters.labelSelector,
requestParameters.fieldSelector,
options,
)
.then((request) => request(this.axios, this.basePath))
}

/**
* Update current user profile, but password.
* @param {ApiConsoleHaloRunV1alpha1UserApiUpdateCurrentUserRequest} requestParameters Request parameters.
Expand Down
Loading