main
ts 189 lines 3.86 KB
Raw
1 export interface License {
2 product_id: number
3 id: number
4 key: string
5 created: string
6 expires: string
7 period: number
8 f1: boolean
9 f2: boolean
10 f3: boolean
11 f4: boolean
12 f5: boolean
13 f6: boolean
14 f7: boolean
15 f8: boolean
16 notes: string
17 block: boolean
18 global_id: number
19 customer: LicenseCustomer
20 activated_machines: { [key: string]: string }
21 trial_activation: boolean
22 max_no_of_machines: number
23 allowed_machines: null | string
24 data_objects: LicenseDataObject[]
25 sign_date: string
26 reseller: null | string
27 }
28
29 export interface LicenseCustomer {
30 id: number
31 name: string
32 email: string
33 companyName: string
34 created: number
35 }
36
37 export interface LicenseDataObject {
38 id: number
39 name: string
40 stringValue: string
41 intValue: number
42 }
43
44 export type LicenseFeatures =
45 | "REPORTING"
46 | "THREAT INTEL"
47 | "HUNTRESS"
48 | "MIMECAST"
49 | "CARBONBLACK"
50 | "SOCFORTRESS AI"
51 | "MSSP Unlimited"
52 | "MSSP 10"
53 | "MSSP 5"
54
55 export type LicenseKey = `${string}-${string}-${string}-${string}`
56
57 export interface SubscriptionFeature {
58 id: number
59 subscription_price_id: string
60 name: LicenseFeatures
61 price: number
62 currency: string
63 info: string
64 short_description: string
65 full_description: string
66 }
67
68 export interface CheckoutPayload {
69 feature_id: number
70 cancel_url: string
71 success_url: string
72 customer_email: string
73 company_name: string
74 }
75
76 export interface LicenseCheckoutSession {
77 after_expiration: string | null
78 allow_promotion_codes: string | null
79 amount_subtotal: number
80 amount_total: number
81 automatic_tax: AutomaticTax
82 billing_address_collection: string | null
83 cancel_url: string
84 client_reference_id: string | null
85 client_secret: string | null
86 consent: string | null
87 consent_collection: string | null
88 created: number
89 currency: string
90 currency_conversion: string | null
91 custom_fields: { [key: string]: string }
92 custom_text: CustomText
93 customer: string | null
94 customer_creation: string
95 customer_details: LicenseCheckoutCustomerDetails
96 customer_email: string
97 expires_at: number
98 id: string
99 invoice: string | null
100 invoice_creation: InvoiceCreation | null
101 livemode: boolean
102 locale: string | null
103 metadata: Metadata
104 mode: string
105 object: string
106 payment_intent: string | null
107 payment_link: string | null
108 payment_method_collection: string
109 payment_method_configuration_details: string | null
110 payment_method_options: PaymentMethodOptions
111 payment_method_types: string[]
112 payment_status: string
113 phone_number_collection: PhoneNumberCollection
114 recovered_from: string | null
115 setup_intent: string | null
116 shipping_address_collection: string | null
117 shipping_cost: string | null
118 shipping_details: string | null
119 shipping_options: { [key: string]: string }
120 status: string
121 submit_type: string | null
122 subscription: string | null
123 success_url: string
124 total_details: TotalDetails
125 ui_mode: string
126 url: string
127 }
128
129 export interface AutomaticTax {
130 enabled: boolean
131 liability: string | null
132 status: string | null
133 }
134
135 export interface CustomText {
136 after_submit: string | null
137 shipping_address: string | null
138 submit: string | null
139 terms_of_service_acceptance: string | null
140 }
141
142 export interface LicenseCheckoutCustomerDetails {
143 address: string | null
144 email: string
145 name: string | null
146 phone: string | null
147 tax_exempt: string
148 tax_ids: string | null
149 }
150
151 export interface InvoiceCreation {
152 enabled: boolean
153 invoice_data: InvoiceData
154 }
155
156 export interface InvoiceData {
157 account_tax_ids: string
158 custom_fields: string
159 description: string
160 footer: string
161 issuer: string
162 metadata: { [key: string]: string }
163 rendering_options: string
164 }
165
166 export interface PaymentMethodOptions {
167 card: Card
168 }
169
170 export interface Card {
171 request_three_d_secure: string
172 }
173
174 export interface PhoneNumberCollection {
175 enabled: boolean
176 }
177
178 export interface TotalDetails {
179 amount_discount: number
180 amount_shipping: number
181 amount_tax: number
182 }
183
184 export interface Metadata {
185 company_name: string
186 feature_id: string
187 product_id: string
188 user_id: string
189 }