/* 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; }; blocks: {}; collections: { users: User; media: Media; books: Book; authors: Author; repositories: Repository; copies: Copy; holdRequests: HoldRequest; checkouts: Checkout; genre: Genre; pages: Page; 'payload-locked-documents': PayloadLockedDocument; 'payload-preferences': PayloadPreference; 'payload-migrations': PayloadMigration; }; collectionsJoins: { books: { copies: 'copies'; }; authors: { books: 'books'; }; repositories: { holdRequests: 'holdRequests'; }; copies: { holdRequests: 'holdRequests'; }; checkouts: { book: 'copies'; }; }; collectionsSelect: { users: UsersSelect | UsersSelect; media: MediaSelect | MediaSelect; books: BooksSelect | BooksSelect; authors: AuthorsSelect | AuthorsSelect; repositories: RepositoriesSelect | RepositoriesSelect; copies: CopiesSelect | CopiesSelect; holdRequests: HoldRequestsSelect | HoldRequestsSelect; checkouts: CheckoutsSelect | CheckoutsSelect; genre: GenreSelect | GenreSelect; pages: PagesSelect | PagesSelect; 'payload-locked-documents': PayloadLockedDocumentsSelect | PayloadLockedDocumentsSelect; 'payload-preferences': PayloadPreferencesSelect | PayloadPreferencesSelect; 'payload-migrations': PayloadMigrationsSelect | PayloadMigrationsSelect; }; db: { defaultIDType: number; }; globals: { header: Header; }; globalsSelect: { header: HeaderSelect | HeaderSelect; }; locale: null; user: User & { collection: 'users'; }; 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; }; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "users". */ export interface User { id: number; role?: ('admin' | 'user') | 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` "media". */ export interface Media { id: number; alt: string; 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` "books". */ export interface Book { id: number; books_id?: string | null; title?: string | null; authors?: (number | Author)[] | null; pages?: number | null; lcc?: string | null; isbn?: string | null; asin?: string | null; publication?: string | null; date?: string | null; genre?: (number | Genre)[] | null; summary?: string | null; description?: { 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; copies?: { docs?: (number | Copy)[]; hasNextPage?: boolean; totalDocs?: number; }; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "authors". */ export interface Author { id: number; lf: string; fl?: string | null; role?: ('Author' | 'Translator' | 'Editor') | null; books?: { docs?: (number | Book)[]; hasNextPage?: boolean; totalDocs?: number; }; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "genre". */ export interface Genre { id: number; name: string; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "copies". */ export interface Copy { id: number; label?: string | null; condition?: number | null; book?: (number | null) | Book; repository?: (number | null) | Repository; notes?: { 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; holdRequests?: { docs?: (number | HoldRequest)[]; hasNextPage?: boolean; totalDocs?: number; }; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "repositories". */ export interface Repository { id: number; name: string; /** * This is used to help identify which copies belong to this repo. */ abbreviation: string; owner: (number | User)[]; dateOpenToPublic?: string | null; holdRequests?: { docs?: (number | HoldRequest)[]; hasNextPage?: boolean; totalDocs?: number; }; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "holdRequests". */ export interface HoldRequest { id: number; copy?: (number | null) | Copy; book: number | Book; repository?: (number | null) | Repository; userRequested: number | User; dateRequested?: string | null; isHolding?: boolean | null; holdingUntilDate?: string | null; isCheckedOut?: boolean | null; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "checkouts". */ export interface Checkout { id: number; fromHold?: (number | null) | HoldRequest; user?: (number | null) | User; copy?: (number | null) | Copy; book?: { docs?: (number | Copy)[]; hasNextPage?: boolean; totalDocs?: number; }; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "pages". */ export interface Page { id: number; title?: string | null; layout?: | { heading?: string | null; subheading?: string | null; brief?: string | null; minHeight?: ('100' | '80' | '60') | null; backgroundImage?: (number | null) | Media; id?: string | null; blockName?: string | null; blockType: 'Hero'; }[] | null; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "payload-locked-documents". */ export interface PayloadLockedDocument { id: number; document?: | ({ relationTo: 'users'; value: number | User; } | null) | ({ relationTo: 'media'; value: number | Media; } | null) | ({ relationTo: 'books'; value: number | Book; } | null) | ({ relationTo: 'authors'; value: number | Author; } | null) | ({ relationTo: 'repositories'; value: number | Repository; } | null) | ({ relationTo: 'copies'; value: number | Copy; } | null) | ({ relationTo: 'holdRequests'; value: number | HoldRequest; } | null) | ({ relationTo: 'checkouts'; value: number | Checkout; } | null) | ({ relationTo: 'genre'; value: number | Genre; } | null) | ({ relationTo: 'pages'; value: number | Page; } | null); globalSlug?: string | null; user: { relationTo: 'users'; value: number | User; }; updatedAt: string; createdAt: string; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "payload-preferences". */ export interface PayloadPreference { id: number; user: { relationTo: 'users'; value: number | 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: number; 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 { role?: T; updatedAt?: T; createdAt?: T; email?: T; resetPasswordToken?: T; resetPasswordExpiration?: T; salt?: T; hash?: T; loginAttempts?: T; lockUntil?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "media_select". */ export interface MediaSelect { alt?: T; updatedAt?: T; createdAt?: T; url?: T; thumbnailURL?: T; filename?: T; mimeType?: T; filesize?: T; width?: T; height?: T; focalX?: T; focalY?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "books_select". */ export interface BooksSelect { books_id?: T; title?: T; authors?: T; pages?: T; lcc?: T; isbn?: T; asin?: T; publication?: T; date?: T; genre?: T; summary?: T; description?: T; copies?: T; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "authors_select". */ export interface AuthorsSelect { lf?: T; fl?: T; role?: T; books?: T; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "repositories_select". */ export interface RepositoriesSelect { name?: T; abbreviation?: T; owner?: T; dateOpenToPublic?: T; holdRequests?: T; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "copies_select". */ export interface CopiesSelect { label?: T; condition?: T; book?: T; repository?: T; notes?: T; holdRequests?: T; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "holdRequests_select". */ export interface HoldRequestsSelect { copy?: T; book?: T; repository?: T; userRequested?: T; dateRequested?: T; isHolding?: T; holdingUntilDate?: T; isCheckedOut?: T; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "checkouts_select". */ export interface CheckoutsSelect { fromHold?: T; user?: T; copy?: T; book?: T; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "genre_select". */ export interface GenreSelect { name?: T; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "pages_select". */ export interface PagesSelect { title?: T; layout?: | T | { Hero?: | T | { heading?: T; subheading?: T; brief?: T; minHeight?: T; backgroundImage?: T; id?: T; blockName?: T; }; }; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "payload-locked-documents_select". */ export interface PayloadLockedDocumentsSelect { 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 { 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 { name?: T; batch?: T; updatedAt?: T; createdAt?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "header". */ export interface Header { id: number; logo?: (number | null) | Media; headerLinks?: | { label?: string | null; page?: (number | null) | Page; newTab?: boolean | null; id?: string | null; }[] | null; updatedAt?: string | null; createdAt?: string | null; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "header_select". */ export interface HeaderSelect { logo?: T; headerLinks?: | T | { label?: T; page?: T; newTab?: T; id?: T; }; updatedAt?: T; createdAt?: T; globalType?: T; } /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "auth". */ export interface Auth { [k: string]: unknown; } declare module 'payload' { export interface GeneratedTypes extends Config {} }