Admin: Reiter E-Mail-Speicher, Abo mit Produkt; Schnittstelle fürs Ticketsystem
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
19f9c747a2
commit
63d3bb11bf
10 files changed
+525
-4
No files matched your search
@@ -154,6 +154,20 @@ export async function listOpenStorageTasks() {
|
||||
return docs.map((doc) => ({ ...doc, details: parseJson(doc.details, {}) }))
|
||||
}
|
||||
|
||||
/**
|
||||
* Ereignisse eines Typs in einem oder mehreren Status (z. B. offene Wechsel fuer den Abgleich, gescheiterte
|
||||
* Speicher-Aenderungen fuer den Admin-Reiter), neueste zuerst, mit geparstem details.
|
||||
*/
|
||||
export async function listContractEventsOf(type, status) {
|
||||
const docs = await listDocuments(COLLECTION(), [
|
||||
Query.equal('type', type),
|
||||
Query.equal('status', Array.isArray(status) ? status : [status]),
|
||||
Query.orderDesc('$createdAt'),
|
||||
Query.limit(1000),
|
||||
])
|
||||
return docs.map((doc) => ({ ...doc, details: parseJson(doc.details, {}) }))
|
||||
}
|
||||
|
||||
/** Zusatzspeicher-Aufgabe erledigt (Team hat die Postfachgroesse angepasst). */
|
||||
export async function completeContractEvent(id, staffEmail) {
|
||||
return updateDocument(COLLECTION(), id, {
|
||||
|
||||
@@ -739,6 +739,8 @@ export async function getAdminDetail(id) {
|
||||
active: isActiveSub(subscription),
|
||||
productKey: productKeyOf(subscription),
|
||||
productName: getProduct(productKeyOf(subscription)).name,
|
||||
// Zusatzspeicher (Pakete zu 5 GB) fuer die Zeile "Abo" im Admin (Task 13)
|
||||
storageUnits: Number(subscription.storageUnits) || 0,
|
||||
startedAt: subscription.startedAt,
|
||||
serviceStart: serviceStartOf(subscription),
|
||||
currentPeriodEnd: subscription.currentPeriodEnd,
|
||||
|
||||
Reference in new issue
Block a user