This PR aims to fix a few issues with the notFound page and custom views so it matches v2 behaviour: - Non authorised users should always be redirected to the login page regardless if not found or valid URL - Previously notFound would render for non users too potentially exposing valid but protected routes and creating a confusing workflow as the UI was being rendered as well - Custom views are now public by default - in our `admin` test suite, the `/admin/public-custom-view` is accessible to non users but `/admin/public-custom-view/protected-nested-view` is not unless the checkbox is true in the Settings global, there's e2e coverage for this - Fixes https://github.com/payloadcms/payload/issues/8716
480 lines
11 KiB
TypeScript
480 lines
11 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.
|
|
*/
|
|
|
|
export interface Config {
|
|
auth: {
|
|
users: UserAuthOperations;
|
|
};
|
|
collections: {
|
|
uploads: Upload;
|
|
posts: Post;
|
|
users: User;
|
|
'hidden-collection': HiddenCollection;
|
|
'collection-no-api-view': CollectionNoApiView;
|
|
'custom-views-one': CustomViewsOne;
|
|
'custom-views-two': CustomViewsTwo;
|
|
'custom-fields': CustomField;
|
|
'group-one-collection-ones': GroupOneCollectionOne;
|
|
'group-one-collection-twos': GroupOneCollectionTwo;
|
|
'group-two-collection-ones': GroupTwoCollectionOne;
|
|
'group-two-collection-twos': GroupTwoCollectionTwo;
|
|
geo: Geo;
|
|
customIdTab: CustomIdTab;
|
|
customIdRow: CustomIdRow;
|
|
'disable-duplicate': DisableDuplicate;
|
|
'payload-locked-documents': PayloadLockedDocument;
|
|
'payload-preferences': PayloadPreference;
|
|
'payload-migrations': PayloadMigration;
|
|
};
|
|
db: {
|
|
defaultIDType: string;
|
|
};
|
|
globals: {
|
|
'hidden-global': HiddenGlobal;
|
|
'global-no-api-view': GlobalNoApiView;
|
|
global: Global;
|
|
'custom-global-views-one': CustomGlobalViewsOne;
|
|
'custom-global-views-two': CustomGlobalViewsTwo;
|
|
'group-globals-one': GroupGlobalsOne;
|
|
'group-globals-two': GroupGlobalsTwo;
|
|
settings: Setting;
|
|
};
|
|
locale: 'es' | 'en';
|
|
user: User & {
|
|
collection: 'users';
|
|
};
|
|
}
|
|
export interface UserAuthOperations {
|
|
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` "uploads".
|
|
*/
|
|
export interface Upload {
|
|
id: string;
|
|
title?: string | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
url?: string | null;
|
|
thumbnailURL?: string | null;
|
|
filename?: string | null;
|
|
mimeType?: string | null;
|
|
filesize?: number | null;
|
|
width?: number | null;
|
|
height?: number | null;
|
|
focalX?: number | null;
|
|
focalY?: number | null;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "posts".
|
|
*/
|
|
export interface Post {
|
|
id: string;
|
|
title?: string | null;
|
|
description?: string | null;
|
|
number?: number | null;
|
|
richText?:
|
|
| {
|
|
[k: string]: unknown;
|
|
}[]
|
|
| null;
|
|
group?: {
|
|
title?: string | null;
|
|
};
|
|
relationship?: (string | null) | Post;
|
|
customCell?: string | null;
|
|
sidebarField?: string | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
_status?: ('draft' | 'published') | null;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "users".
|
|
*/
|
|
export interface User {
|
|
id: string;
|
|
textField?: string | null;
|
|
sidebarField?: string | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
email: string;
|
|
resetPasswordToken?: string | null;
|
|
resetPasswordExpiration?: string | null;
|
|
salt?: string | null;
|
|
hash?: string | null;
|
|
loginAttempts?: number | null;
|
|
lockUntil?: string | null;
|
|
password?: string | null;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "hidden-collection".
|
|
*/
|
|
export interface HiddenCollection {
|
|
id: string;
|
|
title?: string | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "collection-no-api-view".
|
|
*/
|
|
export interface CollectionNoApiView {
|
|
id: string;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "custom-views-one".
|
|
*/
|
|
export interface CustomViewsOne {
|
|
id: string;
|
|
title?: string | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "custom-views-two".
|
|
*/
|
|
export interface CustomViewsTwo {
|
|
id: string;
|
|
title?: string | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "custom-fields".
|
|
*/
|
|
export interface CustomField {
|
|
id: string;
|
|
customTextServerField?: string | null;
|
|
customTextClientField?: string | null;
|
|
descriptionAsString?: string | null;
|
|
descriptionAsFunction?: string | null;
|
|
descriptionAsComponent?: string | null;
|
|
customSelectField?: string | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "group-one-collection-ones".
|
|
*/
|
|
export interface GroupOneCollectionOne {
|
|
id: string;
|
|
title?: string | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "group-one-collection-twos".
|
|
*/
|
|
export interface GroupOneCollectionTwo {
|
|
id: string;
|
|
title?: string | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "group-two-collection-ones".
|
|
*/
|
|
export interface GroupTwoCollectionOne {
|
|
id: string;
|
|
title?: string | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "group-two-collection-twos".
|
|
*/
|
|
export interface GroupTwoCollectionTwo {
|
|
id: string;
|
|
title?: string | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "geo".
|
|
*/
|
|
export interface Geo {
|
|
id: string;
|
|
/**
|
|
* @minItems 2
|
|
* @maxItems 2
|
|
*/
|
|
point?: [number, number] | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "customIdTab".
|
|
*/
|
|
export interface CustomIdTab {
|
|
id: string | null;
|
|
title?: string | null;
|
|
description?: string | null;
|
|
number?: number | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "customIdRow".
|
|
*/
|
|
export interface CustomIdRow {
|
|
id: string | null;
|
|
title?: string | null;
|
|
description?: string | null;
|
|
number?: number | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "disable-duplicate".
|
|
*/
|
|
export interface DisableDuplicate {
|
|
id: string;
|
|
title?: string | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "payload-locked-documents".
|
|
*/
|
|
export interface PayloadLockedDocument {
|
|
id: string;
|
|
document?:
|
|
| ({
|
|
relationTo: 'uploads';
|
|
value: string | Upload;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'posts';
|
|
value: string | Post;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'users';
|
|
value: string | User;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'hidden-collection';
|
|
value: string | HiddenCollection;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'collection-no-api-view';
|
|
value: string | CollectionNoApiView;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'custom-views-one';
|
|
value: string | CustomViewsOne;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'custom-views-two';
|
|
value: string | CustomViewsTwo;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'custom-fields';
|
|
value: string | CustomField;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'group-one-collection-ones';
|
|
value: string | GroupOneCollectionOne;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'group-one-collection-twos';
|
|
value: string | GroupOneCollectionTwo;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'group-two-collection-ones';
|
|
value: string | GroupTwoCollectionOne;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'group-two-collection-twos';
|
|
value: string | GroupTwoCollectionTwo;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'geo';
|
|
value: string | Geo;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'customIdTab';
|
|
value: string | CustomIdTab;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'customIdRow';
|
|
value: string | CustomIdRow;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'disable-duplicate';
|
|
value: string | DisableDuplicate;
|
|
} | null);
|
|
globalSlug?: string | null;
|
|
user: {
|
|
relationTo: 'users';
|
|
value: string | User;
|
|
};
|
|
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;
|
|
};
|
|
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` "hidden-global".
|
|
*/
|
|
export interface HiddenGlobal {
|
|
id: string;
|
|
title?: string | null;
|
|
updatedAt?: string | null;
|
|
createdAt?: string | null;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "global-no-api-view".
|
|
*/
|
|
export interface GlobalNoApiView {
|
|
id: string;
|
|
updatedAt?: string | null;
|
|
createdAt?: string | null;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "global".
|
|
*/
|
|
export interface Global {
|
|
id: string;
|
|
title?: string | null;
|
|
sidebarField?: string | null;
|
|
_status?: ('draft' | 'published') | null;
|
|
updatedAt?: string | null;
|
|
createdAt?: string | null;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "custom-global-views-one".
|
|
*/
|
|
export interface CustomGlobalViewsOne {
|
|
id: string;
|
|
title?: string | null;
|
|
updatedAt?: string | null;
|
|
createdAt?: string | null;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "custom-global-views-two".
|
|
*/
|
|
export interface CustomGlobalViewsTwo {
|
|
id: string;
|
|
title?: string | null;
|
|
updatedAt?: string | null;
|
|
createdAt?: string | null;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "group-globals-one".
|
|
*/
|
|
export interface GroupGlobalsOne {
|
|
id: string;
|
|
title?: string | null;
|
|
updatedAt?: string | null;
|
|
createdAt?: string | null;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "group-globals-two".
|
|
*/
|
|
export interface GroupGlobalsTwo {
|
|
id: string;
|
|
title?: string | null;
|
|
updatedAt?: string | null;
|
|
createdAt?: string | null;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "settings".
|
|
*/
|
|
export interface Setting {
|
|
id: string;
|
|
canAccessProtected?: boolean | null;
|
|
updatedAt?: string | null;
|
|
createdAt?: string | null;
|
|
}
|
|
/**
|
|
* 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 {}
|
|
} |