Update backend to use firebase-admin SDK for FCM

This commit is contained in:
Hamza-Ayed
2026-07-19 16:21:43 +03:00
parent 978a7489e6
commit 959e2fa758
76 changed files with 4693 additions and 116 deletions
@@ -70,4 +70,75 @@ export class TenantWalletController {
body.currency || 'JOD',
);
}
// ─── تقارير المستأجر (P4) ───────────────────────────────────────
/** إيراد حسب مزوّد الدفع (cash / cliq / syriatel / mtn / ...). */
@Get('report/by-provider')
reportByProvider(
@CurrentUser() user: AuthUser,
@Query('days') days?: string,
) {
const n = Number(days);
return this.wallet.revenueByProvider(
user.tenantId,
Number.isFinite(n) && n > 0 ? Math.min(n, 365) : 30,
);
}
/** إيراد يومي — سلسلة زمنية. */
@Get('report/by-day')
reportByDay(
@CurrentUser() user: AuthUser,
@Query('days') days?: string,
@Query('currency') currency?: string,
) {
const n = Number(days);
return this.wallet.revenueByDay(
user.tenantId,
Number.isFinite(n) && n > 0 ? Math.min(n, 365) : 30,
currency || 'JOD',
);
}
/** ملخّص الرحلات المالي (GMV + عمولة + خصومات). */
@Get('report/trips')
reportTrips(
@CurrentUser() user: AuthUser,
@Query('days') days?: string,
) {
const n = Number(days);
return this.wallet.tripRevenueSummary(
user.tenantId,
Number.isFinite(n) && n > 0 ? Math.min(n, 365) : 30,
);
}
/** ملخّص سحوبات السائقين. */
@Get('report/payouts')
reportPayouts(
@CurrentUser() user: AuthUser,
@Query('days') days?: string,
) {
const n = Number(days);
return this.wallet.payoutSummary(
user.tenantId,
Number.isFinite(n) && n > 0 ? Math.min(n, 365) : 30,
);
}
/** التقرير الشامل — يجمع كل شيء في طلب واحد. */
@Get('report/full')
reportFull(
@CurrentUser() user: AuthUser,
@Query('days') days?: string,
@Query('currency') currency?: string,
) {
const n = Number(days);
return this.wallet.fullReport(
user.tenantId,
Number.isFinite(n) && n > 0 ? Math.min(n, 365) : 30,
currency || 'JOD',
);
}
}