module Brivo::API::Credentials

Constants

FORMAT_NAME

Public Instance Methods

create_credential(id, facility_code) click to toggle source
# File lib/brivo/api/credentials.rb, line 29
def create_credential id, facility_code
  @credential_formats ||= http_request('credentials/formats')['data']
  credential_format = @credential_formats.find do |format|
    format['name'] == FORMAT_NAME
  end

  credential_json = http_request(
    'credentials',
    params: {
      credentialFormat: {
        id: credential_format['id']
      },
      referenceId: id,
      fieldValues: [
        {id: 1, value: id},
        {id: 2, value: facility_code}
      ]
    },
    method: :post
  )

  credential_class.new(credential_json)
end
credential(id = nil) click to toggle source
# File lib/brivo/api/credentials.rb, line 20
def credential id = nil
  if id
    credential_json = http_request("credentials/#{id}")
    credential_class.new(credential_json)
  else
    credential_class
  end
end
credentials(status: nil) click to toggle source
# File lib/brivo/api/credentials.rb, line 10
def credentials(status: nil)
  path = 'credentials'
  path += "?filter=status__eq:#{status}" if status
  Brivo::Collection.new(self, path, credential_class)
end
delete_credential(id) click to toggle source
# File lib/brivo/api/credentials.rb, line 53
def delete_credential id
  http_request "credentials/#{id}", method: :delete
end
user_credentials(user_id) click to toggle source
# File lib/brivo/api/credentials.rb, line 16
def user_credentials(user_id)
  Brivo::Collection.new(self, "users/#{user_id}/credentials", credential_class)
end

Private Instance Methods

credential_class() click to toggle source
# File lib/brivo/api/credentials.rb, line 59
def credential_class
  Brivo::Credential.tap { |klass| klass.application = self }
end