from flask import request, jsonify
import os
import requests
import globs

api_key = os.getenv('api_key')
base_url = os.getenv('base_url')  # URL сервера, например, 'https://api.notisend.ru/v1/email/'
token = os.getenv('token')  # Ваш токен

def save_db():
    err = 0

    if api_key == request.args.get('api'):
        # Получаем данные из глобальных переменных
        names = request.args.get('name')
        emails = request.args.get('email')
        phones = request.args.get('phone')
        grups_id = request.args.get('grup_id')
        pr1s = request.args.get('pr1')
        pr2s = request.args.get('pr2')

        # Создаем данные для отправки
        data = {
            'list_id': grups_id,
            'email': emails,
            'values': [
                {'value': names, 'parameter_id': 'name'},
                {'value': phones, 'parameter_id': 'phone'},
                {'value': pr1s, 'parameter_id': 'utm1'},
                {'value': pr2s, 'parameter_id': 'utm2'}
            ]
        }

        # Отправляем запрос
        headers = {
            'Authorization': f'Bearer {token}',
            'Content-Type': 'application/json'
        }
        response = requests.post(f"{base_url}lists/{data['list_id']}/recipients", json=data, headers=headers)

        # Сохраняем ответ от сервера в глобальную переменную
        globs.server_response = response.text

        # Проверяем статус ответа
        if response.status_code == 200:
            err = 1
        else:
            err = 0
            response_data = {
                "status": "error",
                "err": err,
                "message": "Operation failed",
                "server_response": globs.server_response
            }
            return jsonify(response_data)

    response_data = {
        "status": "success" if err == 1 else "error",
        "err": err,
        "message": "Operation completed successfully" if err == 1 else "Operation failed",
        "server_response": globs.server_response
    }

    return jsonify(response_data)