Files
saladeaula.digital/http-api/app/rules/org.py

43 lines
1.1 KiB
Python

from layercake.dateutils import now
from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair
def update_policies(
id: str,
/,
payment_policy: dict | None = None,
billing_policy: dict | None = None,
*,
persistence_layer: DynamoDBPersistenceLayer,
):
now_ = now()
payment_sk = 'metadata#payment_policy'
billing_sk = 'metadata#billing_policy'
with persistence_layer.transact_writer() as transact:
if payment_policy:
transact.put(
item={
'id': id,
'sk': payment_sk,
'created_at': now_,
}
| payment_policy
)
else:
transact.delete(key=KeyPair(id, payment_sk))
if billing_policy:
transact.put(
item={
'id': id,
'sk': billing_sk,
'created_at': now_,
}
| billing_policy
)
else:
transact.delete(key=KeyPair(id, billing_sk))
return True