Enhance CountryController with advanced filtering, sorting, and pagination. Refactor Gradle scripts with version catalogs, improve error code handling, and centralize query models in core-domain.
This commit is contained in:
@@ -13,4 +13,15 @@ object ErrorCodes {
|
||||
val DATABASE_ERROR = ErrorCode("DATABASE_ERROR")
|
||||
val TRANSACTION_ERROR = ErrorCode("TRANSACTION_ERROR")
|
||||
val VALIDATION_ERROR = ErrorCode("VALIDATION_ERROR")
|
||||
// Allgemeine API-/HTTP-nahe Fehlercodes zur Harmonisierung
|
||||
val INVALID_ID = ErrorCode("INVALID_ID")
|
||||
val NOT_FOUND = ErrorCode("NOT_FOUND")
|
||||
val CREATION_FAILED = ErrorCode("CREATION_FAILED")
|
||||
val UPDATE_FAILED = ErrorCode("UPDATE_FAILED")
|
||||
val DELETE_FAILED = ErrorCode("DELETE_FAILED")
|
||||
val CONFLICT = ErrorCode("CONFLICT")
|
||||
val MISSING_PARAMETER = ErrorCode("MISSING_PARAMETER")
|
||||
val INVALID_PARAMETER = ErrorCode("INVALID_PARAMETER")
|
||||
val UNAUTHORIZED = ErrorCode("UNAUTHORIZED")
|
||||
val FORBIDDEN = ErrorCode("FORBIDDEN")
|
||||
}
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
package at.mocode.core.domain.model
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
/**
|
||||
* Gemeinsame Query-Modelle für Filter, Sortierung und Pagination.
|
||||
*/
|
||||
|
||||
@Serializable
|
||||
enum class SortDirection { ASC, DESC }
|
||||
|
||||
@Serializable
|
||||
data class SortParam(
|
||||
val field: String,
|
||||
val direction: SortDirection = SortDirection.ASC
|
||||
)
|
||||
|
||||
@Serializable
|
||||
data class PageRequest(
|
||||
val page: PageNumber = PageNumber(0),
|
||||
/**
|
||||
* Wenn size == -1 oder unpaged == true, wird die Paginierung aufgehoben und alle Treffer geliefert.
|
||||
*/
|
||||
val size: Int = 20,
|
||||
val sort: List<SortParam> = emptyList(),
|
||||
val unpaged: Boolean = false
|
||||
)
|
||||
|
||||
@Serializable
|
||||
data class FilterParams(
|
||||
val search: String? = null,
|
||||
/**
|
||||
* active: true = nur aktive (Default), false = nur inaktive, all = alle
|
||||
*/
|
||||
val active: String? = null
|
||||
)
|
||||
Reference in New Issue
Block a user