72 lines
2.5 KiB
Python
72 lines
2.5 KiB
Python
from flask import jsonify
|
|
from app.utils.logger import logger
|
|
from app.api.services.base_service import BaseService
|
|
from sqlalchemy import func, desc
|
|
from datetime import datetime, timedelta, timezone
|
|
from app.extensions import db
|
|
from app.models import Country
|
|
|
|
|
|
class OfficeCountryService(BaseService):
|
|
|
|
@staticmethod
|
|
def get_office_country_list():
|
|
logger.info('ENTER API::get get_office_country_list')
|
|
try:
|
|
account_result_data =[]
|
|
account_result = Country.get_all_countries()
|
|
|
|
if account_result:
|
|
for t in account_result:
|
|
account_result_data.append({
|
|
'id': t.id,
|
|
'country_uid': t.uid,
|
|
'code': t.code,
|
|
'description': t.description,
|
|
'status': t.status,
|
|
'signup': t.signup,
|
|
})
|
|
|
|
account_result = {
|
|
"country_data":account_result_data,
|
|
}
|
|
logger.info('RETURN API::get office account view')
|
|
logger.info(account_result)
|
|
return account_result
|
|
|
|
except Exception as e:
|
|
logger.error(f"An error occurred while get_office_country_list data: {str(e)}", exc_info=True)
|
|
return jsonify({"message": "Internal Server Error"}), 500
|
|
|
|
|
|
@staticmethod
|
|
def set_office_country_list(data):
|
|
logger.info('ENTER API::get set_office_country_list')
|
|
try:
|
|
val_type = data.get('val_type', '')
|
|
country_uid = data.get('country_uid', '')
|
|
code = data.get('code', '')
|
|
val = data.get('val', 0)
|
|
country_result=[]
|
|
with db.session.begin():
|
|
if val_type == 'STATUS':
|
|
country_result = Country.set_country_status(country_uid, code, val)
|
|
|
|
if val_type == 'SIGNUP':
|
|
country_result = Country.set_country_signup(country_uid, code, val)
|
|
|
|
|
|
account_result = {
|
|
"set_country_data":country_result.id,
|
|
"value": val,
|
|
"message": "Updated"
|
|
}
|
|
logger.info('RETURN API::get office account view')
|
|
logger.info(account_result)
|
|
return account_result
|
|
|
|
except Exception as e:
|
|
logger.error(f"An error occurred while get_office_country_list data: {str(e)}", exc_info=True)
|
|
return jsonify({"message": "Internal Server Error"}), 500
|
|
|