UserAccountFileRepository.java
package io.extact.rms.application.persistence.file;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;
import io.extact.rms.application.domain.UserAccount;
import io.extact.rms.application.persistence.UserAccountRepository;
import io.extact.rms.application.persistence.GenericRepository.ApiType;
import io.extact.rms.application.persistence.file.converter.EntityArrayConverter;
import io.extact.rms.application.persistence.file.io.FileAccessor;
import io.extact.rms.platform.extension.EnabledIfRuntimeConfig;
@ApplicationScoped
@EnabledIfRuntimeConfig(propertyName = ApiType.PROP_NAME, value = ApiType.FILE)
public class UserAccountFileRepository extends AbstractFileRepository<UserAccount> implements UserAccountRepository {
@Inject
public UserAccountFileRepository(FileAccessor fileAccessor, EntityArrayConverter<UserAccount> converter) {
super(fileAccessor, converter);
}
@Override
public UserAccount findByLoginIdAndPasswod(String loginId, String password) {
return load().stream()
.filter(attributes -> attributes[1].equals(loginId))
.filter(attributes -> attributes[2].equals(password))
.map(this.getConverter()::toEntity)
.findFirst()
.orElse(null);
}
@Override
public UserAccount findByLoginId(String loginId) {
return load().stream()
.filter(attributes -> attributes[1].equals(loginId))
.map(this.getConverter()::toEntity)
.findFirst()
.orElse(null);
}
}