add business api
This commit is contained in:
parent
acd578fa5d
commit
9391161a54
|
|
@ -5,6 +5,7 @@ A Python library for managing AF API objects
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from lib_af_api.campaign import Campaign
|
from lib_af_api.campaign import Campaign
|
||||||
|
from lib_af_api.business import Business
|
||||||
from lib_af_api.event import Event
|
from lib_af_api.event import Event
|
||||||
from lib_af_api.voterset import VoterSet
|
from lib_af_api.voterset import VoterSet
|
||||||
from lib_af_api.voter import Voter
|
from lib_af_api.voter import Voter
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,86 @@
|
||||||
|
"""
|
||||||
|
Business Class object
|
||||||
|
"""
|
||||||
|
|
||||||
|
import logging
|
||||||
|
import requests
|
||||||
|
|
||||||
|
|
||||||
|
class Business():
|
||||||
|
"""Business class"""
|
||||||
|
|
||||||
|
def __init__(self, base_url, jwt):
|
||||||
|
"""
|
||||||
|
__init__ Init Business
|
||||||
|
|
||||||
|
:param base_url: Base URL for Business API
|
||||||
|
:param jwt: JWT Authentication for Business API
|
||||||
|
"""
|
||||||
|
|
||||||
|
self.base_url = base_url
|
||||||
|
self.jwt = jwt
|
||||||
|
|
||||||
|
|
||||||
|
def get(self, business_key):
|
||||||
|
"""
|
||||||
|
get Get the business
|
||||||
|
|
||||||
|
:param business_key: The Business key to get with API
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Set the headers for the request
|
||||||
|
headers = {
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
'Accept': 'application/json',
|
||||||
|
'Authorization': f'Bearer {self.jwt}'
|
||||||
|
}
|
||||||
|
|
||||||
|
# Run the GET
|
||||||
|
response = requests.get(
|
||||||
|
f'{self.base_url}/api/v1/businesses/{business_key}',
|
||||||
|
headers=headers,
|
||||||
|
timeout=300
|
||||||
|
)
|
||||||
|
|
||||||
|
# Good response. Return Business
|
||||||
|
if response.ok:
|
||||||
|
return response.json()
|
||||||
|
|
||||||
|
# Log error and retunr null
|
||||||
|
logging.error("[AFBUSINESS GET] [%s]", response.text)
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
def patch(self, business_key, patch_data):
|
||||||
|
"""
|
||||||
|
patch Path the Business
|
||||||
|
|
||||||
|
:param business_key: The Business key to update with API
|
||||||
|
:param patch_data: The data to update the Business
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Set the headers for the request
|
||||||
|
headers = {
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
'Accept': 'application/json',
|
||||||
|
'Authorization': f'Bearer {self.jwt}'
|
||||||
|
}
|
||||||
|
|
||||||
|
# Set the key to the patch data
|
||||||
|
patch_data['key'] = business_key
|
||||||
|
|
||||||
|
# Run the GET
|
||||||
|
response = requests.patch(
|
||||||
|
f'{self.base_url}/api/v1/businesses/{business_key}',
|
||||||
|
headers=headers,
|
||||||
|
timeout=300,
|
||||||
|
json=patch_data
|
||||||
|
)
|
||||||
|
|
||||||
|
# Good response. Return Business
|
||||||
|
if response.ok:
|
||||||
|
return response.json()
|
||||||
|
|
||||||
|
# Log error and retunr null
|
||||||
|
logging.error("[AFBUSINESS UPDATE] [%s]", response.text)
|
||||||
|
return None
|
||||||
Loading…
Reference in New Issue