diff --git a/.gitignore b/.gitignore
index 93c7f25..18efc38 100644
--- a/.gitignore
+++ b/.gitignore
@@ -42,6 +42,8 @@ next-env.d.ts
/media
+/postgres-data
+
# Playwright
node_modules/
/test-results/
diff --git a/docker-compose.yml b/docker-compose.yml
index 19b4de3..41bf3b6 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -26,7 +26,7 @@ services:
env_file:
- .env
volumes:
- - data:/data/db
+ - ./postgres-data:/var/lib/postgresql/data
volumes:
data:
diff --git a/src/app/(frontend)/page.tsx b/src/app/(frontend)/page.tsx
index bebe23a..de615ae 100644
--- a/src/app/(frontend)/page.tsx
+++ b/src/app/(frontend)/page.tsx
@@ -32,10 +32,16 @@ export default async function HomePage() {
return (
-
-
{page.title}
- {page.richText && (
-
+
+ {page && (
+
+
{page.title}
+
+ {page.richText && (
+
+ )}
+
+
)}
diff --git a/src/collections/Users.ts b/src/collections/Users.ts
index 2619093..52db9b4 100644
--- a/src/collections/Users.ts
+++ b/src/collections/Users.ts
@@ -7,14 +7,42 @@ export const Users: CollectionConfig = {
return Boolean(user?.role === "superAdmin")
},
update: ({ req: { user } }) => {
- return Boolean(user?.role === "superAdmin" || user?.role === "admin")
+ if (user?.role === "superAdmin" || user?.role === "admin") {
+ return true
+ }
+
+ if (user) {
+ return {
+ email: {
+ equals: user.email
+ }
+ }
+ }
+
+ return false
},
- delete: ({ req: { user }, data }) => {
+ delete: ({ req: { user } }) => {
return Boolean(user?.role === "superAdmin")
},
+ read: ({ req: { user } }) => {
+ if (user?.role === "superAdmin" || user?.role === "admin") {
+ return true
+ }
+
+ if (user) {
+ return {
+ email: {
+ equals: user.email
+ }
+ }
+ }
+
+ return false
+ },
},
admin: {
useAsTitle: 'email',
+ defaultColumns: ['email', 'name', 'role']
},
auth: true,
fields: [
@@ -29,7 +57,16 @@ export const Users: CollectionConfig = {
{ label: 'User', value: 'user' },
],
required: true,
- defaultValue: 'user'
- }
+ defaultValue: 'user',
+ access: {
+ update: ({ req: { user } }) => {
+ return Boolean(user?.role === "superAdmin")
+ },
+ }
+ },
+ {
+ name: 'name',
+ type: 'text'
+ },
],
}
diff --git a/src/payload-types.ts b/src/payload-types.ts
index 825fbb8..90c8353 100644
--- a/src/payload-types.ts
+++ b/src/payload-types.ts
@@ -122,6 +122,7 @@ export interface UserAuthOperations {
export interface User {
id: number;
role: 'superAdmin' | 'admin' | 'user';
+ name?: string | null;
updatedAt: string;
createdAt: string;
email: string;
@@ -251,6 +252,7 @@ export interface PayloadMigration {
*/
export interface UsersSelect {
role?: T;
+ name?: T;
updatedAt?: T;
createdAt?: T;
email?: T;