From 2a89db7444bf6dec260d4f3952bbbc1670678539 Mon Sep 17 00:00:00 2001 From: jbreckmckye Date: Wed, 20 Jun 2018 10:47:09 +0100 Subject: [PATCH 1/4] Add paged user search interface to Node-Auth0 --- types/auth0/index.d.ts | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/types/auth0/index.d.ts b/types/auth0/index.d.ts index be87ceed2c..d39fc6e49b 100644 --- a/types/auth0/index.d.ts +++ b/types/auth0/index.d.ts @@ -68,7 +68,6 @@ export interface UpdateUserData extends UserData { export interface GetUsersData { per_page?: number; page?: number; - include_totals?: boolean; sort?: string; connection?: string; fields?: string; @@ -77,6 +76,10 @@ export interface GetUsersData { search_engine?: string; } +export interface GetUsersDataPaged extends GetUsersData { + include_totals: boolean; +} + export interface Rule { /** * The name of the rule. @@ -345,6 +348,17 @@ export interface User { family_name?: string; } +export interface Page { + start: number; + limit: number; + length: number; + total: number; +} + +export interface UserPage extends Page { + users: User[] +} + export interface Identity { connection: string; user_id: string; @@ -353,7 +367,7 @@ export interface Identity { access_token?: string; profileData?: { email?: string; - email_verified?: boolean; + email_verified?: boolean; name?: string; phone_number?: string; phone_verified?: boolean; @@ -662,7 +676,7 @@ export class ManagementClient { deleteClient(params: ClientParams): Promise; deleteClient(params: ClientParams, cb: (err: Error) => void): void; - + // Client Grants getClientGrants(): Promise; getClientGrants(cb: (err: Error, data: ClientGrant[]) => void): void; @@ -706,6 +720,8 @@ export class ManagementClient { // Users + getUsers(params: GetUsersDataPaged): Promise; + getUsers(params: GetUsersDataPaged, cb: (err: Error, userPage: UserPage) => void): void; getUsers(params?: GetUsersData): Promise; getUsers(cb: (err: Error, users: User[]) => void): void; getUsers(params?: GetUsersData, cb?: (err: Error, users: User[]) => void): void; From 5c745e279b1404073d4b1e92cd104a5f6dcd4de2 Mon Sep 17 00:00:00 2001 From: jbreckmckye Date: Wed, 20 Jun 2018 11:05:06 +0100 Subject: [PATCH 2/4] Test new definitions --- types/auth0/auth0-tests.ts | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/types/auth0/auth0-tests.ts b/types/auth0/auth0-tests.ts index 94e7d63cb3..f4251364d2 100644 --- a/types/auth0/auth0-tests.ts +++ b/types/auth0/auth0-tests.ts @@ -29,6 +29,40 @@ management // Handle the error. }); +// Search users without paging - callback style +management.getUsers({search_engine: 'v3', q: 'name:"jane"', per_page: 25}, (err: Error, users: auth0.User[]) => { + if (err) { + // Handle error + } + console.log(users); +}); + +// Search users without paging - promise style +management.getUsers({search_engine: 'v3', q: 'name:"jane"', per_page: 25}) + .then((users) => { + console.log(users); + }) + .catch((err) => { + // Handle the error + }); + +// Search users with paging - callback style +management.getUsers({search_engine: 'v3', q: 'name:"jane"', per_page: 25, include_totals: true}, (err: Error, userPage: auth0.UserPage) => { + if (err) { + // Handle error + } + console.log(userPage.total); +}); + +// Search users with paging - promise style +management.getUsers({search_engine: 'v3', q: 'name:"jane"', per_page: 25, include_totals: true}) + .then((users: auth0.UserPage) => { + console.log(users.total); + }) + .catch((err) => { + // Handle the error + }); + // Using a callback. management.getUser({id: 'user_id'},(err: Error, user: auth0.User) => { if (err) { From 053ed519cc8b75b173e69c176c87b8154599a4ec Mon Sep 17 00:00:00 2001 From: jbreckmckye Date: Wed, 20 Jun 2018 11:19:02 +0100 Subject: [PATCH 3/4] Increment version number of Node-Auth0 --- types/auth0/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/auth0/index.d.ts b/types/auth0/index.d.ts index d39fc6e49b..c449ee8580 100644 --- a/types/auth0/index.d.ts +++ b/types/auth0/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for auth0 2.9.1 +// Type definitions for auth0 2.9.2 // Project: https://github.com/auth0/node-auth0 // Definitions by: Wilson Hobbs , Seth Westphal , Amiram Korach // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped From 611e99751d983b4baa97c211c880815f67c51af8 Mon Sep 17 00:00:00 2001 From: jbreckmckye Date: Thu, 21 Jun 2018 10:31:00 +0100 Subject: [PATCH 4/4] Add semicolon --- types/auth0/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/auth0/index.d.ts b/types/auth0/index.d.ts index c449ee8580..18cc086ed8 100644 --- a/types/auth0/index.d.ts +++ b/types/auth0/index.d.ts @@ -356,7 +356,7 @@ export interface Page { } export interface UserPage extends Page { - users: User[] + users: User[]; } export interface Identity {