diff --git a/lib/docuseal.rb b/lib/docuseal.rb deleted file mode 100644 index a2e97d7e..00000000 --- a/lib/docuseal.rb +++ /dev/null @@ -1,125 +0,0 @@ -# frozen_string_literal: true - -module Wabosign - PRODUCT_URL = 'https://www.wabosign.com' - PRODUCT_EMAIL_URL = ENV.fetch('PRODUCT_EMAIL_URL', PRODUCT_URL) - NEWSLETTER_URL = "#{PRODUCT_URL}/newsletters".freeze - ENQUIRIES_URL = "#{PRODUCT_URL}/enquiries".freeze - PRODUCT_NAME = 'WaboSign' - DEFAULT_APP_URL = ENV.fetch('APP_URL', 'http://localhost:3000') - GITHUB_URL = 'https://github.com/wabolabs/wabosign' - DISCORD_URL = 'https://discord.gg/qygYCDGck9' - TWITTER_URL = 'https://twitter.com/docusealco' - TWITTER_HANDLE = '@docusealco' - CHATGPT_URL = "#{PRODUCT_URL}/chat".freeze - SUPPORT_EMAIL = 'support@wabosign.com' - HOST = ENV.fetch('HOST', 'localhost') - AATL_CERT_NAME = 'wabosign_aatl' - CONSOLE_URL = if Rails.env.development? - 'http://console.localhost.io:3001' - elsif ENV['MULTITENANT'] == 'true' - "https://console.#{HOST}" - else - 'https://console.wabosign.com' - end - CLOUD_URL = if Rails.env.development? - 'http://localhost:3000' - else - 'https://wabosign.com' - end - CDN_URL = if Rails.env.development? - 'http://localhost:3000' - elsif ENV['MULTITENANT'] == 'true' - "https://cdn.#{HOST}" - else - 'https://cdn.wabosign.com' - end - - CERTS = JSON.parse(ENV.fetch('CERTS', '{}')) - TIMESERVER_URL = ENV.fetch('TIMESERVER_URL', nil) - VERSION_FILE_PATH = Rails.root.join('.version') - VERSION_FILE2_PATH = Rails.public_path.join('version') - - DEFAULT_URL_OPTIONS = { - host: HOST, - protocol: ENV['FORCE_SSL'].present? ? 'https' : 'http' - }.freeze - - module_function - - def version - @version ||= - if VERSION_FILE_PATH.exist? - VERSION_FILE_PATH.read.strip - elsif VERSION_FILE2_PATH.exist? - VERSION_FILE2_PATH.each_line.first.to_s.strip - end - end - - def multitenant? - ENV['MULTITENANT'] == 'true' - end - - def advanced_formats? - multitenant? - end - - def demo? - ENV['DEMO'] == 'true' - end - - def active_storage_public? - ENV['ACTIVE_STORAGE_PUBLIC'] == 'true' - end - - def default_pkcs - return if Wabosign::CERTS['enabled'] == false - - @default_pkcs ||= GenerateCertificate.load_pkcs(Wabosign::CERTS) - end - - def fulltext_search? - return @fulltext_search unless @fulltext_search.nil? - - @fulltext_search = - if SearchEntry.table_exists? - Wabosign.multitenant? || AccountConfig.exists?(key: :fulltext_search, value: true) - else - false - end - end - - def enable_pwa? - true - end - - def pdf_format - @pdf_format ||= ENV['PDF_FORMAT'].to_s.downcase - end - - def trusted_certs - @trusted_certs ||= - ENV['TRUSTED_CERTS'].to_s.gsub('\\n', "\n").split("\n\n").map do |base64| - OpenSSL::X509::Certificate.new(base64) - end - end - - def default_url_options - return DEFAULT_URL_OPTIONS if multitenant? - - @default_url_options ||= begin - value = EncryptedConfig.find_by(key: EncryptedConfig::APP_URL_KEY)&.value if ENV['APP_URL'].blank? - value ||= DEFAULT_APP_URL - url = Addressable::URI.parse(value) - { host: url.host, port: url.port, protocol: url.scheme } - end - end - - def product_name - PRODUCT_NAME - end - - def refresh_default_url_options! - @default_url_options = nil - end -end