Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
fix: TT-418 problems solved
  • Loading branch information
mandres2015 committed Nov 23, 2021
commit a29a35573c80c0e434412408cc5ca6b235e071b0
2 changes: 1 addition & 1 deletion V2/serverless.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,5 +104,5 @@ functions:
x-azure-settings:
methods:
- POST
route: customer/
route: customers/
authLevel: anonymous
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
import dataclasses
import json
import typing

import azure.functions as func

from ... import _domain
from ... import _infrastructure
from time_tracker._infrastructure import DB

DEFAULT_FIELDS = ["id", "deleted", "status"]


def create_customer(req: func.HttpRequest) -> func.HttpResponse:
try:
Expand All @@ -23,7 +22,9 @@ def create_customer(req: func.HttpRequest) -> func.HttpResponse:
raise ValueError

customer_to_create = _domain.Customer(
**dict.fromkeys(DEFAULT_FIELDS),
id=None,
deleted=None,
status=None,
name=str(customer_data["name"]).strip(),
description=str(customer_data["description"]),
)
Expand Down Expand Up @@ -51,6 +52,6 @@ def create_customer(req: func.HttpRequest) -> func.HttpResponse:

def _validate_customer(customer_data: dict) -> bool:
if [field.name for field in dataclasses.fields(_domain.Customer)
if (field.name not in customer_data) and (field.name not in DEFAULT_FIELDS)]:
if (field.name not in customer_data) and (field.type != typing.Optional[field.type])]:
return False
return True
7 changes: 4 additions & 3 deletions V2/time_tracker/customers/_domain/_entities/_customer.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
from dataclasses import dataclass
import typing


@dataclass(frozen=True)
class Customer:
id: int
id: typing.Optional[int]
name: str
description: str
deleted: bool
status: int
deleted: typing.Optional[bool]
status: typing.Optional[int]
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import dataclasses

import sqlalchemy as sq

import time_tracker.customers._domain as domain
Expand Down