function Identity() {
}

Identity.prototype.set = function(obj) {
  for(var member in obj) {
    this[member] = JSON.parse(JSON.stringify(obj[member]))
  }
};

Identity.prototype.serialize = function() {
  return JSON.stringify(this)
};

Identity.prototype.deserialize = function(serialized) {
  var obj = JSON.parse(serialized);
  this.set(obj)
};

Identity.prototype.setAuthentication = function(cryptoData) {
  this["authentication"] = cryptoData
};

Identity.prototype.getAuthentication = function() {
  return this["authentication"]
};

Identity.prototype.setPinCode = function(pinCode) {
  this["pinCode"] = pinCode
};

Identity.prototype.getPinCode = function() {
  return this["pinCode"]
};

Identity.prototype.setPassport = function(passportUUID, cryptoData) {
  if(this["passports"] === undefined || this["passports"] === null) {
    this["passports"] = {}
  }

  this["passports"][passportUUID] = cryptoData
};

Identity.prototype.getPassport = function(passportUUID) {
  if(this["passports"] === undefined || this["passports"] === null) {
    this["passports"] = {}
  }

  return this["passports"][passportUUID]
};

export default Identity;