Skip to main content

PermissionClient

Implements

Index

Constructors

constructor

  • new PermissionClient(baseUrl: string | URL, _httpClient: TwinfinityHttpClient): PermissionClient
  • Parameters

    • baseUrl: string | URL
    • _httpClient: TwinfinityHttpClient

    Returns PermissionClient

Methods

addGroupMember

  • addGroupMember(groupId: string, userId: string, signal?: AbortSignal): Promise<GroupMember>
  • Parameters

    • groupId: string
    • userId: string
    • optionalsignal: AbortSignal

    Returns Promise<GroupMember>

deleteGroup

  • Parameters

    Returns Promise<Group>

getUser

  • Gets a single user by their unique ID. Soft-deleted users are reported as not found unless includeDeleted is set.

    @throws

    When no such user exists, or the user is soft-deleted and includeDeleted is false (404).

    @throws

    On insufficient permissions, including includeDeleted without global Edit (403).


    Parameters

    • userId: string
    • optionaloptions: GetUserOptions
    • optionalsignal: AbortSignal

    Returns Promise<User>

listGroupMembers

  • listGroupMembers(groupId: string, page?: undefined | string, limit?: number, signal?: AbortSignal): Promise<PaginatedResponse<User>>
  • Parameters

    • groupId: string
    • page: undefined | string = undefined
    • limit: number = 500
    • optionalsignal: AbortSignal

    Returns Promise<PaginatedResponse<User>>

listGroups

  • listGroups(page?: undefined | string, limit?: number, q?: string, signal?: AbortSignal): Promise<PaginatedResponse<Group>>
  • Parameters

    • page: undefined | string = undefined
    • limit: number = 500
    • optionalq: string
    • optionalsignal: AbortSignal

    Returns Promise<PaginatedResponse<Group>>

listUserGroups

  • listUserGroups(userId: string, page?: undefined | string, limit?: number, signal?: AbortSignal): Promise<PaginatedResponse<Group>>
  • Parameters

    • userId: string
    • page: undefined | string = undefined
    • limit: number = 500
    • optionalsignal: AbortSignal

    Returns Promise<PaginatedResponse<Group>>

listUsers

  • Lists users with keyset pagination and optional filters. q is a case-insensitive fuzzy search across external username, email, first and last name; externalUsername and email are case-insensitive exact matches. All filters are AND-combined.

    @throws

    On invalid pagination token, out-of-range limit, or too-long filter (400).

    @throws

    On insufficient permissions, including includeDeleted without global Edit (403).


    Parameters

    Returns Promise<PaginatedResponse<User>>

putGroup

  • Parameters

    Returns Promise<Group>

removeGroupMember

  • removeGroupMember(groupId: string, userId: string, signal?: AbortSignal): Promise<GroupMember>
  • Parameters

    • groupId: string
    • userId: string
    • optionalsignal: AbortSignal

    Returns Promise<GroupMember>