Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/stripe/api_resources/account.py: 47%

60 statements  

« prev     ^ index     » next       coverage.py v6.4.4, created at 2023-07-17 14:22 -0600

1# File generated from our OpenAPI spec 

2from __future__ import absolute_import, division, print_function 

3 

4import stripe 

5from stripe import oauth, six 

6from stripe import util 

7from stripe.api_resources.abstract import CreateableAPIResource 

8from stripe.api_resources.abstract import DeletableAPIResource 

9from stripe.api_resources.abstract import ListableAPIResource 

10from stripe.api_resources.abstract import UpdateableAPIResource 

11from stripe.api_resources.abstract import custom_method 

12from stripe.api_resources.abstract import nested_resource_class_methods 

13from stripe.six.moves.urllib.parse import quote_plus 

14 

15 

16@custom_method("persons", http_verb="get") 

17@custom_method("reject", http_verb="post") 

18@nested_resource_class_methods( 

19 "capability", 

20 operations=["retrieve", "update", "list"], 

21 resource_plural="capabilities", 

22) 

23@nested_resource_class_methods( 

24 "external_account", 

25 operations=["create", "retrieve", "update", "delete", "list"], 

26) 

27@nested_resource_class_methods("login_link", operations=["create"]) 

28@nested_resource_class_methods( 

29 "person", 

30 operations=["create", "retrieve", "update", "delete", "list"], 

31) 

32class Account( 

33 CreateableAPIResource, 

34 DeletableAPIResource, 

35 ListableAPIResource, 

36 UpdateableAPIResource, 

37): 

38 OBJECT_NAME = "account" 

39 

40 def persons(self, idempotency_key=None, **params): 

41 url = "/v1/accounts/{account}/persons".format( 

42 account=util.sanitize_id(self.get("id")) 

43 ) 

44 headers = util.populate_headers(idempotency_key) 

45 resp = self.request("get", url, params, headers) 

46 stripe_object = util.convert_to_stripe_object(resp) 

47 stripe_object._retrieve_params = params 

48 return stripe_object 

49 

50 def reject(self, idempotency_key=None, **params): 

51 url = "/v1/accounts/{account}/reject".format( 

52 account=util.sanitize_id(self.get("id")) 

53 ) 

54 headers = util.populate_headers(idempotency_key) 

55 self.refresh_from(self.request("post", url, params, headers)) 

56 return self 

57 

58 # We are not adding a helper for capabilities here as the Account object already has a 

59 # capabilities property which is a hash and not the sub-list of capabilities. 

60 

61 @classmethod 

62 def retrieve(cls, id=None, api_key=None, **params): 

63 instance = cls(id, api_key, **params) 

64 instance.refresh() 

65 return instance 

66 

67 @classmethod 

68 def modify(cls, id=None, **params): 

69 url = cls._build_instance_url(id) 

70 return cls._static_request("post", url, **params) 

71 

72 @classmethod 

73 def _build_instance_url(cls, sid): 

74 if not sid: 

75 return "/v1/account" 

76 sid = util.utf8(sid) 

77 base = cls.class_url() 

78 extn = quote_plus(sid) 

79 return "%s/%s" % (base, extn) 

80 

81 def instance_url(self): 

82 return self._build_instance_url(self.get("id")) 

83 

84 def deauthorize(self, **params): 

85 params["stripe_user_id"] = self.id 

86 return oauth.OAuth.deauthorize(**params) 

87 

88 def serialize(self, previous): 

89 params = super(Account, self).serialize(previous) 

90 previous = previous or self._previous or {} 

91 

92 for k, v in six.iteritems(self): 

93 if ( 

94 k == "individual" 

95 and isinstance(v, stripe.api_resources.Person) 

96 and k not in params 

97 ): 

98 params[k] = v.serialize(previous.get(k, None)) 

99 

100 return params