module Base::UserOauth
  extend ActiveSupport::Concern

  included do
    self.table_name = 'UserOAuth'
    self.primary_key = 'UOAID'

    alias_attribute :id, :UOAID
    alias_attribute :school_id, :SchoolID
    alias_attribute :user_id, :UserID
    alias_attribute :vendorid, :VendorID
    alias_attribute :vendor, :Vendor
    alias_attribute :type, :Type
    alias_attribute :token, :Token
    alias_attribute :refresh_token, :RefreshToken
    alias_attribute :access_token, :AccessToken
    alias_attribute :scope, :Scope
    alias_attribute :created, :Created
    alias_attribute :expires, :Expires

    before_create :set_defaults

    private
      def set_defaults
        self.SchoolID = 0 unless self.SchoolID
        self.UserID = 0 unless self.UserID
        self.VendorID = '' unless self.VendorID
        self.Vendor = '' unless self.Vendor
        self.Type = '' unless self.Type
        self.Token = '' unless self.Token
        self.RefreshToken = '' unless self.RefreshToken
        self.AccessToken = '' unless self.AccessToken
        self.Scope = 0 unless self.Scope
        self.Created = 0 unless self.Created
        self.Expires = 0 unless self.Expires
      end
  end
end
