TimeStamp/api_server/models.py

74 lines
2.1 KiB
Python

import sqlalchemy as sa
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class User(db.Model):
id = sa.Column(sa.Integer, primary_key=True)
name = sa.Column(sa.String)
surname = sa.Column(sa.String)
email = sa.Column(sa.String)
mtan = sa.Column(sa.String, unique=True)
active = sa.Column(sa.Boolean)
class TimeStamp(db.Model):
id = sa.Column(sa.Integer, primary_key=True)
user_id = sa.Column(sa.Integer, sa.ForeignKey(User.id))
create = sa.Column(sa.TIMESTAMP) # create time
timestamp = sa.Column(sa.TIMESTAMP) # inserted by user
on_work = sa.Column(sa.Boolean) # working time?
class IDNumber(db.Model):
id = sa.Column(sa.Integer, primary_key=True)
user_id = sa.Column(sa.Integer, sa.ForeignKey(User.id))
number = sa.Column(sa.String)
class KindOfDay(db.Model):
id = sa.Column(sa.Integer, primary_key=True)
name = sa.Column(sa.String)
category = sa.Column(sa.String)
working_time = sa.Column(sa.Integer)
pause_time = sa.Column(sa.DateTime)
class Calendar(db.Model):
id = sa.Column(sa.Integer, primary_key=True)
name = sa.Column(sa.String, unique=True)
class CalendarUser(db.Model):
id = sa.Column(sa.Integer, primary_key=True)
user_id = sa.Column(sa.Integer, sa.ForeignKey(User.id))
calendar_id = sa.Column(sa.Integer, sa.ForeignKey(Calendar.id))
class HollyDay(db.Model):
id = sa.Column(sa.Integer, primary_key=True)
calendar_id = sa.Column(sa.Integer, sa.ForeignKey(Calendar.id))
date = sa.Column(sa.Date)
payed_day = sa.Column(sa.Boolean)
class VacationInfo(db.Model):
id = sa.Column(sa.Integer, primary_key=True)
user_id = sa.Column(sa.Integer, sa.ForeignKey(User.id))
year = sa.Column(sa.Date)
per_year = sa.Column(sa.Integer)
took = sa.Column(sa.Integer)
class VacationStatus(db.Model):
id = sa.Column(sa.Integer, primary_key=True)
class VacationCalendar(db.Model):
id = sa.Column(sa.Integer, primary_key=True)
user_id = sa.Column(sa.Integer, sa.ForeignKey(User.id))
date_start = sa.Column(sa.Date)
date_end = sa.Column(sa.Date)