From e633b5bcad9db6ac080ba40c6ef5d33fb9d459bb Mon Sep 17 00:00:00 2001
From: Maksym Pipkun
Date: Thu, 12 Jun 2025 14:16:46 +0300
Subject: [PATCH 1/3] feat: add admin user cleanup warning
---
adminforth/modules/restApi.ts | 7 +++++--
adminforth/spa/src/App.vue | 25 ++++++++++++++++++++++---
adminforth/types/Back.ts | 8 ++++++++
adminforth/types/Common.ts | 2 ++
dev-demo/index.ts | 16 ++++++++++++++++
dev-demo/resources/users.ts | 2 +-
6 files changed, 54 insertions(+), 6 deletions(-)
diff --git a/adminforth/modules/restApi.ts b/adminforth/modules/restApi.ts
index 499ee606..577712ab 100644
--- a/adminforth/modules/restApi.ts
+++ b/adminforth/modules/restApi.ts
@@ -250,7 +250,7 @@ export default class AdminForthRestAPI implements IAdminForthRestAPI {
const usernameColumn = userResource.columns.find((col) => col.name === usernameField);
const userPk = dbUser[userResource.columns.find((col) => col.primaryKey).name];
-
+ const adminforthUserExists = await this.adminforth.config.auth.adminforthUserExists?.();
const userData = {
[this.adminforth.config.auth.usernameField]: username,
[this.adminforth.config.auth.userFullNameField]: userFullName,
@@ -291,7 +291,8 @@ export default class AdminForthRestAPI implements IAdminForthRestAPI {
}
const announcementBadge: AnnouncementBadgeResponse = this.adminforth.config.customization.announcementBadge?.(adminUser);
-
+ const adminforthUserCleanupWarning: AnnouncementBadgeResponse = this.adminforth.config.customization.adminforthUserCleanupWarning?.(adminUser);
+
const publicPart = {
brandName: this.adminforth.config.customization.brandName,
usernameFieldName: usernameColumn.label,
@@ -314,6 +315,8 @@ export default class AdminForthRestAPI implements IAdminForthRestAPI {
title: this.adminforth.config.customization.title,
emptyFieldPlaceholder: this.adminforth.config.customization.emptyFieldPlaceholder,
announcementBadge,
+ adminforthUserCleanupWarning,
+ adminforthUserExists,
globalInjections: this.adminforth.config.customization.globalInjections,
userFullnameField: this.adminforth.config.auth.userFullNameField,
}
diff --git a/adminforth/spa/src/App.vue b/adminforth/spa/src/App.vue
index 2a42eec6..02b46218 100644
--- a/adminforth/spa/src/App.vue
+++ b/adminforth/spa/src/App.vue
@@ -165,7 +165,21 @@
-
+
+
+
+
+ {{adminforthUserCleanupWarning.title}}
+
+
+
+
+
+ {{ adminforthUserCleanupWarning.text }}
+
+