fix billing and 2fa admin
Build & Push / Pipeline Tests (push) Failing after 1m58s
Build & Push / Build & Push Docker Image (push) Has been skipped
Test / Type Check (all packages) (push) Successful in 58s
Test / API Unit Tests (push) Successful in 1m9s
Test / Homepage Unit Tests (push) Successful in 46s
Test / Carplace Unit Tests (push) Successful in 43s
Test / Admin Unit Tests (push) Successful in 41s
Test / Dashboard Unit Tests (push) Successful in 45s
Test / API Integration Tests (push) Failing after 1m9s

This commit is contained in:
root
2026-08-10 22:35:55 -04:00
parent 10ca76fc1e
commit 5f06256271
73 changed files with 8803 additions and 570 deletions
+32
View File
@@ -59,6 +59,11 @@ import {
employeeLanguageSchema,
} from '../modules/auth/auth.employee.schemas'
import { renterUpdateSchema, renterFcmTokenSchema } from '../modules/auth/auth.renter.schemas'
import {
manualCheckoutSchema,
createManualPaymentSubmissionSchema,
communicationSettingsSchema,
} from '../modules/subscriptions/subscription.schemas'
// ─────────────────────────────────────────────────────────────────────────────
@@ -167,6 +172,10 @@ export const openApiDocument: JsonObject = {
EmployeeLanguage: s(employeeLanguageSchema),
RenterUpdate: s(renterUpdateSchema),
RenterFcmToken: s(renterFcmTokenSchema),
// ── Subscription billing ────────────────────────────────────
ManualSubscriptionCheckout: s(manualCheckoutSchema),
ManualPaymentSubmissionCreate: s(createManualPaymentSubmissionSchema),
SubscriptionCommunicationSettings: s(communicationSettingsSchema),
},
},
paths: {
@@ -982,6 +991,29 @@ export const openApiDocument: JsonObject = {
'/subscriptions/checkout': {
post: { tags: ['Subscriptions'], summary: 'Checkout new subscription (Owner)', responses: { '200': ok } },
},
'/subscriptions/payment-options': {
get: { tags: ['Subscriptions'], summary: 'Available subscription collection methods and safe payer instructions', responses: { '200': ok } },
},
'/subscriptions/manual-checkout': {
post: { tags: ['Subscriptions'], summary: 'Create or reuse a bank transfer/check invoice (Owner)', requestBody: jsonBody('#/components/schemas/ManualSubscriptionCheckout'), responses: { '200': ok, '400': err4 } },
},
'/subscriptions/invoices/{invoiceId}/manual-payment-submissions': {
post: { tags: ['Subscriptions'], summary: 'Create an evidence draft for an invoice (Owner)', parameters: [idPath('invoiceId')], requestBody: jsonBody('#/components/schemas/ManualPaymentSubmissionCreate'), responses: { '200': ok, '400': err4 } },
},
'/subscriptions/manual-payment-submissions/{submissionId}/documents': {
post: { tags: ['Subscriptions'], summary: 'Upload and scan one private evidence document (Owner)', parameters: [idPath('submissionId')], responses: { '201': ok, '400': err4 } },
},
'/subscriptions/manual-payment-submissions/{submissionId}/submit': {
post: { tags: ['Subscriptions'], summary: 'Lock and submit clean evidence for finance review (Owner)', parameters: [idPath('submissionId')], responses: { '200': ok, '400': err4 } },
},
'/subscriptions/manual-payment-submissions/{submissionId}/documents/{documentId}': {
get: { tags: ['Subscriptions'], summary: 'Download owned clean evidence (Owner)', parameters: [idPath('submissionId'), idPath('documentId')], responses: { '200': ok, '404': err404 } },
delete: { tags: ['Subscriptions'], summary: 'Delete evidence while the submission is a draft (Owner)', parameters: [idPath('submissionId'), idPath('documentId')], responses: { '200': ok, '404': err404 } },
},
'/subscriptions/communication-settings': {
get: { tags: ['Subscriptions'], summary: 'Billing contacts, timezone, and AR/EN/FR policy (Owner)', responses: { '200': ok } },
put: { tags: ['Subscriptions'], summary: 'Update billing communication settings (Owner)', requestBody: jsonBody('#/components/schemas/SubscriptionCommunicationSettings'), responses: { '200': ok, '400': err4 } },
},
'/subscriptions/change-plan': {
post: { tags: ['Subscriptions'], summary: 'Change plan (Owner)', responses: { '200': ok } },
},