Changes
This commit is contained in:
11
src/utils/s3.ts
Normal file
11
src/utils/s3.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import { S3Client, PutObjectCommand } from "@aws-sdk/client-s3"
|
||||
|
||||
export const s3 = new S3Client({
|
||||
endpoint: process.env.S3_ENDPOINT || "https://fedeo.nbg1.your-objectstorage.com", // z. B. http://localhost:9000 für MinIO
|
||||
region: process.env.S3_REGION || "eu-central",
|
||||
credentials: {
|
||||
accessKeyId: process.env.S3_ACCESS_KEY || "RYOMQRW8KSTY3UQX7RPJ",
|
||||
secretAccessKey: process.env.S3_SECRET_KEY || "aZ33xBv47sPPsHuFKeHSDiLagjqF7nShnuGkj7B1",
|
||||
},
|
||||
forcePathStyle: true, // wichtig für MinIO
|
||||
})
|
||||
39
src/utils/sort.ts
Normal file
39
src/utils/sort.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
/**
|
||||
* Sortiert ein Array von Objekten anhand einer Spalte.
|
||||
*
|
||||
* @param data Array von Objekten
|
||||
* @param column Sortierspalte (Property-Name im Objekt)
|
||||
* @param ascending true = aufsteigend, false = absteigend
|
||||
*/
|
||||
export function sortData<T extends Record<string, any>>(
|
||||
data: T[],
|
||||
column?: keyof T,
|
||||
ascending: boolean = true
|
||||
): T[] {
|
||||
if (!column) return data
|
||||
|
||||
return [...data].sort((a, b) => {
|
||||
const valA = a[column]
|
||||
const valB = b[column]
|
||||
|
||||
// null/undefined nach hinten
|
||||
if (valA == null && valB != null) return 1
|
||||
if (valB == null && valA != null) return -1
|
||||
if (valA == null && valB == null) return 0
|
||||
|
||||
// Zahlenvergleich
|
||||
if (typeof valA === "number" && typeof valB === "number") {
|
||||
return ascending ? valA - valB : valB - valA
|
||||
}
|
||||
|
||||
// Datumsvergleich
|
||||
if (valA instanceof Date && valB instanceof Date) {
|
||||
return ascending ? valA.getTime() - valB.getTime() : valB.getTime() - valA.getTime()
|
||||
}
|
||||
|
||||
// Fallback: Stringvergleich
|
||||
return ascending
|
||||
? String(valA).localeCompare(String(valB))
|
||||
: String(valB).localeCompare(String(valA))
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user