slack-ruby/slack-ruby-bot-server

View on GitHub
lib/slack-ruby-bot-server/config/database_adapters/activerecord.rb

Summary

Maintainability
A
0 mins
Test Coverage
require_relative '../../models/team/activerecord.rb'

require 'pagy'
require 'pagy_cursor/pagy/extras/cursor'

module SlackRubyBotServer
  module DatabaseAdapter
    def self.check!
      ActiveRecord::Base.connection_pool.with_connection(&:active?)
      raise 'Unexpected error.' unless ActiveRecord::Base.connected?
    rescue StandardError => e
      warn "Error connecting to PostgreSQL: #{e.message}"
      raise e
    end

    def self.init!
      return if ActiveRecord::Base.connection.tables.include?('teams')

      ActiveRecord::Base.connection.create_table :teams do |t|
        t.string :team_id
        t.string :name
        t.string :domain
        t.string :token
        t.string :oauth_scope
        t.string :oauth_version, default: 'v1', null: false
        t.string :bot_user_id
        t.string :activated_user_id
        t.string :activated_user_access_token
        t.boolean :active, default: true
        t.timestamps
      end
    end
  end
end

Boolean = Grape::API::Boolean