Infer additional fields for admin?

Is admin not able to infer types for additional fields like so when the types come from a plugin? I have added the InferTypes on the client plugin.
await admin.createUser({
name,
email,
password,
role: 'admin',
status, // causes type error?
});
await admin.createUser({
name,
email,
password,
role: 'admin',
status, // causes type error?
});
type UserStatusPlugin = typeof userStatusPlugin;

export const userStatusClientPlugin = () => {
return {
id: 'userStatusPlugin',
$InferServerPlugin: {} as ReturnType<UserStatusPlugin>,
} satisfies BetterAuthClientPlugin;
};
type UserStatusPlugin = typeof userStatusPlugin;

export const userStatusClientPlugin = () => {
return {
id: 'userStatusPlugin',
$InferServerPlugin: {} as ReturnType<UserStatusPlugin>,
} satisfies BetterAuthClientPlugin;
};
export const {
signIn,
signUp,
signOut,
useSession,
emailOtp,
admin,
} = createAuthClient({
plugins: [
usernameClient(),
adminClient({
ac,
roles: {
user: userRole,
doctor: doctorRole,
nurse: nurseRole,
admin: adminRole,
},
}),
emailOTPClient(),
userStatusClientPlugin(),
inferAdditionalFields<typeof auth>(),
],
});
export const {
signIn,
signUp,
signOut,
useSession,
emailOtp,
admin,
} = createAuthClient({
plugins: [
usernameClient(),
adminClient({
ac,
roles: {
user: userRole,
doctor: doctorRole,
nurse: nurseRole,
admin: adminRole,
},
}),
emailOTPClient(),
userStatusClientPlugin(),
inferAdditionalFields<typeof auth>(),
],
});
3 Replies
bekacru
bekacru7d ago
yeah the admin plugin has limitation. It doesn't infer additinoal fields. You can pass data for additional fields
Kevintyj
KevintyjOP7d ago
awesome! Thanks for the clarification, did not see any info about it in the docs. I could contribute this additional info to the docs if needed
bekacru
bekacru7d ago
go for it

Did you find this page helpful?