@@ -120,7 +120,7 @@ export class DatabasePermissionStorage implements IPermissionStorage {
120120 } ) ;
121121 const row = Array . isArray ( rows ) ? rows [ 0 ] : undefined ;
122122 if ( ! row ) return undefined ;
123- return JSON . parse ( row . config ) as PermissionConfig ;
123+ return JSON . parse ( ( row as Record < string , unknown > ) . config as string ) as PermissionConfig ;
124124 } catch {
125125 return undefined ;
126126 }
@@ -134,8 +134,9 @@ export class DatabasePermissionStorage implements IPermissionStorage {
134134 const items = Array . isArray ( rows ) ? rows : [ ] ;
135135 for ( const row of items ) {
136136 try {
137- const config = JSON . parse ( row . config ) as PermissionConfig ;
138- result . set ( row . object_name , config ) ;
137+ const rowData = row as Record < string , unknown > ;
138+ const config = JSON . parse ( rowData . config as string ) as PermissionConfig ;
139+ result . set ( rowData . object_name as string , config ) ;
139140 } catch {
140141 // Skip rows with corrupt JSON
141142 }
@@ -154,8 +155,9 @@ export class DatabasePermissionStorage implements IPermissionStorage {
154155 // Create a shallow copy to avoid issues when deleting during iteration
155156 const items = Array . isArray ( rows ) ? [ ...rows ] : [ ] ;
156157 for ( const row of items ) {
157- if ( row . _id || row . id || row . object_name ) {
158- await driver . delete ( this . tableName , row . _id ?? row . id ?? row . object_name , { } ) ;
158+ const rowData = row as Record < string , unknown > ;
159+ if ( rowData . _id || rowData . id || rowData . object_name ) {
160+ await driver . delete ( this . tableName , ( rowData . _id ?? rowData . id ?? rowData . object_name ) as string | number , { } ) ;
159161 }
160162 }
161163 } catch {
@@ -187,8 +189,9 @@ export class DatabasePermissionStorage implements IPermissionStorage {
187189 } ) ;
188190 const row = Array . isArray ( rows ) ? rows [ 0 ] : undefined ;
189191 if ( row ) {
190- const id = row . _id ?? row . id ?? row . object_name ;
191- await driver . update ( this . tableName , id , {
192+ const rowData = row as Record < string , unknown > ;
193+ const id = rowData . _id ?? rowData . id ?? rowData . object_name ;
194+ await driver . update ( this . tableName , id as string | number , {
192195 config : JSON . stringify ( config ) ,
193196 updated_at : new Date ( ) . toISOString ( ) ,
194197 } , { } ) ;
@@ -214,8 +217,9 @@ export class DatabasePermissionStorage implements IPermissionStorage {
214217 } ) ;
215218 const row = Array . isArray ( rows ) ? rows [ 0 ] : undefined ;
216219 if ( row ) {
217- const id = row . _id ?? row . id ?? row . object_name ;
218- await driver . delete ( this . tableName , id , { } ) ;
220+ const rowData = row as Record < string , unknown > ;
221+ const id = rowData . _id ?? rowData . id ?? rowData . object_name ;
222+ await driver . delete ( this . tableName , id as string | number , { } ) ;
219223 }
220224 } catch {
221225 // Row may not exist
0 commit comments