user.py 2.33 KB
Newer Older
wanli's avatar
wanli committed
1 2 3 4 5
#!/usr/bin/env python
# -*- coding: utf_8 -*-

import uuid
from datetime import datetime, date
wanli's avatar
wanli committed
6
from pony.orm import PrimaryKey, Required, Optional, Set
wanli's avatar
wanli committed
7 8 9 10 11 12 13 14 15
from app import config
from . import fullStackDB

db = fullStackDB.db

class User(db.Entity):
    _table_ = "{}".format(config['TABLE_PREFIX']) + "user"
    id = PrimaryKey(int, auto=True)
    uuid = Required(uuid.UUID, unique=True, default=uuid.uuid1, index=True)
wanli's avatar
wanli committed
16
    role = Required(str, default="community") # 角色,管理员[administrator]、企业用户[enterprise]、社区用户[community]
wanli's avatar
wanli committed
17 18
    account = Required(str, unique=True) # 账号
    username = Required(str, max_len=100) # 用户名
wanli's avatar
wanli committed
19 20
    password = Required(str, max_len=64) # 密码
    gender = Optional(int, size=8, default=1) # 性别,未知0 男1 女2
wanli's avatar
wanli committed
21
    birthday = Optional(date, default=date.today()) # 使用age会带来age无法随时间变化问题
wanli's avatar
wanli committed
22 23
    phone = Optional(str, max_len=11, default="") # 联系方式
    email = Optional(str, max_len=100, default="") # 邮箱
wanli's avatar
wanli committed
24 25 26 27 28 29 30 31 32
    create_at = Required(datetime, default=datetime.now)
    create_by = Required(int)
    update_at = Required(datetime, default=datetime.now)
    update_by = Required(int)
    delete_at = Optional(datetime)
    delete_by = Optional(int)
    is_delete = Required(bool, default=False)
    sort = Optional(int, size=32, default=0)
    remarks = Optional(str, max_len=255, default="", nullable=True)
wanli's avatar
wanli committed
33
    app_logs_creater = Set('AppLogs', reverse='create_by')
wanli's avatar
wanli committed
34
    login_logs_creater = Set('LoginLogs', reverse='create_by')
wanli's avatar
wanli committed
35 36 37 38 39 40
    annex_creator = Set('Annex', reverse='create_by')
    annex_updater = Set('Annex', reverse='update_by')
    annex_deleter = Set('Annex', reverse='delete_by')
    apps_creator = Set('Apps', reverse='create_by')
    apps_updater = Set('Apps', reverse='update_by')
    apps_deleter = Set('Apps', reverse='delete_by')
wanli's avatar
wanli committed
41 42 43
    app_users_creator = Set('AppUser', reverse='create_by')
    app_users_updater = Set('AppUser', reverse='update_by')
    app_users_deleter = Set('AppUser', reverse='delete_by')
wanli's avatar
wanli committed
44 45
    build_logs_creator = Set('BuildLogs', reverse='create_by')
    build_logs_updater = Set('BuildLogs', reverse='update_by')
wanli's avatar
wanli committed
46
    build_logs_deleter = Set('BuildLogs', reverse='delete_by')
wanli's avatar
wanli committed
47 48 49
    device_creator = Set('Device', reverse='create_by')
    device_updater = Set('Device', reverse='update_by')
    device_deleter = Set('Device', reverse='delete_by')