from flask import Blueprint, jsonify, request, current_app from utils.json_crud import load_json, save_json, add_entry, delete_entry, update_entry from utils.data_loader import load_data from models.contact_model import ContactModel import os DATA_DIR = os.path.join(os.path.dirname(__file__), '../data') CONTACTS_FILE = os.path.join(DATA_DIR, 'contact.json') contact_bp = Blueprint('contact', __name__, url_prefix='/api/contact') @contact_bp.route('/', methods=['GET']) def get_contact(): contacts = load_data('contact.json') return jsonify(contacts) @contact_bp.route('/', methods=['POST']) def update_contact(): key = request.headers.get('x-api-key') if key != current_app.config['API_KEY']: return jsonify({ "error": "Unauthorized" }), 401 data = request.json new_entry = ContactModel(data).to_dict() contact = [new_entry] save_json(CONTACTS_FILE, contact) return new_entry