|
| 1 | +from ipaddress import IPv4Address, IPv6Address |
1 | 2 | from typing import ClassVar |
2 | 3 |
|
3 | | -from cuenca_validations.types import Signature, SignatureRequest |
| 4 | +from cuenca_validations.types import SignatureFile, SignatureRequest |
4 | 5 | from pydantic import ConfigDict |
5 | 6 |
|
6 | 7 | from ..http import Session, session as global_session |
|
9 | 10 |
|
10 | 11 | class Signature(Creatable, Retrievable): |
11 | 12 | _resource: ClassVar = 'signatures' |
12 | | - signature_id: Signature |
| 13 | + signature_id: SignatureFile |
13 | 14 |
|
14 | 15 | model_config = ConfigDict( |
15 | 16 | json_schema_extra={ |
16 | 17 | 'example': { |
17 | 18 | 'id': 'string', |
18 | | - 'signature_id': Signature.schema().get('example'), |
| 19 | + 'signature_id': SignatureFile.schema().get('example'), |
19 | 20 | 'created_at': '2020-05-24T14:15:22Z', |
20 | 21 | } |
21 | | - } |
| 22 | + }, |
| 23 | + json_encoders={IPv4Address: str, IPv6Address: str}, |
22 | 24 | ) |
23 | 25 |
|
24 | 26 | @classmethod |
25 | 27 | def create( |
26 | 28 | cls, |
27 | | - signature: Signature, |
| 29 | + signature: SignatureFile, |
28 | 30 | user_id: str, |
29 | 31 | session: Session = global_session, |
30 | 32 | ) -> 'Signature': |
31 | 33 | req = SignatureRequest(signature=signature, user_id=user_id) |
32 | | - return cls._create(**req.model_dump(), session=session) |
| 34 | + return cls._create(**req.model_dump(mode='json'), session=session) |
0 commit comments