"""
Flask API 서버
QR 토큰 생성 및 마일리지 적립 API
"""

from flask import Flask, request, jsonify
from flask_cors import CORS
import sys
import os

# 프로젝트 루트를 Python 경로에 추가
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))

app = Flask(__name__)
CORS(app)

# TODO: Phase 2에서 구현 예정


@app.route('/health', methods=['GET'])
def health_check():
    """헬스 체크 엔드포인트"""
    return jsonify({
        'status': 'healthy',
        'message': 'Pharmacy POS QR System API'
    })


@app.route('/api/claim/token/generate', methods=['POST'])
def generate_claim_token():
    """
    영수증 QR 토큰 생성

    Request:
        {
            "transaction_id": "20251024000042",
            "total_amount": 50000,
            "pharmacy_id": "YANGGU001"
        }

    Response:
        {
            "success": true,
            "qr_url": "https://pharmacy.example.com/claim?t=...",
            "claimable_points": 1500,
            "expires_at": "2025-11-23T14:30:00"
        }
    """
    # TODO: Phase 2에서 구현
    return jsonify({
        'success': False,
        'message': 'Not implemented yet (Phase 2)'
    }), 501


@app.route('/api/claim', methods=['GET'])
def validate_claim_token():
    """
    토큰 검증 및 정보 조회

    Query: ?t={token}
    """
    # TODO: Phase 2에서 구현
    return jsonify({
        'valid': False,
        'error': 'not_implemented'
    }), 501


@app.route('/api/claim/confirm', methods=['POST'])
def confirm_claim():
    """
    마일리지 적립 실행 (로그인 후)
    """
    # TODO: Phase 2에서 구현
    return jsonify({
        'success': False,
        'message': 'Not implemented yet (Phase 2)'
    }), 501


if __name__ == '__main__':
    app.run(
        host='0.0.0.0',
        port=5000,
        debug=True
    )
