Просмотр исходного кода

Merge pull request #26027 from overleaf/mf-admin-panel-stripe

[web] Update admin panel with Stripe subscription data

GitOrigin-RevId: fc4f773c5d6d2eae206a791c1ad40d8ccbf766e7
M Fahru 1 год назад
Родитель
Сommit
ca10904484
2 измененных файлов с 26 добавлено и 1 удалено
  1. 13 0
      services/web/frontend/js/utils/meta.ts
  2. 13 1
      services/web/types/admin/subscription.ts

+ 13 - 0
services/web/frontend/js/utils/meta.ts

@@ -54,6 +54,7 @@ import { DefaultNavbarMetadata } from '@/features/ui/components/types/default-na
 import { FooterMetadata } from '@/features/ui/components/types/footer-metadata'
 import type { ScriptLogType } from '../../../modules/admin-panel/frontend/js/features/script-logs/script-log'
 import { ActiveExperiment } from './labs-utils'
+import { Subscription as AdminSubscription } from '../../../types/admin/subscription'
 
 export interface Meta {
   'ol-ExposedSettings': ExposedSettings
@@ -61,6 +62,7 @@ export interface Meta {
     string,
     { annual: string; monthly: string; annualDividedByTwelve: string }
   >
+  'ol-adminSubscription': AdminSubscription
   'ol-aiAssistViaWritefullSource': string
   'ol-allInReconfirmNotificationPeriods': UserEmailData[]
   'ol-allowedExperiments': string[]
@@ -201,6 +203,16 @@ export interface Meta {
   'ol-recommendedCurrency': CurrencyCode
   'ol-reconfirmationRemoveEmail': string
   'ol-reconfirmedViaSAML': string
+  'ol-recurlyAccount':
+    | {
+        code: string
+        error?: undefined
+      }
+    | {
+        error: boolean
+        code?: undefined
+      }
+    | undefined
   'ol-recurlyApiKey': string
   'ol-recurlySubdomain': string
   'ol-ro-mirror-on-client-no-local-storage': boolean
@@ -229,6 +241,7 @@ export interface Meta {
   'ol-ssoDisabled': boolean
   'ol-ssoErrorMessage': string
   'ol-stripeApiKey': string
+  'ol-stripeCustomerId': string
   'ol-subscription': any // TODO: mixed types, split into two fields
   'ol-subscriptionChangePreview': SubscriptionChangePreview
   'ol-subscriptionId': string

+ 13 - 1
services/web/types/admin/subscription.ts

@@ -1,7 +1,15 @@
-import { GroupPolicy } from '../subscription/dashboard/subscription'
+import {
+  GroupPolicy,
+  PaymentProvider,
+} from '../subscription/dashboard/subscription'
 import { SSOConfig } from '../subscription/sso'
 import { TeamInvite } from '../team-invite'
 
+type RecurlyAdminClientPaymentProvider = Record<string, never>
+type StripeAdminClientPaymentProvider = PaymentProvider & {
+  service: 'stripe'
+}
+
 export type Subscription = {
   _id: string
   teamInvites: TeamInvite[]
@@ -13,4 +21,8 @@ export type Subscription = {
   managedUsersEnabled: boolean
   v1_id: number
   salesforce_id: string
+  recurlySubscription_id?: string
+  paymentProvider:
+    | RecurlyAdminClientPaymentProvider
+    | StripeAdminClientPaymentProvider
 }