File tree Expand file tree Collapse file tree 4 files changed +11
-8
lines changed
_infrastructure/_data_persistence Expand file tree Collapse file tree 4 files changed +11
-8
lines changed Original file line number Diff line number Diff line change @@ -104,5 +104,5 @@ functions:
104104 x-azure-settings :
105105 methods :
106106 - POST
107- route : customer /
107+ route : customers /
108108 authLevel : anonymous
Original file line number Diff line number Diff line change 11import dataclasses
22import json
3+ import typing
34
45import azure .functions as func
56
67from ... import _domain
78from ... import _infrastructure
89from time_tracker ._infrastructure import DB
910
10- DEFAULT_FIELDS = ["id" , "deleted" , "status" ]
11-
1211
1312def create_customer (req : func .HttpRequest ) -> func .HttpResponse :
1413 try :
@@ -23,7 +22,9 @@ def create_customer(req: func.HttpRequest) -> func.HttpResponse:
2322 raise ValueError
2423
2524 customer_to_create = _domain .Customer (
26- ** dict .fromkeys (DEFAULT_FIELDS ),
25+ id = None ,
26+ deleted = None ,
27+ status = None ,
2728 name = str (customer_data ["name" ]).strip (),
2829 description = str (customer_data ["description" ]),
2930 )
@@ -51,6 +52,6 @@ def create_customer(req: func.HttpRequest) -> func.HttpResponse:
5152
5253def _validate_customer (customer_data : dict ) -> bool :
5354 if [field .name for field in dataclasses .fields (_domain .Customer )
54- if (field .name not in customer_data ) and (field .name not in DEFAULT_FIELDS )]:
55+ if (field .name not in customer_data ) and (field .type != typing . Optional [ field . type ] )]:
5556 return False
5657 return True
Original file line number Diff line number Diff line change 11from dataclasses import dataclass
2+ import typing
23
34
45@dataclass (frozen = True )
56class Customer :
6- id : int
7+ id : typing . Optional [ int ]
78 name : str
89 description : str
9- deleted : bool
10- status : int
10+ deleted : typing . Optional [ bool ]
11+ status : typing . Optional [ int ]
Original file line number Diff line number Diff line change 11import dataclasses
2+
23import sqlalchemy as sq
34
45import time_tracker .customers ._domain as domain
You can’t perform that action at this time.
0 commit comments