@umbraco/headless-client
Version:
Node.js client library for the Umbraco Headless APIs
103 lines (102 loc) • 4.59 kB
TypeScript
import FormData from 'form-data';
import { Client } from '../../Client';
import { ContentManagementMember, ContentManagementMemberRequest, MemberResetPasswordToken } from '../../Responses';
/**
* MemberManagementClient is used to access the Member part of the Content Management API.
* @public
*
* @example
* The {@link MemberManagementClient} must be accessed through {@link Client}.
*
* ```typescript
* import { Client } from '@umbraco/headless-client'
*
* const client = new Client({
* projectAlias: '<your-project-alias>',
* apiKey: '<your-api-key>',
* language: '<iso-code>',
* })
*
* const memberClient = client.management.member
* ```
*/
export declare class MemberManagementClient {
private readonly client;
/**
* @internal
*/
constructor(client: Client);
private readonly makeRequest;
/**
* Find member by membername.
* @param username - Username for the member querying for.
* @returns a `Promise` that resolves to a {@link ContentManagementMember} if found, otherwise `undefined`.
*/
byUsername<R extends ContentManagementMember>(username: string): Promise<R | undefined>;
/**
* Create a new member.
* @param data - Data for creating a new member.
* @returns a `Promise` that resolves to the newly created {@link ContentManagementMember}.
*/
create<R extends ContentManagementMember>(data: ContentManagementMemberRequest | FormData): Promise<R>;
/**
* Update member by username.
* @param username - Username for the member to be updated.
* @param data - Data for the member to be updated.
* @returns a `Promise` that resolves to a {@link ContentManagementMember} of the updated Member item if found, otherwise `undefined`.
*/
update<R extends ContentManagementMember>(username: string, data: ContentManagementMemberRequest | FormData): Promise<R | undefined>;
/**
* Add member to group.
* @deprecated Use {@link MemberManagementClient.addToGroup | addToGroup()} instead.
* @param username - Username of the member.
* @param group - Name of the group the member should be added to.
*/
addGroup(username: string, group: string): Promise<void>;
/**
* Add member to group.
* @param username - Username of the member.
* @param group - Name of the group the member should be added to.
*/
addToGroup(username: string, groupName: string): Promise<undefined>;
/**
* Remove member from group.
* @deprecated Use {@link MemberManagementClient.removeFromGroup | removeFromGroup()} instead.
* @param username - Username of the member.
* @param group - Name of the group the member should be removed from.
*/
removeGroup(username: string, group: string): Promise<void>;
/**
* Remove member from group.
* @param username - Username of the member.
* @param group - Name of the group the member should be removed from.
*/
removeFromGroup(username: string, groupName: string): Promise<undefined>;
/**
* Delete a member.
* @param username - Username for the member that needs to be deleted.
*/
delete(username: string): Promise<any>;
/**
* Change a members password.
* @param username - Username for the member.
* @param currentPassword - The current password.
* @param newPassword - The new password.
* @returns a `Promise` that resolves to a {@link ContentManagementMember} if found and password is updated, otherwise `undefined`.
*/
changePassword(username: string, currentPassword: string, newPassword: string): Promise<any>;
/**
* Create a reset tokon that can be used to reset the members password.
* @param username - Username for the member.
* @returns a `Promise` that resolves to a {@link MemberResetPasswordToken} if found, otherwise `undefined`.
*/
createResetPasswordToken<R extends MemberResetPasswordToken>(username: string): Promise<R | undefined>;
/**
* Resets the members password using a reset token obtained via. {@link MemberManagementClient.createResetPasswordToken | createResetPasswordToken()}.
* @param username - Username for the member.
* @param token - The password reset token.
* @param newPassword - The new password.
* @returns a `Promise` that resolves to a {@link ContentManagementMember} if found and password is updated, otherwise `undefined`.
*/
resetPassword<R extends ContentManagementMember>(username: string, token: string, newPassword: string): Promise<R | undefined>;
}