-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #22 from Moesif/feature-update-companies
Add: Update company and batch companies functions
- Loading branch information
Showing
8 changed files
with
203 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
from moesifapi.models import * | ||
from moesifapi.exceptions.api_exception import * | ||
from moesifapi.api_helper import * | ||
|
||
|
||
def update_company(company_profile, api_client, DEBUG): | ||
if not company_profile: | ||
print('Expecting the input to be either of the type - CompanyModel, dict or json while updating user') | ||
else: | ||
if isinstance(company_profile, dict): | ||
if 'company_id' in company_profile: | ||
try: | ||
api_client.update_company(CompanyModel.from_dictionary(company_profile)) | ||
if DEBUG: | ||
print('Company Profile updated successfully') | ||
except APIException as inst: | ||
if 401 <= inst.response_code <= 403: | ||
print("Unauthorized access sending event to Moesif. Please check your Appplication Id.") | ||
if DEBUG: | ||
print("Error while updating company, with status code:") | ||
print(inst.response_code) | ||
else: | ||
print('To update a company, a company_id field is required') | ||
|
||
elif isinstance(company_profile, CompanyModel): | ||
if company_profile.company_id is not None: | ||
try: | ||
api_client.update_company(company_profile) | ||
if DEBUG: | ||
print('Company Profile updated successfully') | ||
except APIException as inst: | ||
if 401 <= inst.response_code <= 403: | ||
print("Unauthorized access sending event to Moesif. Please check your Appplication Id.") | ||
if DEBUG: | ||
print("Error while updating company, with status code:") | ||
print(inst.response_code) | ||
else: | ||
print('To update a company, a company_id field is required') | ||
else: | ||
try: | ||
company_profile_json = APIHelper.json_deserialize(company_profile) | ||
if 'company_id' in company_profile_json: | ||
try: | ||
api_client.update_company(CompanyModel.from_dictionary(company_profile_json)) | ||
if DEBUG: | ||
print('Company Profile updated successfully') | ||
except APIException as inst: | ||
if 401 <= inst.response_code <= 403: | ||
print("Unauthorized access sending event to Moesif. Please check your Appplication Id.") | ||
if DEBUG: | ||
print("Error while updating company, with status code:") | ||
print(inst.response_code) | ||
else: | ||
print('To update a company, a company_id field is required') | ||
except: | ||
print('Error while deserializing the json, please make sure the json is valid') | ||
|
||
|
||
def update_companies_batch(companies_profiles, api_client, DEBUG): | ||
if not companies_profiles: | ||
print('Expecting the input to be either of the type - List of CompanyModel, dict or json while updating users') | ||
else: | ||
if all(isinstance(company, dict) for company in companies_profiles): | ||
if all('company_id' in company for company in companies_profiles): | ||
try: | ||
batch_profiles = [CompanyModel.from_dictionary(d) for d in companies_profiles] | ||
api_client.update_companies_batch(batch_profiles) | ||
if DEBUG: | ||
print('Companies Profile updated successfully') | ||
except APIException as inst: | ||
if 401 <= inst.response_code <= 403: | ||
print("Unauthorized access sending event to Moesif. Please check your Appplication Id.") | ||
if DEBUG: | ||
print("Error while updating companies, with status code:") | ||
print(inst.response_code) | ||
else: | ||
print('To update companies, an company_id field is required') | ||
|
||
elif all(isinstance(company, CompanyModel) for company in companies_profiles): | ||
if all(company.company_id is not None for company in companies_profiles): | ||
try: | ||
api_client.update_companies_batch(companies_profiles) | ||
if DEBUG: | ||
print('Companies Profile updated successfully') | ||
except APIException as inst: | ||
if 401 <= inst.response_code <= 403: | ||
print("Unauthorized access sending event to Moesif. Please check your Appplication Id.") | ||
if DEBUG: | ||
print("Error while updating companues, with status code:") | ||
print(inst.response_code) | ||
else: | ||
print('To update companies, a company_id field is required') | ||
else: | ||
try: | ||
company_profiles_json = [APIHelper.json_deserialize(d) for d in companies_profiles] | ||
if all(isinstance(company, dict) for company in company_profiles_json) and all( | ||
'company_id' in company for company in company_profiles_json): | ||
try: | ||
batch_profiles = [CompanyModel.from_dictionary(d) for d in company_profiles_json] | ||
api_client.update_companies_batch(batch_profiles) | ||
if DEBUG: | ||
print('Companies Profile updated successfully') | ||
except APIException as inst: | ||
if 401 <= inst.response_code <= 403: | ||
print("Unauthorized access sending event to Moesif. Please check your Appplication Id.") | ||
if DEBUG: | ||
print("Error while updating companies, with status code:") | ||
print(inst.response_code) | ||
else: | ||
print('To update companies, an company_id field is required') | ||
except: | ||
print('Error while deserializing the json, please make sure the json is valid') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters