# frozen_string_literal: true

class Customer
	def initialize(customer_id, jid)
		@customer_id = customer_id
		@jid = jid
	end

	def customer_id
		@customer_id = REDIS.get(redis_key_jid)
	end

	def save!
		unless REDIS.set(redis_key_jid, @customer_id) == "OK"
			raise "Saving new jid,customer to redis failed"
		end

		return if REDIS.set(redis_key_customer_id, normalized_jid) == "OK"

		raise "Saving new customer,jid to redis failed"
	end

	def trust_level
		REDIS.get(redis_trust_level)
	end

protected

	def normalized_jid
		@jid.to_s.downcase
	end

	def redis_trust_level
		"jmp_customer_trust_level-#{@customer_id}"
	end

	def redis_key_jid
		"jmp_customer_id-#{normalized_jid}"
	end

	def redis_key_customer_id
		"jmp_customer_jid-#{@customer_id}"
	end
end
