Skip to content

Commit 0239ec9

Browse files
committed
build types
1 parent 72dba3d commit 0239ec9

File tree

3 files changed

+199
-8
lines changed

3 files changed

+199
-8
lines changed

python/api_model/types/models.py

Lines changed: 120 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from __future__ import annotations
55

66
from enum import Enum
7-
from typing import Any, Dict, List, Optional
7+
from typing import Any, Dict, List, Optional, Union
88

99
from pydantic import BaseModel, Field, RootModel
1010

@@ -65,6 +65,53 @@ class DeleteContractResponseContent(BaseModel):
6565
success: bool
6666

6767

68+
class EQModeItem(BaseModel):
69+
title: Optional[str] = None
70+
value: Optional[str] = None
71+
72+
73+
class EmptyStructure(BaseModel):
74+
pass
75+
76+
77+
class EqCardKey(Enum):
78+
moneyYouReceive = 'moneyYouReceive'
79+
whatYouOwn = 'whatYouOwn'
80+
whatYoureResponsibleFor = 'whatYoureResponsibleFor'
81+
howLongThisDealLasts = 'howLongThisDealLasts'
82+
risksCostsLegalStuff = 'risksCostsLegalStuff'
83+
84+
85+
class EqCardType(Enum):
86+
A = 'A'
87+
B = 'B'
88+
89+
90+
class EqCardUniqueData6(BaseModel):
91+
EMPTY: EmptyStructure
92+
93+
94+
class EqDurationCard(BaseModel):
95+
durationText: Optional[str] = None
96+
endDate: Optional[str] = None
97+
98+
99+
class EqLegalCard(BaseModel):
100+
pass
101+
102+
103+
class EqMoneyCard(BaseModel):
104+
majorNumber: Optional[str] = None
105+
106+
107+
class EqOwnershipCard(BaseModel):
108+
pass
109+
110+
111+
class EqResponsibilitesCard(BaseModel):
112+
pass
113+
114+
68115
class FixedTermValue(BaseModel):
69116
unit: str
70117
value: str
@@ -278,8 +325,46 @@ class ContractVariable(BaseModel):
278325
definitionCitation: Optional[str] = None
279326

280327

281-
class EqSection(BaseModel):
282-
terms: Optional[List[Term]] = None
328+
class EqCardUniqueData1(BaseModel):
329+
MONEY_RECEIVED: EqMoneyCard
330+
331+
332+
class EqCardUniqueData2(BaseModel):
333+
OWNERSHIP: EqOwnershipCard
334+
335+
336+
class EqCardUniqueData3(BaseModel):
337+
RESPONSIBILITES: EqResponsibilitesCard
338+
339+
340+
class EqCardUniqueData4(BaseModel):
341+
DURATION: EqDurationCard
342+
343+
344+
class EqCardUniqueData5(BaseModel):
345+
LEGAL: EqLegalCard
346+
347+
348+
class EqCardUniqueData(
349+
RootModel[
350+
Union[
351+
EqCardUniqueData1,
352+
EqCardUniqueData2,
353+
EqCardUniqueData3,
354+
EqCardUniqueData4,
355+
EqCardUniqueData5,
356+
EqCardUniqueData6,
357+
]
358+
]
359+
):
360+
root: Union[
361+
EqCardUniqueData1,
362+
EqCardUniqueData2,
363+
EqCardUniqueData3,
364+
EqCardUniqueData4,
365+
EqCardUniqueData5,
366+
EqCardUniqueData6,
367+
]
283368

284369

285370
class ExposeTypesResponseContent(BaseModel):
@@ -299,15 +384,17 @@ class GetProfileResponseContent(BaseModel):
299384

300385
class GetTTSURLsResponseContent(BaseModel):
301386
contractId: str = Field(..., pattern='^[A-Za-z0-9-]+$')
302-
tts_presigned_urls: TTSPresignedUrlMap
387+
ttsSrcUrl: TTSPresignedUrlMap
303388

304389

305390
class GetUploadURLResponseContent(BaseModel):
306391
url_info: PresignedPostData
307392

