Skip to content

Commit 4cf5dac

Browse files
committed
Enhance table settings handling by adding columns_view and updating settings retrieval in use cases
1 parent e1f8b49 commit 4cf5dac

5 files changed

Lines changed: 55 additions & 34 deletions

File tree

backend/src/entities/table/application/data-structures/found-table-rows.ds.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ export class TableSettingsInRowsDS {
3939

4040
@ApiProperty()
4141
can_add: boolean;
42+
43+
@ApiProperty()
44+
columns_view: string[];
4245
}
4346
export class FoundTableRowsDs {
4447
@ApiProperty({ isArray: true })

backend/src/entities/table/use-cases/add-row-in-table.use.case.ts

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,11 @@ export class AddRowInTableUseCase extends AbstractUseCase<AddRowInTableDs, Table
213213
row = await hashPasswordsInRowUtil(row, tableWidgets);
214214
row = processUuidsInRowUtil(row, tableWidgets);
215215
row = convertHexDataInRowUtil(row, tableStructure);
216+
const allowCsvExport = tableSettings?.allow_csv_export ?? true;
217+
const allowCsvImport = tableSettings?.allow_csv_import ?? true;
218+
const can_delete = tableSettings?.can_delete ?? true;
219+
const can_update = tableSettings?.can_update ?? true;
220+
const can_add = tableSettings?.can_add ?? true;
216221
addedRowPrimaryKey = (await dao.addRowInTable(tableName, row, userEmail)) as Record<string, unknown>;
217222
if (addedRowPrimaryKey && !isObjectEmpty(addedRowPrimaryKey)) {
218223
operationResult = OperationResultStatusEnum.successfully;
@@ -235,16 +240,17 @@ export class AddRowInTableUseCase extends AbstractUseCase<AddRowInTableDs, Table
235240
can_update: tableSettings ? tableSettings.can_update : true,
236241
can_add: tableSettings ? tableSettings.can_add : true,
237242
table_settings: {
238-
sortable_by: tableSettings?.sortable_by?.length > 0 ? tableSettings.sortable_by : [],
239-
ordering: personalTableSettings?.ordering ? personalTableSettings.ordering : undefined,
240-
identity_column: tableSettings?.identity_column ? tableSettings.identity_column : null,
241-
list_fields: personalTableSettings?.list_fields?.length > 0 ? personalTableSettings.list_fields : [],
242-
allow_csv_export: tableSettings ? tableSettings.allow_csv_export : true,
243-
allow_csv_import: tableSettings ? tableSettings.allow_csv_import : true,
244-
can_delete: tableSettings ? tableSettings.can_delete : true,
245-
can_update: tableSettings ? tableSettings.can_update : true,
246-
can_add: tableSettings ? tableSettings.can_add : true,
247-
ordering_field: personalTableSettings?.ordering_field ? personalTableSettings.ordering_field : undefined,
243+
sortable_by: builtDAOsTableSettings?.sortable_by?.length > 0 ? builtDAOsTableSettings.sortable_by : [],
244+
ordering: builtDAOsTableSettings.ordering ? builtDAOsTableSettings.ordering : undefined,
245+
identity_column: builtDAOsTableSettings.identity_column ? builtDAOsTableSettings.identity_column : null,
246+
list_fields: builtDAOsTableSettings?.list_fields?.length > 0 ? builtDAOsTableSettings.list_fields : [],
247+
allow_csv_export: allowCsvExport,
248+
allow_csv_import: allowCsvImport,
249+
can_delete: can_delete,
250+
can_update: can_update,
251+
can_add: can_add,
252+
columns_view: builtDAOsTableSettings?.columns_view ? builtDAOsTableSettings.columns_view : [],
253+
ordering_field: builtDAOsTableSettings.ordering_field ? builtDAOsTableSettings.ordering_field : undefined,
248254
},
249255
};
250256
}

backend/src/entities/table/use-cases/get-row-by-primary-key.use.case.ts

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,11 @@ export class GetRowByPrimaryKeyUseCase
213213
return responseObject;
214214
}),
215215
);
216+
const allowCsvExport = tableSettings?.allow_csv_export ?? true;
217+
const allowCsvImport = tableSettings?.allow_csv_import ?? true;
218+
const can_delete = tableSettings?.can_delete ?? true;
219+
const can_update = tableSettings?.can_update ?? true;
220+
const can_add = tableSettings?.can_add ?? true;
216221
//todo remove unnecessary fields
217222
return {
218223
row: rowData,
@@ -233,16 +238,17 @@ export class GetRowByPrimaryKeyUseCase
233238
can_update: tableSettings ? tableSettings.can_update : true,
234239
can_add: tableSettings ? tableSettings.can_add : true,
235240
table_settings: {
236-
sortable_by: tableSettings?.sortable_by?.length > 0 ? tableSettings.sortable_by : [],
237-
ordering: personalTableSettings?.ordering ? personalTableSettings.ordering : undefined,
238-
identity_column: tableSettings?.identity_column ? tableSettings.identity_column : null,
239-
list_fields: personalTableSettings?.list_fields?.length > 0 ? personalTableSettings.list_fields : [],
240-
allow_csv_export: tableSettings ? tableSettings.allow_csv_export : true,
241-
allow_csv_import: tableSettings ? tableSettings.allow_csv_import : true,
242-
can_delete: tableSettings ? tableSettings.can_delete : true,
243-
can_update: tableSettings ? tableSettings.can_update : true,
244-
can_add: tableSettings ? tableSettings.can_add : true,
245-
ordering_field: personalTableSettings?.ordering_field ? personalTableSettings.ordering_field : undefined,
241+
sortable_by: builtDAOsTableSettings?.sortable_by?.length > 0 ? builtDAOsTableSettings.sortable_by : [],
242+
ordering: builtDAOsTableSettings.ordering ? builtDAOsTableSettings.ordering : undefined,
243+
identity_column: builtDAOsTableSettings.identity_column ? builtDAOsTableSettings.identity_column : null,
244+
list_fields: builtDAOsTableSettings?.list_fields?.length > 0 ? builtDAOsTableSettings.list_fields : [],
245+
allow_csv_export: allowCsvExport,
246+
allow_csv_import: allowCsvImport,
247+
can_delete: can_delete,
248+
can_update: can_update,
249+
can_add: can_add,
250+
columns_view: builtDAOsTableSettings?.columns_view ? builtDAOsTableSettings.columns_view : [],
251+
ordering_field: builtDAOsTableSettings.ordering_field ? builtDAOsTableSettings.ordering_field : undefined,
246252
},
247253
};
248254
}

