Skip to content

Commit 7910381

Browse files
committed
use pydantic for data models
1 parent 7951aef commit 7910381

File tree

3 files changed

+24
-12
lines changed

3 files changed

+24
-12
lines changed

Cargo.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "aws_packages"
3-
version = "0.0.15"
3+
version = "0.0.16"
44
edition = "2021"
55

66
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
@@ -17,5 +17,6 @@ name = "aws_packages._aws_packages"
1717

1818
dependencies = [
1919
"boto3==1.34.79",
20-
"PyJWT==2.8.0"
20+
"PyJWT==2.8.0",
21+
"pydantic==2.6.4"
2122
]

aws_packages/auth/models.py

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
from dataclasses import dataclass
1+
from pydantic import BaseModel
22

33

4-
@dataclass
5-
class AuthorizationRequest:
4+
class AuthorizationRequest(BaseModel):
65
"""Authorization request model"""
76

87
Authorization: str
@@ -12,26 +11,37 @@ def token(self):
1211
return self.Authorization
1312

1413

15-
@dataclass
16-
class AuthenticationRequest:
14+
class AuthenticationRequest(BaseModel):
1715
"""Authentication request model"""
1816

1917
user: str
2018
authcode: str
2119

2220

23-
@dataclass
24-
class User:
21+
class User(BaseModel):
2522
"""User model."""
2623

2724
principal: str
2825

2926

30-
@dataclass
31-
class LoginResponse:
27+
class LoginResponse(BaseModel):
3228
"""Login response model"""
3329

3430
access_token: str
3531

3632
def as_dict(self):
3733
return {"access_token": self.access_token}
34+
35+
36+
class SuccessResponse(BaseModel):
37+
"""Success response for simple http request."""
38+
39+
message: str
40+
41+
42+
if __name__ == "__main__":
43+
args = {
44+
"Authorization": "123",
45+
}
46+
request = AuthorizationRequest(**args)
47+
print(request)

requirements.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ aws-lambda-powertools==2.36.0
44
boto3==1.34.79
55
aws-cdk.aws-lambda-python-alpha==2.121.1a0
66
PyJWT==2.8.0
7-
ic-py==1.0.1
7+
ic-py==1.0.1
8+
pydantic==2.6.4

0 commit comments

Comments
 (0)