Skip to content

Commit 3fe0802

Browse files
committed
fix: remove all deprecated params
1 parent 9b9b93f commit 3fe0802

31 files changed

Lines changed: 176 additions & 608 deletions

‎adminforth/auth.ts‎

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -128,17 +128,10 @@ class AdminForthAuth implements IAdminForthAuth {
128128
}
129129

130130
setCustomCookie({ response, payload }: {
131-
response: any, payload: { name: string, value: string, expiry?: number | undefined, expirySeconds: number | undefined, httpOnly: boolean, sessionBased?: boolean | undefined }
131+
response: any, payload: { name: string, value: string, expirySeconds?: number, httpOnly: boolean, sessionBased?: boolean }
132132
}) {
133-
const {name, value, expiry, httpOnly, expirySeconds, sessionBased } = payload;
134-
135-
let expiryMs = 24 * 60 * 60 * 1000; // default 1 day
136-
if (expirySeconds !== undefined) {
137-
expiryMs = expirySeconds * 1000;
138-
} else if (expiry !== undefined) {
139-
afLogger.warn(`setCustomCookie: expiry(in ms) is deprecated, use expirySeconds instead (seconds), traceback: ${new Error().stack}`);
140-
expiryMs = expiry;
141-
}
133+
const { name, value, httpOnly, expirySeconds = 24 * 60 * 60, sessionBased } = payload; // default 1 day
134+
const expiryMs = expirySeconds * 1000;
142135
const brandSlug = this.adminforth.config.customization.brandNameSlug;
143136
response.setHeader('Set-Cookie',
144137
`adminforth_${brandSlug}_${name}=${value}; Path=${this.adminforth.config.baseUrl || '/'};${
@@ -171,7 +164,6 @@ class AdminForthAuth implements IAdminForthAuth {
171164
for (const hook of listify(adminUserAuthorize)) {
172165
const resp = await hook({
173166
adminUser,
174-
response,
175167
adminforth: this.adminforth,
176168
extra,
177169
});

‎adminforth/dataConnectors/baseConnector.ts‎

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -59,14 +59,6 @@ export default class AdminForthBaseConnector implements IAdminForthDataSourceCon
5959

6060
client: any;
6161

62-
/**
63-
* @deprecated Since 1.2.9. Will be removed in 4.0.0. Use .client instead.
64-
*/
65-
get db() {
66-
afLogger.warn('.db is deprecated, use .client instead');
67-
return this.client;
68-
}
69-
7062
setupClient(url: string, options?: { recovery?: boolean }): Promise<void> {
7163
throw new Error('Method not implemented.');
7264
}

‎adminforth/index.ts‎

Lines changed: 29 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import CodeInjector from './modules/codeInjector.js';
44
import ExpressServer from './servers/express.js';
55
import OpenApiRegistry from './servers/openapi.js';
66
// import FastifyServer from './servers/fastify.js';
7-
import { ADMINFORTH_VERSION, listify, suggestIfTypo, RateLimiter, RAMLock, getClientIp, isProbablyUUIDColumn, convertPeriodToSeconds, hookResponseError, md5hash, applyRegexValidation, formatHugePluginError } from './modules/utils.js';
7+
import { ADMINFORTH_VERSION, listify, suggestIfTypo, RateLimiter, RAMLock, isProbablyUUIDColumn, convertPeriodToSeconds, hookResponseError, md5hash, applyRegexValidation, formatHugePluginError } from './modules/utils.js';
88
import {
99
type AdminForthConfig,
1010
type IAdminForth,
@@ -57,7 +57,7 @@ export * from './modules/requestContext.js';
5757
export * from './modules/utils.js';
5858
export { interpretResource, rejectApiRawFilters };
5959
export { AdminForthPlugin };
60-
export { suggestIfTypo, RateLimiter, RAMLock, getClientIp, convertPeriodToSeconds };
60+
export { suggestIfTypo, RateLimiter, RAMLock, convertPeriodToSeconds };
6161
export { default as AdminForthBaseConnector } from './dataConnectors/baseConnector.js';
6262
export {
6363
COMPOSITE_RECORD_ID_SEPARATOR,
@@ -798,7 +798,7 @@ class AdminForth implements IAdminForth {
798798
async createResourceRecord(
799799
params: CreateResourceRecordParams,
800800
): Promise<CreateResourceRecordResult> {
801-
const { resource, record, adminUser, extra, response } = params;
801+
const { resource, record, adminUser, extra } = params;
802802

803803
normalizeRecordValues(resource, record);
804804

@@ -817,24 +817,19 @@ class AdminForth implements IAdminForth {
817817
record,
818818
adminUser,
819819
adminforth: this,
820-
response,
821820
extra,
822821
});
823-
if (resp.newRecordId) {
824-
afLogger.warn(`Deprecation warning: beforeSave hook returned 'newRecordId'. Since AdminForth v1.2.9 use 'redirectToRecordId' instead. 'newRecordId' will be removed in v2.0.0`);
825-
}
826-
if (!resp || (typeof resp.ok !== 'boolean' && (!resp.error && !resp.newRecordId && !resp.redirectToRecordId))) {
822+
if (!resp || (typeof resp.ok !== 'boolean' && (!resp.error && !resp.redirectToRecordId))) {
827823
throw new Error(
828-
`Invalid return value from beforeSave hook. Expected: { ok: boolean, error?: string | null, newRecordId?: any, redirectToRecordId?: any }.\n` +
829-
`Note: Return { ok: false, error: null, redirectToRecordId } (preferred) or { ok: false, error: null, newRecordId } (deprecated) to stop creation and redirect to an existing record.`
824+
`Invalid return value from beforeSave hook. Expected: { ok: boolean, error?: string | null, redirectToRecordId?: any }.\n` +
825+
`Note: Return { ok: false, error: null, redirectToRecordId } to stop creation and redirect to an existing record.`
830826
);
831827
}
832828
if (resp.ok === false && !resp.error) {
833-
const { error, ok, newRecordId, redirectToRecordId } = resp;
829+
const { error, redirectToRecordId } = resp;
834830
return {
835831
error: error ?? 'Operation aborted by hook',
836-
newRecordId: redirectToRecordId ? redirectToRecordId : newRecordId,
837-
redirectToRecordId: redirectToRecordId
832+
redirectToRecordId,
838833
};
839834
}
840835
if (resp.error) {
@@ -869,7 +864,6 @@ class AdminForth implements IAdminForth {
869864
adminUser,
870865
adminforth: this,
871866
recordWithVirtualColumns,
872-
response,
873867
extra,
874868
});
875869

@@ -892,35 +886,28 @@ class AdminForth implements IAdminForth {
892886
async updateResourceRecord(
893887
params: UpdateResourceRecordParams,
894888
): Promise<UpdateResourceRecordResult> {
895-
const { resource, recordId, record, oldRecord, adminUser, response, extra, updates } = params;
896-
const dataToUse = updates || record;
897-
normalizeRecordValues(resource, dataToUse);
898-
const err = this.validateRecordValues(resource, dataToUse, 'edit');
889+
const { resource, recordId, oldRecord, adminUser, extra, updates } = params;
890+
normalizeRecordValues(resource, updates);
891+
const err = this.validateRecordValues(resource, updates, 'edit');
899892
if (err) {
900893
return { error: err };
901894
}
902895

903-
if (record) {
904-
afLogger.warn(`updateResourceRecord function received 'record' param which is deprecated and will be removed in future version, please use 'updates' instead.`);
905-
}
906-
907896
// remove editReadonly columns from record
908897
for (const column of resource.columns.filter((col) => col.editReadonly)) {
909-
if (column.name in dataToUse)
910-
delete dataToUse[column.name];
898+
if (column.name in updates)
899+
delete updates[column.name];
911900
}
912901

913902
// execute hook if needed
914903
for (const hook of listify(resource.hooks?.edit?.beforeSave)) {
915904
const resp = await hook({
916905
recordId,
917906
resource,
918-
record: dataToUse,
919-
updates: dataToUse,
907+
updates,
920908
oldRecord,
921909
adminUser,
922910
adminforth: this,
923-
response,
924911
extra,
925912
});
926913
const hookRespError = hookResponseError(resp);
@@ -932,16 +919,16 @@ class AdminForth implements IAdminForth {
932919
const newValues = {};
933920
const connector = this.connectors[resource.dataSource];
934921

935-
for (const recordField in dataToUse) {
936-
if (dataToUse[recordField] !== oldRecord[recordField]) {
922+
for (const recordField in updates) {
923+
if (updates[recordField] !== oldRecord[recordField]) {
937924
// leave only changed fields to reduce data transfer/modifications in db
938925
const column = resource.columns.find((col) => col.name === recordField);
939926
if (!column || !column.virtual) {
940927
// exclude virtual columns
941-
newValues[recordField] = dataToUse[recordField];
928+
newValues[recordField] = updates[recordField];
942929
}
943930
}
944-
}
931+
}
945932

946933
if (Object.keys(newValues).length > 0) {
947934
const { error } = await connector.updateRecord({ resource, recordId, newValues });
@@ -952,15 +939,13 @@ class AdminForth implements IAdminForth {
952939

953940
// execute hook if needed
954941
for (const hook of listify(resource.hooks?.edit?.afterSave)) {
955-
const resp = await hook({
956-
resource,
957-
record: dataToUse,
958-
updates: dataToUse,
959-
adminUser,
942+
const resp = await hook({
943+
resource,
944+
updates,
945+
adminUser,
960946
oldRecord,
961947
recordId,
962948
adminforth: this,
963-
response,
964949
extra,
965950
});
966951
const hookRespError = hookResponseError(resp);
@@ -980,16 +965,15 @@ class AdminForth implements IAdminForth {
980965
async deleteResourceRecord(
981966
params: DeleteResourceRecordParams,
982967
): Promise<DeleteResourceRecordResult> {
983-
const { resource, recordId, adminUser, record, response, extra } = params;
968+
const { resource, recordId, adminUser, record, extra } = params;
984969
// execute hook if needed
985970
for (const hook of listify(resource.hooks?.delete?.beforeSave)) {
986-
const resp = await hook({
987-
resource,
988-
record,
971+
const resp = await hook({
972+
resource,
973+
record,
989974
adminUser,
990975
recordId,
991976
adminforth: this,
992-
response,
993977
extra,
994978
});
995979
const hookRespError = hookResponseError(resp);
@@ -1003,13 +987,12 @@ class AdminForth implements IAdminForth {
1003987

1004988
// execute hook if needed
1005989
for (const hook of listify(resource.hooks?.delete?.afterSave)) {
1006-
const resp = await hook({
1007-
resource,
1008-
record,
990+
const resp = await hook({
991+
resource,
992+
record,
1009993
adminUser,
1010994
recordId,
1011995
adminforth: this,
1012-
response,
1013996
extra,
1014997
});
1015998
const hookRespError = hookResponseError(resp);

‎adminforth/modules/codeInjector.ts‎

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -669,12 +669,6 @@ class CodeInjector implements ICodeInjector {
669669
process.env.HEAVY_DEBUG && console.log(`🪲⚙️ copyFileAtomic copy single file, ${src}, ${dest}`);
670670
}));
671671
}
672-
async migrateLegacyCustomLayout(oldMeta) {
673-
if (oldMeta.customLayout === true) {
674-
oldMeta.sidebarAndHeader = "none";
675-
}
676-
return oldMeta;
677-
}
678672
async prepareSources(): Promise<SpaDependencies> {
679673
// collects all files and folders into SPA_TMP_DIR
680674

@@ -751,15 +745,14 @@ class CodeInjector implements ICodeInjector {
751745
};
752746
const registerCustomPages = (config) => {
753747
if (config.customization.customPages) {
754-
config.customization.customPages.forEach(async (page) => {
755-
const newMeta = await this.migrateLegacyCustomLayout(page?.component?.meta || {});
748+
config.customization.customPages.forEach((page) => {
756749
routes += `{
757750
path: '${page.path}',
758751
name: '${page.path}',
759752
component: () => import('${page?.component?.file || page.component}'),
760753
meta: ${
761754
JSON.stringify({
762-
...newMeta,
755+
...page?.component?.meta,
763756
title: page.meta?.title || page.path.replace('/', '')
764757
})
765758
}

0 commit comments

Comments
 (0)