From 4c70046a329c09ee08190728907f47dc06f35a13 Mon Sep 17 00:00:00 2001 From: Thomas Peetz Date: Wed, 21 May 2025 17:29:14 +0200 Subject: [PATCH] removed fields from MetaDataColumn --- kontor-api/src/db/models/metadata.py | 12 +- kontor-api/src/db/repository/metadata.py | 2 - .../components/metadatatable_cards.html | 4 - kontor-scripts/db/models/metadata.py | 18 +- .../kontor/admin/SetupModuleAdmin.java | 551 +++++++++--------- .../kontor/admin/data/MetaDataColumn.java | 15 +- .../admin/services/MetaDataService.java | 28 +- .../kontor/admin/views/MetaDataForm.java | 11 +- .../kontor/admin/views/MetaDataView.java | 8 - 9 files changed, 302 insertions(+), 347 deletions(-) diff --git a/kontor-api/src/db/models/metadata.py b/kontor-api/src/db/models/metadata.py index ecf24ca..466ae19 100644 --- a/kontor-api/src/db/models/metadata.py +++ b/kontor-api/src/db/models/metadata.py @@ -19,17 +19,15 @@ class MetaDataTable(Base, BaseMixin): class MetaDataColumn(Base, BaseMixin): __tablename__ = 'meta_data_column' column_name = Column(String, nullable=False) - column_sync_name = Column(String) column_type = Column(String) - column_modifier = Column(String, nullable=True) column_order = Column(Integer) + is_shown = Column(Boolean) + column_label = Column(String) + show_filter = Column(Boolean) + filter_label = Column(String) + ref_column = Column(String, nullable=True) table_id = Column(String, ForeignKey('meta_data_table.id')) table = relationship("MetaDataTable", back_populates="table_columns") - column_label = Column(String) - filter_label = Column(String) - is_shown = Column(Boolean) - show_filter = Column(Boolean) - ref_column = Column(String, nullable=True) def __repr__(self): if self.column_name is None: diff --git a/kontor-api/src/db/repository/metadata.py b/kontor-api/src/db/repository/metadata.py index 86a7d04..7e19330 100644 --- a/kontor-api/src/db/repository/metadata.py +++ b/kontor-api/src/db/repository/metadata.py @@ -18,9 +18,7 @@ def get_columns(columns: List[MetaDataColumn]) -> List[MetaDataColumnResponse]: id=column.id, table_name=column.table.table_name, column_name=column.column_name, - column_sync_name=column.column_sync_name, column_type=column.column_type, - column_modifier=column.column_modifier, column_order=column.column_order, is_shown=column.is_shown, column_label=column.column_label, diff --git a/kontor-api/src/templates/components/metadatatable_cards.html b/kontor-api/src/templates/components/metadatatable_cards.html index ca19dbc..be3c534 100644 --- a/kontor-api/src/templates/components/metadatatable_cards.html +++ b/kontor-api/src/templates/components/metadatatable_cards.html @@ -4,9 +4,7 @@ - - @@ -18,9 +16,7 @@ {% for column in obj.table_columns %} - - diff --git a/kontor-scripts/db/models/metadata.py b/kontor-scripts/db/models/metadata.py index c045022..eba8281 100644 --- a/kontor-scripts/db/models/metadata.py +++ b/kontor-scripts/db/models/metadata.py @@ -27,17 +27,15 @@ class MetaDataTable(Base, BaseMixin): class MetaDataColumn(Base, BaseMixin): __tablename__ = 'meta_data_column' column_name = Column(String, nullable=False) - column_sync_name = Column(String) column_type = Column(String) - column_modifier = Column(String, nullable=True) column_order = Column(Integer) + is_shown = Column(Boolean) + column_label = Column(String) + show_filter = Column(Boolean) + filter_label = Column(String) + ref_column = Column(String, nullable=True) table_id = Column(String, ForeignKey('meta_data_table.id')) table = relationship("MetaDataTable", back_populates="table_columns") - column_label = Column(String) - filter_label = Column(String) - is_shown = Column(Boolean) - show_filter = Column(Boolean) - ref_column = Column(String, nullable=True) def __repr__(self): if self.column_name is None: @@ -54,13 +52,11 @@ class MetaDataColumn(Base, BaseMixin): self.last_modified_date = import_data['last_modified_date'] self.version = import_data['version'] self.column_name = import_data['column_name'] - self.column_sync_name = import_data['column_sync_name'] self.column_type = import_data['column_type'] - self.column_modifier = import_data['column_modifier'] self.column_order = import_data['column_order'] self.table_id = import_data['table_id'] - self.column_label = import_data['column_label'] - self.filter_label = import_data['filter_label'] self.is_shown = import_data['is_shown'] + self.column_label = import_data['column_label'] self.show_filter = import_data['show_filter'] + self.filter_label = import_data['filter_label'] self.ref_column = import_data['ref_column'] diff --git a/kontor-spring/src/main/java/de/thpeetz/kontor/admin/SetupModuleAdmin.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/SetupModuleAdmin.java index 5cdf02e..81d0773 100644 --- a/kontor-spring/src/main/java/de/thpeetz/kontor/admin/SetupModuleAdmin.java +++ b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/SetupModuleAdmin.java @@ -1,7 +1,13 @@ package de.thpeetz.kontor.admin; -import de.thpeetz.kontor.admin.data.*; -import de.thpeetz.kontor.admin.repository.*; +import de.thpeetz.kontor.admin.data.Permission; +import de.thpeetz.kontor.admin.data.Profile; +import de.thpeetz.kontor.admin.data.Assignment; +import de.thpeetz.kontor.admin.data.MetaDataTable; +import de.thpeetz.kontor.admin.repository.AssignmentRepository; +import de.thpeetz.kontor.admin.repository.ProfileRepository; +import de.thpeetz.kontor.admin.repository.MailAccountRepository; + import de.thpeetz.kontor.admin.services.AdminService; import de.thpeetz.kontor.admin.services.MetaDataService; import de.thpeetz.kontor.mailclient.data.MailAccount; @@ -129,312 +135,311 @@ public class SetupModuleAdmin implements ApplicationListener column.getColumnName().equals(columnName)); boolean columnOrderExists = false; @@ -119,20 +111,18 @@ public class MetaDataService { log.debug("column found: name: {}, order: {}: table.columns: {}", columnNameExists, columnOrderExists, metaDataColumns); if (columnOrderExists) { MetaDataColumn column = table.getTableColumns().get(columnOrder-1); - checkColumnValues(table, column, columnName, columnSyncName, columnType, columnModifier, columnOrder, isShown, columnLabel, showFilter, filterLabel, refColumn); + checkColumnValues(table, column, columnName, columnType, columnOrder, isShown, columnLabel, showFilter, filterLabel, refColumn); } else { log.info("Column {} of table {} not found, will create it", columnName, table.getTableName()); - addColumn(table,columnName,columnSyncName,columnType,columnModifier,columnOrder,isShown, refColumn); + addColumn(table, columnName, columnType, columnOrder, isShown, refColumn); } } - private void addColumn(MetaDataTable table, String columnName, String columnSyncName, String columnType, String columnModifier, Integer columnOrder, Boolean isShown, String refColumn) { + private void addColumn(MetaDataTable table, String columnName, String columnType, Integer columnOrder, Boolean isShown, String refColumn) { MetaDataColumn column = new MetaDataColumn(); column.setTable(table); column.setColumnName(columnName); - column.setColumnSyncName(columnSyncName); column.setColumnType(columnType); - column.setColumnModifier(columnModifier); column.setColumnOrder(columnOrder); column.setIsShown(isShown); column.setRefColumn(refColumn); @@ -205,7 +195,6 @@ public class MetaDataService { MetaDataColumn metaDataColumn = new MetaDataColumn(); metaDataColumn.setId(id); metaDataColumn.setColumnName(fields.get("column_name")); - metaDataColumn.setColumnSyncName(fields.get("column_sync_name")); metaDataColumn.setColumnType(fields.get("column_type")); metaDataColumnRepository.save(metaDataColumn); } else { @@ -230,9 +219,6 @@ public class MetaDataService { case "column_name": status.append(metaDataColumn.updateColumnName(value)); break; - case "column_sync_name": - status.append(metaDataColumn.updateColumnSyncName(value)); - break; default: log.info("field {} is unknown for table {}", key, tableName); } diff --git a/kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/MetaDataForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/MetaDataForm.java index 481f237..8735b4e 100644 --- a/kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/MetaDataForm.java +++ b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/MetaDataForm.java @@ -15,6 +15,7 @@ import com.vaadin.flow.data.binder.BeanValidationBinder; import com.vaadin.flow.data.binder.Binder; import de.thpeetz.kontor.admin.data.MetaDataColumn; import de.thpeetz.kontor.admin.data.MetaDataTable; +import lombok.*; import java.util.List; @@ -22,8 +23,6 @@ public class MetaDataForm extends FormLayout { ComboBox table = new ComboBox<>("Table"); TextField columnName = new TextField("Column Name"); - TextField columnSyncName = new TextField("Column Sync Name"); - TextField columnModifier = new TextField("Column Modifier"); IntegerField columnOrder = new IntegerField("Column Order"); Checkbox isShown = new Checkbox("Is Shown"); TextField columnLabel = new TextField("Column Label"); @@ -43,7 +42,7 @@ public class MetaDataForm extends FormLayout { table.setItems(tables); table.setItemLabelGenerator(MetaDataTable::getTableName); - add(table, columnName, columnSyncName, columnModifier, columnOrder); + add(table, columnName, columnOrder); add(isShown, columnLabel); isShown.addClickListener(click -> columnLabel.setEnabled(isShown.getValue())); add(showFilter, filterLabel); @@ -78,17 +77,15 @@ public class MetaDataForm extends FormLayout { binder.setBean(metaDataColumn); } + @Getter public abstract static class MetaDataFormEvent extends ComponentEvent { - private MetaDataColumn metaDataColumn; + private final MetaDataColumn metaDataColumn; protected MetaDataFormEvent(MetaDataForm source, MetaDataColumn metaDataColumn) { super(source, false); this.metaDataColumn = metaDataColumn; } - public MetaDataColumn getMetaDataColumn() { - return metaDataColumn; - } } public static class SaveEvent extends MetaDataForm.MetaDataFormEvent { diff --git a/kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/MetaDataView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/MetaDataView.java index 6137f3e..148bace 100644 --- a/kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/MetaDataView.java +++ b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/MetaDataView.java @@ -3,8 +3,6 @@ package de.thpeetz.kontor.admin.views; import com.vaadin.flow.component.Component; import com.vaadin.flow.component.button.Button; import com.vaadin.flow.component.button.ButtonVariant; -import com.vaadin.flow.component.contextmenu.ContextMenu; -import com.vaadin.flow.component.contextmenu.MenuItem; import com.vaadin.flow.component.grid.Grid; import com.vaadin.flow.component.grid.GridSortOrder; import com.vaadin.flow.component.icon.Icon; @@ -52,12 +50,8 @@ public class MetaDataView extends VerticalLayout { .setHeader("Table").setResizable(true).setSortable(true); Grid.Column columnNameColumn = grid.addColumn(MetaDataColumn::getColumnName) .setHeader("Column Name").setResizable(true).setSortable(true); - Grid.Column columnSyncNameColumn = grid.addColumn(MetaDataColumn::getColumnSyncName) - .setHeader("Column Sync Name").setResizable(true).setSortable(true); Grid.Column columnTypeColumn = grid.addColumn(MetaDataColumn::getColumnType) .setHeader("Column Type").setResizable(true).setSortable(true); - Grid.Column columnModifierColumn = grid.addColumn(MetaDataColumn::getColumnModifier) - .setHeader("Column Modifier").setResizable(true).setSortable(true); Grid.Column columnOrderColumn = grid.addColumn(MetaDataColumn::getColumnOrder) .setHeader("Column Order").setResizable(true).setSortable(true); Grid.Column isShownColumn = grid.addComponentColumn(metaDataColumn -> StatusIcon.create(metaDataColumn.getIsShown())). @@ -139,9 +133,7 @@ public class MetaDataView extends VerticalLayout { columnToggleContextMenu.addColumnToggleItem(versionColumn); columnToggleContextMenu.addColumnToggleItem(tableColumn); columnToggleContextMenu.addColumnToggleItem(columnNameColumn); - columnToggleContextMenu.addColumnToggleItem(columnSyncNameColumn); columnToggleContextMenu.addColumnToggleItem(columnTypeColumn); - columnToggleContextMenu.addColumnToggleItem(columnModifierColumn); columnToggleContextMenu.addColumnToggleItem(columnOrderColumn); columnToggleContextMenu.addColumnToggleItem(isShownColumn); columnToggleContextMenu.addColumnToggleItem(columnLabelColumn);
Column NameColumn Sync Name Column TypeColumn Modifier Column Order Is Shown Column Label
{{column.column_name}}{{column.column_sync_name}} {{column.column_type}}{{column.column_modifier}} {{column.column_order}} {% with check=column.is_shown %}{% include "components/check.html" %}{% endwith %} {{column.column_label}}