mirror of
https://github.com/FlipsideCrypto/DefinitelyTyped.git
synced 2026-02-06 10:56:53 +00:00
[Auth0] Add explicit typing support for User and App Metadata (#35406)
This commit is contained in:
parent
a29501aac1
commit
619310c8f1
@ -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
|
||||
|
||||
83
types/auth0/index.d.ts
vendored
83
types/auth0/index.d.ts
vendored
@ -3,6 +3,7 @@
|
||||
// Definitions by: Seth Westphal <https://github.com/westy92>
|
||||
// Ian Howe <https://github.com/ianhowe76>
|
||||
// Alex Bjørlig <https://github.com/dauledk>
|
||||
// Dan Rumney <https://github.com/dancrumb>
|
||||
// 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<A = AppMetadata, U=UserMetadata> {
|
||||
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<A=AppMetadata, U=UserMetadata> {
|
||||
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<A=AppMetadata, U=UserMetadata> extends Page {
|
||||
users: User<A, U>[];
|
||||
}
|
||||
|
||||
export interface GetUserRolesData extends ObjectWithId {
|
||||
@ -785,7 +786,7 @@ export class AuthenticationClient {
|
||||
}
|
||||
|
||||
|
||||
export class ManagementClient {
|
||||
export class ManagementClient<A=AppMetadata, U=UserMetadata> {
|
||||
constructor(options: ManagementClientOptions);
|
||||
|
||||
getClientInfo(): ClientInfo;
|
||||
@ -840,13 +841,13 @@ export class ManagementClient {
|
||||
|
||||
|
||||
// Device Keys
|
||||
getDeviceCredentials(): Promise<User>;
|
||||
getDeviceCredentials(): Promise<User<A, U>>;
|
||||
getDeviceCredentials(cb: (err: Error, data: any) => void): void;
|
||||
|
||||
createDevicePublicKey(data: Data): Promise<User>;
|
||||
createDevicePublicKey(data: Data): Promise<User<A, U>>;
|
||||
createDevicePublicKey(data: Data, cb: (err: Error, data: any) => void): void;
|
||||
|
||||
deleteDeviceCredential(params: ClientParams): Promise<User>;
|
||||
deleteDeviceCredential(params: ClientParams): Promise<User<A, U>>;
|
||||
deleteDeviceCredential(params: ClientParams, cb: (err: Error, data: any) => void): void;
|
||||
|
||||
// Roles
|
||||
@ -878,12 +879,12 @@ export class ManagementClient {
|
||||
addPermissionsInRole(params: ObjectWithId, data: PermissionsData): Promise<void>;
|
||||
addPermissionsInRole(params: ObjectWithId, data: PermissionsData, cb: (err: Error) => void): void;
|
||||
|
||||
getUsersInRole(params: ObjectWithId): Promise<User[]>;
|
||||
getUsersInRole(params: ObjectWithId, cb: (err: Error, users: User[]) => void): void;
|
||||
getUsersInRole(params: GetRoleUsersData): Promise<User[]>;
|
||||
getUsersInRole(params: GetRoleUsersData, cb: (err: Error, users: User[]) => void): void;
|
||||
getUsersInRole(params: GetRoleUsersDataPaged): Promise<UserPage>;
|
||||
getUsersInRole(params: GetRoleUsersDataPaged, cb: (err: Error, userPage: UserPage) => void): void;
|
||||
getUsersInRole(params: ObjectWithId): Promise<User<A, U>[]>;
|
||||
getUsersInRole(params: ObjectWithId, cb: (err: Error, users: User<A, U>[]) => void): void;
|
||||
getUsersInRole(params: GetRoleUsersData): Promise<User<A, U>[]>;
|
||||
getUsersInRole(params: GetRoleUsersData, cb: (err: Error, users: User<A, U>[]) => void): void;
|
||||
getUsersInRole(params: GetRoleUsersDataPaged): Promise<UserPage<A, U>>;
|
||||
getUsersInRole(params: GetRoleUsersDataPaged, cb: (err: Error, userPage: UserPage<A, U>) => void): void;
|
||||
|
||||
// Rules
|
||||
getRules(): Promise<Rule[]>;
|
||||
@ -903,36 +904,36 @@ export class ManagementClient {
|
||||
|
||||
|
||||
// Users
|
||||
getUsers(params: GetUsersDataPaged): Promise<UserPage>;
|
||||
getUsers(params: GetUsersDataPaged, cb: (err: Error, userPage: UserPage) => void): void;
|
||||
getUsers(params?: GetUsersData): Promise<User[]>;
|
||||
getUsers(cb: (err: Error, users: User[]) => void): void;
|
||||
getUsers(params?: GetUsersData, cb?: (err: Error, users: User[]) => void): void;
|
||||
getUsers(params: GetUsersDataPaged): Promise<UserPage<A, U>>;
|
||||
getUsers(params: GetUsersDataPaged, cb: (err: Error, userPage: UserPage<A, U>) => void): void;
|
||||
getUsers(params?: GetUsersData): Promise<User<A, U>[]>;
|
||||
getUsers(cb: (err: Error, users: User<A, U>[]) => void): void;
|
||||
getUsers(params?: GetUsersData, cb?: (err: Error, users: User<A, U>[]) => void): void;
|
||||
|
||||
getUser(params: ObjectWithId): Promise<User>;
|
||||
getUser(params: ObjectWithId, cb?: (err: Error, user: User) => void): void;
|
||||
getUser(params: ObjectWithId): Promise<User<A, U>>;
|
||||
getUser(params: ObjectWithId, cb?: (err: Error, user: User<A, U>) => void): void;
|
||||
|
||||
getUsersByEmail(email: string): Promise<User[]>;
|
||||
getUsersByEmail(email: string, cb?: (err: Error, users: User[]) => void): void;
|
||||
getUsersByEmail(email: string): Promise<User<A, U>[]>;
|
||||
getUsersByEmail(email: string, cb?: (err: Error, users: User<A, U>[]) => void): void;
|
||||
|
||||
createUser(data: CreateUserData): Promise<User>;
|
||||
createUser(data: CreateUserData, cb: (err: Error, user: User) => void): void;
|
||||
createUser(data: CreateUserData): Promise<User<A, U>>;
|
||||
createUser(data: CreateUserData, cb: (err: Error, user: User<A, U>) => void): void;
|
||||
|
||||
updateUser(params: ObjectWithId, data: UpdateUserData): Promise<User>;
|
||||
updateUser(params: ObjectWithId, data: UpdateUserData, cb: (err: Error, data: User) => void): void;
|
||||
updateUser(params: ObjectWithId, data: UpdateUserData): Promise<User<A, U>>;
|
||||
updateUser(params: ObjectWithId, data: UpdateUserData, cb: (err: Error, data: User<A, U>) => void): void;
|
||||
|
||||
updateUserMetadata(params: ObjectWithId, data: UserMetadata): Promise<User>;
|
||||
updateUserMetadata(params: ObjectWithId, data: UserMetadata, cb: (err: Error, data: User) => void): void;
|
||||
updateUserMetadata(params: ObjectWithId, data: U): Promise<User<A, U>>;
|
||||
updateUserMetadata(params: ObjectWithId, data: U, cb: (err: Error, data: User<A, U>) => void): void;
|
||||
|
||||
// Should be removed from auth0 also. Doesn't exist in api.
|
||||
deleteAllUsers(): Promise<User>;
|
||||
deleteAllUsers(): Promise<User<A, U>>;
|
||||
deleteAllUsers(cb: (err: Error, data: any) => void): void;
|
||||
|
||||
deleteUser(params: ObjectWithId): Promise<void>;
|
||||
deleteUser(params: ObjectWithId, cb?: (err: Error) => void): void;
|
||||
|
||||
updateAppMetadata(params: ObjectWithId, data: AppMetadata): Promise<User>;
|
||||
updateAppMetadata(params: ObjectWithId, data: AppMetadata, cb: (err: Error, data: User) => void): void;
|
||||
updateAppMetadata(params: ObjectWithId, data: A): Promise<User<A, U>>;
|
||||
updateAppMetadata(params: ObjectWithId, data: A, cb: (err: Error, data: User<A, U>) => void): void;
|
||||
|
||||
deleteUserMultifactor(params: DeleteMultifactorParams): Promise<void>;
|
||||
deleteUserMultifactor(params: DeleteMultifactorParams, cb: (err: Error) => void): void;
|
||||
@ -1056,7 +1057,7 @@ export class ManagementClient {
|
||||
}
|
||||
|
||||
|
||||
export class DatabaseAuthenticator {
|
||||
export class DatabaseAuthenticator<A=AppMetadata, U=UserMetadata> {
|
||||
constructor(options: DatabaseClientOptions, oauth: OAuthAuthenticator);
|
||||
|
||||
changePassword(data: ResetPasswordOptions): Promise<any>;
|
||||
@ -1068,7 +1069,7 @@ export class DatabaseAuthenticator {
|
||||
signIn(data: SignInOptions): Promise<SignInToken>;
|
||||
signIn(data: SignInOptions, cb: (err: Error, data: SignInToken) => void): void;
|
||||
|
||||
signUp(data: CreateUserData): Promise<User>;
|
||||
signUp(data: CreateUserData): Promise<User<A, U>>;
|
||||
signIn(data: CreateUserData, cb: (err: Error, data: User) => void): void;
|
||||
|
||||
}
|
||||
@ -1105,11 +1106,11 @@ export class TokenManager {
|
||||
|
||||
}
|
||||
|
||||
export class UsersManager {
|
||||
export class UsersManager<A=AppMetadata, U=UserMetadata> {
|
||||
constructor(options: UsersOptions);
|
||||
|
||||
getInfo(accessToken: string): Promise<User>;
|
||||
getInfo(accessToken: string, cb: (err: Error, user: User) => void): void;
|
||||
getInfo(accessToken: string): Promise<User<A, U>>;
|
||||
getInfo(accessToken: string, cb: (err: Error, user: User<A, U>) => void): void;
|
||||
|
||||
impersonate(userId: string, settings: ImpersonateSettingOptions): Promise<any>;
|
||||
impersonate(userId: string, settings: ImpersonateSettingOptions, cb: (err: Error, data: any) => void): void;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user