From e0ab8168e9a4e8d2b496139f04704b20d59f6fa9 Mon Sep 17 00:00:00 2001 From: Marek Isalski Date: Wed, 20 Jul 2022 11:04:20 +0100 Subject: [PATCH] fix fetching sub-resources --- src/sipcentric/__init__.py | 59 ++++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 25 deletions(-) diff --git a/src/sipcentric/__init__.py b/src/sipcentric/__init__.py index f01572f..99e5c66 100644 --- a/src/sipcentric/__init__.py +++ b/src/sipcentric/__init__.py @@ -281,6 +281,15 @@ class Customer(APIObject): for c in self._api.getMany(LinkedUser.makeUrl(parent=self)): yield LinkedUser(self._api, data=c) + def limits(self): + return Limits(self._api, self._api.get(Limits.makeUrl(parent=self)) + + def callcharging(self): + return CallCharging(self._api, self._api.get(CallCharging.makeUrl(parent=self)) + + def permissions(self): + return Permissions(self._api, self._api.get(Permissions.makeUrl(parent=self)) + def create(self, parent=None, **kwargs): if parent: raise ValueError("Customer cannot have a parent") @@ -378,6 +387,31 @@ class OutgoingCallerId(APIObject): TYPE = "outgoingcallerid" +class CreditStatus(APIObject): + URLPART = "creditstatus" + TYPE = "creditstatus" + + +class Pricing(APIObject): + URLPART = "pricing" + TYPE = "customerpricing" + + +class Limits(APIObject): + URLPART = "limits" + TYPE = "customerlimits" + + +class CallCharging(APIObject): + URLPART = "callcharging" + TYPE = "customercallcharging" + + +class Permissions(APIObject): + URLPART = "permissions" + TYPE = "customerpermissions" + + class CustomerAPIObject(APIObject): MANDATORY_FIELDS = () @@ -392,31 +426,6 @@ class CustomerAPIObject(APIObject): return self._create(parent=parent, data=self._data) -class CreditStatus(CustomerAPIObject): - URLPART = "creditstatus" - TYPE = "creditstatus" - - -class CustomerPricing(CustomerAPIObject): - URLPART = "pricing" - TYPE = "customerpricing" - - -class Limits(CustomerAPIObject): - URLPART = "limits" - TYPE = "customerlimits" - - -class CallCharging(CustomerAPIObject): - URLPART = "callcharging" - TYPE = "customercallcharging" - - -class Permissions(CustomerAPIObject): - URLPART = "permissions" - TYPE = "customerpermissions" - - class LinkedUser(CustomerAPIObject): URLPART = "linkedusers" TYPE = "linkeduser"