class ProjectDetailsServiceImpl extends AbstractProjectServiceImpl implements ProjectDetailsService {

    @Override
    @Transactional
    public ServiceResult<Void> inviteProjectManager(Long projectId, ProjectUserInviteResource inviteResource) {

        return getProject(projectId)
                .andOnSuccess(project -> validateGOLGenerated(project, PROJECT_SETUP_PROJECT_MANAGER_CANNOT_BE_UPDATED_IF_GOL_GENERATED))
                .andOnSuccess(() -> inviteContact(projectId, inviteResource, Notifications.INVITE_PROJECT_MANAGER));
    }

}