channel AddCustomer {
out customers(csDB:Map, addCustomer(uid:Str, org:Str)) = insert(csDB, uid, {"organization": org})
}
channel AddCampany {
out companies(cmDB:Map, addCampany(cid:Str, address:Str)) = insert(cmDB, cid, {"address": address})
}
channel SetCustomerOrganization(uid:Str) {
out customers.{uid}.organization(prevCid:Str, setOrganization(cid)) = cid
}
channel SetCompanyAddress(cid:Str) {
out companies.{cid}.address(prevAdd:Str, setAddress(add)) = add
}
channel UpdateCustomerAddress(uid:Str) {
in customers.{uid}.organization(prevCid, updateCustomerAddress(cid, add)) = cid
in companies.{cid}.address(prevAdd, updateCustomerAddress(cid, add)) = add
out customers.{uid}.address(prevAdd, updateCustomerAddress(cid, add)) = add
}