package com.airlock.iam.common.domain.model.authentication;

import com.airlock.iam.common.api.domain.model.authentication.Authentee;
import com.airlock.iam.common.api.domain.model.contextdata.ContextData;
import com.airlock.iam.common.api.domain.model.role.Role;
import com.airlock.iam.common.api.domain.model.user.UserIdentity;
import java.util.Set;

public record AuthenteeImpl(UserIdentity userIdentity, Set<Role> roles, ContextData contextData) implements Authentee {
   @Override
   public boolean hasRole(Role role) {
      return this.roles.stream().anyMatch(role::hasSameName);
   }
}
