Merge pull request 'version upgrades' (#4) from feat/version-upgrades into main
Reviewed-on: #4
This commit was merged in pull request #4.
This commit is contained in:
commit
ef3098bb48
10 files changed
+3331
-1264
No files matched your search
@@ -1,4 +1,5 @@
|
|||||||
# App Configuration
|
# App Configuration
|
||||||
|
DATABASE_URL=postgres://postgres:postgres@localhost:5432/portfolio-dev
|
||||||
PAYLOAD_SECRET=123ABC
|
PAYLOAD_SECRET=123ABC
|
||||||
|
|
||||||
# S3 Configuration
|
# S3 Configuration
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
# App Configuration
|
|
||||||
DATABASE_URL=postgres://<user>:<password>@<host>:5432/<database>
|
|
||||||
PAYLOAD_SECRET=123ABC
|
|
||||||
+14
-1
@@ -1,5 +1,17 @@
|
|||||||
services:
|
services:
|
||||||
|
|
||||||
|
db:
|
||||||
|
image: postgres:18
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=postgres
|
||||||
|
- POSTGRES_PASSWORD=postgres
|
||||||
|
- POSTGRES_DB=portfolio-dev
|
||||||
|
ports:
|
||||||
|
- "5432:5432"
|
||||||
|
volumes:
|
||||||
|
- portfolio_db_data:/var/lib/postgresql
|
||||||
|
|
||||||
s3:
|
s3:
|
||||||
image: ghcr.io/achtungsoftware/alarik:latest
|
image: ghcr.io/achtungsoftware/alarik:latest
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
@@ -46,4 +58,5 @@ services:
|
|||||||
"
|
"
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
portfolio_s3_data:
|
portfolio_s3_data:
|
||||||
|
portfolio_db_data:
|
||||||
+20
-20
@@ -12,31 +12,31 @@
|
|||||||
"payload:migrate:create": "payload migrate:create"
|
"payload:migrate:create": "payload migrate:create"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@payloadcms/db-postgres": "^3.71.1",
|
"@payloadcms/db-postgres": "^3.90.2",
|
||||||
"@payloadcms/next": "^3.71.1",
|
"@payloadcms/next": "^3.90.2",
|
||||||
"@payloadcms/richtext-lexical": "^3.71.1",
|
"@payloadcms/richtext-lexical": "^3.90.2",
|
||||||
"@payloadcms/storage-s3": "^3.71.1",
|
"@payloadcms/storage-s3": "^3.90.2",
|
||||||
"@payloadcms/ui": "^3.71.1",
|
"@payloadcms/ui": "^3.90.2",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"graphql": "^16.11.0",
|
"graphql": "^16.14.2",
|
||||||
"lucide-react": "^0.541.0",
|
"lucide-react": "^0.541.0",
|
||||||
"next": "16.1.2",
|
"next": "16.3.8",
|
||||||
"payload": "^3.71.1",
|
"payload": "^3.90.2",
|
||||||
"react": "19.2.3",
|
"react": "19.3.0",
|
||||||
"react-dom": "19.2.3",
|
"react-dom": "19.3.0",
|
||||||
"sharp": "^0.34.3",
|
"sharp": "^0.35.5",
|
||||||
"tailwind-merge": "^3.3.1"
|
"tailwind-merge": "^3.7.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/eslintrc": "^3",
|
"@eslint/eslintrc": "^3.3.7",
|
||||||
"@tailwindcss/postcss": "^4",
|
"@tailwindcss/postcss": "^4.3.3",
|
||||||
"@types/node": "^20",
|
"@types/node": "^20.19.43",
|
||||||
"@types/react": "19.2.8",
|
"@types/react": "19.3.0",
|
||||||
"@types/react-dom": "19.2.3",
|
"@types/react-dom": "19.3.0",
|
||||||
"eslint": "^9",
|
"eslint": "^9.39.5",
|
||||||
"eslint-config-next": "16.1.2",
|
"eslint-config-next": "16.1.2",
|
||||||
"tailwindcss": "^4",
|
"tailwindcss": "^4.3.3",
|
||||||
"typescript": "^5"
|
"typescript": "^5.9.3"
|
||||||
},
|
},
|
||||||
"packageManager": "pnpm@12.8.1+sha512.f64ba907507f5ceafe06c8d38e6052d0179444580ec1279ddd5bfc11cb48aa8a2644b66598e07e761da84872a9fc57d5f902b87fa49d024198d558612aabbe45"
|
"packageManager": "pnpm@12.8.1+sha512.f64ba907507f5ceafe06c8d38e6052d0179444580ec1279ddd5bfc11cb48aa8a2644b66598e07e761da84872a9fc57d5f902b87fa49d024198d558612aabbe45"
|
||||||
}
|
}
|
||||||
Generated
+1747
-1234
File diff suppressed because it is too large.
Load diff
@@ -1,7 +1,8 @@
|
|||||||
|
import { CollectionCards as CollectionCards_f9c02e79a4aed9a3924487c0cd4cafb1 } from '@payloadcms/next/rsc'
|
||||||
import { S3ClientUploadHandler as S3ClientUploadHandler_f97aa6c64367fa259c5bc0567239ef24 } from '@payloadcms/storage-s3/client'
|
import { S3ClientUploadHandler as S3ClientUploadHandler_f97aa6c64367fa259c5bc0567239ef24 } from '@payloadcms/storage-s3/client'
|
||||||
import { CollectionCards as CollectionCards_ab83ff7e88da8d3530831f296ec4756a } from '@payloadcms/ui/rsc'
|
|
||||||
|
|
||||||
|
/** @type import('payload').ImportMap */
|
||||||
export const importMap = {
|
export const importMap = {
|
||||||
"@payloadcms/storage-s3/client#S3ClientUploadHandler": S3ClientUploadHandler_f97aa6c64367fa259c5bc0567239ef24,
|
"@payloadcms/next/rsc#CollectionCards": CollectionCards_f9c02e79a4aed9a3924487c0cd4cafb1,
|
||||||
"@payloadcms/ui/rsc#CollectionCards": CollectionCards_ab83ff7e88da8d3530831f296ec4756a
|
"@payloadcms/storage-s3/client#S3ClientUploadHandler": S3ClientUploadHandler_f97aa6c64367fa259c5bc0567239ef24
|
||||||
}
|
}
|
||||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,13 @@
|
|||||||
|
import { MigrateUpArgs, MigrateDownArgs, sql } from '@payloadcms/db-postgres'
|
||||||
|
|
||||||
|
export async function up({ db, payload, req }: MigrateUpArgs): Promise<void> {
|
||||||
|
await db.execute(sql`
|
||||||
|
ALTER TABLE "users" ADD COLUMN "reset_password_requested_at" timestamp(3) with time zone;
|
||||||
|
ALTER TABLE "media" ADD COLUMN "_objectkey" varchar;`)
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function down({ db, payload, req }: MigrateDownArgs): Promise<void> {
|
||||||
|
await db.execute(sql`
|
||||||
|
ALTER TABLE "users" DROP COLUMN "reset_password_requested_at";
|
||||||
|
ALTER TABLE "media" DROP COLUMN "_objectkey";`)
|
||||||
|
}
|
||||||
@@ -1,9 +1,15 @@
|
|||||||
import * as migration_20260116_050059 from './20260116_050059';
|
import * as migration_20260116_050059 from './20260116_050059';
|
||||||
|
import * as migration_20261002_024400 from './20261002_024400';
|
||||||
|
|
||||||
export const migrations = [
|
export const migrations = [
|
||||||
{
|
{
|
||||||
up: migration_20260116_050059.up,
|
up: migration_20260116_050059.up,
|
||||||
down: migration_20260116_050059.down,
|
down: migration_20260116_050059.down,
|
||||||
name: '20260116_050059'
|
name: '20260116_050059',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
up: migration_20261002_024400.up,
|
||||||
|
down: migration_20261002_024400.down,
|
||||||
|
name: '20261002_024400'
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
+18
-2
@@ -96,9 +96,10 @@ export interface Config {
|
|||||||
home: HomeSelect<false> | HomeSelect<true>;
|
home: HomeSelect<false> | HomeSelect<true>;
|
||||||
};
|
};
|
||||||
locale: null;
|
locale: null;
|
||||||
user: User & {
|
widgets: {
|
||||||
collection: 'users';
|
collections: CollectionsWidget;
|
||||||
};
|
};
|
||||||
|
user: User;
|
||||||
jobs: {
|
jobs: {
|
||||||
tasks: unknown;
|
tasks: unknown;
|
||||||
workflows: unknown;
|
workflows: unknown;
|
||||||
@@ -135,6 +136,7 @@ export interface User {
|
|||||||
resetPasswordExpiration?: string | null;
|
resetPasswordExpiration?: string | null;
|
||||||
salt?: string | null;
|
salt?: string | null;
|
||||||
hash?: string | null;
|
hash?: string | null;
|
||||||
|
resetPasswordRequestedAt?: string | null;
|
||||||
loginAttempts?: number | null;
|
loginAttempts?: number | null;
|
||||||
lockUntil?: string | null;
|
lockUntil?: string | null;
|
||||||
sessions?:
|
sessions?:
|
||||||
@@ -145,6 +147,7 @@ export interface User {
|
|||||||
}[]
|
}[]
|
||||||
| null;
|
| null;
|
||||||
password?: string | null;
|
password?: string | null;
|
||||||
|
collection: 'users';
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* This interface was referenced by `Config`'s JSON-Schema
|
* This interface was referenced by `Config`'s JSON-Schema
|
||||||
@@ -153,6 +156,7 @@ export interface User {
|
|||||||
export interface Media {
|
export interface Media {
|
||||||
id: number;
|
id: number;
|
||||||
alt: string;
|
alt: string;
|
||||||
|
_objectKey?: string | null;
|
||||||
updatedAt: string;
|
updatedAt: string;
|
||||||
createdAt: string;
|
createdAt: string;
|
||||||
url?: string | null;
|
url?: string | null;
|
||||||
@@ -285,6 +289,7 @@ export interface UsersSelect<T extends boolean = true> {
|
|||||||
resetPasswordExpiration?: T;
|
resetPasswordExpiration?: T;
|
||||||
salt?: T;
|
salt?: T;
|
||||||
hash?: T;
|
hash?: T;
|
||||||
|
resetPasswordRequestedAt?: T;
|
||||||
loginAttempts?: T;
|
loginAttempts?: T;
|
||||||
lockUntil?: T;
|
lockUntil?: T;
|
||||||
sessions?:
|
sessions?:
|
||||||
@@ -301,6 +306,7 @@ export interface UsersSelect<T extends boolean = true> {
|
|||||||
*/
|
*/
|
||||||
export interface MediaSelect<T extends boolean = true> {
|
export interface MediaSelect<T extends boolean = true> {
|
||||||
alt?: T;
|
alt?: T;
|
||||||
|
_objectKey?: T;
|
||||||
updatedAt?: T;
|
updatedAt?: T;
|
||||||
createdAt?: T;
|
createdAt?: T;
|
||||||
url?: T;
|
url?: T;
|
||||||
@@ -432,6 +438,16 @@ export interface HomeSelect<T extends boolean = true> {
|
|||||||
createdAt?: T;
|
createdAt?: T;
|
||||||
globalType?: T;
|
globalType?: T;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* This interface was referenced by `Config`'s JSON-Schema
|
||||||
|
* via the `definition` "collections_widget".
|
||||||
|
*/
|
||||||
|
export interface CollectionsWidget {
|
||||||
|
data?: {
|
||||||
|
[k: string]: unknown;
|
||||||
|
};
|
||||||
|
width: 'full';
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* This interface was referenced by `Config`'s JSON-Schema
|
* This interface was referenced by `Config`'s JSON-Schema
|
||||||
* via the `definition` "auth".
|
* via the `definition` "auth".
|
||||||
|
|||||||
Reference in new issue
Block a user