@@ -5,35 +5,33 @@ import { buildDAOsTableSettingsDs } from '@rocketadmin/shared-code/dist/src/help
55import AbstractUseCase from '../../../common/abstract-use.case.js' ;
66import { IGlobalDatabaseContext } from '../../../common/application/global-database-context.interface.js' ;
77import { BaseType } from '../../../common/data-injection.tokens.js' ;
8- import {
9- AmplitudeEventTypeEnum ,
10- LogOperationTypeEnum ,
11- OperationResultStatusEnum ,
12- } from '../../../enums/index.js' ;
8+ import { AmplitudeEventTypeEnum , LogOperationTypeEnum , OperationResultStatusEnum } from '../../../enums/index.js' ;
139import { TableActionEventEnum } from '../../../enums/table-action-event-enum.js' ;
1410import { Messages } from '../../../exceptions/text/messages.js' ;
1511import { isObjectEmpty , toPrettyErrorsMsg } from '../../../helpers/index.js' ;
1612import { AmplitudeService } from '../../amplitude/amplitude.service.js' ;
13+ import { CedarPermissionsService } from '../../cedar-authorization/cedar-permissions.service.js' ;
1714import { isTestConnectionUtil } from '../../connection/utils/is-test-connection-util.js' ;
1815import { TableActionActivationService } from '../../table-actions/table-actions-module/table-action-activation.service.js' ;
1916import { TableLogsService } from '../../table-logs/table-logs.service.js' ;
2017import { AddRowInTableDs } from '../application/data-structures/add-row-in-table.ds.js' ;
2118import { ReferencedTableNamesAndColumnsDs , TableRowRODs } from '../table-datastructures.js' ;
22- import { convertBinaryDataInRowUtil } from '../utils/convert-binary-data-in-row.util.js' ;
19+ import { attachForeignColumnNames } from '../utils/attach-foreign-column-names.util.js' ;
20+ import { buildTableSettingsForResponse } from '../utils/build-table-settings-for-response.util.js' ;
2321import { convertHexDataInRowUtil } from '../utils/convert-hex-data-in-row.util.js' ;
22+ import { extractForeignKeysFromWidgets } from '../utils/extract-foreign-keys-from-widgets.util.js' ;
23+ import { filterForeignKeysByReadPermission } from '../utils/filter-foreign-keys-by-permission.util.js' ;
2424import { formFullTableStructure } from '../utils/form-full-table-structure.js' ;
2525import { hashPasswordsInRowUtil } from '../utils/hash-passwords-in-row.util.js' ;
26+ import {
27+ enrichReferencedTablesWithDisplayNames ,
28+ filterReferencedTablesByPermission ,
29+ } from '../utils/process-referenced-tables.util.js' ;
2630import { processUuidsInRowUtil } from '../utils/process-uuids-in-row-util.js' ;
2731import { removePasswordsFromRowsUtil } from '../utils/remove-password-from-row.util.js' ;
32+ import { getUserEmailForAgent , validateConnection } from '../utils/validate-connection.util.js' ;
2833import { validateTableRowUtil } from '../utils/validate-table-row.util.js' ;
29- import { CedarPermissionsService } from '../../cedar-authorization/cedar-permissions.service.js' ;
3034import { IAddRowInTable } from './table-use-cases.interface.js' ;
31- import { validateConnection , getUserEmailForAgent } from '../utils/validate-connection.util.js' ;
32- import { extractForeignKeysFromWidgets } from '../utils/extract-foreign-keys-from-widgets.util.js' ;
33- import { filterForeignKeysByReadPermission } from '../utils/filter-foreign-keys-by-permission.util.js' ;
34- import { attachForeignColumnNames } from '../utils/attach-foreign-column-names.util.js' ;
35- import { filterReferencedTablesByPermission , enrichReferencedTablesWithDisplayNames } from '../utils/process-referenced-tables.util.js' ;
36- import { buildTableSettingsForResponse } from '../utils/build-table-settings-for-response.util.js' ;
3735
3836@Injectable ( )
3937export class AddRowInTableUseCase extends AbstractUseCase < AddRowInTableDs , TableRowRODs > implements IAddRowInTable {
@@ -98,7 +96,13 @@ export class AddRowInTableUseCase extends AbstractUseCase<AddRowInTableDs, Table
9896 dao . getReferencedTableNamesAndColumns ( tableName , userEmail ) ,
9997 ] ) ;
10098
101- await filterReferencedTablesByPermission ( referencedTableNamesAndColumns , userId , connectionId , masterPwd , this . cedarPermissions ) ;
99+ await filterReferencedTablesByPermission (
100+ referencedTableNamesAndColumns ,
101+ userId ,
102+ connectionId ,
103+ masterPwd ,
104+ this . cedarPermissions ,
105+ ) ;
102106 const referencedTableNamesAndColumnsWithTablesDisplayNames = await enrichReferencedTablesWithDisplayNames (
103107 referencedTableNamesAndColumns ,
104108 connectionId ,
@@ -121,14 +125,21 @@ export class AddRowInTableUseCase extends AbstractUseCase<AddRowInTableDs, Table
121125 let foreignKeysWithAutocompleteColumns : Array < ForeignKeyWithAutocompleteColumnsDS > = [ ] ;
122126
123127 foreignKeysWithKeysFromWidgets = await filterForeignKeysByReadPermission (
124- foreignKeysWithKeysFromWidgets , userId , connectionId , masterPwd , this . cedarPermissions ,
128+ foreignKeysWithKeysFromWidgets ,
129+ userId ,
130+ connectionId ,
131+ masterPwd ,
132+ this . cedarPermissions ,
125133 ) ;
126134
127135 if ( foreignKeysWithKeysFromWidgets ?. length > 0 ) {
128136 foreignKeysWithAutocompleteColumns = await Promise . all (
129137 foreignKeysWithKeysFromWidgets . map ( ( el ) =>
130138 attachForeignColumnNames (
131- el , userEmail , connectionId , dao ,
139+ el ,
140+ userEmail ,
141+ connectionId ,
142+ dao ,
132143 this . _dbContext . tableSettingsRepository . findTableSettings . bind ( this . _dbContext . tableSettingsRepository ) ,
133144 ) . catch ( ( ) => el as ForeignKeyWithAutocompleteColumnsDS ) ,
134145 ) ,
@@ -158,7 +169,6 @@ export class AddRowInTableUseCase extends AbstractUseCase<AddRowInTableDs, Table
158169 operationResult = OperationResultStatusEnum . successfully ;
159170 addedRow = await dao . getRowByPrimaryKey ( tableName , addedRowPrimaryKey , builtDAOsTableSettings , userEmail ) ;
160171 addedRow = removePasswordsFromRowsUtil ( addedRow , tableWidgets ) ;
161- addedRow = convertBinaryDataInRowUtil ( addedRow , tableStructure ) ;
162172 return {
163173 row : addedRow ,
164174 foreignKeys : foreignKeysWithAutocompleteColumns ,
0 commit comments