@kaaiot/services
Version:
Type definitions for KaaIoT platform REST API service communication
68 lines (67 loc) • 6.29 kB
TypeScript
import { EmailTemplatePayload, EmailTemplatesTypes } from "../../containers/pages/Settings/EmailTemplates/types";
import { FetchResponse, ServiceRequester } from "../service-requester";
import { ApiKeyState, ApiKeysResponse, ChangePasswordPayload, DefaultEntityParams, EmailTemplateResponse, EvaluateActionsRequestPayload, EvaluateIrnsActionsResponse, GetApiKeysParams, GroupCreatePayload, GroupMembersPayload, GroupMembersResponse, GroupResponse, GroupsResponse, PoliciesResponse, PolicyCreatePayload, PolicyUpdatePayload, Pool, PoolCreatePayload, PoolUpdatePayload, PoolsParams, PoolsResponse, ResetPasswordPayload, ResourceCreatePayload, ResourceCreateResponse, ResourcePolicyResponse, ResourcePolicyUpdatePayload, ResourcesParams, ResourcesResponse, UpdateGroupPayload, UserCreatePayload, UserGroupsResponse, UserPoliciesQueryParams, UserResponse, UserUpdatePayload, UsersQueryParams, UsersResponse } from "./types";
export declare class IamcoreClient {
private http;
constructor(urlPrefix: string, serviceRequester?: ServiceRequester);
evaluateActions(payload: EvaluateActionsRequestPayload): Promise<FetchResponse<Record<string, string[]>>>;
evaluateIrnsActions(payload: EvaluateActionsRequestPayload): Promise<FetchResponse<Record<string, EvaluateIrnsActionsResponse>>>;
getResourcePolicy(resourceId: string): Promise<FetchResponse<ResourcePolicyResponse>>;
createResource(data: ResourceCreatePayload): Promise<FetchResponse<ResourceCreateResponse>>;
updateResourcePolicy(resourceId: string, data: ResourcePolicyUpdatePayload): Promise<FetchResponse<void>>;
getTemplate(tenantID: string, type: EmailTemplatesTypes): Promise<FetchResponse<EmailTemplateResponse>>;
updateTemplate(tenantID: string, type: EmailTemplatesTypes, data: EmailTemplatePayload): Promise<FetchResponse<void>>;
deleteResource(resourceId: string): Promise<FetchResponse<void>>;
getUsers(params?: UsersQueryParams): Promise<FetchResponse<UsersResponse>>;
getUser(id: string): Promise<FetchResponse<UserResponse>>;
getCurrentUser(): Promise<FetchResponse<UserResponse>>;
getCurrentUserIrn(): Promise<FetchResponse<{
data: string;
}>>;
getCurrentUserGroups(): Promise<FetchResponse<UserGroupsResponse>>;
leaveGroup(groupId: string): Promise<FetchResponse<void>>;
changeUserPassword(userId: string, changePasswordPayload: ChangePasswordPayload): Promise<FetchResponse<void>>;
deleteUser(userId: string): Promise<FetchResponse<void>>;
evaluate(resources: string[], action: string): Promise<FetchResponse<void>>;
attachUserPoliciesBulk(userId: string, policyIDs: string[]): Promise<FetchResponse<void>>;
addUserGroups(groupIds: string[], id: string): Promise<FetchResponse<void>>;
createUser(userData: UserCreatePayload): Promise<FetchResponse<UserResponse>>;
updateUser(userData: UserUpdatePayload, id: string): Promise<FetchResponse<void>>;
resetUserPassword(userId: string, data: ResetPasswordPayload): Promise<FetchResponse<void>>;
attachUserPolicies(userId: string, policyIDs: string[]): Promise<FetchResponse<void>>;
availableUserPolicies(userId: string, query?: DefaultEntityParams): Promise<FetchResponse<PoliciesResponse>>;
getUserPolicies(userId: string, query?: UserPoliciesQueryParams): Promise<FetchResponse<PoliciesResponse>>;
detachUserPoliciesBulk(userId: string, policyIDs: string[]): Promise<FetchResponse<void>>;
updateUserResourcePolicy(userId: string, payload: ResourcePolicyUpdatePayload): Promise<FetchResponse<void>>;
getUserResourcePolicy(userId: string): Promise<FetchResponse<ResourcePolicyResponse>>;
createGroup(data: GroupCreatePayload): Promise<FetchResponse<GroupResponse>>;
joinGroupBulk(groupId: string, data: GroupMembersPayload): Promise<FetchResponse<void>>;
attachGroupPoliciesBulk(groupId: string, policyIDs: string[]): Promise<FetchResponse<void>>;
getGroups(query?: DefaultEntityParams): Promise<FetchResponse<GroupsResponse>>;
deleteGroup(groupId: string): Promise<FetchResponse<void>>;
updateGroup(groupId: string, data: UpdateGroupPayload): Promise<FetchResponse<void>>;
updateGroupResourcePolicy(groupId: string, data: ResourcePolicyUpdatePayload): Promise<FetchResponse<void>>;
getGroupMembers(groupId: string): Promise<FetchResponse<GroupMembersResponse>>;
leaveGroupBulk(groupId: string, payload: GroupMembersPayload): Promise<FetchResponse<void>>;
getAvailableGroupUsers(groupId: string): Promise<FetchResponse<UsersResponse>>;
detachGroupPoliciesBulk(groupId: string, policyIDs: string[]): Promise<FetchResponse<void>>;
getGroupPolicies(groupId: string, query?: DefaultEntityParams): Promise<FetchResponse<PoliciesResponse>>;
availableGroupPolicies(groupId: string, query?: DefaultEntityParams): Promise<FetchResponse<PoliciesResponse>>;
getGroupResourcePolicy(groupId: string): Promise<FetchResponse<ResourcePolicyResponse>>;
getPolicies(query?: DefaultEntityParams): Promise<FetchResponse<PoliciesResponse>>;
deletePolicy(policyId: string): Promise<FetchResponse<void>>;
createPolicy(policy: PolicyCreatePayload): Promise<FetchResponse<void>>;
updatePolicy(policyId: string, policy: PolicyUpdatePayload): Promise<FetchResponse<void>>;
getResources(params: ResourcesParams): Promise<FetchResponse<ResourcesResponse>>;
getPools(params: PoolsParams): Promise<FetchResponse<PoolsResponse>>;
getPool(poolId: string): Promise<FetchResponse<Pool>>;
deletePool(poolId: string): Promise<FetchResponse<void>>;
updatePool(poolId: string, data: PoolUpdatePayload): Promise<FetchResponse<void>>;
createPool(data: PoolCreatePayload): Promise<FetchResponse<Pool>>;
getApiKeys(principalId: string, params?: GetApiKeysParams): Promise<FetchResponse<ApiKeysResponse>>;
createApiKey(principalId: string): Promise<FetchResponse<void>>;
updateApiKeyState(principalId: string, apiKeyId: string, state: ApiKeyState): Promise<FetchResponse<void>>;
updateGroupMetadata(groupId: string, metadata: Record<string, any>): Promise<FetchResponse<void>>;
updateUserMetadata(userId: string, metadata: Record<string, any>): Promise<FetchResponse<void>>;
updateCurrentUserMetadata(metadata: Record<string, any>): Promise<FetchResponse<void>>;
}