fix(ui): disabledLocalStrategy.enableFields missing email/username fields (#11232)
When using `disabledLocalStrategy.enableFields`, it was impossible to create a user from the admin panel because the username or email field was missing.  --------- Co-authored-by: Germán Jabloñski <43938777+GermanJablo@users.noreply.github.com>
This commit is contained in:
@@ -9,7 +9,7 @@ import { devUser } from '../credentials.js'
|
||||
import {
|
||||
apiKeysSlug,
|
||||
namedSaveToJWTValue,
|
||||
partialDisableLocaleStrategiesSlug,
|
||||
partialDisableLocalStrategiesSlug,
|
||||
publicUsersSlug,
|
||||
saveToJWTKey,
|
||||
slug,
|
||||
@@ -185,7 +185,7 @@ export default buildConfigWithDefaults({
|
||||
],
|
||||
},
|
||||
{
|
||||
slug: partialDisableLocaleStrategiesSlug,
|
||||
slug: partialDisableLocalStrategiesSlug,
|
||||
auth: {
|
||||
disableLocalStrategy: {
|
||||
// optionalPassword: true,
|
||||
|
||||
@@ -12,7 +12,7 @@ import { initPayloadInt } from '../helpers/initPayloadInt.js'
|
||||
import {
|
||||
apiKeysSlug,
|
||||
namedSaveToJWTValue,
|
||||
partialDisableLocaleStrategiesSlug,
|
||||
partialDisableLocalStrategiesSlug,
|
||||
publicUsersSlug,
|
||||
saveToJWTKey,
|
||||
slug,
|
||||
@@ -720,7 +720,7 @@ describe('Auth', () => {
|
||||
it('should allow create of a user with disableLocalStrategy', async () => {
|
||||
const email = 'test@example.com'
|
||||
const user = await payload.create({
|
||||
collection: partialDisableLocaleStrategiesSlug,
|
||||
collection: partialDisableLocalStrategiesSlug,
|
||||
data: {
|
||||
email,
|
||||
// password is not required
|
||||
@@ -730,7 +730,7 @@ describe('Auth', () => {
|
||||
})
|
||||
|
||||
it('should retain fields when auth.disableLocalStrategy.enableFields is true', () => {
|
||||
const authFields = payload.collections[partialDisableLocaleStrategiesSlug].config.fields
|
||||
const authFields = payload.collections[partialDisableLocalStrategiesSlug].config.fields
|
||||
// eslint-disable-next-line jest/no-conditional-in-test
|
||||
.filter((field) => 'name' in field && field.name)
|
||||
.map((field) => (field as FieldAffectingData).name)
|
||||
@@ -750,7 +750,7 @@ describe('Auth', () => {
|
||||
|
||||
it('should prevent login of user with disableLocalStrategy.', async () => {
|
||||
await payload.create({
|
||||
collection: partialDisableLocaleStrategiesSlug,
|
||||
collection: partialDisableLocalStrategiesSlug,
|
||||
data: {
|
||||
email: devUser.email,
|
||||
password: devUser.password,
|
||||
@@ -759,7 +759,7 @@ describe('Auth', () => {
|
||||
|
||||
await expect(async () => {
|
||||
await payload.login({
|
||||
collection: partialDisableLocaleStrategiesSlug,
|
||||
collection: partialDisableLocalStrategiesSlug,
|
||||
data: {
|
||||
email: devUser.email,
|
||||
password: devUser.password,
|
||||
@@ -769,7 +769,7 @@ describe('Auth', () => {
|
||||
})
|
||||
|
||||
it('rest - should prevent login', async () => {
|
||||
const response = await restClient.POST(`/${partialDisableLocaleStrategiesSlug}/login`, {
|
||||
const response = await restClient.POST(`/${partialDisableLocalStrategiesSlug}/login`, {
|
||||
body: JSON.stringify({
|
||||
email,
|
||||
password,
|
||||
|
||||
@@ -63,14 +63,14 @@ export type SupportedTimezones =
|
||||
export interface Config {
|
||||
auth: {
|
||||
users: UserAuthOperations;
|
||||
'partial-disable-locale-strategies': PartialDisableLocaleStrategyAuthOperations;
|
||||
'partial-disable-local-strategies': PartialDisableLocalStrategyAuthOperations;
|
||||
'api-keys': ApiKeyAuthOperations;
|
||||
'public-users': PublicUserAuthOperations;
|
||||
};
|
||||
blocks: {};
|
||||
collections: {
|
||||
users: User;
|
||||
'partial-disable-locale-strategies': PartialDisableLocaleStrategy;
|
||||
'partial-disable-local-strategies': PartialDisableLocalStrategy;
|
||||
'api-keys': ApiKey;
|
||||
'public-users': PublicUser;
|
||||
relationsCollection: RelationsCollection;
|
||||
@@ -81,7 +81,7 @@ export interface Config {
|
||||
collectionsJoins: {};
|
||||
collectionsSelect: {
|
||||
users: UsersSelect<false> | UsersSelect<true>;
|
||||
'partial-disable-locale-strategies': PartialDisableLocaleStrategiesSelect<false> | PartialDisableLocaleStrategiesSelect<true>;
|
||||
'partial-disable-local-strategies': PartialDisableLocalStrategiesSelect<false> | PartialDisableLocalStrategiesSelect<true>;
|
||||
'api-keys': ApiKeysSelect<false> | ApiKeysSelect<true>;
|
||||
'public-users': PublicUsersSelect<false> | PublicUsersSelect<true>;
|
||||
relationsCollection: RelationsCollectionSelect<false> | RelationsCollectionSelect<true>;
|
||||
@@ -99,8 +99,8 @@ export interface Config {
|
||||
| (User & {
|
||||
collection: 'users';
|
||||
})
|
||||
| (PartialDisableLocaleStrategy & {
|
||||
collection: 'partial-disable-locale-strategies';
|
||||
| (PartialDisableLocalStrategy & {
|
||||
collection: 'partial-disable-local-strategies';
|
||||
})
|
||||
| (ApiKey & {
|
||||
collection: 'api-keys';
|
||||
@@ -131,7 +131,7 @@ export interface UserAuthOperations {
|
||||
password: string;
|
||||
};
|
||||
}
|
||||
export interface PartialDisableLocaleStrategyAuthOperations {
|
||||
export interface PartialDisableLocalStrategyAuthOperations {
|
||||
forgotPassword: {
|
||||
email: string;
|
||||
password: string;
|
||||
@@ -227,9 +227,9 @@ export interface User {
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "partial-disable-locale-strategies".
|
||||
* via the `definition` "partial-disable-local-strategies".
|
||||
*/
|
||||
export interface PartialDisableLocaleStrategy {
|
||||
export interface PartialDisableLocalStrategy {
|
||||
id: string;
|
||||
updatedAt: string;
|
||||
createdAt: string;
|
||||
@@ -296,8 +296,8 @@ export interface PayloadLockedDocument {
|
||||
value: string | User;
|
||||
} | null)
|
||||
| ({
|
||||
relationTo: 'partial-disable-locale-strategies';
|
||||
value: string | PartialDisableLocaleStrategy;
|
||||
relationTo: 'partial-disable-local-strategies';
|
||||
value: string | PartialDisableLocalStrategy;
|
||||
} | null)
|
||||
| ({
|
||||
relationTo: 'api-keys';
|
||||
@@ -318,8 +318,8 @@ export interface PayloadLockedDocument {
|
||||
value: string | User;
|
||||
}
|
||||
| {
|
||||
relationTo: 'partial-disable-locale-strategies';
|
||||
value: string | PartialDisableLocaleStrategy;
|
||||
relationTo: 'partial-disable-local-strategies';
|
||||
value: string | PartialDisableLocalStrategy;
|
||||
}
|
||||
| {
|
||||
relationTo: 'api-keys';
|
||||
@@ -344,8 +344,8 @@ export interface PayloadPreference {
|
||||
value: string | User;
|
||||
}
|
||||
| {
|
||||
relationTo: 'partial-disable-locale-strategies';
|
||||
value: string | PartialDisableLocaleStrategy;
|
||||
relationTo: 'partial-disable-local-strategies';
|
||||
value: string | PartialDisableLocalStrategy;
|
||||
}
|
||||
| {
|
||||
relationTo: 'api-keys';
|
||||
@@ -427,9 +427,9 @@ export interface UsersSelect<T extends boolean = true> {
|
||||
}
|
||||
/**
|
||||
* This interface was referenced by `Config`'s JSON-Schema
|
||||
* via the `definition` "partial-disable-locale-strategies_select".
|
||||
* via the `definition` "partial-disable-local-strategies_select".
|
||||
*/
|
||||
export interface PartialDisableLocaleStrategiesSelect<T extends boolean = true> {
|
||||
export interface PartialDisableLocalStrategiesSelect<T extends boolean = true> {
|
||||
updatedAt?: T;
|
||||
createdAt?: T;
|
||||
email?: T;
|
||||
|
||||
@@ -4,7 +4,7 @@ export const publicUsersSlug = 'public-users'
|
||||
|
||||
export const apiKeysSlug = 'api-keys'
|
||||
|
||||
export const partialDisableLocaleStrategiesSlug = 'partial-disable-locale-strategies'
|
||||
export const partialDisableLocalStrategiesSlug = 'partial-disable-local-strategies'
|
||||
|
||||
export const namedSaveToJWTValue = 'namedSaveToJWT value'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user