From 1d36aa40336e7ad2e04c59df6d308332a1b7f2a0 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Sun, 15 Nov 2020 15:49:18 +0100 Subject: [PATCH] [Script][System] Added date as export format and added birthday as user attribute --- flaschengeist/app.py | 4 ++-- flaschengeist/models/user.py | 11 ++++++++--- run_flaschengeist | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/flaschengeist/app.py b/flaschengeist/app.py index 057b177..7e4c8d2 100644 --- a/flaschengeist/app.py +++ b/flaschengeist/app.py @@ -1,7 +1,7 @@ import pkg_resources from flask import Flask, current_app from flask_cors import CORS -from datetime import datetime +from datetime import datetime, date from flask.json import JSONEncoder, jsonify from werkzeug.exceptions import HTTPException @@ -19,7 +19,7 @@ class CustomJSONEncoder(JSONEncoder): except AttributeError: pass - if isinstance(o, datetime): + if isinstance(o, datetime) or isinstance(o, date): return o.isoformat() # Check if iterable diff --git a/flaschengeist/models/user.py b/flaschengeist/models/user.py index 689c592..eec15d6 100644 --- a/flaschengeist/models/user.py +++ b/flaschengeist/models/user.py @@ -1,3 +1,6 @@ +from datetime import date +from typing import Optional + from sqlalchemy.orm.collections import attribute_mapped_collection from . import ModelSerializeMixin @@ -42,14 +45,16 @@ class User(db.Model, ModelSerializeMixin): firstname: Firstname of the User lastname: Lastname of the User mail: mail address of the User + birthday: Birthday of the user """ __tablename__ = "user" userid: str = db.Column(db.String(30), nullable=False) display_name: str = db.Column(db.String(30)) - firstname: str = db.Column(db.String(50)) - lastname: str = db.Column(db.String(50)) - mail: str = db.Column(db.String(60)) + firstname: str = db.Column(db.String(50), nullable=False) + lastname: str = db.Column(db.String(50), nullable=False) + mail: str = db.Column(db.String(60), nullable=False) + birthday: Optional[date] = db.Column(db.Date) roles: [str] = [] roles_: [Role] = db.relationship("Role", secondary=association_table, cascade="save-update, merge") diff --git a/run_flaschengeist b/run_flaschengeist index e7419cb..23f338a 100644 --- a/run_flaschengeist +++ b/run_flaschengeist @@ -9,7 +9,7 @@ import pkg_resources class InterfaceGenerator: known = [] classes = {} - mapper = {"str": "string", "int": "number", "float": "number", "datetime": "Date", "NoneType": "null"} + mapper = {"str": "string", "int": "number", "float": "number", "date": "Date", "datetime": "Date", "NoneType": "null"} def __init__(self, namespace, filename): self.basename = ""