mirror of
https://github.com/Evolix/chexpire.git
synced 2024-06-28 12:02:52 +02:00
54 lines
2.1 KiB
Ruby
54 lines
2.1 KiB
Ruby
# Copyright (C) 2018 Colin Darie <colin@darie.eu>, 2018 Jeremy Lecour <jlecour@evolix.fr>, 2018 Evolix <info@evolix.fr>
|
|
# License: GNU AGPL-3+ (see full text in LICENSE file)
|
|
|
|
# == Schema Information
|
|
#
|
|
# Table name: users
|
|
#
|
|
# id :bigint(8) not null, primary key
|
|
# confirmation_sent_at :datetime
|
|
# confirmation_token :string(255)
|
|
# confirmed_at :datetime
|
|
# current_sign_in_at :datetime
|
|
# current_sign_in_ip :string(255)
|
|
# email :string(255) default(""), not null
|
|
# encrypted_password :string(255) default(""), not null
|
|
# last_sign_in_at :datetime
|
|
# last_sign_in_ip :string(255)
|
|
# locale :string(5) default("en"), not null
|
|
# notifications_enabled :boolean default(TRUE), not null
|
|
# remember_created_at :datetime
|
|
# reset_password_sent_at :datetime
|
|
# reset_password_token :string(255)
|
|
# sign_in_count :integer default(0), not null
|
|
# tos_accepted :boolean default(FALSE), not null
|
|
# unconfirmed_email :string(255)
|
|
# created_at :datetime not null
|
|
# updated_at :datetime not null
|
|
#
|
|
# Indexes
|
|
#
|
|
# index_users_on_confirmation_token (confirmation_token) UNIQUE
|
|
# index_users_on_email (email) UNIQUE
|
|
# index_users_on_reset_password_token (reset_password_token) UNIQUE
|
|
#
|
|
|
|
class User < ApplicationRecord
|
|
# Include default devise modules. Others available are:
|
|
# :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
|
|
devise :database_authenticatable, :registerable,
|
|
:recoverable, :rememberable, :validatable, :confirmable
|
|
|
|
has_many :checks, dependent: :destroy
|
|
has_many :notifications, dependent: :destroy
|
|
validates :tos_accepted, acceptance: true
|
|
validates :locale, inclusion: { in: I18n.available_locales.map(&:to_s) }
|
|
|
|
scope :notifications_disabled, -> { where(notifications_enabled: false) }
|
|
|
|
# Devise ActiveJob integration
|
|
def send_devise_notification(notification, *args)
|
|
devise_mailer.send(notification, self, *args).deliver_later
|
|
end
|
|
end
|