308393

309394
class IqSection(BaseModel):
310-
qa_sections: Optional[List[QASection]] = None
395+
qa_sections: Optional[List[QASection]] = Field(
396+
None, description='deprecation path (v0.5)'
397+
)
311398

312399

313400
class ListContractsResponseContent(BaseModel):
@@ -329,12 +416,38 @@ class ShareContractResponseContent(BaseModel):
329416
invalidRemoves: Optional[List[InvalidRemove]] = None
330417

331418

419+
class EQModeCard(BaseModel):
420+
id: EqCardKey
421+
title: str
422+
type: EqCardType
423+
cardUniqueData: EqCardUniqueData
424+
eqTitle: Optional[str] = Field(None, description='Deprecated, use subTitle Instead')
425+
subTitle: Optional[str] = None
426+
totalAdvance: Optional[str] = Field(
427+
None, description='Deprecated, this should be in the in a custom subtype'
428+
)
429+
items: Optional[List[EQModeItem]] = Field(
430+
None, description='Deprecated, this should be in the in a custom subtype'
431+
)
432+
audioSrc: Optional[str] = Field(None, description='Deprecated, use the ttsSrcUrl')
433+
ttsSrcUrl: Optional[str] = None
434+
435+
436+
class EQModeData(RootModel[Optional[Dict[str, EQModeCard]]]):
437+
root: Optional[Dict[str, EQModeCard]] = None
438+
439+
440+
class EqSection(BaseModel):
441+
terms: Optional[List[Term]] = Field(None, description='deprecation path (v0.5)')
442+
eqModeData: Optional[EQModeData] = None
443+
444+
332445
class GetContractResponseContent(BaseModel):
333446
contractId: str = Field(..., pattern='^[A-Za-z0-9-]+$')
334447
name: str
335448
type: ContractType
336-
terms: Optional[List[Term]] = None
337-
qa_sections: Optional[str] = None
449+
terms: Optional[List[Term]] = Field(None, description='deprecation path (v0)')
450+
qa_sections: Optional[str] = Field(None, description='deprecation path (v0)')
338451
eq_section: Optional[EqSection] = None
339452
iq_section: Optional[IqSection] = None
340453
isOwner: bool

typescript/src/index.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,16 @@ export type ContractSummaryItem = ExtractSchema<'ContractSummaryItem'>
1616
export type ContractVariable = ExtractSchema<'ContractVariable'>
1717
export type DeleteContractRequestContent = ExtractSchema<'DeleteContractRequestContent'>
1818
export type DeleteContractResponseContent = ExtractSchema<'DeleteContractResponseContent'>
19+
export type EQModeCard = ExtractSchema<'EQModeCard'>
20+
export type EQModeData = ExtractSchema<'EQModeData'>
21+
export type EQModeItem = ExtractSchema<'EQModeItem'>
22+
export type EmptyStructure = ExtractSchema<'EmptyStructure'>
23+
export type EqCardUniqueData = ExtractSchema<'EqCardUniqueData'>
24+
export type EqDurationCard = ExtractSchema<'EqDurationCard'>
25+
export type EqLegalCard = ExtractSchema<'EqLegalCard'>
26+
export type EqMoneyCard = ExtractSchema<'EqMoneyCard'>
27+
export type EqOwnershipCard = ExtractSchema<'EqOwnershipCard'>
28+
export type EqResponsibilitesCard = ExtractSchema<'EqResponsibilitesCard'>
1929
export type EqSection = ExtractSchema<'EqSection'>
2030
export type ExposeTypesResponseContent = ExtractSchema<'ExposeTypesResponseContent'>
2131
export type FixedTermValue = ExtractSchema<'FixedTermValue'>

typescript/src/models.ts

