mirror of
https://github.com/ToolJet/ToolJet
synced 2026-05-06 06:48:21 +00:00
34 lines
805 B
Ruby
34 lines
805 B
Ruby
class User < ApplicationRecord
|
|
has_secure_password
|
|
has_many :organization_users
|
|
belongs_to :organization
|
|
has_many :app_users
|
|
has_many :apps
|
|
|
|
validates :email, presence: true, uniqueness: true
|
|
validates :email, format: { with: URI::MailTo::EMAIL_REGEXP }
|
|
|
|
def org_admin?
|
|
organization_users.find_by(organization_id: organization_id).admin?
|
|
end
|
|
|
|
def org_developer?
|
|
organization_users.find_by(organization_id: organization_id).developer?
|
|
end
|
|
|
|
def org_viewer?
|
|
organization_users.find_by(organization_id: organization_id).viewer?
|
|
end
|
|
|
|
def app_admin?(app)
|
|
app_users.find_by(app_id: app.id)&.admin?
|
|
end
|
|
|
|
def app_developer?(app)
|
|
app_users.find_by(app_id: app.id)&.developer?
|
|
end
|
|
|
|
def app_viewer?(app)
|
|
app_users.find_by(app_id: app.id)&.viewer?
|
|
end
|
|
end
|