@knora/api
Version:
JavaScript library that handles API requests to Knora
146 lines (145 loc) • 5.86 kB
TypeScript
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>;
}