hanabiapp.models.user
1from flask_login import UserMixin 2from werkzeug.security import generate_password_hash, check_password_hash 3from .. import db, login 4 5class User(UserMixin, db.Model): 6 """ 7 ユーザー情報をデータベースに保存するためのモデル. 8 9 Attributes: 10 id (int): ユーザーの一意の識別子 11 username (str): ユーザー名 12 password_hash (str): ハッシュ化されたパスワード 13 consent (bool): 利用規約への同意フラグ 14 pre_survey (bool): 事前アンケート回答状況 15 total_play_time (int): 総プレイ時間(秒) 16 total_game_play_num (int): 総プレイ回数 17 """ 18 __tablename__ = 'user' 19 id = db.Column(db.Integer, primary_key=True, autoincrement=True) 20 username = db.Column(db.String(32), nullable=False) 21 password_hash = db.Column(db.String(256), nullable=False) 22 consent = db.Column(db.Boolean, default=False, nullable=False) 23 pre_survey = db.Column(db.Boolean, default=False, nullable=False) 24 total_play_time = db.Column(db.Integer, default=0, nullable=False) 25 total_game_play_num = db.Column(db.Integer,default=0, nullable=False) 26 27 def set_password(self, password): 28 """ 29 ユーザーのパスワードをハッシュ化して保存する関数. 30 31 Args: 32 password (str): 平文のパスワード 33 """ 34 self.password_hash = generate_password_hash(password) 35 36 def check_password(self, password): 37 """ 38 入力されたパスワードが保存されているハッシュと一致するかを確認する関数. 39 40 Args: 41 password (str): 検証するパスワード 42 43 Returns: 44 bool: パスワードが一致すれば True,そうでなければ False 45 """ 46 return check_password_hash(self.password_hash, password) 47 48@login.user_loader 49def load_user(user_id): 50 """ 51 Flask-Login のユーザーローダー. 52 53 Args: 54 user_id (int): ロードするユーザーの ID 55 56 Returns: 57 User: 指定された ID のユーザーオブジェクト 58 """ 59 return User.query.get(int(user_id))
class
User(sqlalchemy.orm.decl_api._DynamicAttributesType, sqlalchemy.inspection.Inspectable[sqlalchemy.orm.mapper.Mapper[typing.Any]]):
6class User(UserMixin, db.Model): 7 """ 8 ユーザー情報をデータベースに保存するためのモデル. 9 10 Attributes: 11 id (int): ユーザーの一意の識別子 12 username (str): ユーザー名 13 password_hash (str): ハッシュ化されたパスワード 14 consent (bool): 利用規約への同意フラグ 15 pre_survey (bool): 事前アンケート回答状況 16 total_play_time (int): 総プレイ時間(秒) 17 total_game_play_num (int): 総プレイ回数 18 """ 19 __tablename__ = 'user' 20 id = db.Column(db.Integer, primary_key=True, autoincrement=True) 21 username = db.Column(db.String(32), nullable=False) 22 password_hash = db.Column(db.String(256), nullable=False) 23 consent = db.Column(db.Boolean, default=False, nullable=False) 24 pre_survey = db.Column(db.Boolean, default=False, nullable=False) 25 total_play_time = db.Column(db.Integer, default=0, nullable=False) 26 total_game_play_num = db.Column(db.Integer,default=0, nullable=False) 27 28 def set_password(self, password): 29 """ 30 ユーザーのパスワードをハッシュ化して保存する関数. 31 32 Args: 33 password (str): 平文のパスワード 34 """ 35 self.password_hash = generate_password_hash(password) 36 37 def check_password(self, password): 38 """ 39 入力されたパスワードが保存されているハッシュと一致するかを確認する関数. 40 41 Args: 42 password (str): 検証するパスワード 43 44 Returns: 45 bool: パスワードが一致すれば True,そうでなければ False 46 """ 47 return check_password_hash(self.password_hash, password)
ユーザー情報をデータベースに保存するためのモデル.
Attributes:
- id (int): ユーザーの一意の識別子
- username (str): ユーザー名
- password_hash (str): ハッシュ化されたパスワード
- consent (bool): 利用規約への同意フラグ
- pre_survey (bool): 事前アンケート回答状況
- total_play_time (int): 総プレイ時間(秒)
- total_game_play_num (int): 総プレイ回数
User(**kwargs)
A simple constructor that allows initialization from kwargs.
Sets attributes on the constructed instance using the names and
values in kwargs.
Only keys that are present as attributes of the instance's class are allowed. These could be, for example, any mapped columns or relationships.
def
set_password(self, password):
28 def set_password(self, password): 29 """ 30 ユーザーのパスワードをハッシュ化して保存する関数. 31 32 Args: 33 password (str): 平文のパスワード 34 """ 35 self.password_hash = generate_password_hash(password)
ユーザーのパスワードをハッシュ化して保存する関数.
Arguments:
- password (str): 平文のパスワード
def
check_password(self, password):
37 def check_password(self, password): 38 """ 39 入力されたパスワードが保存されているハッシュと一致するかを確認する関数. 40 41 Args: 42 password (str): 検証するパスワード 43 44 Returns: 45 bool: パスワードが一致すれば True,そうでなければ False 46 """ 47 return check_password_hash(self.password_hash, password)
入力されたパスワードが保存されているハッシュと一致するかを確認する関数.
Arguments:
- password (str): 検証するパスワード
Returns:
bool: パスワードが一致すれば True,そうでなければ False
@login.user_loader
def
load_user(user_id):
49@login.user_loader 50def load_user(user_id): 51 """ 52 Flask-Login のユーザーローダー. 53 54 Args: 55 user_id (int): ロードするユーザーの ID 56 57 Returns: 58 User: 指定された ID のユーザーオブジェクト 59 """ 60 return User.query.get(int(user_id))
Flask-Login のユーザーローダー.
Arguments:
- user_id (int): ロードするユーザーの ID
Returns:
User: 指定された ID のユーザーオブジェクト