+\r
+\r
+def subscriptions(uow: unit_of_work.AbstractUnitOfWork):\r
+ with uow:\r
+ res = uow.session.execute(select(subscription))\r
+ return [dict(r) for r in res]\r
+\r
+\r
+def subscription_one(subscriptionId: str,\r
+ uow: unit_of_work.AbstractUnitOfWork):\r
+ with uow:\r
+ res = uow.session.execute(select(subscription).where(\r
+ subscription.c.subscriptionId == subscriptionId))\r
+ first = res.first()\r
+ return None if first is None else dict(first)\r
+\r
+\r
+def subscription_create(subscriptionDto: SubscriptionDTO.subscription,\r
+ uow: unit_of_work.AbstractUnitOfWork):\r
+\r
+ sub_uuid = str(uuid.uuid4())\r
+ subscription = Subscription(\r
+ sub_uuid, subscriptionDto['callback'],\r
+ subscriptionDto['consumerSubscriptionId'],\r
+ subscriptionDto['filter'])\r
+ with uow:\r
+ uow.subscriptions.add(subscription)\r
+ uow.commit()\r
+ return {"subscriptionId": sub_uuid}\r
+\r
+\r
+def subscription_delete(subscriptionId: str,\r
+ uow: unit_of_work.AbstractUnitOfWork):\r
+ with uow:\r
+ uow.subscriptions.delete(subscriptionId)\r
+ uow.commit()\r
+ return True\r