payload added

This commit is contained in:
Tom Elliott 2025-04-20 10:38:45 +12:00
parent be9b52de2e
commit 5176f6a23c
1737 changed files with 1726 additions and 2 deletions

16
docker-compose.yml Normal file
View File

@ -0,0 +1,16 @@
---
services:
postgres:
image: postgres:12.18
restart: always
ports:
- "5432:5432"
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=admin
- POSTGRES_DB=website
volumes:
- ial-website-data:/var/lib/postgresql/data
volumes:
ial-website-data:

View File

@ -4,7 +4,7 @@
"private": true,
"type": "module",
"scripts": {
"dev": "next dev --turbopack",
"dev": "next dev --turbo",
"build": "next build",
"start": "next start",
"lint": "next lint"
@ -17,6 +17,7 @@
"graphql": "^16.10.0",
"next": "15.3.1",
"payload": "^3.35.1",
"pg": "8.11.3",
"postcss": "^8.5.3",
"react": "^19.0.0",
"react-dom": "^19.0.0",
@ -30,6 +31,7 @@
"@types/react-dom": "^19",
"eslint": "^9",
"eslint-config-next": "15.3.1",
"prettier": "^3.5.3",
"typescript": "^5"
}
}

671
payload-types.ts Normal file
View File

@ -0,0 +1,671 @@
/* 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: {
projects: Project;
news: News;
images: Image;
documents: Document;
data: Datum;
users: User;
'payload-locked-documents': PayloadLockedDocument;
'payload-preferences': PayloadPreference;
'payload-migrations': PayloadMigration;
};
collectionsJoins: {};
collectionsSelect: {
projects: ProjectsSelect<false> | ProjectsSelect<true>;
news: NewsSelect<false> | NewsSelect<true>;
images: ImagesSelect<false> | ImagesSelect<true>;
documents: DocumentsSelect<false> | DocumentsSelect<true>;
data: DataSelect<false> | DataSelect<true>;
users: UsersSelect<false> | UsersSelect<true>;
'payload-locked-documents': PayloadLockedDocumentsSelect<false> | PayloadLockedDocumentsSelect<true>;
'payload-preferences': PayloadPreferencesSelect<false> | PayloadPreferencesSelect<true>;
'payload-migrations': PayloadMigrationsSelect<false> | PayloadMigrationsSelect<true>;
};
db: {
defaultIDType: number;
};
globals: {
homeHero: HomeHero;
homeProjects: HomeProject;
};
globalsSelect: {
homeHero: HomeHeroSelect<false> | HomeHeroSelect<true>;
homeProjects: HomeProjectsSelect<false> | HomeProjectsSelect<true>;
};
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` "projects".
*/
export interface Project {
id: number;
title: string;
/**
* The slug is used to identify the news item in the URL.
*/
slug: string;
content: {
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;
};
/**
* Show this project on the homepage.
*/
featured?: boolean | null;
links?:
| {
link: string;
description?: string | null;
/**
* Optional: organise link under this heading
*/
group?: string | null;
id?: string | null;
}[]
| null;
updatedAt: string;
createdAt: string;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "news".
*/
export interface News {
id: number;
title: string;
/**
* The slug is used to identify the news item in the URL.
*/
slug: string;
content: {
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;
};
updatedAt: string;
createdAt: string;
_status?: ('draft' | 'published') | null;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "images".
*/
export interface Image {
id: number;
alt?: string | null;
description?: 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;
sizes?: {
thumbnail?: {
url?: string | null;
width?: number | null;
height?: number | null;
mimeType?: string | null;
filesize?: number | null;
filename?: string | null;
};
card?: {
url?: string | null;
width?: number | null;
height?: number | null;
mimeType?: string | null;
filesize?: number | null;
filename?: string | null;
};
tablet?: {
url?: string | null;
width?: number | null;
height?: number | null;
mimeType?: string | null;
filesize?: number | null;
filename?: string | null;
};
};
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "documents".
*/
export interface Document {
id: number;
title: string;
description?: 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` "data".
*/
export interface Datum {
id: number;
title: string;
description?: string | null;
source: 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` "users".
*/
export interface User {
id: number;
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` "payload-locked-documents".
*/
export interface PayloadLockedDocument {
id: number;
document?:
| ({
relationTo: 'projects';
value: number | Project;
} | null)
| ({
relationTo: 'news';
value: number | News;
} | null)
| ({
relationTo: 'images';
value: number | Image;
} | null)
| ({
relationTo: 'documents';
value: number | Document;
} | null)
| ({
relationTo: 'data';
value: number | Datum;
} | null)
| ({
relationTo: 'users';
value: number | User;
} | 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` "projects_select".
*/
export interface ProjectsSelect<T extends boolean = true> {
title?: T;
slug?: T;
content?: T;
featured?: T;
links?:
| T
| {
link?: T;
description?: T;
group?: T;
id?: T;
};
updatedAt?: T;
createdAt?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "news_select".
*/
export interface NewsSelect<T extends boolean = true> {
title?: T;
slug?: T;
content?: T;
updatedAt?: T;
createdAt?: T;
_status?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "images_select".
*/
export interface ImagesSelect<T extends boolean = true> {
alt?: T;
description?: T;
updatedAt?: T;
createdAt?: T;
url?: T;
thumbnailURL?: T;
filename?: T;
mimeType?: T;
filesize?: T;
width?: T;
height?: T;
focalX?: T;
focalY?: T;
sizes?:
| T
| {
thumbnail?:
| T
| {
url?: T;
width?: T;
height?: T;
mimeType?: T;
filesize?: T;
filename?: T;
};
card?:
| T
| {
url?: T;
width?: T;
height?: T;
mimeType?: T;
filesize?: T;
filename?: T;
};
tablet?:
| T
| {
url?: T;
width?: T;
height?: T;
mimeType?: T;
filesize?: T;
filename?: T;
};
};
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "documents_select".
*/
export interface DocumentsSelect<T extends boolean = true> {
title?: T;
description?: 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` "data_select".
*/
export interface DataSelect<T extends boolean = true> {
title?: T;
description?: T;
source?: 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` "users_select".
*/
export interface UsersSelect<T extends boolean = true> {
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` "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` "homeHero".
*/
export interface HomeHero {
id: number;
titleGroup: {
title: string;
};
heroGroup: {
heroTitle: string;
heroDescription: {
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;
};
heroItems?:
| {
name: string;
id?: string | null;
}[]
| null;
};
/**
* This title will be used for SEO purposes, and displayed in the browser tab.
*/
metaTitle: string;
/**
* This description will be used for SEO purposes (e.g., shown in search results and on social media cards).
*/
metaDescription: string;
updatedAt?: string | null;
createdAt?: string | null;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "homeProjects".
*/
export interface HomeProject {
id: number;
projectsTitle?: string | null;
projectsDescription?: {
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;
updatedAt?: string | null;
createdAt?: string | null;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "homeHero_select".
*/
export interface HomeHeroSelect<T extends boolean = true> {
titleGroup?:
| T
| {
title?: T;
};
heroGroup?:
| T
| {
heroTitle?: T;
heroDescription?: T;
heroItems?:
| T
| {
name?: T;
id?: T;
};
};
metaTitle?: T;
metaDescription?: T;
updatedAt?: T;
createdAt?: T;
globalType?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "homeProjects_select".
*/
export interface HomeProjectsSelect<T extends boolean = true> {
projectsTitle?: T;
projectsDescription?: 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 {}
}

1
pgdata/PG_VERSION Normal file
View File

@ -0,0 +1 @@
12

BIN
pgdata/base/1/112 Normal file

Binary file not shown.

BIN
pgdata/base/1/113 Normal file

Binary file not shown.

BIN
pgdata/base/1/1247 Normal file

Binary file not shown.

BIN
pgdata/base/1/1247_fsm Normal file

Binary file not shown.

BIN
pgdata/base/1/1247_vm Normal file

Binary file not shown.

BIN
pgdata/base/1/1249 Normal file

Binary file not shown.

BIN
pgdata/base/1/1249_fsm Normal file

Binary file not shown.

BIN
pgdata/base/1/1249_vm Normal file

Binary file not shown.

BIN
pgdata/base/1/1255 Normal file

Binary file not shown.

BIN
pgdata/base/1/1255_fsm Normal file

Binary file not shown.

BIN
pgdata/base/1/1255_vm Normal file

Binary file not shown.

BIN
pgdata/base/1/1259 Normal file

Binary file not shown.

BIN
pgdata/base/1/1259_fsm Normal file

Binary file not shown.

BIN
pgdata/base/1/1259_vm Normal file

Binary file not shown.

BIN
pgdata/base/1/13316 Normal file

Binary file not shown.

BIN
pgdata/base/1/13316_fsm Normal file

Binary file not shown.

BIN
pgdata/base/1/13316_vm Normal file

Binary file not shown.

0
pgdata/base/1/13318 Normal file
View File

BIN
pgdata/base/1/13320 Normal file

Binary file not shown.

BIN
pgdata/base/1/13321 Normal file

Binary file not shown.

BIN
pgdata/base/1/13321_fsm Normal file

Binary file not shown.

BIN
pgdata/base/1/13321_vm Normal file

Binary file not shown.

0
pgdata/base/1/13323 Normal file
View File

BIN
pgdata/base/1/13325 Normal file

Binary file not shown.

BIN
pgdata/base/1/13326 Normal file

Binary file not shown.

BIN
pgdata/base/1/13326_fsm Normal file

Binary file not shown.

BIN
pgdata/base/1/13326_vm Normal file

Binary file not shown.

0
pgdata/base/1/13328 Normal file
View File

BIN
pgdata/base/1/13330 Normal file

Binary file not shown.

BIN
pgdata/base/1/13331 Normal file

Binary file not shown.

BIN
pgdata/base/1/13331_fsm Normal file

Binary file not shown.

BIN
pgdata/base/1/13331_vm Normal file

Binary file not shown.

0
pgdata/base/1/13333 Normal file
View File

BIN
pgdata/base/1/13335 Normal file

Binary file not shown.

BIN
pgdata/base/1/13336 Normal file

Binary file not shown.

BIN
pgdata/base/1/13336_fsm Normal file

Binary file not shown.

BIN
pgdata/base/1/13336_vm Normal file

Binary file not shown.

0
pgdata/base/1/13338 Normal file
View File

BIN
pgdata/base/1/13340 Normal file

Binary file not shown.

BIN
pgdata/base/1/13341 Normal file

Binary file not shown.

BIN
pgdata/base/1/13341_fsm Normal file

Binary file not shown.

BIN
pgdata/base/1/13341_vm Normal file

Binary file not shown.

0
pgdata/base/1/13343 Normal file
View File

BIN
pgdata/base/1/13345 Normal file

Binary file not shown.

0
pgdata/base/1/13346 Normal file
View File

0
pgdata/base/1/13348 Normal file
View File

BIN
pgdata/base/1/13350 Normal file

Binary file not shown.

0
pgdata/base/1/1417 Normal file
View File

0
pgdata/base/1/1418 Normal file
View File

BIN
pgdata/base/1/174 Normal file

Binary file not shown.

BIN
pgdata/base/1/175 Normal file

Binary file not shown.

BIN
pgdata/base/1/2187 Normal file

Binary file not shown.

0
pgdata/base/1/2224 Normal file
View File

0
pgdata/base/1/2328 Normal file
View File

0
pgdata/base/1/2336 Normal file
View File

BIN
pgdata/base/1/2337 Normal file

Binary file not shown.

BIN
pgdata/base/1/2579 Normal file

Binary file not shown.

BIN
pgdata/base/1/2600 Normal file

Binary file not shown.

BIN
pgdata/base/1/2600_fsm Normal file

Binary file not shown.

BIN
pgdata/base/1/2600_vm Normal file

Binary file not shown.

BIN
pgdata/base/1/2601 Normal file

Binary file not shown.

BIN
pgdata/base/1/2601_fsm Normal file

Binary file not shown.

BIN
pgdata/base/1/2601_vm Normal file

Binary file not shown.

BIN
pgdata/base/1/2602 Normal file

Binary file not shown.

BIN
pgdata/base/1/2602_fsm Normal file

Binary file not shown.

BIN
pgdata/base/1/2602_vm Normal file

Binary file not shown.

BIN
pgdata/base/1/2603 Normal file

Binary file not shown.

BIN
pgdata/base/1/2603_fsm Normal file

Binary file not shown.

BIN
pgdata/base/1/2603_vm Normal file

Binary file not shown.

0
pgdata/base/1/2604 Normal file
View File

BIN
pgdata/base/1/2605 Normal file

Binary file not shown.

BIN
pgdata/base/1/2605_fsm Normal file

Binary file not shown.

BIN
pgdata/base/1/2605_vm Normal file

Binary file not shown.

BIN
pgdata/base/1/2606 Normal file

Binary file not shown.

BIN
pgdata/base/1/2606_fsm Normal file

Binary file not shown.

BIN
pgdata/base/1/2606_vm Normal file

Binary file not shown.

BIN
pgdata/base/1/2607 Normal file

Binary file not shown.

BIN
pgdata/base/1/2607_fsm Normal file

Binary file not shown.

BIN
pgdata/base/1/2607_vm Normal file

Binary file not shown.

BIN
pgdata/base/1/2608 Normal file

Binary file not shown.

BIN
pgdata/base/1/2608_fsm Normal file

Binary file not shown.

BIN
pgdata/base/1/2608_vm Normal file

Binary file not shown.

BIN
pgdata/base/1/2609 Normal file

Binary file not shown.

BIN
pgdata/base/1/2609_fsm Normal file

Binary file not shown.

BIN
pgdata/base/1/2609_vm Normal file

Binary file not shown.

BIN
pgdata/base/1/2610 Normal file

Binary file not shown.

BIN
pgdata/base/1/2610_fsm Normal file

Binary file not shown.

BIN
pgdata/base/1/2610_vm Normal file

Binary file not shown.

0
pgdata/base/1/2611 Normal file
View File

BIN
pgdata/base/1/2612 Normal file

Binary file not shown.

BIN
pgdata/base/1/2612_fsm Normal file

Binary file not shown.

BIN
pgdata/base/1/2612_vm Normal file

Binary file not shown.

0
pgdata/base/1/2613 Normal file
View File

BIN
pgdata/base/1/2615 Normal file

Binary file not shown.

BIN
pgdata/base/1/2615_fsm Normal file

Binary file not shown.

BIN
pgdata/base/1/2615_vm Normal file

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More