File tree Expand file tree Collapse file tree 4 files changed +71
-15
lines changed Expand file tree Collapse file tree 4 files changed +71
-15
lines changed Original file line number Diff line number Diff line change @@ -59,6 +59,17 @@ enum AccountType {
59
59
PRODUCER = " producer"
60
60
}
61
61
62
+ enum SignatureStatus {
63
+ SIGNED = " signed"
64
+ DECLINED = " declined"
65
+ PENDING = " pending"
66
+ }
67
+
68
+ enum SignContractResult {
69
+ SUCCESS
70
+ FAILURE
71
+ }
72
+
62
73
// Contract operations
63
74
@http (method : " POST" , uri : " /getContract" )
64
75
operation GetContract {
@@ -528,13 +539,43 @@ structure SignContractInput {
528
539
@required
529
540
contractId : String
530
541
@required
531
- userId : String
532
- @required
533
- status : String
542
+ status : SignatureStatus
534
543
}
535
544
536
545
structure SignContractOutput {
537
546
@required
538
- success : Boolean
547
+ result : SignContractResult
539
548
message : String
540
549
}
550
+
551
+
552
+ @http (method : " POST" , uri : " /getContractSignatures" )
553
+ operation GetContractSignatures {
554
+ input : GetContractSignaturesInput
555
+ output : GetContractSignaturesOutput
556
+ errors : [
557
+ AuthenticationError ,
558
+ ResourceNotFoundError ,
559
+ InternalServerError
560
+ ]
561
+ }
562
+
563
+ structure GetContractSignaturesInput {
564
+ @required
565
+ contractId : String
566
+ }
567
+
568
+ list SignatureList {
569
+ member : ContractSignature
570
+ }
571
+
572
+ structure ContractSignature {
573
+ userId : String
574
+ status : SignatureStatus
575
+ timestamp : Timestamp
576
+ }
577
+
578
+ structure GetContractSignaturesOutput {
579
+ contractId : String
580
+ signatures : SignatureList
581
+ }
Original file line number Diff line number Diff line change 1
1
# generated by datamodel-codegen:
2
2
# filename: api.json
3
- # timestamp: 2025-05-22T21:51 :43+00:00
3
+ # timestamp: 2025-05-26T03:26 :43+00:00
4
4
5
5
from __future__ import annotations
6
6
@@ -118,15 +118,15 @@ class SharedUserDetails(BaseModel):
118
118
sharedTime : float
119
119
120
120
121
- class SignContractRequestContent (BaseModel ):
122
- contractId : str
123
- userId : str
124
- status : str
121
+ class SignContractResult (Enum ):
122
+ SUCCESS = 'SUCCESS'
123
+ FAILURE = 'FAILURE'
125
124
126
125
127
- class SignContractResponseContent (BaseModel ):
128
- success : bool
129
- message : Optional [str ] = None
126
+ class SignatureStatus (Enum ):
127
+ signed = 'signed'
128
+ declined = 'declined'
129
+ pending = 'pending'
130
130
131
131
132
132
class UpdateContractRequestContent (BaseModel ):
@@ -223,6 +223,16 @@ class ShareContractResponseContent(BaseModel):
223
223
invalidRemoves : Optional [List [str ]] = None
224
224
225
225
226
+ class SignContractRequestContent (BaseModel ):
227
+ contractId : str
228
+ status : SignatureStatus
229
+
230
+
231
+ class SignContractResponseContent (BaseModel ):
232
+ result : SignContractResult
233
+ message : Optional [str ] = None
234
+
235
+
226
236
class GetContractResponseContent (BaseModel ):
227
237
contractId : str = Field (..., pattern = '^[A-Za-z0-9-]+$' )
228
238
name : str
Original file line number Diff line number Diff line change @@ -42,6 +42,8 @@ export type ShareContractResponseContent = ExtractSchema<'ShareContractResponseC
42
42
export type SharedUserDetails = ExtractSchema < 'SharedUserDetails' >
43
43
export type SignContractRequestContent = ExtractSchema < 'SignContractRequestContent' >
44
44
export type SignContractResponseContent = ExtractSchema < 'SignContractResponseContent' >
45
+ export type SignContractResult = ExtractSchema < 'SignContractResult' >
46
+ export type SignatureStatus = ExtractSchema < 'SignatureStatus' >
45
47
export type UpdateContractRequestContent = ExtractSchema < 'UpdateContractRequestContent' >
46
48
export type UpdateContractResponseContent = ExtractSchema < 'UpdateContractResponseContent' >
47
49
export type UpdateProfileRequestContent = ExtractSchema < 'UpdateProfileRequestContent' >
Original file line number Diff line number Diff line change @@ -334,13 +334,16 @@ export interface components {
334
334
} ;
335
335
SignContractRequestContent : {
336
336
contractId : string ;
337
- userId : string ;
338
- status : string ;
337
+ status : components [ "schemas" ] [ "SignatureStatus" ] ;
339
338
} ;
340
339
SignContractResponseContent : {
341
- success : boolean ;
340
+ result : components [ "schemas" ] [ "SignContractResult" ] ;
342
341
message ?: string ;
343
342
} ;
343
+ /** @enum {string} */
344
+ SignContractResult : "SUCCESS" | "FAILURE" ;
345
+ /** @enum {string} */
346
+ SignatureStatus : "signed" | "declined" | "pending" ;
344
347
UpdateContractRequestContent : {
345
348
contractId : string ;
346
349
name : string ;
You can’t perform that action at this time.
0 commit comments