2021-06-22 01:07:30 +10:00
|
|
|
# frozen_string_literal: true
|
2023-02-20 16:58:28 +11:00
|
|
|
|
2021-06-22 01:07:30 +10:00
|
|
|
# == Schema Information
|
|
|
|
#
|
|
|
|
# Table name: login_activities
|
|
|
|
#
|
|
|
|
# id :bigint(8) not null, primary key
|
|
|
|
# user_id :bigint(8) not null
|
|
|
|
# authentication_method :string
|
|
|
|
# provider :string
|
|
|
|
# success :boolean
|
|
|
|
# failure_reason :string
|
|
|
|
# ip :inet
|
|
|
|
# user_agent :string
|
|
|
|
# created_at :datetime
|
|
|
|
#
|
|
|
|
|
|
|
|
class LoginActivity < ApplicationRecord
|
2024-03-20 02:39:14 +11:00
|
|
|
include BrowserDetection
|
|
|
|
|
2024-02-17 01:54:23 +11:00
|
|
|
enum :authentication_method, { password: 'password', otp: 'otp', webauthn: 'webauthn', sign_in_token: 'sign_in_token', omniauth: 'omniauth' }
|
2021-06-22 01:07:30 +10:00
|
|
|
|
|
|
|
belongs_to :user
|
|
|
|
|
|
|
|
validates :authentication_method, inclusion: { in: authentication_methods.keys }
|
|
|
|
end
|