From cbf1dc7f7c27b69604245fd085fd3bbaaafb9b4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Podeszwa?= Date: Fri, 18 Nov 2016 19:44:41 +0100 Subject: [PATCH] Add updating user methods to Auth0 --- auth0/auth0-tests.ts | 27 +++++++++++++++++++++++++++ auth0/index.d.ts | 25 ++++++++++++++++++++----- 2 files changed, 47 insertions(+), 5 deletions(-) diff --git a/auth0/auth0-tests.ts b/auth0/auth0-tests.ts index 391dee655a..502a72eec1 100644 --- a/auth0/auth0-tests.ts +++ b/auth0/auth0-tests.ts @@ -49,3 +49,30 @@ auth }).catch((err) => { // Handle the error. }); + + +// Update a user +management + .updateUser({id: "user_id"}, {"email": "hi@me.co"}); + +// Update a user using callback +management + .updateUser({id: "user_id"}, {"email": "hi@me.co"}, (err: Error, users: auth0.User) => {}); + + +// Update user metadata +management + .updateUserMetadata({id: "user_id"}, {"key": "value"}); + +// Update user metadata using callback +management + .updateUserMetadata({id: "user_id"}, {"key": "value"}, (err: Error, users: auth0.User) => {}); + + +// Update app metadata +management + .updateAppMetadata({id: "user_id"}, {"key": "value"}); + +// Update app metadata using callback +management + .updateAppMetadata({id: "user_id"}, {"key": "value"}, (err: Error, users: auth0.User) => {}); diff --git a/auth0/index.d.ts b/auth0/index.d.ts index 019d9edc38..dad988a614 100644 --- a/auth0/index.d.ts +++ b/auth0/index.d.ts @@ -10,15 +10,18 @@ export interface ManagementClientOptions { domain?: string; } +export type UserMetadata = {}; +export type AppMetadata = {}; + export interface UserData { connection: string; email?: string; username?: string; password?: string; phone_number?: string; - user_metadata?: {}; + user_metadata?: UserMetadata; email_verified?: boolean; - app_metadata?: {}; + app_metadata?: AppMetadata; } export interface GetUsersData { @@ -43,8 +46,8 @@ export interface User { created_at?: string; updated_at?: string; identities?: Identity[]; - app_metadata?: {}; - user_metadata?: {}; + app_metadata?: AppMetadata; + user_metadata?: UserMetadata; picture?: string; name?: string; nickname?: string; @@ -53,6 +56,8 @@ export interface User { last_login?: string; logins_count?: number; blocked?: boolean; + given_name?: string; + family_name?: string; } export interface Identity { @@ -62,6 +67,10 @@ export interface Identity { isSocial: boolean; } +export interface UpdateUserParameters { + id: string; +} + export class ManagementClient { constructor(options: ManagementClientOptions); @@ -69,6 +78,12 @@ export class ManagementClient { getUsers(params?: GetUsersData, cb?: (err: Error, users: User[]) => void): void; createUser(data: UserData): Promise; createUser(data: UserData, cb: (err: Error, data: User) => void): void; + updateUser(params: UpdateUserParameters, data: User): Promise; + updateUser(params: UpdateUserParameters, data: User, cb: (err: Error, data: User) => void): void; + updateUserMetadata(params: UpdateUserParameters, data: UserMetadata): Promise; + updateUserMetadata(params: UpdateUserParameters, data: UserMetadata, cb: (err: Error, data: User) => void): void + updateAppMetadata(params: UpdateUserParameters, data: AppMetadata): Promise; + updateAppMetadata(params: UpdateUserParameters, data: AppMetadata, cb: (err: Error, data: User) => void): void } export interface AuthenticationClientOptions { @@ -86,4 +101,4 @@ export class AuthenticationClient { requestChangePasswordEmail(data: RequestChangePasswordEmailData): Promise; requestChangePasswordEmail(data: RequestChangePasswordEmailData, cb: (err: Error, message: string) => void): void; -} \ No newline at end of file +}