Follow-up to #13714. Fully sanitizes the unauthenticated client config to exclude much of the users collection, including fields, etc. These are not required of the login flow and are now completely omitted along with other unnecessary properties. This is closely aligned with the goals of the original PR, and as an added bonus, makes the config _even smaller_ than it already was for unauthenticated users. Needs #13790. --- - To see the specific tasks where the Asana app for GitHub is being used, see below: - https://app.asana.com/0/0/1211332845301588
700 lines
16 KiB
TypeScript
700 lines
16 KiB
TypeScript
/* tslint:disable */
|
|
/* eslint-disable */
|
|
/**
|
|
* This file was automatically generated by Payload.
|
|
* DO NOT MODIFY IT BY HAND. Instead, modify your source Payload config,
|
|
* and re-run `payload generate:types` to regenerate this file.
|
|
*/
|
|
|
|
/**
|
|
* Supported timezones in IANA format.
|
|
*
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "supportedTimezones".
|
|
*/
|
|
export type SupportedTimezones =
|
|
| 'Pacific/Midway'
|
|
| 'Pacific/Niue'
|
|
| 'Pacific/Honolulu'
|
|
| 'Pacific/Rarotonga'
|
|
| 'America/Anchorage'
|
|
| 'Pacific/Gambier'
|
|
| 'America/Los_Angeles'
|
|
| 'America/Tijuana'
|
|
| 'America/Denver'
|
|
| 'America/Phoenix'
|
|
| 'America/Chicago'
|
|
| 'America/Guatemala'
|
|
| 'America/New_York'
|
|
| 'America/Bogota'
|
|
| 'America/Caracas'
|
|
| 'America/Santiago'
|
|
| 'America/Buenos_Aires'
|
|
| 'America/Sao_Paulo'
|
|
| 'Atlantic/South_Georgia'
|
|
| 'Atlantic/Azores'
|
|
| 'Atlantic/Cape_Verde'
|
|
| 'Europe/London'
|
|
| 'Europe/Berlin'
|
|
| 'Africa/Lagos'
|
|
| 'Europe/Athens'
|
|
| 'Africa/Cairo'
|
|
| 'Europe/Moscow'
|
|
| 'Asia/Riyadh'
|
|
| 'Asia/Dubai'
|
|
| 'Asia/Baku'
|
|
| 'Asia/Karachi'
|
|
| 'Asia/Tashkent'
|
|
| 'Asia/Calcutta'
|
|
| 'Asia/Dhaka'
|
|
| 'Asia/Almaty'
|
|
| 'Asia/Jakarta'
|
|
| 'Asia/Bangkok'
|
|
| 'Asia/Shanghai'
|
|
| 'Asia/Singapore'
|
|
| 'Asia/Tokyo'
|
|
| 'Asia/Seoul'
|
|
| 'Australia/Brisbane'
|
|
| 'Australia/Sydney'
|
|
| 'Pacific/Guam'
|
|
| 'Pacific/Noumea'
|
|
| 'Pacific/Auckland'
|
|
| 'Pacific/Fiji';
|
|
|
|
export interface Config {
|
|
auth: {
|
|
users: UserAuthOperations;
|
|
'partial-disable-local-strategies': PartialDisableLocalStrategyAuthOperations;
|
|
'disable-local-strategy-password': DisableLocalStrategyPasswordAuthOperations;
|
|
'api-keys': ApiKeyAuthOperations;
|
|
'public-users': PublicUserAuthOperations;
|
|
'api-keys-with-field-read-access': ApiKeysWithFieldReadAccessAuthOperations;
|
|
};
|
|
blocks: {};
|
|
collections: {
|
|
users: User;
|
|
'partial-disable-local-strategies': PartialDisableLocalStrategy;
|
|
'disable-local-strategy-password': DisableLocalStrategyPassword;
|
|
'api-keys': ApiKey;
|
|
'public-users': PublicUser;
|
|
relationsCollection: RelationsCollection;
|
|
'api-keys-with-field-read-access': ApiKeysWithFieldReadAccess;
|
|
'payload-locked-documents': PayloadLockedDocument;
|
|
'payload-preferences': PayloadPreference;
|
|
'payload-migrations': PayloadMigration;
|
|
};
|
|
collectionsJoins: {};
|
|
collectionsSelect: {
|
|
users: UsersSelect<false> | UsersSelect<true>;
|
|
'partial-disable-local-strategies': PartialDisableLocalStrategiesSelect<false> | PartialDisableLocalStrategiesSelect<true>;
|
|
'disable-local-strategy-password': DisableLocalStrategyPasswordSelect<false> | DisableLocalStrategyPasswordSelect<true>;
|
|
'api-keys': ApiKeysSelect<false> | ApiKeysSelect<true>;
|
|
'public-users': PublicUsersSelect<false> | PublicUsersSelect<true>;
|
|
relationsCollection: RelationsCollectionSelect<false> | RelationsCollectionSelect<true>;
|
|
'api-keys-with-field-read-access': ApiKeysWithFieldReadAccessSelect<false> | ApiKeysWithFieldReadAccessSelect<true>;
|
|
'payload-locked-documents': PayloadLockedDocumentsSelect<false> | PayloadLockedDocumentsSelect<true>;
|
|
'payload-preferences': PayloadPreferencesSelect<false> | PayloadPreferencesSelect<true>;
|
|
'payload-migrations': PayloadMigrationsSelect<false> | PayloadMigrationsSelect<true>;
|
|
};
|
|
db: {
|
|
defaultIDType: string;
|
|
};
|
|
globals: {};
|
|
globalsSelect: {};
|
|
locale: null;
|
|
user:
|
|
| (User & {
|
|
collection: 'users';
|
|
})
|
|
| (PartialDisableLocalStrategy & {
|
|
collection: 'partial-disable-local-strategies';
|
|
})
|
|
| (DisableLocalStrategyPassword & {
|
|
collection: 'disable-local-strategy-password';
|
|
})
|
|
| (ApiKey & {
|
|
collection: 'api-keys';
|
|
})
|
|
| (PublicUser & {
|
|
collection: 'public-users';
|
|
})
|
|
| (ApiKeysWithFieldReadAccess & {
|
|
collection: 'api-keys-with-field-read-access';
|
|
});
|
|
jobs: {
|
|
tasks: unknown;
|
|
workflows: unknown;
|
|
};
|
|
}
|
|
export interface UserAuthOperations {
|
|
forgotPassword: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
login: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
registerFirstUser: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
unlock: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
}
|
|
export interface PartialDisableLocalStrategyAuthOperations {
|
|
forgotPassword: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
login: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
registerFirstUser: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
unlock: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
}
|
|
export interface DisableLocalStrategyPasswordAuthOperations {
|
|
forgotPassword: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
login: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
registerFirstUser: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
unlock: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
}
|
|
export interface ApiKeyAuthOperations {
|
|
forgotPassword: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
login: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
registerFirstUser: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
unlock: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
}
|
|
export interface PublicUserAuthOperations {
|
|
forgotPassword: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
login: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
registerFirstUser: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
unlock: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
}
|
|
export interface ApiKeysWithFieldReadAccessAuthOperations {
|
|
forgotPassword: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
login: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
registerFirstUser: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
unlock: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "users".
|
|
*/
|
|
export interface User {
|
|
id: string;
|
|
adminOnlyField?: string | null;
|
|
roles: ('admin' | 'editor' | 'moderator' | 'user' | 'viewer')[];
|
|
namedSaveToJWT?: string | null;
|
|
richText?: {
|
|
root: {
|
|
type: string;
|
|
children: {
|
|
type: string;
|
|
version: number;
|
|
[k: string]: unknown;
|
|
}[];
|
|
direction: ('ltr' | 'rtl') | null;
|
|
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
|
indent: number;
|
|
version: number;
|
|
};
|
|
[k: string]: unknown;
|
|
} | null;
|
|
group?: {
|
|
liftedSaveToJWT?: string | null;
|
|
};
|
|
groupSaveToJWT?: {
|
|
saveToJWTString?: string | null;
|
|
saveToJWTFalse?: string | null;
|
|
};
|
|
saveToJWTTab?: {
|
|
test?: string | null;
|
|
};
|
|
tabSaveToJWTString?: {
|
|
includedByDefault?: string | null;
|
|
};
|
|
tabLiftedSaveToJWT?: string | null;
|
|
unnamedTabSaveToJWTString?: string | null;
|
|
unnamedTabSaveToJWTFalse?: string | null;
|
|
custom?: string | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
enableAPIKey?: boolean | null;
|
|
apiKey?: string | null;
|
|
apiKeyIndex?: string | null;
|
|
email: string;
|
|
resetPasswordToken?: string | null;
|
|
resetPasswordExpiration?: string | null;
|
|
salt?: string | null;
|
|
hash?: string | null;
|
|
loginAttempts?: number | null;
|
|
lockUntil?: string | null;
|
|
sessions?:
|
|
| {
|
|
id: string;
|
|
createdAt?: string | null;
|
|
expiresAt: string;
|
|
}[]
|
|
| null;
|
|
password?: string | null;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "partial-disable-local-strategies".
|
|
*/
|
|
export interface PartialDisableLocalStrategy {
|
|
id: string;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
email: string;
|
|
resetPasswordToken?: string | null;
|
|
resetPasswordExpiration?: string | null;
|
|
salt?: string | null;
|
|
hash?: string | null;
|
|
loginAttempts?: number | null;
|
|
lockUntil?: string | null;
|
|
sessions?:
|
|
| {
|
|
id: string;
|
|
createdAt?: string | null;
|
|
expiresAt: string;
|
|
}[]
|
|
| null;
|
|
password?: string | null;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "disable-local-strategy-password".
|
|
*/
|
|
export interface DisableLocalStrategyPassword {
|
|
id: string;
|
|
password: string;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "api-keys".
|
|
*/
|
|
export interface ApiKey {
|
|
id: string;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
enableAPIKey?: boolean | null;
|
|
apiKey?: string | null;
|
|
apiKeyIndex?: string | null;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "public-users".
|
|
*/
|
|
export interface PublicUser {
|
|
id: string;
|
|
shouldNotShowInClientConfigUnlessAuthenticated?: string | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
email: string;
|
|
resetPasswordToken?: string | null;
|
|
resetPasswordExpiration?: string | null;
|
|
salt?: string | null;
|
|
hash?: string | null;
|
|
_verified?: boolean | null;
|
|
_verificationToken?: string | null;
|
|
loginAttempts?: number | null;
|
|
lockUntil?: string | null;
|
|
sessions?:
|
|
| {
|
|
id: string;
|
|
createdAt?: string | null;
|
|
expiresAt: string;
|
|
}[]
|
|
| null;
|
|
password?: string | null;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "relationsCollection".
|
|
*/
|
|
export interface RelationsCollection {
|
|
id: string;
|
|
rel?: (string | null) | User;
|
|
text?: string | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "api-keys-with-field-read-access".
|
|
*/
|
|
export interface ApiKeysWithFieldReadAccess {
|
|
id: string;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
enableAPIKey?: boolean | null;
|
|
apiKey?: string | null;
|
|
apiKeyIndex?: string | null;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "payload-locked-documents".
|
|
*/
|
|
export interface PayloadLockedDocument {
|
|
id: string;
|
|
document?:
|
|
| ({
|
|
relationTo: 'users';
|
|
value: string | User;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'partial-disable-local-strategies';
|
|
value: string | PartialDisableLocalStrategy;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'disable-local-strategy-password';
|
|
value: string | DisableLocalStrategyPassword;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'api-keys';
|
|
value: string | ApiKey;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'public-users';
|
|
value: string | PublicUser;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'relationsCollection';
|
|
value: string | RelationsCollection;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'api-keys-with-field-read-access';
|
|
value: string | ApiKeysWithFieldReadAccess;
|
|
} | null);
|
|
globalSlug?: string | null;
|
|
user:
|
|
| {
|
|
relationTo: 'users';
|
|
value: string | User;
|
|
}
|
|
| {
|
|
relationTo: 'partial-disable-local-strategies';
|
|
value: string | PartialDisableLocalStrategy;
|
|
}
|
|
| {
|
|
relationTo: 'disable-local-strategy-password';
|
|
value: string | DisableLocalStrategyPassword;
|
|
}
|
|
| {
|
|
relationTo: 'api-keys';
|
|
value: string | ApiKey;
|
|
}
|
|
| {
|
|
relationTo: 'public-users';
|
|
value: string | PublicUser;
|
|
}
|
|
| {
|
|
relationTo: 'api-keys-with-field-read-access';
|
|
value: string | ApiKeysWithFieldReadAccess;
|
|
};
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "payload-preferences".
|
|
*/
|
|
export interface PayloadPreference {
|
|
id: string;
|
|
user:
|
|
| {
|
|
relationTo: 'users';
|
|
value: string | User;
|
|
}
|
|
| {
|
|
relationTo: 'partial-disable-local-strategies';
|
|
value: string | PartialDisableLocalStrategy;
|
|
}
|
|
| {
|
|
relationTo: 'disable-local-strategy-password';
|
|
value: string | DisableLocalStrategyPassword;
|
|
}
|
|
| {
|
|
relationTo: 'api-keys';
|
|
value: string | ApiKey;
|
|
}
|
|
| {
|
|
relationTo: 'public-users';
|
|
value: string | PublicUser;
|
|
}
|
|
| {
|
|
relationTo: 'api-keys-with-field-read-access';
|
|
value: string | ApiKeysWithFieldReadAccess;
|
|
};
|
|
key?: string | null;
|
|
value?:
|
|
| {
|
|
[k: string]: unknown;
|
|
}
|
|
| unknown[]
|
|
| string
|
|
| number
|
|
| boolean
|
|
| null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "payload-migrations".
|
|
*/
|
|
export interface PayloadMigration {
|
|
id: string;
|
|
name?: string | null;
|
|
batch?: number | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "users_select".
|
|
*/
|
|
export interface UsersSelect<T extends boolean = true> {
|
|
adminOnlyField?: T;
|
|
roles?: T;
|
|
namedSaveToJWT?: T;
|
|
richText?: T;
|
|
group?:
|
|
| T
|
|
| {
|
|
liftedSaveToJWT?: T;
|
|
};
|
|
groupSaveToJWT?:
|
|
| T
|
|
| {
|
|
saveToJWTString?: T;
|
|
saveToJWTFalse?: T;
|
|
};
|
|
saveToJWTTab?:
|
|
| T
|
|
| {
|
|
test?: T;
|
|
};
|
|
tabSaveToJWTString?:
|
|
| T
|
|
| {
|
|
includedByDefault?: T;
|
|
};
|
|
tabLiftedSaveToJWT?: T;
|
|
unnamedTabSaveToJWTString?: T;
|
|
unnamedTabSaveToJWTFalse?: T;
|
|
custom?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
enableAPIKey?: T;
|
|
apiKey?: T;
|
|
apiKeyIndex?: T;
|
|
email?: T;
|
|
resetPasswordToken?: T;
|
|
resetPasswordExpiration?: T;
|
|
salt?: T;
|
|
hash?: T;
|
|
loginAttempts?: T;
|
|
lockUntil?: T;
|
|
sessions?:
|
|
| T
|
|
| {
|
|
id?: T;
|
|
createdAt?: T;
|
|
expiresAt?: T;
|
|
};
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "partial-disable-local-strategies_select".
|
|
*/
|
|
export interface PartialDisableLocalStrategiesSelect<T extends boolean = true> {
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
email?: T;
|
|
resetPasswordToken?: T;
|
|
resetPasswordExpiration?: T;
|
|
salt?: T;
|
|
hash?: T;
|
|
loginAttempts?: T;
|
|
lockUntil?: T;
|
|
sessions?:
|
|
| T
|
|
| {
|
|
id?: T;
|
|
createdAt?: T;
|
|
expiresAt?: T;
|
|
};
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "disable-local-strategy-password_select".
|
|
*/
|
|
export interface DisableLocalStrategyPasswordSelect<T extends boolean = true> {
|
|
password?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "api-keys_select".
|
|
*/
|
|
export interface ApiKeysSelect<T extends boolean = true> {
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
enableAPIKey?: T;
|
|
apiKey?: T;
|
|
apiKeyIndex?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "public-users_select".
|
|
*/
|
|
export interface PublicUsersSelect<T extends boolean = true> {
|
|
shouldNotShowInClientConfigUnlessAuthenticated?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
email?: T;
|
|
resetPasswordToken?: T;
|
|
resetPasswordExpiration?: T;
|
|
salt?: T;
|
|
hash?: T;
|
|
_verified?: T;
|
|
_verificationToken?: T;
|
|
loginAttempts?: T;
|
|
lockUntil?: T;
|
|
sessions?:
|
|
| T
|
|
| {
|
|
id?: T;
|
|
createdAt?: T;
|
|
expiresAt?: T;
|
|
};
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "relationsCollection_select".
|
|
*/
|
|
export interface RelationsCollectionSelect<T extends boolean = true> {
|
|
rel?: T;
|
|
text?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "api-keys-with-field-read-access_select".
|
|
*/
|
|
export interface ApiKeysWithFieldReadAccessSelect<T extends boolean = true> {
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
enableAPIKey?: T;
|
|
apiKey?: T;
|
|
apiKeyIndex?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "payload-locked-documents_select".
|
|
*/
|
|
export interface PayloadLockedDocumentsSelect<T extends boolean = true> {
|
|
document?: T;
|
|
globalSlug?: T;
|
|
user?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "payload-preferences_select".
|
|
*/
|
|
export interface PayloadPreferencesSelect<T extends boolean = true> {
|
|
user?: T;
|
|
key?: T;
|
|
value?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "payload-migrations_select".
|
|
*/
|
|
export interface PayloadMigrationsSelect<T extends boolean = true> {
|
|
name?: T;
|
|
batch?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "auth".
|
|
*/
|
|
export interface Auth {
|
|
[k: string]: unknown;
|
|
}
|
|
|
|
|
|
declare module 'payload' {
|
|
// @ts-ignore
|
|
export interface GeneratedTypes extends Config {}
|
|
} |