backend/src/entities/table/use-cases/get-table-rows.use.case.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -250,16 +250,16 @@ export class GetTableRowsUseCase extends AbstractUseCase<GetTableRowsDs, FoundTa
250250
can_add: can_add,
251251
table_settings: {
252252
sortable_by: builtDAOsTableSettings?.sortable_by?.length > 0 ? builtDAOsTableSettings.sortable_by : [],
253-
ordering: personalTableSettings.ordering ? personalTableSettings.ordering : undefined,
253+
ordering: builtDAOsTableSettings.ordering ? builtDAOsTableSettings.ordering : undefined,
254254
identity_column: builtDAOsTableSettings.identity_column ? builtDAOsTableSettings.identity_column : null,
255-
list_fields: personalTableSettings?.list_fields?.length > 0 ? personalTableSettings.list_fields : [],
255+
list_fields: builtDAOsTableSettings?.list_fields?.length > 0 ? builtDAOsTableSettings.list_fields : [],
256256
allow_csv_export: allowCsvExport,
257257
allow_csv_import: allowCsvImport,
258258
can_delete: can_delete,
259259
can_update: can_update,
260260
can_add: can_add,
261-
columns_view: personalTableSettings?.columns_view ? personalTableSettings.columns_view : [],
262-
ordering_field: personalTableSettings.ordering_field ? personalTableSettings.ordering_field : undefined,
261+
columns_view: builtDAOsTableSettings?.columns_view ? builtDAOsTableSettings.columns_view : [],
262+
ordering_field: builtDAOsTableSettings.ordering_field ? builtDAOsTableSettings.ordering_field : undefined,
263263
},
264264
};
265265

backend/src/entities/table/use-cases/update-row-in-table.use.case.ts

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,11 @@ export class UpdateRowInTableUseCase
277277
let updatedRow = await dao.getRowByPrimaryKey(tableName, futurePrimaryKey, builtDAOsTableSettings, userEmail);
278278
updatedRow = removePasswordsFromRowsUtil(updatedRow, tableWidgets);
279279
updatedRow = convertBinaryDataInRowUtil(updatedRow, tableStructure);
280+
const allowCsvExport = tableSettings?.allow_csv_export ?? true;
281+
const allowCsvImport = tableSettings?.allow_csv_import ?? true;
282+
const can_delete = tableSettings?.can_delete ?? true;
283+
const can_update = tableSettings?.can_update ?? true;
284+
const can_add = tableSettings?.can_add ?? true;
280285
return {
281286
row: updatedRow,
282287
foreignKeys: foreignKeysWithAutocompleteColumns,
@@ -293,16 +298,17 @@ export class UpdateRowInTableUseCase
293298
can_update: tableSettings ? tableSettings.can_update : true,
294299
can_add: tableSettings ? tableSettings.can_add : true,
295300
table_settings: {
296-
sortable_by: tableSettings?.sortable_by?.length > 0 ? tableSettings.sortable_by : [],
297-
ordering: personalTableSettings?.ordering ? personalTableSettings.ordering : undefined,
298-
identity_column: tableSettings?.identity_column ? tableSettings.identity_column : null,
299-
list_fields: personalTableSettings?.list_fields?.length > 0 ? personalTableSettings.list_fields : [],
300-
allow_csv_export: tableSettings ? tableSettings.allow_csv_export : true,
301-
allow_csv_import: tableSettings ? tableSettings.allow_csv_import : true,
302-
can_delete: tableSettings ? tableSettings.can_delete : true,
303-
can_update: tableSettings ? tableSettings.can_update : true,
304-
can_add: tableSettings ? tableSettings.can_add : true,
305-
ordering_field: personalTableSettings?.ordering_field ? personalTableSettings.ordering_field : undefined,
301+
sortable_by: builtDAOsTableSettings?.sortable_by?.length > 0 ? builtDAOsTableSettings.sortable_by : [],
302+
ordering: builtDAOsTableSettings.ordering ? builtDAOsTableSettings.ordering : undefined,
303+
identity_column: builtDAOsTableSettings.identity_column ? builtDAOsTableSettings.identity_column : null,
304+
list_fields: builtDAOsTableSettings?.list_fields?.length > 0 ? builtDAOsTableSettings.list_fields : [],
305+
allow_csv_export: allowCsvExport,
306+
allow_csv_import: allowCsvImport,
307+
can_delete: can_delete,
308+
can_update: can_update,
309+
can_add: can_add,
310+
columns_view: builtDAOsTableSettings?.columns_view ? builtDAOsTableSettings.columns_view : [],
311+
ordering_field: builtDAOsTableSettings.ordering_field ? builtDAOsTableSettings.ordering_field : undefined,
306312
},
307313
};
308314
} catch (e) {

0 commit comments

Comments
 (0)