package io.oasp.gastronomy.restaurant.general.common.api;
import io.oasp.gastronomy.restaurant.general.common.api.datatype.Role;
import java.security.Principal;
/**
* This is the interface for the profile of a user interacting with this application. Currently this can only be a
* {@link io.oasp.gastronomy.restaurant.staffmanagement.dataaccess.api.StaffMemberEntity} however in the future a
* customer may login and make a reservation, etc.<br/>
* TODO: Also an external system may access the application via some service. Then there would be no user profile or it
* would be empty...
*
*/
public interface UserProfile extends Principal {
/**
* @return the technical ID of the user for calling REST services.
*/
Long getId();
/**
* @return the unique login of the user for authentication and identification.
*/
String getName();
/**
* @return the first name of the users real name.
*/
String getFirstName();
/**
* @return the last name of the users real name.
*/
String getLastName();
/**
* @return {@link Role} of this {@link UserProfile}.
*/
Role getRole();
}