package com.airlock.iam.common.api.domain.model.event;

import com.airlock.iam.common.api.domain.model.role.Role;
import com.google.common.collect.Sets;
import java.util.Set;

public interface UserRolesChanged extends UserEvent {
   Set<Role> oldRoles();

   Set<Role> newRoles();

   default Set<Role> addedRoles() {
      return Sets.difference(this.newRoles(), this.oldRoles());
   }

   default Set<Role> removedRoles() {
      return Sets.difference(this.oldRoles(), this.newRoles());
   }
}
