diff --git a/types/auth0/auth0-tests.ts b/types/auth0/auth0-tests.ts index 1c91032726..0f3957b557 100644 --- a/types/auth0/auth0-tests.ts +++ b/types/auth0/auth0-tests.ts @@ -5,6 +5,11 @@ const management = new auth0.ManagementClient({ domain: '{YOUR_ACCOUNT}.auth0.com' }); +const uManagement = new auth0.ManagementClient<{aTest: string},{uTest: string}>({ + token: '{YOUR_API_V2_TOKEN}', + domain: '{YOUR_ACCOUNT}.auth0.com' +}); + const auth = new auth0.AuthenticationClient({ domain: '{YOUR_ACCOUNT}.auth0.com', clientId: '{OPTIONAL_CLIENT_ID}', @@ -151,6 +156,8 @@ management management .updateUserMetadata({id: "user_id"}, {"key": "value"}); +uManagement.updateAppMetadata({id: "user_id"},{aTest: 'test'}); + // Update user metadata with JSON object management .updateUserMetadata({id: "user_id"}, { @@ -161,6 +168,7 @@ management another: "value" } }); +uManagement.updateUserMetadata({id: "user_id"}, { uTest: "value"}); // Update user metadata using callback management diff --git a/types/auth0/index.d.ts b/types/auth0/index.d.ts index d9466c1bff..3e74decdf1 100644 --- a/types/auth0/index.d.ts +++ b/types/auth0/index.d.ts @@ -3,6 +3,7 @@ // Definitions by: Seth Westphal // Ian Howe // Alex Bjørlig +// Dan Rumney // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 @@ -41,7 +42,7 @@ export interface AppMetadata { [propName: string]: any } -export interface UserData { +export interface UserData { email?: string; username?: string; email_verified?: boolean; @@ -52,8 +53,8 @@ export interface UserData { given_name?: string; family_name?: string; name?: string; - user_metadata?: UserMetadata; - app_metadata?: AppMetadata; + user_metadata?: U; + app_metadata?: A; } export interface CreateUserData extends UserData { @@ -390,7 +391,7 @@ export interface CreateConnection extends UpdateConnection { strategy: Strategy; } -export interface User { +export interface User { email?: string; email_verified?: boolean; username?: string; @@ -400,8 +401,8 @@ export interface User { created_at?: string; updated_at?: string; identities?: Identity[]; - app_metadata?: AppMetadata; - user_metadata?: UserMetadata; + app_metadata: A; + user_metadata: U; picture?: string; name?: string; nickname?: string; @@ -421,8 +422,8 @@ export interface Page { total: number; } -export interface UserPage extends Page { - users: User[]; +export interface UserPage extends Page { + users: User[]; } export interface GetUserRolesData extends ObjectWithId { @@ -785,7 +786,7 @@ export class AuthenticationClient { } -export class ManagementClient { +export class ManagementClient { constructor(options: ManagementClientOptions); getClientInfo(): ClientInfo; @@ -840,13 +841,13 @@ export class ManagementClient { // Device Keys - getDeviceCredentials(): Promise; + getDeviceCredentials(): Promise>; getDeviceCredentials(cb: (err: Error, data: any) => void): void; - createDevicePublicKey(data: Data): Promise; + createDevicePublicKey(data: Data): Promise>; createDevicePublicKey(data: Data, cb: (err: Error, data: any) => void): void; - deleteDeviceCredential(params: ClientParams): Promise; + deleteDeviceCredential(params: ClientParams): Promise>; deleteDeviceCredential(params: ClientParams, cb: (err: Error, data: any) => void): void; // Roles @@ -878,12 +879,12 @@ export class ManagementClient { addPermissionsInRole(params: ObjectWithId, data: PermissionsData): Promise; addPermissionsInRole(params: ObjectWithId, data: PermissionsData, cb: (err: Error) => void): void; - getUsersInRole(params: ObjectWithId): Promise; - getUsersInRole(params: ObjectWithId, cb: (err: Error, users: User[]) => void): void; - getUsersInRole(params: GetRoleUsersData): Promise; - getUsersInRole(params: GetRoleUsersData, cb: (err: Error, users: User[]) => void): void; - getUsersInRole(params: GetRoleUsersDataPaged): Promise; - getUsersInRole(params: GetRoleUsersDataPaged, cb: (err: Error, userPage: UserPage) => void): void; + getUsersInRole(params: ObjectWithId): Promise[]>; + getUsersInRole(params: ObjectWithId, cb: (err: Error, users: User[]) => void): void; + getUsersInRole(params: GetRoleUsersData): Promise[]>; + getUsersInRole(params: GetRoleUsersData, cb: (err: Error, users: User[]) => void): void; + getUsersInRole(params: GetRoleUsersDataPaged): Promise>; + getUsersInRole(params: GetRoleUsersDataPaged, cb: (err: Error, userPage: UserPage) => void): void; // Rules getRules(): Promise; @@ -903,36 +904,36 @@ 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; + 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; - getUser(params: ObjectWithId): Promise; - getUser(params: ObjectWithId, cb?: (err: Error, user: User) => void): void; + getUser(params: ObjectWithId): Promise>; + getUser(params: ObjectWithId, cb?: (err: Error, user: User) => void): void; - getUsersByEmail(email: string): Promise; - getUsersByEmail(email: string, cb?: (err: Error, users: User[]) => void): void; + getUsersByEmail(email: string): Promise[]>; + getUsersByEmail(email: string, cb?: (err: Error, users: User[]) => void): void; - createUser(data: CreateUserData): Promise; - createUser(data: CreateUserData, cb: (err: Error, user: User) => void): void; + createUser(data: CreateUserData): Promise>; + createUser(data: CreateUserData, cb: (err: Error, user: User) => void): void; - updateUser(params: ObjectWithId, data: UpdateUserData): Promise; - updateUser(params: ObjectWithId, data: UpdateUserData, cb: (err: Error, data: User) => void): void; + updateUser(params: ObjectWithId, data: UpdateUserData): Promise>; + updateUser(params: ObjectWithId, data: UpdateUserData, cb: (err: Error, data: User) => void): void; - updateUserMetadata(params: ObjectWithId, data: UserMetadata): Promise; - updateUserMetadata(params: ObjectWithId, data: UserMetadata, cb: (err: Error, data: User) => void): void; + updateUserMetadata(params: ObjectWithId, data: U): Promise>; + updateUserMetadata(params: ObjectWithId, data: U, cb: (err: Error, data: User) => void): void; // Should be removed from auth0 also. Doesn't exist in api. - deleteAllUsers(): Promise; + deleteAllUsers(): Promise>; deleteAllUsers(cb: (err: Error, data: any) => void): void; deleteUser(params: ObjectWithId): Promise; deleteUser(params: ObjectWithId, cb?: (err: Error) => void): void; - updateAppMetadata(params: ObjectWithId, data: AppMetadata): Promise; - updateAppMetadata(params: ObjectWithId, data: AppMetadata, cb: (err: Error, data: User) => void): void; + updateAppMetadata(params: ObjectWithId, data: A): Promise>; + updateAppMetadata(params: ObjectWithId, data: A, cb: (err: Error, data: User) => void): void; deleteUserMultifactor(params: DeleteMultifactorParams): Promise; deleteUserMultifactor(params: DeleteMultifactorParams, cb: (err: Error) => void): void; @@ -1056,7 +1057,7 @@ export class ManagementClient { } -export class DatabaseAuthenticator { +export class DatabaseAuthenticator { constructor(options: DatabaseClientOptions, oauth: OAuthAuthenticator); changePassword(data: ResetPasswordOptions): Promise; @@ -1068,7 +1069,7 @@ export class DatabaseAuthenticator { signIn(data: SignInOptions): Promise; signIn(data: SignInOptions, cb: (err: Error, data: SignInToken) => void): void; - signUp(data: CreateUserData): Promise; + signUp(data: CreateUserData): Promise>; signIn(data: CreateUserData, cb: (err: Error, data: User) => void): void; } @@ -1105,11 +1106,11 @@ export class TokenManager { } -export class UsersManager { +export class UsersManager { constructor(options: UsersOptions); - getInfo(accessToken: string): Promise; - getInfo(accessToken: string, cb: (err: Error, user: User) => void): void; + getInfo(accessToken: string): Promise>; + getInfo(accessToken: string, cb: (err: Error, user: User) => void): void; impersonate(userId: string, settings: ImpersonateSettingOptions): Promise; impersonate(userId: string, settings: ImpersonateSettingOptions, cb: (err: Error, data: any) => void): void;