feat(internal-admin): trial extend + manual activate #28
Reference in New Issue
Block a user
Delete Branch "dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Phase C subscriptions endpoints under /internal/admin/subscriptions/:id.
Two new endpoints on /internal/admin/subscriptions/:id behind the InternalTokenGuard. POST .../trial/extend { days, reason, founderId } - Only operates on status='trial' subscriptions. - 1..90 day clamp; new endDate = max(now, current endDate) + days (never shrinks the trial window). - Returns previous/new endDate + daysAdded. POST .../activate { reason, founderId } - Wraps SubscriptionsService.activateSubscription which handles status transition, startDate/endDate by billing period, and brand auto-assignment for Full plan. - Refuses already-active, cancelled, or expired subscriptions. Wiring - BillingService + BillingController added to InternalAdminModule. - SubscriptionsModule imported so we can call activateSubscription. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>