class GrantOfferLetterServiceImpl extends BaseTransactionalService implements GrantOfferLetterService {

    @Override
    @Transactional
    public ServiceResult<Void> removeSignedGrantOfferLetterFileEntry(Long projectId) {
        return getProject(projectId).
                andOnSuccess(this::validateProjectIsActive).
                andOnSuccess(project -> getCurrentlyLoggedInUser().
                andOnSuccess(user -> removeSignedGrantOfferLetterIfAllowed(project, user).
                andOnSuccessReturnVoid()));
    }

}