From 9f4795b9f10597d1bf48bbffec871e3b258eb4ba Mon Sep 17 00:00:00 2001 From: Michael Weimann Date: Fri, 2 Jul 2021 16:26:36 +0200 Subject: [PATCH] add profile visible flag --- ki/handlers/update_profile.py | 1 + ki/models.py | 4 +++- ki/test/test_profile_endpoint.py | 3 +++ ...tial_migration.py => ebb2dd1fb371_initial_migration.py} | 7 ++++--- 4 files changed, 11 insertions(+), 4 deletions(-) rename migrations/versions/{f95308aceda1_initial_migration.py => ebb2dd1fb371_initial_migration.py} (96%) diff --git a/ki/handlers/update_profile.py b/ki/handlers/update_profile.py index d69ea5d..57bcc39 100644 --- a/ki/handlers/update_profile.py +++ b/ki/handlers/update_profile.py @@ -107,6 +107,7 @@ def update_profile(user_id: int): profile.pronouns = request.json.get("pronouns", "") profile.volunteerwork = request.json.get("volunteerwork", "") profile.freetext = request.json.get("freetext", "") + profile.visible = request.json.get("visible", False) update_address(profile, request.json.get("address", {})) update_contacts(profile, request.json.get("contacts", {})) diff --git a/ki/models.py b/ki/models.py index d15278e..26a4dae 100644 --- a/ki/models.py +++ b/ki/models.py @@ -1,6 +1,6 @@ from datetime import datetime -from sqlalchemy import Column, Integer, SmallInteger, String, DateTime, ForeignKey +from sqlalchemy import Boolean, Column, Integer, SmallInteger, String, DateTime, ForeignKey from sqlalchemy.orm import relationship from app import db @@ -28,6 +28,7 @@ class Profile(db.Model): pronouns = Column(String(25), default="") volunteerwork = Column(String(4000), default="") freetext = Column(String(4000), default="") + visible = Column(Boolean, nullable=False, default=False) created = Column(DateTime, nullable=False, default=datetime.now) updated = Column(DateTime, onupdate=datetime.now, nullable=False, default=datetime.now) @@ -44,6 +45,7 @@ class Profile(db.Model): "pronouns": self.pronouns, "volunteerwork": self.volunteerwork, "freetext": self.freetext, + "visible": self.visible, "address": self.address.to_dict(), "contacts": list(map(lambda contact: contact.to_dict(), self.contacts)), "skills": list(map(lambda skill: skill.to_dict(), self.skills)), diff --git a/ki/test/test_profile_endpoint.py b/ki/test/test_profile_endpoint.py index 0caa6c4..626d104 100644 --- a/ki/test/test_profile_endpoint.py +++ b/ki/test/test_profile_endpoint.py @@ -30,6 +30,7 @@ class TestProfileEndpoint(ApiTest): "pronouns": "Monsieur", "volunteerwork": "ja", "freetext": "Hallo", + "visible": True, "address": { "name": "Peeeda", "street": "Bachstraße", @@ -92,6 +93,7 @@ class TestProfileEndpoint(ApiTest): self.assertEqual("Monsieur", profile.pronouns) self.assertEqual("ja", profile.volunteerwork) self.assertEqual("Hallo", profile.freetext) + self.assertTrue(profile.visible) address = profile.address self.assertEqual(address.name, "Peeeda") @@ -156,6 +158,7 @@ class TestProfileEndpoint(ApiTest): "pronouns": "Herr Dr. Dr.", "freetext": "Ich mag Kaffee", "volunteerwork": "Gartenverein", + "visible": False, "address": { "additional": "Hinterhaus", "city": "Bielefeld", diff --git a/migrations/versions/f95308aceda1_initial_migration.py b/migrations/versions/ebb2dd1fb371_initial_migration.py similarity index 96% rename from migrations/versions/f95308aceda1_initial_migration.py rename to migrations/versions/ebb2dd1fb371_initial_migration.py index 8aa7429..540afcd 100644 --- a/migrations/versions/f95308aceda1_initial_migration.py +++ b/migrations/versions/ebb2dd1fb371_initial_migration.py @@ -1,8 +1,8 @@ """Initial migration. -Revision ID: f95308aceda1 +Revision ID: ebb2dd1fb371 Revises: -Create Date: 2021-06-20 19:11:47.086814 +Create Date: 2021-07-02 16:20:18.160228 """ from alembic import op @@ -10,7 +10,7 @@ import sqlalchemy as sa # revision identifiers, used by Alembic. -revision = 'f95308aceda1' +revision = 'ebb2dd1fb371' down_revision = None branch_labels = None depends_on = None @@ -34,6 +34,7 @@ def upgrade(): sa.Column('pronouns', sa.String(length=25), nullable=True), sa.Column('volunteerwork', sa.String(length=4000), nullable=True), sa.Column('freetext', sa.String(length=4000), nullable=True), + sa.Column('visible', sa.Boolean(), nullable=False), sa.Column('created', sa.DateTime(), nullable=False), sa.Column('updated', sa.DateTime(), nullable=False), sa.PrimaryKeyConstraint('id'),