diff --git a/admin/src/components/PhysicalEntityForm.vue b/admin/src/components/PhysicalEntityForm.vue index b54c1dc..77aa3eb 100644 --- a/admin/src/components/PhysicalEntityForm.vue +++ b/admin/src/components/PhysicalEntityForm.vue @@ -3,7 +3,7 @@
{{ $t('structural') }}
-
- {{ $t('hygrothermal') }}
- - {{ $t('acoustic') }}
- {{ $t('fire') }}
-
-
{{ $t('others') }}
- +
@@ -98,7 +91,9 @@ export default defineComponent({ diff --git a/admin/src/components/PropertyFormItem.vue b/admin/src/components/PropertyFormNumber.vue similarity index 81% rename from admin/src/components/PropertyFormItem.vue rename to admin/src/components/PropertyFormNumber.vue index fd1e0a7..955c137 100644 --- a/admin/src/components/PropertyFormItem.vue +++ b/admin/src/components/PropertyFormNumber.vue @@ -3,16 +3,7 @@
{{ $t(property) }}
-
- -
-
+
export default defineComponent({ - name: 'PropertyFormItem', + name: 'PropertyFormNumber', }); + diff --git a/admin/src/components/models.ts b/admin/src/components/models.ts index 81ec165..3fac188 100644 --- a/admin/src/components/models.ts +++ b/admin/src/components/models.ts @@ -22,3 +22,8 @@ export interface Option { label: string; level?: number; } + +export interface Suggestions { + key: string; + options: string[]; +} diff --git a/admin/src/models.ts b/admin/src/models.ts index 54772d4..b1fab8d 100644 --- a/admin/src/models.ts +++ b/admin/src/models.ts @@ -79,6 +79,8 @@ export interface PhysicalEntity extends Entity { diffusivity_low?: number; absorption_coefficient_low?: number; sound_reduction_index_low?: number; + reaction_to_fire_low?: string; + fire_resistance_class_low?: string; air_tightness_low?: number; density_high?: number; @@ -96,6 +98,8 @@ export interface PhysicalEntity extends Entity { diffusivity_high?: number; absorption_coefficient_high?: number; sound_reduction_index_high?: number; + reaction_to_fire_high?: string; + fire_resistance_class_high?: string; air_tightness_high?: number; } diff --git a/backend/api/models/domain.py b/backend/api/models/domain.py index e25a1f3..1b93569 100644 --- a/backend/api/models/domain.py +++ b/backend/api/models/domain.py @@ -65,6 +65,8 @@ class PhysicalEntity(Entity): diffusivity_low: Optional[float] = Field(default=None) absorption_coefficient_low: Optional[float] = Field(default=None) sound_reduction_index_low: Optional[float] = Field(default=None) + reaction_to_fire_low: Optional[str] = Field(default=None) + fire_resistance_class_low: Optional[str] = Field(default=None) air_tightness_low: Optional[float] = Field(default=None) density_high: Optional[float] = Field(default=None) @@ -82,6 +84,8 @@ class PhysicalEntity(Entity): diffusivity_high: Optional[float] = Field(default=None) absorption_coefficient_high: Optional[float] = Field(default=None) sound_reduction_index_high: Optional[float] = Field(default=None) + reaction_to_fire_high: Optional[str] = Field(default=None) + fire_resistance_class_high: Optional[str] = Field(default=None) air_tightness_high: Optional[float] = Field(default=None) # Association tables diff --git a/backend/migrations/versions/2024_12_18_0952-659fc00a69fa_fire_low_high.py b/backend/migrations/versions/2024_12_18_0952-659fc00a69fa_fire_low_high.py new file mode 100644 index 0000000..fea0e3c --- /dev/null +++ b/backend/migrations/versions/2024_12_18_0952-659fc00a69fa_fire_low_high.py @@ -0,0 +1,64 @@ +"""fire-low-high + +Revision ID: 659fc00a69fa +Revises: 9dd17a356a73 +Create Date: 2024-12-18 09:52:55.635120 + +""" +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +import sqlmodel + +# revision identifiers, used by Alembic. +revision: str = '659fc00a69fa' +down_revision: Union[str, None] = '9dd17a356a73' +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('buildingmaterial', sa.Column( + 'reaction_to_fire_low', sqlmodel.sql.sqltypes.AutoString(), nullable=True)) + op.add_column('buildingmaterial', sa.Column( + 'fire_resistance_class_low', sqlmodel.sql.sqltypes.AutoString(), nullable=True)) + op.add_column('buildingmaterial', sa.Column( + 'reaction_to_fire_high', sqlmodel.sql.sqltypes.AutoString(), nullable=True)) + op.add_column('buildingmaterial', sa.Column( + 'fire_resistance_class_high', sqlmodel.sql.sqltypes.AutoString(), nullable=True)) + op.add_column('naturalresource', sa.Column( + 'reaction_to_fire_low', sqlmodel.sql.sqltypes.AutoString(), nullable=True)) + op.add_column('naturalresource', sa.Column( + 'fire_resistance_class_low', sqlmodel.sql.sqltypes.AutoString(), nullable=True)) + op.add_column('naturalresource', sa.Column( + 'reaction_to_fire_high', sqlmodel.sql.sqltypes.AutoString(), nullable=True)) + op.add_column('naturalresource', sa.Column( + 'fire_resistance_class_high', sqlmodel.sql.sqltypes.AutoString(), nullable=True)) + op.add_column('technicalconstruction', sa.Column( + 'reaction_to_fire_low', sqlmodel.sql.sqltypes.AutoString(), nullable=True)) + op.add_column('technicalconstruction', sa.Column( + 'fire_resistance_class_low', sqlmodel.sql.sqltypes.AutoString(), nullable=True)) + op.add_column('technicalconstruction', sa.Column( + 'reaction_to_fire_high', sqlmodel.sql.sqltypes.AutoString(), nullable=True)) + op.add_column('technicalconstruction', sa.Column( + 'fire_resistance_class_high', sqlmodel.sql.sqltypes.AutoString(), nullable=True)) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('technicalconstruction', 'fire_resistance_class_high') + op.drop_column('technicalconstruction', 'reaction_to_fire_high') + op.drop_column('technicalconstruction', 'fire_resistance_class_low') + op.drop_column('technicalconstruction', 'reaction_to_fire_low') + op.drop_column('naturalresource', 'fire_resistance_class_high') + op.drop_column('naturalresource', 'reaction_to_fire_high') + op.drop_column('naturalresource', 'fire_resistance_class_low') + op.drop_column('naturalresource', 'reaction_to_fire_low') + op.drop_column('buildingmaterial', 'fire_resistance_class_high') + op.drop_column('buildingmaterial', 'reaction_to_fire_high') + op.drop_column('buildingmaterial', 'fire_resistance_class_low') + op.drop_column('buildingmaterial', 'reaction_to_fire_low') + # ### end Alembic commands ### diff --git a/frontend/src/models.ts b/frontend/src/models.ts index 72fa77b..a255f64 100644 --- a/frontend/src/models.ts +++ b/frontend/src/models.ts @@ -80,6 +80,8 @@ export interface PhysicalEntity extends Entity { diffusivity_low?: number; absorption_coefficient_low?: number; sound_reduction_index_low?: number; + reaction_to_fire_low?: string; + fire_resistance_class_low?: string; air_tightness_low?: number; density_high?: number; @@ -97,6 +99,8 @@ export interface PhysicalEntity extends Entity { diffusivity_high?: number; absorption_coefficient_high?: number; sound_reduction_index_high?: number; + reaction_to_fire_high?: string; + fire_resistance_class_high?: string; air_tightness_high?: number; }