Lines changed: 69 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,8 +308,62 @@ export interface components {
308308
DeleteContractResponseContent: {
309309
success: boolean;
310310
};
311+
EQModeCard: {
312+
id: components["schemas"]["EqCardKey"];
313+
title: string;
314+
type: components["schemas"]["EqCardType"];
315+
cardUniqueData: components["schemas"]["EqCardUniqueData"];
316+
/** @description Deprecated, use subTitle Instead */
317+
eqTitle?: string;
318+
subTitle?: string;
319+
/** @description Deprecated, this should be in the in a custom subtype */
320+
totalAdvance?: string;
321+
/** @description Deprecated, this should be in the in a custom subtype */
322+
items?: components["schemas"]["EQModeItem"][];
323+
/** @description Deprecated, use the ttsSrcUrl */
324+
audioSrc?: string;
325+
ttsSrcUrl?: string;
326+
};
327+
EQModeData: {
328+
[key: string]: components["schemas"]["EQModeCard"];
329+
};
330+
/** @description Deprecated */
331+
EQModeItem: {
332+
title?: string;
333+
value?: string;
334+
};
335+
EmptyStructure: Record<string, never>;
336+
/** @enum {string} */
337+
EqCardKey: EqCardKey;
338+
/** @enum {string} */
339+
EqCardType: EqCardType;
340+
EqCardUniqueData: {
341+
MONEY_RECEIVED: components["schemas"]["EqMoneyCard"];
342+
} | {
343+
OWNERSHIP: components["schemas"]["EqOwnershipCard"];
344+
} | {
345+
RESPONSIBILITES: components["schemas"]["EqResponsibilitesCard"];
346+
} | {
347+
DURATION: components["schemas"]["EqDurationCard"];
348+
} | {
349+
LEGAL: components["schemas"]["EqLegalCard"];
350+
} | {
351+
EMPTY: components["schemas"]["EmptyStructure"];
352+
};
353+
EqDurationCard: {
354+
durationText?: string;
355+
endDate?: string;
356+
};
357+
EqLegalCard: Record<string, never>;
358+
EqMoneyCard: {
359+
majorNumber?: string;
360+
};
361+
EqOwnershipCard: Record<string, never>;
362+
EqResponsibilitesCard: Record<string, never>;
311363
EqSection: {
364+
/** @description deprecation path (v0.5) */
312365
terms?: components["schemas"]["Term"][];
366+
eqModeData?: components["schemas"]["EQModeData"];
313367
};
314368
ExposeTypesResponseContent: {
315369
QASectionsList?: components["schemas"]["QASection"][];
@@ -341,7 +395,9 @@ export interface components {
341395
contractId: string;
342396
name: string;
343397
type: components["schemas"]["ContractType"];
398+
/** @description deprecation path (v0) */
344399
terms?: components["schemas"]["Term"][];
400+
/** @description deprecation path (v0) */
345401
qa_sections?: string;
346402
eq_section?: components["schemas"]["EqSection"];
347403
iq_section?: components["schemas"]["IqSection"];
@@ -380,7 +436,7 @@ export interface components {
380436
};
381437
GetTTSURLsResponseContent: {
382438
contractId: string;
383-
tts_presigned_urls: components["schemas"]["TTSPresignedUrlMap"];
439+
ttsSrcUrl: components["schemas"]["TTSPresignedUrlMap"];
384440
};
385441
GetUploadURLRequestContent: {
386442
name: string;
@@ -392,6 +448,7 @@ export interface components {
392448
message: string;
393449
};
394450
IqSection: {
451+
/** @description deprecation path (v0.5) */
395452
qa_sections?: components["schemas"]["QASection"][];
396453
};
397454
ListContractsResponseContent: {
@@ -1151,3 +1208,14 @@ export enum ContractVariableType {
11511208
external_term = "external_term",
11521209
internal_citation = "internal_citation"
11531210
}
1211+
export enum EqCardKey {
1212+
moneyYouReceive = "moneyYouReceive",
1213+
whatYouOwn = "whatYouOwn",
1214+
whatYoureResponsibleFor = "whatYoureResponsibleFor",
1215+
howLongThisDealLasts = "howLongThisDealLasts",
1216+
risksCostsLegalStuff = "risksCostsLegalStuff"
1217+
}
1218+
export enum EqCardType {
1219+
A = "A",
1220+
B = "B"
1221+
}

0 commit comments

Comments
 (0)