in cqrs/services/order/main.py [0:0]
def order_create():
json_data = request.get_json()
customer_id, product_id, number, order_date = None, None, None, None
invalid_fields = []
for key in json_data.keys():
if key == 'customer_id':
customer_id = json_data[key]
elif key == 'product_id':
product_id = json_data[key]
elif key == 'number':
number = json_data[key]
elif key == 'order_date':
order_date = json_data[key]
else:
invalid_fields.append(key)
if order_date is None:
order_date = datetime.date.today().strftime('%Y-%m-%d')
else:
result = re.match(r'^(\d{4}-\d{2}-\d{2})$', order_date)
if result:
order_date = result.group(1) # '%Y-%m-%d'
#order_date = datetime.datetime.strptime(result.group(1), '%Y-%m-%d')
else:
order_date = None
if customer_id is None or number is None or product_id is None:
return error500()
order = {
'customer_id': customer_id,
'order_id': str(uuid.uuid4()),
'product_id': product_id,
'number': number,
'order_date': order_date
}
event = {
'event_id': str(uuid.uuid4()),
'topic': 'order-service-cqrs-event',
'type': 'order_create',
'timestamp': datetime.datetime.utcnow(),
'published': False,
'body': json.dumps(order)
}
with ds_client.transaction():
incomplete_key = ds_client.key('OrderCQRS')
order_entity = datastore.Entity(key=incomplete_key)
order_entity.update(order)
ds_client.put(order_entity)
incomplete_key = ds_client.key('Event')
event_entity = datastore.Entity(key=incomplete_key)
event_entity.update(event)
ds_client.put(event_entity)
return order, 200