@@ -7,7 +7,7 @@ import type {
77import dayjs from 'dayjs'
88import utc from 'dayjs/plugin/utc.js' ;
99
10- import { AdminForthPlugin , AllowedActionsEnum , AdminForthSortDirections , AdminForthDataTypes , HttpExtra , ActionCheckSource , Filters , } from "adminforth" ;
10+ import { AdminForthPlugin , AllowedActionsEnum , AdminForthSortDirections , AdminForthDataTypes , HttpExtra , ActionCheckSource , Filters , afLogger , } from "adminforth" ;
1111import { PluginOptions } from "./types.js" ;
1212
1313dayjs . extend ( utc ) ;
@@ -222,7 +222,7 @@ export default class AuditLogPlugin extends AdminForthPlugin {
222222 }
223223
224224
225- modifyResourceConfig ( adminforth : IAdminForth , resourceConfig : AdminForthResource ) {
225+ modifyResourceConfig ( adminforth : IAdminForth , resourceConfig : AdminForthResource ) {
226226 super . modifyResourceConfig ( adminforth , resourceConfig ) ;
227227 this . adminforth = adminforth ;
228228 const auditLogResourceData = this . adminforth . config . resources . find ( ( r ) => r . resourceId === resourceConfig . resourceId ) ;
@@ -332,5 +332,23 @@ modifyResourceConfig(adminforth: IAdminForth, resourceConfig: AdminForthResource
332332
333333 } )
334334 columnToModify . enum = existingResources ;
335+
336+ const recordIdColumn = resourceConfig . columns . find ( ( c ) => c . name === this . options . resourceColumns . resourceRecordIdColumnName ) ;
337+ if ( ! recordIdColumn . foreignResource ) {
338+ for ( const resource of existingResources ) {
339+ if ( ! recordIdColumn . foreignResource ?. polymorphicResources ) {
340+ recordIdColumn . foreignResource = {
341+ polymorphicResources : [ ] ,
342+ polymorphicOn : this . options . resourceColumns . resourceIdColumnName
343+ } ;
344+ }
345+ recordIdColumn . foreignResource . polymorphicResources . push ( {
346+ resourceId : resource . value ,
347+ whenValue : resource . value
348+ } ) ;
349+ }
350+ } else {
351+ afLogger . warn ( `AuditLogPlugin: Record Id column already has foreignResource. We recomend to remove it, so we can setup it to connect audit log resource with logged resource.` ) ;
352+ }
335353 }
336354}
0 commit comments