FINERACT-1943 Transaction and datatable GET queries

This commit is contained in:
jmarta
2023-08-25 10:56:16 +02:00
committed by Adam Saghy
parent ee31ff0ed8
commit e20e715488
29 changed files with 794 additions and 911 deletions
@@ -25,7 +25,6 @@ import java.util.List;
import java.util.Optional;
import lombok.Data;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
@Data
@@ -44,7 +43,7 @@ public class PagedRequest<T> {
return Optional.ofNullable(request);
}
public Pageable toPageable() {
public PageRequest toPageable() {
if (isEmpty(sorts)) {
return PageRequest.of(page, size);
} else {
@@ -57,16 +56,11 @@ public class PagedRequest<T> {
@SuppressWarnings({ "unused" })
private static class SortOrder {
private Direction direction;
private Sort.Direction direction;
private String property;
private enum Direction {
ASC, DESC;
}
private Sort.Order toOrder() {
Sort.Direction d = Sort.Direction.fromString(direction.name());
return new Sort.Order(d, property);
return new Sort.Order(direction, property);
}
}
}
@@ -41,11 +41,14 @@ public class DatabaseSpecificSQLGenerator {
this.databaseTypeResolver = databaseTypeResolver;
}
public DatabaseType getDialect() {
return databaseTypeResolver.databaseType();
}
public String escape(String arg) {
DatabaseType dialect = databaseTypeResolver.databaseType();
if (dialect.isMySql()) {
if (databaseTypeResolver.isMySQL()) {
return format("`%s`", arg);
} else if (dialect.isPostgres()) {
} else if (databaseTypeResolver.isPostgreSQL()) {
return format("\"%s\"", arg);
}
return arg;
@@ -16,16 +16,23 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.fineract.infrastructure.core.data;
package org.apache.fineract.infrastructure.dataqueries.data;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.io.Serializable;
import lombok.Data;
import lombok.NoArgsConstructor;
@AllArgsConstructor
@Getter
public enum RangeOperator {
/**
* Immutable data object representing datatable data.
*/
@Data
@NoArgsConstructor
public final class ColumnFilter implements Serializable {
GTE(">="), LTE("<="), GT(">"), LT("<");
private String columnName;
private String columnValue;
private String columnOperation;
private final String symbol;
}
@@ -99,6 +99,10 @@ public enum SavingsAccountTransactionType {
return transactionType == null ? INVALID : transactionType;
}
public boolean isValid() {
return this != INVALID;
}
public boolean isDeposit() {
return this == DEPOSIT;
}