Esempio n. 1
0
 def _create_from_draft(
     self, draft: types.DiscountCodeDraft, id: typing.Optional[str] = None
 ) -> types.DiscountCode:
     object_id = str(uuid.UUID(id) if id is not None else uuid.uuid4())
     return types.DiscountCode(
         id=str(object_id),
         version=1,
         name=draft.name,
         description=draft.description,
         code=draft.code,
         cart_discounts=draft.cart_discounts,
         cart_predicate=draft.cart_predicate,
         is_active=draft.is_active or False,
         max_applications=draft.max_applications,
         max_applications_per_customer=draft.max_applications_per_customer,
         groups=draft.groups or [],
         references=[],
         valid_from=draft.valid_from,
         valid_until=draft.valid_until,
         created_at=datetime.datetime.now(datetime.timezone.utc),
         last_modified_at=datetime.datetime.now(datetime.timezone.utc),
         custom=utils.create_from_draft(draft.custom),
     )
 def post_load(self, data):
     return types.DiscountCode(**data)