UNPKG

@knora/api

Version:

JavaScript library that handles API requests to Knora

146 lines (145 loc) 5.86 kB
import { Observable } from "rxjs"; import { ApiResponseData } from "../../../models/api-response-data"; import { ApiResponseError } from "../../../models/api-response-error"; import { Endpoint } from "../../endpoint"; import { GroupsResponse } from "../../../models/admin/groups-response"; import { ProjectsResponse } from "../../../models/admin/projects-response"; import { StoredUser } from "../../../models/admin/stored-user"; import { UpdateUserRequest } from "../../../models/admin/update-user-request"; import { User } from "../../../models/admin/user"; import { UserResponse } from "../../../models/admin/user-response"; import { UsersResponse } from "../../../models/admin/users-response"; /** * An endpoint for working with Knora users. */ export declare class UsersEndpoint extends Endpoint { /** * Returns a list of all users. */ getUsers(): Observable<ApiResponseData<UsersResponse> | ApiResponseError>; /** * Gets a user by a property. * * @param property The name of the property by which the user is identified. * @param value The value of the property by which the user is identified. */ getUser(property: "iri" | "email" | "username", value: string): Observable<ApiResponseData<UserResponse> | ApiResponseError>; /** * Gets a user by IRI. * * @param iri The IRI of the user. */ getUserByIri(iri: string): Observable<ApiResponseData<UserResponse> | ApiResponseError>; /** * Gets a user by email address. * * @param email The email address of the user. */ getUserByEmail(email: string): Observable<ApiResponseData<UserResponse> | ApiResponseError>; /** * Gets a user by username. * * @param username The username of the user. */ getUserByUsername(username: string): Observable<ApiResponseData<UserResponse> | ApiResponseError>; /** * Gets a user's group memberships. * * @param iri The user's IRI. */ getUserGroupMemberships(iri: string): Observable<ApiResponseData<GroupsResponse> | ApiResponseError>; /** * Gets a user's project memberships. * * @param iri The IRI of the user. */ getUserProjectMemberships(iri: string): Observable<ApiResponseData<ProjectsResponse> | ApiResponseError>; /** * Gets a user's project admin memberships. * * @param iri The user's IRI. */ getUserProjectAdminMemberships(iri: string): Observable<ApiResponseData<ProjectsResponse> | ApiResponseError>; /** * Creates a user. * * @param user The user to be created. */ createUser(user: User): Observable<ApiResponseData<UserResponse> | ApiResponseError>; /** * Updates an existing user's basic information. * * @param iri The IRI of the user to be updated. * @param userInfo The user information to be updated. */ updateUserBasicInformation(iri: string, userInfo: UpdateUserRequest): Observable<ApiResponseData<UserResponse> | ApiResponseError>; /** * Updates a user's status. * * @param iri The user's IRI. * @param status The user's new status. */ updateUserStatus(iri: string, status: boolean): Observable<ApiResponseData<UserResponse> | ApiResponseError>; /** * Updates a user's password. * * @param iri The IRI of the user to be updated. * @param requesterPassword The requesting user's current password. * @param newPassword The specified user's new password. */ updateUserPassword(iri: string, requesterPassword: string, newPassword: string): Observable<ApiResponseData<UserResponse> | ApiResponseError>; /** * Adds a user to a group. * * @param userIri The IRI of the user. * @param groupIri The IRI of the group. */ addUserToGroupMembership(userIri: string, groupIri: string): Observable<ApiResponseData<UserResponse> | ApiResponseError>; /** * Removes a user from a project. * * @param userIri The IRI of the user. * @param groupIri The IRI of the group. */ removeUserFromGroupMembership(userIri: string, groupIri: string): Observable<ApiResponseData<UserResponse> | ApiResponseError>; /** * Adds a user to a project. * * @param userIri The user's IRI. * @param projectIri The project's IRI. */ addUserToProjectMembership(userIri: string, projectIri: string): Observable<ApiResponseData<UserResponse> | ApiResponseError>; /** * Removes a user from a project. * * @param userIri The user's IRI. * @param projectIri The project's IRI. */ removeUserFromProjectMembership(userIri: string, projectIri: string): Observable<ApiResponseData<UserResponse> | ApiResponseError>; /** * Makes a user a project administrator. * * @param userIri The IRI of the user. * @param projectIri The IRI of the project. */ addUserToProjectAdminMembership(userIri: string, projectIri: string): Observable<ApiResponseData<UserResponse> | ApiResponseError>; /** * Removes a user's project administrator status. * * @param userIri The IRI of the user. * @param projectIri The IRI of the project. */ removeUserFromProjectAdminMembership(userIri: string, projectIri: string): Observable<ApiResponseData<UserResponse> | ApiResponseError>; /** * Updates a user's SystemAdmin membership. * * @param user The user to be updated. */ updateUserSystemAdminMembership(user: StoredUser): Observable<ApiResponseData<UserResponse> | ApiResponseError>; /** * Deletes a user. This method does not actually delete a user, but sets the status to false. * * @param iri The IRI of the user to be deleted. */ deleteUser(iri: string): Observable<ApiResponseData<UserResponse> | ApiResponseError>; }